@jsonjoy.com/json-type
Version:
High-performance JSON Pointer implementation
12 lines (11 loc) • 661 B
TypeScript
import type { TypeOf } from '../schema';
import type { SchemaOf } from '../type';
import type { TypeAlias, TypeOfAlias, TypeSystem } from '.';
export declare class Method<ID extends string, Req extends TypeAlias<any, any>, Res extends TypeAlias<any, any>, Ctx = unknown> {
readonly system: TypeSystem;
readonly id: ID;
readonly req: Req;
readonly res: Res;
readonly fn: (req: TypeOf<SchemaOf<TypeOfAlias<Req>>>, ctx: Ctx) => Promise<TypeOf<SchemaOf<TypeOfAlias<Res>>>>;
constructor(system: TypeSystem, id: ID, req: Req, res: Res, fn: (req: TypeOf<SchemaOf<TypeOfAlias<Req>>>, ctx: Ctx) => Promise<TypeOf<SchemaOf<TypeOfAlias<Res>>>>);
}