diff --git a/.changeset/strange-cows-bake.md b/.changeset/strange-cows-bake.md new file mode 100644 index 00000000..28cc2dc2 --- /dev/null +++ b/.changeset/strange-cows-bake.md @@ -0,0 +1,5 @@ +--- +'@hono/zod-validator': patch +--- + +bump up Hono version to v3.0.0-rc.9 diff --git a/packages/zod-validator/package.json b/packages/zod-validator/package.json index 666bb5c6..2afe2e62 100644 --- a/packages/zod-validator/package.json +++ b/packages/zod-validator/package.json @@ -28,14 +28,11 @@ }, "homepage": "https://github.com/honojs/middleware", "peerDependencies": { - "hono": "^3.0.0-rc.3", + "hono": "^3.0.0-rc.9", "zod": "^3.19.1" }, "devDependencies": { - "hono": "3.0.0-rc.3", + "hono": "3.0.0-rc.9", "zod": "3.19.1" - }, - "dependencies": { - "hono": "3.0.0-rc.7" } } diff --git a/packages/zod-validator/src/index.ts b/packages/zod-validator/src/index.ts index 643d03ff..7c3051c7 100644 --- a/packages/zod-validator/src/index.ts +++ b/packages/zod-validator/src/index.ts @@ -18,7 +18,7 @@ export const zValidator = < type: Type, schema: T, hook?: Hook> -): MiddlewareHandler }> => +): MiddlewareHandler }> => validator(type, (value, c) => { const result = schema.safeParse(value) diff --git a/packages/zod-validator/test/index.test.ts b/packages/zod-validator/test/index.test.ts index b89b558c..37f2bb9c 100644 --- a/packages/zod-validator/test/index.test.ts +++ b/packages/zod-validator/test/index.test.ts @@ -3,6 +3,9 @@ import type { Equal, Expect } from 'hono/utils/types' import { z } from 'zod' import { zValidator } from '../src' +// eslint-disable-next-line @typescript-eslint/no-unused-vars +type ExtractSchema = T extends Hono ? S : never + describe('Basic', () => { const app = new Hono() @@ -11,20 +14,18 @@ describe('Basic', () => { age: z.number(), }) - const route = app - .post('/author', zValidator('json', schema), (c) => { - const data = c.req.valid() - return c.jsonT({ - success: true, - message: `${data.name} is ${data.age}`, - }) + const route = app.post('/author', zValidator('json', schema), (c) => { + const data = c.req.valid() + return c.jsonT({ + success: true, + message: `${data.name} is ${data.age}`, }) - .build() + }) - type Actual = typeof route + type Actual = ExtractSchema type Expected = { - post: { - '/author': { + '/author': { + $post: { input: { json: { name: string @@ -32,17 +33,15 @@ describe('Basic', () => { } } output: { - json: { - success: boolean - message: string - } + success: boolean + message: string } } } } // eslint-disable-next-line @typescript-eslint/no-unused-vars - type verify = Expect> + type verify = Expect> it('Should return 200 response', async () => { const req = new Request('http://localhost/author', { diff --git a/yarn.lock b/yarn.lock index 7f8fe6eb..94a5ddba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2785,10 +2785,10 @@ hono@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@3.0.0-rc.9: + version "3.0.0-rc.9" + resolved "https://registry.yarnpkg.com/hono/-/hono-3.0.0-rc.9.tgz#6077bc67fce850dca99cd58452bda21ff8984da8" + integrity sha512-gW/I51Uay6RhrDhtRN/3WTg7ALT3VRdk0NZBdGpkEOgF+TrzFwmWHDbzHUPa9MffiXSlrkFtMmJVvdKO3Iab8Q== hono@^2.3.0: version "2.6.2"