UNPKG

nukak-express

Version:

flexible and efficient ORM, with declarative JSON syntax and smart type-safety

27 lines (26 loc) 1.05 kB
import { type Request } from 'express'; import type { EntityMeta, Type } from 'nukak/type'; export declare function querierMiddleware(opts?: MiddlewareOptions): import("express-serve-static-core").Router; export declare function buildQuerierRouter<E>(entity: Type<E>, opts: ExtraOptions): import("express-serve-static-core").Router; type ExtraOptions = { /** * Allow augment any kind of request before it runs */ readonly pre?: Pre; /** * Allow augment a saving request (POST, PATCH, PUT) before it runs */ readonly preSave?: PreSave; /** * Allow augment a filtering request (GET, PUT, DELETE) before it runs */ readonly preFilter?: PreFilter; }; type MiddlewareOptions = { readonly include?: Type<unknown>[]; readonly exclude?: Type<unknown>[]; } & ExtraOptions; type Pre = <E = unknown>(req: Request, meta: EntityMeta<E>) => void; type PreSave = <E = unknown>(req: Request, meta: EntityMeta<E>) => void; type PreFilter = <E = unknown>(req: Request, meta: EntityMeta<E>) => void; export {};