UNPKG

telefunc

Version:

Remote functions. Instead of API.

38 lines (37 loc) 1.8 kB
export { shield }; export { shieldIsMissing }; export { shieldApply }; export { shieldToHumandReadable }; declare const isVerifierKey = "__telefunc_isVerifier"; declare const isVerifierTupleKey = "__telefunc_isVerifierTuple"; type ShieldOptions = { __autoGenerated?: boolean; }; declare const shield: { <A extends unknown[], TelefunctionArguments extends [...A], Telefunction extends (...args: TelefunctionArguments) => unknown>(telefunction: Telefunction, telefunctionShield: TelefunctionArguments, options?: ShieldOptions): Telefunction; <A extends unknown[], TelefunctionArguments extends [...A], Telefunction extends (...args: TelefunctionArguments) => unknown>(telefunctionShield: TelefunctionArguments, telefunction: Telefunction, options?: ShieldOptions): Telefunction; type: typeof type; }; type Telefunction = Function; declare function shieldIsMissing(telefunction: Telefunction): boolean; declare function shieldApply(telefunction: Telefunction, args: unknown[]): true | string; type TelefunctionShield = unknown[] | Verifier; declare function shieldToHumandReadable(telefunctionShield: TelefunctionShield): string; declare const type: { string: string; number: number; boolean: boolean; date: Date; array: <T>(arrayType: T) => T[]; object: <T>(objectType: T) => Record<string, T>; or: <T extends unknown[]>(...elements: T) => T[number]; tuple: <T extends unknown[]>(...elements: T) => T; const: <T extends Readonly<number> | Readonly<string> | Readonly<boolean> | undefined | null>(val: T) => T; optional: <T>(param: T) => T | undefined; nullable: <T>(param: T) => T | null; any: any; }; type Verifier = ((input: unknown, breadcrumbs: string) => true | string) & { [isVerifierKey]?: true; [isVerifierTupleKey]?: true; };