koa-zod-middleware

2.0.1 • Public • Published

koa-zod-middleware

Koa middleware leveraging Zod for seamless validation of requests and responses.

Usage with @koa/router

import Router from '@koa/router';
import { parse } from 'koa-zod-middleware';
import { z } from 'zod';

const router = new Router();

const schema = {
  query: z.object({
    count: z.coerce.number(),
  }),
  body: z.object({
    fruit: z.string(),
  }),
  response: z.object({
    cart: z.string(),
  }),
};

router.post('/purchase', parse(schema), async (ctx) => {
  const { count } = ctx.request.query;
  const { fruit } = ctx.request.body;

  ctx.status = 200;
  ctx.body = {
    cart: `Purchase ${count} ${fruit}`,
  };
});

Readme

Keywords

Package Sidebar

Install

npm i koa-zod-middleware

Weekly Downloads

0

Version

2.0.1

License

MIT

Unpacked Size

3.62 kB

Total Files

4

Last publish

Collaborators

  • jstr-rat