UNPKG

@jsonjoy.com/json-type

Version:

High-performance JSON Pointer implementation

36 lines (35 loc) 2.09 kB
import * as schema from '../../schema'; import { AbsType } from './AbsType'; import type { SchemaOf, Type } from '../types'; import type { ResolveType } from '../../system'; import { Value } from '../../value'; export declare class FnType<Req extends Type, Res extends Type, Ctx = unknown> extends AbsType<schema.FunctionSchema<SchemaOf<Req>, SchemaOf<Res>, Ctx>> { readonly req: Req; readonly res: Res; protected schema: schema.FunctionSchema<SchemaOf<Req>, SchemaOf<Res>, Ctx>; fn: schema.FunctionValue<schema.TypeOf<SchemaOf<Req>>, schema.TypeOf<SchemaOf<Res>>>; constructor(req: Req, res: Res, options?: schema.Optional<schema.FunctionSchema<SchemaOf<Req>, SchemaOf<Res>>>); input<T extends Type>(req: T): FnType<T, Res>; inp<T extends Type>(req: T): FnType<T, Res>; output<T extends Type>(res: T): FnType<Req, T>; out<T extends Type>(res: T): FnType<Req, T>; io<I extends Type, O extends Type>(request: I, response: O): FnType<I, O, Ctx>; signature<I extends Type, O extends Type>(request: I, response: O): FnType<I, O, Ctx>; ctx<T>(): FnType<Req, Res, T>; value(data: ResolveType<FnType<Req, Res, Ctx>>): Value<FnType<Req, Res, Ctx>>; getSchema(): schema.FunctionSchema<SchemaOf<Req>, SchemaOf<Res>, Ctx>; toString(tab?: string): string; } export declare class FnRxType<Req extends Type, Res extends Type, Ctx = unknown> extends AbsType<schema.FunctionStreamingSchema<SchemaOf<Req>, SchemaOf<Res>, Ctx>> { readonly req: Req; readonly res: Res; readonly isStreaming = true; protected schema: schema.FunctionStreamingSchema<SchemaOf<Req>, SchemaOf<Res>, Ctx>; constructor(req: Req, res: Res, options?: schema.Optional<schema.FunctionStreamingSchema<SchemaOf<Req>, SchemaOf<Res>>>); request<T extends Type>(req: T): FnType<T, Res>; inp<T extends Type>(req: T): FnType<T, Res>; response<T extends Type>(res: T): FnType<Req, T>; out<T extends Type>(res: T): FnType<Req, T>; getSchema(): schema.FunctionStreamingSchema<SchemaOf<Req>, SchemaOf<Res>, Ctx>; toString(tab?: string): string; }