jet-schema
Advanced tools
Comparing version 1.1.0 to 1.1.1
import jetSchema from './jetSchema'; | ||
export type { TSchemaFnObjArg as TJetSchema, PublicInferType as inferType, } from './jetSchema'; | ||
export { transform } from './util'; | ||
export declare const schema: <T, U extends import("./jetSchema").TSchemaFnObjArg<T> = import("./jetSchema").TSchemaFnObjArg<T>, R extends unknown extends T ? import("./jetSchema").IOptNul | import("./jetSchema").IOptNotNul | import("./jetSchema").INotOptButNul | import("./jetSchema").INotOptOrNul : undefined extends T ? null extends T ? import("./jetSchema").IOptNul : import("./jetSchema").IOptNotNul : null extends T ? import("./jetSchema").INotOptButNul : import("./jetSchema").INotOptOrNul = unknown extends T ? import("./jetSchema").IOptNul | import("./jetSchema").IOptNotNul | import("./jetSchema").INotOptButNul | import("./jetSchema").INotOptOrNul : undefined extends T ? null extends T ? import("./jetSchema").IOptNul : import("./jetSchema").IOptNotNul : null extends T ? import("./jetSchema").INotOptButNul : import("./jetSchema").INotOptOrNul>(schemaFnObjArg: U, schemaOptions?: R | undefined) => import("./jetSchema").ISchema<unknown extends T ? ("optional" extends keyof R ? R[keyof R & "optional"] : false) extends infer T_1 ? T_1 extends ("optional" extends keyof R ? R[keyof R & "optional"] : false) ? T_1 extends true ? (("nullable" extends keyof R ? R[keyof R & "nullable"] : false) extends infer T_2 ? T_2 extends ("nullable" extends keyof R ? R[keyof R & "nullable"] : false) ? T_2 extends true ? NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
export declare const schema: <T, U extends import("./jetSchema").TSchemaFnObjArg<T> = import("./jetSchema").TSchemaFnObjArg<T>, R extends unknown extends T ? import("./jetSchema").IOptNul | import("./jetSchema").IOptNotNul | import("./jetSchema").INotOptButNul | import("./jetSchema").INotOptOrNul | import("./jetSchema").INil : undefined extends T ? null extends T ? import("./jetSchema").IOptNul | import("./jetSchema").INil : import("./jetSchema").IOptNotNul : null extends T ? import("./jetSchema").INotOptButNul : import("./jetSchema").INotOptOrNul = unknown extends T ? import("./jetSchema").IOptNul | import("./jetSchema").IOptNotNul | import("./jetSchema").INotOptButNul | import("./jetSchema").INotOptOrNul | import("./jetSchema").INil : undefined extends T ? null extends T ? import("./jetSchema").IOptNul | import("./jetSchema").INil : import("./jetSchema").IOptNotNul : null extends T ? import("./jetSchema").INotOptButNul : import("./jetSchema").INotOptOrNul>(schemaFnObjArg: U, schemaOptions?: R | undefined) => import("./jetSchema").ISchema<unknown extends T ? "nil" extends keyof R ? NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> | null : NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> | null | undefined : ("optional" extends keyof R ? R[keyof R & "optional"] : false) extends infer T_3 ? T_3 extends ("optional" extends keyof R ? R[keyof R & "optional"] : false) ? T_3 extends true ? (("nullable" extends keyof R ? R[keyof R & "nullable"] : false) extends infer T_4 ? T_4 extends ("nullable" extends keyof R ? R[keyof R & "nullable"] : false) ? T_4 extends true ? NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> : never : never) | undefined : ("nullable" extends keyof R ? R[keyof R & "nullable"] : false) extends infer T_2 ? T_2 extends ("nullable" extends keyof R ? R[keyof R & "nullable"] : false) ? T_2 extends true ? NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> | null : NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> | null : NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> : never : never) | undefined : ("nullable" extends keyof R ? R[keyof R & "nullable"] : false) extends infer T_4 ? T_4 extends ("nullable" extends keyof R ? R[keyof R & "nullable"] : false) ? T_4 extends true ? NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> : never : never : never : never : T, NonNullable<unknown extends T ? ("optional" extends keyof R ? R[keyof R & "optional"] : false) extends infer T_1 ? T_1 extends ("optional" extends keyof R ? R[keyof R & "optional"] : false) ? T_1 extends true ? (("nullable" extends keyof R ? R[keyof R & "nullable"] : false) extends infer T_2 ? T_2 extends ("nullable" extends keyof R ? R[keyof R & "nullable"] : false) ? T_2 extends true ? NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> | null : NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> | null : NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> : never : never : never : never : T, NonNullable<unknown extends T ? "nil" extends keyof R ? NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> : never : never) | undefined : ("nullable" extends keyof R ? R[keyof R & "nullable"] : false) extends infer T_2 ? T_2 extends ("nullable" extends keyof R ? R[keyof R & "nullable"] : false) ? T_2 extends true ? NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> | null | undefined : ("optional" extends keyof R ? R[keyof R & "optional"] : false) extends infer T_3 ? T_3 extends ("optional" extends keyof R ? R[keyof R & "optional"] : false) ? T_3 extends true ? (("nullable" extends keyof R ? R[keyof R & "nullable"] : false) extends infer T_4 ? T_4 extends ("nullable" extends keyof R ? R[keyof R & "nullable"] : false) ? T_4 extends true ? NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> | null : NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> | null : NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_4 ? T_4 extends U[K]["test"] ? T_4 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> : never : never) | undefined : ("nullable" extends keyof R ? R[keyof R & "nullable"] : false) extends infer T_4 ? T_4 extends ("nullable" extends keyof R ? R[keyof R & "nullable"] : false) ? T_4 extends true ? NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> | null : NonNullable<Exclude<{ [K_1 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] ? K_1 : never]?: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_1] | undefined; } & { [K_2 in keyof { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; } as undefined extends { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2] ? never : K_2]: { [K in keyof U]: U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends import("./util").TFunc ? U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends import("./jetSchema").ISchema<unknown, {}> ? U[K]["test"] extends infer T_2 ? T_2 extends U[K]["test"] ? T_2 extends (x: unknown) => x is infer U_1 ? U_1 : never : never : never : U[K] extends string | number ? { | ||
[x: string]: string | number; | ||
} | (((arg: unknown) => arg is U[K]) | [U[K], (arg: unknown) => arg is U[K]]) : never; }[K_2]; }, undefined>> : never : never : never : never : T>>; | ||
export default jetSchema; |
@@ -9,3 +9,3 @@ import { TFunc } from './util'; | ||
type IsStaticObj<P, Prop = NonNullable<P>> = (TConvertInterfaceToType<Prop> extends TStaticObj<Prop> ? true : false); | ||
type MakeOptIfUndef<T> = ({ | ||
type MakeKeysOptIfUndef<T> = ({ | ||
[K in keyof T as undefined extends T[K] ? K : never]?: T[K]; | ||
@@ -49,7 +49,2 @@ }) & { | ||
}; | ||
export type PublicInferType<S> = (S extends ISchema<unknown> ? GetTypePredicate<S['test']> : never); | ||
type InferTypes<U, isOpt, isNul> = AddNullables<MakeOptIfUndef<InferTypesHelper<U>>, isOpt, isNul>; | ||
type InferTypesHelper<U> = { | ||
[K in keyof U]: (U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends TFunc ? GetTypePredicate<U[K]> : U[K] extends ISchema<unknown> ? GetTypePredicate<U[K]['test']> : U[K] extends (string | number) ? (TTypeArr<U[K]> | TEnum) : never); | ||
}; | ||
interface IJetOptions<M> { | ||
@@ -60,2 +55,8 @@ defaultValuesMap?: M extends [TFunc, unknown][] ? M : never; | ||
} | ||
type TSchemaOptions<T> = (unknown extends T ? (IOptNul | IOptNotNul | INotOptButNul | INotOptOrNul | INil) : (undefined extends T ? (null extends T ? (IOptNul | INil) : IOptNotNul) : (null extends T ? INotOptButNul : INotOptOrNul))); | ||
export type PublicInferType<S> = (S extends ISchema<unknown> ? GetTypePredicate<S['test']> : never); | ||
type InferTypes<U, R, Schema = MakeKeysOptIfUndef<InferTypesHelper<U>>> = ('nil' extends keyof R ? AddNullables<Schema, true, true> : AddNullables<Schema, 'optional' extends keyof R ? R['optional'] : false, 'nullable' extends keyof R ? R['nullable'] : false>); | ||
type InferTypesHelper<U> = { | ||
[K in keyof U]: (U[K] extends unknown[] ? U[K][0] : U[K] extends DateConstructor ? Date : U[K] extends TFunc ? GetTypePredicate<U[K]> : U[K] extends ISchema<unknown> ? GetTypePredicate<U[K]['test']> : U[K] extends (string | number) ? (TTypeArr<U[K]> | TEnum) : never); | ||
}; | ||
export interface IOptNul { | ||
@@ -65,2 +66,3 @@ optional: true; | ||
init?: null | boolean; | ||
nil?: undefined; | ||
} | ||
@@ -82,4 +84,9 @@ export interface IOptNotNul { | ||
} | ||
type TSchemaOptions<T> = (unknown extends T ? (IOptNul | IOptNotNul | INotOptButNul | INotOptOrNul) : (undefined extends T ? (null extends T ? IOptNul : IOptNotNul) : (null extends T ? INotOptButNul : INotOptOrNul))); | ||
declare function jetSchema<M extends TDefaultValsMap<M>>(options?: IJetOptions<M>): <T, U extends TSchemaFnObjArg<T> = TSchemaFnObjArg<T>, R extends TSchemaOptions<T> = TSchemaOptions<T>>(schemaFnObjArg: U, schemaOptions?: R) => ISchema<unknown extends T ? InferTypes<U, "optional" extends keyof R ? R["optional"] : false, "nullable" extends keyof R ? R["nullable"] : false> : T>; | ||
export interface INil { | ||
nil: true; | ||
optional?: undefined; | ||
nullable?: undefined; | ||
init?: undefined; | ||
} | ||
declare function jetSchema<M extends TDefaultValsMap<M>>(options?: IJetOptions<M>): <T, U extends TSchemaFnObjArg<T> = TSchemaFnObjArg<T>, R extends TSchemaOptions<T> = TSchemaOptions<T>>(schemaFnObjArg: U, schemaOptions?: R) => ISchema<unknown extends T ? InferTypes<U, R> : T>; | ||
export default jetSchema; |
@@ -7,11 +7,7 @@ "use strict"; | ||
return (schemaFnObjArg, schemaOptions) => { | ||
const optionsF = { | ||
optional: !!(schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.optional), | ||
nullable: !!(schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.nullable), | ||
init: ((0, util_1.isUndef)(schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.init) ? true : schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.init), | ||
}; | ||
if (!optionsF.optional && !optionsF.nullable && !optionsF.init) { | ||
throw new Error('Default value must be the full schema-object if type is neither optional or nullable'); | ||
const options = _processOptions(schemaOptions); | ||
if (!options.optional && !options.nullable && !options.init) { | ||
throw new Error('Default value must be the full schema-object if type is neither optional or nullable.'); | ||
} | ||
const ret = _setupDefaultsAndValidators(schemaFnObjArg, cloneFn, defaultValsMap, onErrorF), newFn = _setupNewFn(ret.defaults, ret.validators, cloneFn, onErrorF), testFn = _setupTestFn(ret.validators, optionsF.optional, optionsF.nullable, onErrorF); | ||
const ret = _setupDefaultsAndValidators(schemaFnObjArg, cloneFn, defaultValsMap, onErrorF), newFn = _setupNewFn(ret.defaults, ret.validators, cloneFn, onErrorF), testFn = _setupTestFn(ret.validators, options.optional, options.nullable, onErrorF); | ||
return { | ||
@@ -29,3 +25,3 @@ new: newFn, | ||
}, | ||
_schemaOptions: optionsF, | ||
_schemaOptions: options, | ||
}; | ||
@@ -137,2 +133,18 @@ }; | ||
} | ||
function _processOptions(options) { | ||
if (!(options === null || options === void 0 ? void 0 : options.nil)) { | ||
return { | ||
optional: !!(options === null || options === void 0 ? void 0 : options.optional), | ||
nullable: !!(options === null || options === void 0 ? void 0 : options.nullable), | ||
init: ((0, util_1.isUndef)(options === null || options === void 0 ? void 0 : options.init) ? true : options === null || options === void 0 ? void 0 : options.init), | ||
}; | ||
} | ||
else { | ||
return { | ||
optional: true, | ||
nullable: true, | ||
init: false, | ||
}; | ||
} | ||
} | ||
function _defaultClone(arg) { | ||
@@ -139,0 +151,0 @@ if (arg instanceof Date) { |
{ | ||
"name": "jet-schema", | ||
"version": "1.1.0", | ||
"version": "1.1.1", | ||
"description": "Simple, typescript-first schema validation tool", | ||
@@ -10,3 +10,4 @@ "main": "dist/index.js", | ||
"test:pg": "ts-node ./test/playground.ts", | ||
"build": "rm -rf ./dist && tsc -p tsconfig.build.json" | ||
"build": "rm -rf ./dist && tsc -p tsconfig.build.json", | ||
"lint": "eslint --flag unstable_ts_config" | ||
}, | ||
@@ -13,0 +14,0 @@ "repository": { |
@@ -158,3 +158,3 @@ # Jet-Schema ✈️ | ||
### Making schemas optional/nullable <a name="making-schemas-opt-null"></a> | ||
In addition to a schema-object, the `schema` function accepts an additional **options** object parameter. The values here are type-checkd against the generic (`schema<"The Generic">(...)`) that was passed so you must used the correct values. If your generic is optional/nullable then your are required to pass the object so at runtime the correct values are parsed.<nr/> | ||
In addition to a schema-object, the `schema` function accepts an additional **options** object parameter. The values here are type-checked against the generic (`schema<"The Generic">(...)`) that was passed so you must used the correct values. If your generic is optional/nullable then your are required to pass the object so at runtime the correct values are parsed.<nr/> | ||
@@ -194,3 +194,19 @@ The third option `init` defines the behavior when a schema is a child-schema and is being initialized from the parent. If a child-schema is optional/nullable, maybe you don't want a nested object and just want it to be null or skipped entirely. If `init` is `null` then `nullable` must be `true`, if `false` then `optional` must be `true`. | ||
#### The alternative `nil` option | ||
In the real world it's very common to have a lot of child schemas which are both optional, nullable, and you want to skip them on intialization. For example, maybe a child-schema represents a jsonb column in a relational-database, and the database returns `null` everytime the table is queried if the jsonb column is empty. So you don't have to write out `{ optional: true, nullable: true, init: false }` over-and-over again for every child-schema, you can write `{ nil: true }` as an alternative. Note that your schema must be optional and nullable to pass `{ nil: true }`. | ||
```typescript | ||
interface IUser { | ||
id: number; | ||
address?: { street: string } | null; | ||
} | ||
const User = schema<IUser>({ | ||
id: isNumber, | ||
address: schema({ | ||
street: isString, | ||
}, { nil: true }), | ||
}) | ||
``` | ||
### Transforming values with `transform()` <a name="transforming-values-with-transform"></a> | ||
@@ -197,0 +213,0 @@ If you want to modify a value before it passes through a validator-function, you can import the `transform` function and wrap your validator function with it. `transform` accepts a transforming-function and a validator-function and returns a new validator-function (type-predicate is preserved) which will transform the value before testing it. When calling `new` or `test`, `transform` will modify the original object. |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
80023
547
299