UNPKG

3.24 kBTypeScriptView Raw
1export declare namespace util {
2 type AssertEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? true : false;
3 export type isAny<T> = 0 extends 1 & T ? true : false;
4 export const assertEqual: <A, B>(val: AssertEqual<A, B>) => AssertEqual<A, B>;
5 export function assertIs<T>(_arg: T): void;
6 export function assertNever(_x: never): never;
7 export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
8 export type OmitKeys<T, K extends string> = Pick<T, Exclude<keyof T, K>>;
9 export type MakePartial<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
10 export type Exactly<T, X> = T & Record<Exclude<keyof X, keyof T>, never>;
11 export const arrayToEnum: <T extends string, U extends [T, ...T[]]>(items: U) => { [k in U[number]]: k; };
12 export const getValidEnumValues: (obj: any) => any[];
13 export const objectValues: (obj: any) => any[];
14 export const objectKeys: ObjectConstructor["keys"];
15 export const find: <T>(arr: T[], checker: (arg: T) => any) => T | undefined;
16 export type identity<T> = objectUtil.identity<T>;
17 export type flatten<T> = objectUtil.flatten<T>;
18 export type noUndefined<T> = T extends undefined ? never : T;
19 export const isInteger: NumberConstructor["isInteger"];
20 export function joinValues<T extends any[]>(array: T, separator?: string): string;
21 export const jsonStringifyReplacer: (_: string, value: any) => any;
22 export {};
23}
24export declare namespace objectUtil {
25 export type MergeShapes<U, V> = {
26 [k in Exclude<keyof U, keyof V>]: U[k];
27 } & V;
28 type optionalKeys<T extends object> = {
29 [k in keyof T]: undefined extends T[k] ? k : never;
30 }[keyof T];
31 type requiredKeys<T extends object> = {
32 [k in keyof T]: undefined extends T[k] ? never : k;
33 }[keyof T];
34 export type addQuestionMarks<T extends object, _O = any> = {
35 [K in requiredKeys<T>]: T[K];
36 } & {
37 [K in optionalKeys<T>]?: T[K];
38 } & {
39 [k in keyof T]?: unknown;
40 };
41 export type identity<T> = T;
42 export type flatten<T> = identity<{
43 [k in keyof T]: T[k];
44 }>;
45 export type noNeverKeys<T> = {
46 [k in keyof T]: [T[k]] extends [never] ? never : k;
47 }[keyof T];
48 export type noNever<T> = identity<{
49 [k in noNeverKeys<T>]: k extends keyof T ? T[k] : never;
50 }>;
51 export const mergeShapes: <U, T>(first: U, second: T) => T & U;
52 export type extendShape<A extends object, B extends object> = {
53 [K in keyof A as K extends keyof B ? never : K]: A[K];
54 } & {
55 [K in keyof B]: B[K];
56 };
57 export {};
58}
59export declare const ZodParsedType: {
60 function: "function";
61 number: "number";
62 string: "string";
63 nan: "nan";
64 integer: "integer";
65 float: "float";
66 boolean: "boolean";
67 date: "date";
68 bigint: "bigint";
69 symbol: "symbol";
70 undefined: "undefined";
71 null: "null";
72 array: "array";
73 object: "object";
74 unknown: "unknown";
75 promise: "promise";
76 void: "void";
77 never: "never";
78 map: "map";
79 set: "set";
80};
81export declare type ZodParsedType = keyof typeof ZodParsedType;
82export declare const getParsedType: (data: any) => ZodParsedType;