honojs-middleware/packages/typia-validator
Yusuke Wada b3d80a0cca
fix: bump hono version of `peerDependencies` (#219)
* fix: bump hono version of `peerDependencies`

* add changeset
2023-10-30 06:39:46 +09:00
..
src feat: Add Typia validator (#158) 2023-09-15 22:54:56 +09:00
test feat: Add Typia validator (#158) 2023-09-15 22:54:56 +09:00
CHANGELOG.md Version Packages (#160) 2023-09-15 22:57:15 +09:00
README.md feat: Add Typia validator (#158) 2023-09-15 22:54:56 +09:00
jest.config.js feat: Add Typia validator (#158) 2023-09-15 22:54:56 +09:00
package.json fix: bump hono version of `peerDependencies` (#219) 2023-10-30 06:39:46 +09:00
tsconfig.cjs.json feat: Add Typia validator (#158) 2023-09-15 22:54:56 +09:00
tsconfig.esm.json feat: Add Typia validator (#158) 2023-09-15 22:54:56 +09:00
tsconfig.json feat: Add Typia validator (#158) 2023-09-15 22:54:56 +09:00

README.md

Typia validator middleware for Hono

The validator middleware using Typia for Hono applications.

Usage

import typia, { tags } from 'typia'
import { typiaValidator } from '@hono/typia-validator'

interface Author {
    name: string
    age: number & tags.Type<'uint32'> & tags.Minimum<20> & tags.ExclusiveMaximum<100>
  }

  const validate = typia.createValidate<Author>()

  const route = app.post('/author', typiaValidator('json', validate), (c) => {
    const data = c.req.valid('json')
    return c.jsonT({
      success: true,
      message: `${data.name} is ${data.age}`,
    })
  })

Hook:

app.post(
  '/post',
  typiaValidator('json', validate, (result, c) => {
    if (!result.success) {
      return c.text('Invalid!', 400)
    }
  })
  //...
)

Author

Patryk Dwórznik https://github.com/dworznik

License

MIT