fix(zod-validator): bump up Hono to v3.0.0-rc.9 (#27)
parent
e4a995f7e2
commit
e45805f230
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'@hono/zod-validator': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
bump up Hono version to v3.0.0-rc.9
|
|
@ -28,14 +28,11 @@
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/honojs/middleware",
|
"homepage": "https://github.com/honojs/middleware",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"hono": "^3.0.0-rc.3",
|
"hono": "^3.0.0-rc.9",
|
||||||
"zod": "^3.19.1"
|
"zod": "^3.19.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"hono": "3.0.0-rc.3",
|
"hono": "3.0.0-rc.9",
|
||||||
"zod": "3.19.1"
|
"zod": "3.19.1"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"hono": "3.0.0-rc.7"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ export const zValidator = <
|
||||||
type: Type,
|
type: Type,
|
||||||
schema: T,
|
schema: T,
|
||||||
hook?: Hook<z.infer<T>>
|
hook?: Hook<z.infer<T>>
|
||||||
): MiddlewareHandler<E, P, { type: Type; data: z.infer<T> }> =>
|
): MiddlewareHandler<E, P, { [K in Type]: z.infer<T> }> =>
|
||||||
validator(type, (value, c) => {
|
validator(type, (value, c) => {
|
||||||
const result = schema.safeParse(value)
|
const result = schema.safeParse(value)
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,9 @@ import type { Equal, Expect } from 'hono/utils/types'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { zValidator } from '../src'
|
import { zValidator } from '../src'
|
||||||
|
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
type ExtractSchema<T> = T extends Hono<infer _, infer S> ? S : never
|
||||||
|
|
||||||
describe('Basic', () => {
|
describe('Basic', () => {
|
||||||
const app = new Hono()
|
const app = new Hono()
|
||||||
|
|
||||||
|
@ -11,20 +14,18 @@ describe('Basic', () => {
|
||||||
age: z.number(),
|
age: z.number(),
|
||||||
})
|
})
|
||||||
|
|
||||||
const route = app
|
const route = app.post('/author', zValidator('json', schema), (c) => {
|
||||||
.post('/author', zValidator('json', schema), (c) => {
|
const data = c.req.valid()
|
||||||
const data = c.req.valid()
|
return c.jsonT({
|
||||||
return c.jsonT({
|
success: true,
|
||||||
success: true,
|
message: `${data.name} is ${data.age}`,
|
||||||
message: `${data.name} is ${data.age}`,
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
.build()
|
})
|
||||||
|
|
||||||
type Actual = typeof route
|
type Actual = ExtractSchema<typeof route>
|
||||||
type Expected = {
|
type Expected = {
|
||||||
post: {
|
'/author': {
|
||||||
'/author': {
|
$post: {
|
||||||
input: {
|
input: {
|
||||||
json: {
|
json: {
|
||||||
name: string
|
name: string
|
||||||
|
@ -32,17 +33,15 @@ describe('Basic', () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
output: {
|
output: {
|
||||||
json: {
|
success: boolean
|
||||||
success: boolean
|
message: string
|
||||||
message: string
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
type verify = Expect<Equal<Actual, Expected>>
|
type verify = Expect<Equal<Expected, Actual>>
|
||||||
|
|
||||||
it('Should return 200 response', async () => {
|
it('Should return 200 response', async () => {
|
||||||
const req = new Request('http://localhost/author', {
|
const req = new Request('http://localhost/author', {
|
||||||
|
|
|
@ -2785,10 +2785,10 @@ hono@3.0.0-rc.4:
|
||||||
resolved "https://registry.yarnpkg.com/hono/-/hono-3.0.0-rc.4.tgz#7bfe8c89d4b004ff90d587c8ba45279a175fbce7"
|
resolved "https://registry.yarnpkg.com/hono/-/hono-3.0.0-rc.4.tgz#7bfe8c89d4b004ff90d587c8ba45279a175fbce7"
|
||||||
integrity sha512-76R3mb8kPeuD9TOmQ1WZi59w4QbpaUOlyX3wC7zQpt7IM7iFVBTxj2fpv++6ROPtd5iUBMCrmH/65ZrNXYYgmg==
|
integrity sha512-76R3mb8kPeuD9TOmQ1WZi59w4QbpaUOlyX3wC7zQpt7IM7iFVBTxj2fpv++6ROPtd5iUBMCrmH/65ZrNXYYgmg==
|
||||||
|
|
||||||
hono@3.0.0-rc.7:
|
hono@3.0.0-rc.9:
|
||||||
version "3.0.0-rc.7"
|
version "3.0.0-rc.9"
|
||||||
resolved "https://registry.yarnpkg.com/hono/-/hono-3.0.0-rc.7.tgz#c6a5c44ce7fad1e187f47e1d7828a20fad2b20b2"
|
resolved "https://registry.yarnpkg.com/hono/-/hono-3.0.0-rc.9.tgz#6077bc67fce850dca99cd58452bda21ff8984da8"
|
||||||
integrity sha512-ZiAz4XnIDgRFw8ZRwvxv8EfArEoCOdxkz1rDE2N6TOrYi7mf7DGIbIjgj/T1CwXlbV9VulKU17IqEZg0asqkTQ==
|
integrity sha512-gW/I51Uay6RhrDhtRN/3WTg7ALT3VRdk0NZBdGpkEOgF+TrzFwmWHDbzHUPa9MffiXSlrkFtMmJVvdKO3Iab8Q==
|
||||||
|
|
||||||
hono@^2.3.0:
|
hono@^2.3.0:
|
||||||
version "2.6.2"
|
version "2.6.2"
|
||||||
|
|
Loading…
Reference in New Issue