nukak-express
Version:
flexible and efficient ORM, with declarative JSON syntax and smart type-safety
27 lines (26 loc) • 1.05 kB
TypeScript
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 {};