From a831696e1fbbc515db48a557f41efd1de02e0123 Mon Sep 17 00:00:00 2001 From: Yusuke Wada Date: Wed, 18 Jan 2023 21:56:33 +0900 Subject: [PATCH] fix(zod-validator): fix and refactor types (#24) * fix(zod-validator): fix and refactor types * add changeset --- .changeset/orange-dolls-tan.md | 5 +++++ packages/zod-validator/package.json | 5 ++++- packages/zod-validator/src/index.ts | 11 ++++++++--- yarn.lock | 10 +++++----- 4 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 .changeset/orange-dolls-tan.md diff --git a/.changeset/orange-dolls-tan.md b/.changeset/orange-dolls-tan.md new file mode 100644 index 00000000..d6ad43da --- /dev/null +++ b/.changeset/orange-dolls-tan.md @@ -0,0 +1,5 @@ +--- +'@hono/zod-validator': patch +--- + +fix and refactor types diff --git a/packages/zod-validator/package.json b/packages/zod-validator/package.json index 7ac2342c..b62530b3 100644 --- a/packages/zod-validator/package.json +++ b/packages/zod-validator/package.json @@ -34,5 +34,8 @@ "devDependencies": { "hono": "3.0.0-rc.3", "zod": "3.19.1" + }, + "dependencies": { + "hono": "3.0.0-rc.7" } -} \ No newline at end of file +} diff --git a/packages/zod-validator/src/index.ts b/packages/zod-validator/src/index.ts index 38323e07..643d03ff 100644 --- a/packages/zod-validator/src/index.ts +++ b/packages/zod-validator/src/index.ts @@ -1,4 +1,4 @@ -import type { Context } from 'hono' +import type { Context, MiddlewareHandler, Env } from 'hono' import { validator } from 'hono/validator' import type { z } from 'zod' import type { ZodSchema, ZodError } from 'zod' @@ -9,11 +9,16 @@ type Hook = ( c: Context ) => Response | Promise | void -export const zValidator = ( +export const zValidator = < + T extends ZodSchema, + Type extends ValidationTypes, + E extends Env, + P extends string +>( type: Type, schema: T, hook?: Hook> -) => +): MiddlewareHandler }> => validator(type, (value, c) => { const result = schema.safeParse(value) diff --git a/yarn.lock b/yarn.lock index f92d0bae..7f8fe6eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2780,16 +2780,16 @@ hast-util-whitespace@^2.0.0: resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== -hono@3.0.0-rc.3: - version "3.0.0-rc.3" - resolved "https://registry.yarnpkg.com/hono/-/hono-3.0.0-rc.3.tgz#8f4cfc03816114bc3541c1802f0c65e0730327e8" - integrity sha512-j5GLwfTb9smHcneQ8hm1I7bwnLGxKHAZYuCOZuq+CGpEg/SrWW0niIiuhLE4FIIFAfeL3vUsjy0BzOWS6Hur0w== - hono@3.0.0-rc.4: version "3.0.0-rc.4" resolved "https://registry.yarnpkg.com/hono/-/hono-3.0.0-rc.4.tgz#7bfe8c89d4b004ff90d587c8ba45279a175fbce7" integrity sha512-76R3mb8kPeuD9TOmQ1WZi59w4QbpaUOlyX3wC7zQpt7IM7iFVBTxj2fpv++6ROPtd5iUBMCrmH/65ZrNXYYgmg== +hono@3.0.0-rc.7: + version "3.0.0-rc.7" + resolved "https://registry.yarnpkg.com/hono/-/hono-3.0.0-rc.7.tgz#c6a5c44ce7fad1e187f47e1d7828a20fad2b20b2" + integrity sha512-ZiAz4XnIDgRFw8ZRwvxv8EfArEoCOdxkz1rDE2N6TOrYi7mf7DGIbIjgj/T1CwXlbV9VulKU17IqEZg0asqkTQ== + hono@^2.3.0: version "2.6.2" resolved "https://registry.yarnpkg.com/hono/-/hono-2.6.2.tgz#1e32a4b4b3bf557a8aa87e392b00b505a1ec1fdd"