UNPKG

swagger-typed-express-docs

Version:

Simple express runtime parser and documentation swagger generator with 100% support of Typescript static types

157 lines (156 loc) 5.46 kB
import { DeepWriteable, NiceMerge } from './generics'; import { InferSchemaType, TSchema } from './tsSchema'; export declare const tTransformType: <EncodedTSchema extends TSchema, DecodedTSchema extends TSchema, R, RR>(encodedTSchema: EncodedTSchema, decodedTSchema: DecodedTSchema, syncDecoder: (value: any) => R, syncEncoder?: (value: R) => RR) => { type: "transformType"; encodedTSchema: EncodedTSchema; decodedTSchema: DecodedTSchema; required: true; syncDecoder: (value: any) => R; syncEncoder: (value: R) => RR; }; export declare const T: { number: { type: "number"; required: true; }; null_number: { type: "number"; required: false; }; boolean: { type: "boolean"; required: true; }; null_boolean: { type: "boolean"; required: false; }; string: { type: "string"; required: true; }; null_string: { type: "string"; required: false; }; any: { type: "any"; required: true; }; null_any: { type: "any"; required: false; }; oneOf: <T extends readonly Record<any, any>[] | Record<any, any>[]>(options: T) => { type: "oneOf"; options: DeepWriteable<T>; required: true; }; null_oneOf: <T_1 extends readonly Record<any, any>[] | Record<any, any>[]>(options: T_1) => { type: "oneOf"; options: DeepWriteable<T_1>; required: false; }; enum: <T_2 extends readonly (string | number | boolean)[] | (string | number | boolean)[]>(options: T_2) => { type: "enum"; options: DeepWriteable<T_2>; required: true; }; null_enum: <T_3 extends readonly (string | number | boolean)[] | (string | number | boolean)[]>(options: T_3) => { type: "enum"; options: DeepWriteable<T_3>; required: false; }; object: <T_4 extends Record<string, TSchema>>(args: T_4) => { properties: T_4; type: "object"; required: true; }; null_object: <T_5 extends Record<string, TSchema>>(args: T_5) => { properties: T_5; type: "object"; required: false; }; list: <T_6 extends TSchema>(items: T_6) => { type: "array"; items: T_6; required: true; }; null_list: <T_7 extends TSchema>(items: T_7) => { type: "array"; items: T_7; required: false; }; hashMap: <T_8 extends TSchema>(args: T_8) => { type: "hashMap"; property: T_8; required: true; }; null_hashMap: <T_9 extends TSchema>(args: T_9) => { type: "hashMap"; property: T_9; required: false; }; transformType: <EncodedTSchema extends TSchema, DecodedTSchema extends TSchema, R, RR>(encodedTSchema: EncodedTSchema, decodedTSchema: DecodedTSchema, syncDecoder: (value: any) => R, syncEncoder?: (value: R) => RR) => { type: "transformType"; encodedTSchema: EncodedTSchema; decodedTSchema: DecodedTSchema; required: true; syncDecoder: (value: any) => R; syncEncoder: (value: R) => RR; }; addValidator: <T_10 extends TSchema>(schema: T_10, validator: (val: InferSchemaType<T_10>) => void) => T_10 & { validator: (val: InferSchemaType<T_10>) => void; }; deepNullable: (schema: TSchema) => any; nonNullable: <T_11 extends { required: any; }>(a: T_11) => Omit<T_11, "required"> & { required: true; } extends infer T_12 ? { [K in keyof T_12]: (Omit<T_11, "required"> & { required: true; })[K]; } : never; nullable: <T_13 extends { required: any; }>(a: T_13) => Omit<T_13, "required"> & { required: false; } extends infer T_14 ? { [K_1 in keyof T_14]: (Omit<T_13, "required"> & { required: false; })[K_1]; } : never; nullableTransform: <T_15 extends { encodedTSchema: { required: boolean; }; decodedTSchema: { required: boolean; }; }>(a: T_15) => Omit<T_15, "encodedTSchema" | "decodedTSchema"> & { encodedTSchema: Omit<T_15["encodedTSchema"], "required"> & { required: false; } extends infer T_17 ? { [K_3 in keyof T_17]: (Omit<T_15["encodedTSchema"], "required"> & { required: false; })[K_3]; } : never; decodedTSchema: Omit<T_15["decodedTSchema"], "required"> & { required: false; } extends infer T_18 ? { [K_4 in keyof T_18]: (Omit<T_15["decodedTSchema"], "required"> & { required: false; })[K_4]; } : never; } extends infer T_16 ? { [K_2 in keyof T_16]: (Omit<T_15, "encodedTSchema" | "decodedTSchema"> & { encodedTSchema: Omit<T_15["encodedTSchema"], "required"> & { required: false; } extends infer T_17 ? { [K_3 in keyof T_17]: (Omit<T_15["encodedTSchema"], "required"> & { required: false; })[K_3]; } : never; decodedTSchema: Omit<T_15["decodedTSchema"], "required"> & { required: false; } extends infer T_18 ? { [K_4 in keyof T_18]: (Omit<T_15["decodedTSchema"], "required"> & { required: false; })[K_4]; } : never; })[K_2]; } : never; lazy: (name: string, tSchema: () => any) => { type: "lazy"; name: string; required: boolean; getSchema: () => any; }; };