UNPKG

koa-body

Version:

A Koa body parser middleware. Supports multipart, urlencoded and JSON request bodies.

47 lines (46 loc) 2.08 kB
import type { Options as CoBodyOptions } from 'co-body'; import type { File, Options as FormidableOptions, Part } from 'formidable'; import type { Context } from 'koa'; import { z } from 'zod'; export declare enum HttpMethodEnum { POST = "POST", GET = "GET", PUT = "PUT", PATCH = "PATCH", DELETE = "DELETE", HEAD = "HEAD" } declare const HttpMethod: z.ZodEnum<typeof HttpMethodEnum>; export type HttpMethod = z.infer<typeof HttpMethod>; export type ExtendedFormidableOptions = FormidableOptions & { onFileBegin?: (name: string, file: File) => void; onPart?: (part: Part, handlePart: (part: Part) => void) => void; }; export type ScalarOrArrayFields = { [field: string]: string | string[]; }; export type ScalarOrArrayFiles = { [file: string]: File | File[]; }; export declare const KoaBodyMiddlewareOptionsSchema: z.ZodObject<{ patchNode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; patchKoa: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; jsonLimit: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; formLimit: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; textLimit: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; encoding: z.ZodDefault<z.ZodOptional<z.ZodString>>; multipart: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; urlencoded: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; text: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; json: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; jsonStrict: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; includeUnparsed: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; parsedMethods: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEnum<typeof HttpMethodEnum>>>>; }, z.core.$strip>; export type KoaBodyDirectOptions = z.infer<typeof KoaBodyMiddlewareOptionsSchema>; export type KoaBodyMiddlewareOptions = KoaBodyDirectOptions & { onError?: (err: Error, ctx: Context) => void; formidable?: ExtendedFormidableOptions; queryString?: CoBodyOptions['queryString']; }; export {};