canonize 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +629 -0
  3. package/dist/coercers/array.d.ts +7 -0
  4. package/dist/coercers/array.d.ts.map +1 -0
  5. package/dist/coercers/bigint.d.ts +5 -0
  6. package/dist/coercers/bigint.d.ts.map +1 -0
  7. package/dist/coercers/boolean.d.ts +5 -0
  8. package/dist/coercers/boolean.d.ts.map +1 -0
  9. package/dist/coercers/date.d.ts +5 -0
  10. package/dist/coercers/date.d.ts.map +1 -0
  11. package/dist/coercers/discriminated-union.d.ts +7 -0
  12. package/dist/coercers/discriminated-union.d.ts.map +1 -0
  13. package/dist/coercers/enum.d.ts +9 -0
  14. package/dist/coercers/enum.d.ts.map +1 -0
  15. package/dist/coercers/intersection.d.ts +8 -0
  16. package/dist/coercers/intersection.d.ts.map +1 -0
  17. package/dist/coercers/literal.d.ts +5 -0
  18. package/dist/coercers/literal.d.ts.map +1 -0
  19. package/dist/coercers/map-set.d.ts +11 -0
  20. package/dist/coercers/map-set.d.ts.map +1 -0
  21. package/dist/coercers/nan.d.ts +5 -0
  22. package/dist/coercers/nan.d.ts.map +1 -0
  23. package/dist/coercers/null.d.ts +5 -0
  24. package/dist/coercers/null.d.ts.map +1 -0
  25. package/dist/coercers/number.d.ts +13 -0
  26. package/dist/coercers/number.d.ts.map +1 -0
  27. package/dist/coercers/object.d.ts +7 -0
  28. package/dist/coercers/object.d.ts.map +1 -0
  29. package/dist/coercers/record.d.ts +7 -0
  30. package/dist/coercers/record.d.ts.map +1 -0
  31. package/dist/coercers/string.d.ts +6 -0
  32. package/dist/coercers/string.d.ts.map +1 -0
  33. package/dist/coercers/tuple.d.ts +7 -0
  34. package/dist/coercers/tuple.d.ts.map +1 -0
  35. package/dist/coercers/union.d.ts +7 -0
  36. package/dist/coercers/union.d.ts.map +1 -0
  37. package/dist/constants.d.ts +36 -0
  38. package/dist/constants.d.ts.map +1 -0
  39. package/dist/create-schema.d.ts +5 -0
  40. package/dist/create-schema.d.ts.map +1 -0
  41. package/dist/index.d.ts +51 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +1623 -0
  44. package/dist/index.js.map +33 -0
  45. package/dist/tool-parameters/index.d.ts +206 -0
  46. package/dist/tool-parameters/index.d.ts.map +1 -0
  47. package/dist/tool-parameters/index.js +301 -0
  48. package/dist/tool-parameters/index.js.map +12 -0
  49. package/dist/tool-parameters/link-metadata.d.ts +17 -0
  50. package/dist/tool-parameters/link-metadata.d.ts.map +1 -0
  51. package/dist/utilities/circular.d.ts +27 -0
  52. package/dist/utilities/circular.d.ts.map +1 -0
  53. package/dist/utilities/parsers.d.ts +29 -0
  54. package/dist/utilities/parsers.d.ts.map +1 -0
  55. package/dist/utilities/special-methods.d.ts +14 -0
  56. package/dist/utilities/special-methods.d.ts.map +1 -0
  57. package/dist/utilities/type-coercion.d.ts +11 -0
  58. package/dist/utilities/type-coercion.d.ts.map +1 -0
  59. package/dist/utilities/type-detection.d.ts +26 -0
  60. package/dist/utilities/type-detection.d.ts.map +1 -0
  61. package/dist/utilities/type-guards.d.ts +35 -0
  62. package/dist/utilities/type-guards.d.ts.map +1 -0
  63. package/package.json +123 -0
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Coerce value to enum (case-insensitive string matching, numeric index support)
3
+ */
4
+ export declare function coerceToEnum(value: unknown, enumValues: readonly any[], enumEntries?: any): any;
5
+ /**
6
+ * Coerce value to native enum
7
+ */
8
+ export declare function coerceToNativeEnum(value: unknown, enumObj: any): any;
9
+ //# sourceMappingURL=enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../src/coercers/enum.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,SAAS,GAAG,EAAE,EAC1B,WAAW,CAAC,EAAE,GAAG,GAChB,GAAG,CA6GL;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG,CA4BpE"}
@@ -0,0 +1,8 @@
1
+ import * as z from 'zod';
2
+ import { CircularTracker } from '../utilities/circular.js';
3
+ /**
4
+ * Coerce value to intersection (must satisfy both types)
5
+ * Strategy: Try to coerce to a value that satisfies both schemas
6
+ */
7
+ export declare function coerceToIntersection(value: unknown, left: z.ZodTypeAny, right: z.ZodTypeAny, coerceLeft: (v: unknown, tracker: CircularTracker) => unknown, coerceRight: (v: unknown, tracker: CircularTracker) => unknown, tracker?: CircularTracker): unknown;
8
+ //# sourceMappingURL=intersection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intersection.d.ts","sourceRoot":"","sources":["../../src/coercers/intersection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,CAAC,CAAC,UAAU,EAClB,KAAK,EAAE,CAAC,CAAC,UAAU,EACnB,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,EAC7D,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,EAC9D,OAAO,kBAAwB,GAC9B,OAAO,CA4FT"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Coerce value to literal (with type-specific coercion)
3
+ */
4
+ export declare function coerceToLiteral(value: unknown, literalValue: any): any;
5
+ //# sourceMappingURL=literal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../../src/coercers/literal.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,GAAG,GAAG,CAuDtE"}
@@ -0,0 +1,11 @@
1
+ import * as z from 'zod';
2
+ import { CircularTracker } from '../utilities/circular.js';
3
+ /**
4
+ * Coerce value to Map with key and value type coercion
5
+ */
6
+ export declare function coerceToMap(value: unknown, keySchema: z.ZodTypeAny, valueSchema: z.ZodTypeAny, coerceKey: (v: unknown, tracker: CircularTracker) => unknown, coerceValue: (v: unknown, tracker: CircularTracker) => unknown, tracker?: CircularTracker): Map<unknown, unknown>;
7
+ /**
8
+ * Coerce value to Set with element type coercion
9
+ */
10
+ export declare function coerceToSet(value: unknown, elementSchema: z.ZodTypeAny, coerceElement: (v: unknown, tracker: CircularTracker) => unknown, tracker?: CircularTracker): Set<unknown>;
11
+ //# sourceMappingURL=map-set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-set.d.ts","sourceRoot":"","sources":["../../src/coercers/map-set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAiB,eAAe,EAAiB,MAAM,0BAA0B,CAAC;AAIzF;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,CAAC,CAAC,UAAU,EACvB,WAAW,EAAE,CAAC,CAAC,UAAU,EACzB,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,EAC5D,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,EAC9D,OAAO,kBAAwB,GAC9B,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAqDvB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,CAAC,CAAC,UAAU,EAC3B,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,EAChE,OAAO,kBAAwB,GAC9B,GAAG,CAAC,OAAO,CAAC,CA0Cd"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Coerce value to NaN (only accepts values that should be NaN)
3
+ */
4
+ export declare function coerceToNaN(value: unknown): number;
5
+ //# sourceMappingURL=nan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nan.d.ts","sourceRoot":"","sources":["../../src/coercers/nan.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkClD"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Coerce falsy values to null
3
+ */
4
+ export declare function coerceToNull(value: unknown): null;
5
+ //# sourceMappingURL=null.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"null.d.ts","sourceRoot":"","sources":["../../src/coercers/null.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CASjD"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Coerce any value to number
3
+ */
4
+ export declare function coerceToNumber(value: unknown): number;
5
+ /**
6
+ * Coerce value to integer (truncate decimal)
7
+ */
8
+ export declare function coerceToInteger(value: unknown): number;
9
+ /**
10
+ * Coerce value to int32 (with wrapping)
11
+ */
12
+ export declare function coerceToInt32(value: unknown): number;
13
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/coercers/number.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA2ErD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAiBtD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKpD"}
@@ -0,0 +1,7 @@
1
+ import * as z from 'zod';
2
+ import { CircularTracker } from '../utilities/circular.js';
3
+ /**
4
+ * Coerce value to object with property type coercion
5
+ */
6
+ export declare function coerceToObject(value: unknown, shape: z.ZodRawShape, coerceProperty: (key: string, v: unknown, tracker: CircularTracker) => unknown, tracker?: CircularTracker): Record<string, unknown>;
7
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/coercers/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAiB,eAAe,EAAiB,MAAM,0BAA0B,CAAC;AAKzF;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,CAAC,CAAC,WAAW,EACpB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,EAC9E,OAAO,kBAAwB,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyGzB"}
@@ -0,0 +1,7 @@
1
+ import * as z from 'zod';
2
+ import { CircularTracker } from '../utilities/circular.js';
3
+ /**
4
+ * Coerce value to record (Record<K, V>) with value type coercion
5
+ */
6
+ export declare function coerceToRecord(value: unknown, valueSchema: z.ZodTypeAny, coerceValue: (v: unknown, tracker: CircularTracker) => unknown, tracker?: CircularTracker): Record<string, unknown>;
7
+ //# sourceMappingURL=record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/coercers/record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAiB,eAAe,EAAiB,MAAM,0BAA0B,CAAC;AAIzF;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,CAAC,CAAC,UAAU,EACzB,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,EAC9D,OAAO,kBAAwB,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoHzB"}
@@ -0,0 +1,6 @@
1
+ import { CircularTracker } from '../utilities/circular.js';
2
+ /**
3
+ * Coerce any value to string
4
+ */
5
+ export declare function coerceToString(value: unknown, tracker?: CircularTracker): string;
6
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/coercers/string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,eAAe,EAAiB,MAAM,0BAA0B,CAAC;AAIzF;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,kBAAwB,GAAG,MAAM,CAuGtF"}
@@ -0,0 +1,7 @@
1
+ import * as z from 'zod';
2
+ import { CircularTracker } from '../utilities/circular.js';
3
+ /**
4
+ * Coerce value to tuple with element-specific type coercion
5
+ */
6
+ export declare function coerceToTuple(value: unknown, items: z.ZodTypeAny[], coerceElement: (index: number, v: unknown, tracker: CircularTracker) => unknown, tracker?: CircularTracker): unknown[];
7
+ //# sourceMappingURL=tuple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../src/coercers/tuple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAiB,eAAe,EAAiB,MAAM,0BAA0B,CAAC;AAIzF;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE,EACrB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,EAC/E,OAAO,kBAAwB,GAC9B,OAAO,EAAE,CAgGX"}
@@ -0,0 +1,7 @@
1
+ import * as z from 'zod';
2
+ import { CircularTracker } from '../utilities/circular.js';
3
+ /**
4
+ * Coerce value to union (tries coercion in order, with validation after each attempt)
5
+ */
6
+ export declare function coerceToUnion(value: unknown, options: z.ZodTypeAny[], coerceOption: (index: number, v: unknown, tracker: CircularTracker) => unknown, tracker?: CircularTracker): unknown;
7
+ //# sourceMappingURL=union.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../src/coercers/union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,EACvB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,EAC9E,OAAO,kBAAwB,GAC9B,OAAO,CAkJT"}
@@ -0,0 +1,36 @@
1
+ export declare const TRUTHY_STRINGS: string[];
2
+ export declare const FALSY_STRINGS: string[];
3
+ export declare const ZodType: {
4
+ readonly STRING: "string";
5
+ readonly NUMBER: "number";
6
+ readonly BOOLEAN: "boolean";
7
+ readonly DATE: "date";
8
+ readonly BIGINT: "bigint";
9
+ readonly NULL: "null";
10
+ readonly UNDEFINED: "undefined";
11
+ readonly NAN: "nan";
12
+ readonly ARRAY: "array";
13
+ readonly OBJECT: "object";
14
+ readonly TUPLE: "tuple";
15
+ readonly RECORD: "record";
16
+ readonly ENUM: "enum";
17
+ readonly NATIVE_ENUM: "nativeEnum";
18
+ readonly LITERAL: "literal";
19
+ readonly UNION: "union";
20
+ readonly DISCRIMINATED_UNION: "discriminatedUnion";
21
+ readonly INTERSECTION: "intersection";
22
+ readonly MAP: "map";
23
+ readonly SET: "set";
24
+ readonly OPTIONAL: "optional";
25
+ readonly NULLABLE: "nullable";
26
+ readonly DEFAULT: "default";
27
+ readonly CATCH: "catch";
28
+ readonly LAZY: "lazy";
29
+ readonly READONLY: "readonly";
30
+ readonly BRANDED: "branded";
31
+ readonly ANY: "any";
32
+ readonly UNKNOWN: "unknown";
33
+ readonly NEVER: "never";
34
+ readonly CUSTOM: "custom";
35
+ };
36
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,UAAkD,CAAC;AAE9E,eAAO,MAAM,aAAa,UAAoD,CAAC;AAG/E,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCV,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as z from 'zod';
2
+ export type CanonizePrimitive = 'string' | 'number' | 'boolean' | 'null';
3
+ export declare function createCanonizePrimitive(primitive: CanonizePrimitive): z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
4
+ export declare function createCanonizeSchema<T extends Record<string, CanonizePrimitive>>(schema: T): z.ZodObject<{ -readonly [P in keyof { [K in keyof T]: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>; }]: { [K in keyof T]: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>; }[P]; }, z.core.$strip>;
5
+ //# sourceMappingURL=create-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-schema.d.ts","sourceRoot":"","sources":["../src/create-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAKzB,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AASzE,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,2EAEnE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC9E,MAAM,EAAE,CAAC,0CAOD,CAAC,8FAAD,CAAC,+GAGV"}
@@ -0,0 +1,51 @@
1
+ import * as z from 'zod';
2
+ export { ZodType } from './constants.js';
3
+ export { type CanonizePrimitive, createCanonizePrimitive, createCanonizeSchema, } from './create-schema.js';
4
+ export { CircularTracker } from './utilities/circular.js';
5
+ export { getZodTypeName, unwrapSchema } from './utilities/type-detection.js';
6
+ export type CanonizeSchema<T extends z.ZodTypeAny> = T & {};
7
+ /**
8
+ * Wrap a Zod schema with aggressive type coercion.
9
+ *
10
+ * This is the main export of the canonize library. It takes any Zod schema
11
+ * and returns a new schema that will automatically coerce inputs to the
12
+ * expected types before validation.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { canonize } from 'canonize';
17
+ * import { z } from 'zod';
18
+ *
19
+ * const schema = canonize(z.object({
20
+ * name: z.string(),
21
+ * age: z.number(),
22
+ * active: z.boolean()
23
+ * }));
24
+ *
25
+ * // All of these will succeed:
26
+ * schema.parse({ name: 'Alice', age: '30', active: 'yes' });
27
+ * schema.parse({ name: 123, age: 30, active: 1 });
28
+ * schema.parse({ name: ['Alice'], age: '30.5', active: 'true' });
29
+ * ```
30
+ *
31
+ * Overloads preserve specific Zod types (e.g., ZodObject) so callers
32
+ * retain exact schema types without needing casts.
33
+ */
34
+ export declare function canonize<T extends z.ZodObject<any>>(schema: T): T;
35
+ export declare function canonize<T extends z.ZodArray<any>>(schema: T): T;
36
+ export declare function canonize<T extends z.ZodRecord<any, any>>(schema: T): T;
37
+ export declare function canonize<T extends z.ZodTuple<any, any>>(schema: T): T;
38
+ export declare function canonize<T extends z.ZodMap<any, any>>(schema: T): T;
39
+ export declare function canonize<T extends z.ZodSet<any>>(schema: T): T;
40
+ export declare function canonize<T extends z.ZodUnion<any>>(schema: T): T;
41
+ export declare function canonize<T extends z.ZodDiscriminatedUnion<any, any>>(schema: T): T;
42
+ export declare function canonize<T extends z.ZodIntersection<any, any>>(schema: T): T;
43
+ export declare function canonize<T extends z.ZodString>(schema: T): T;
44
+ export declare function canonize<T extends z.ZodNumber>(schema: T): T;
45
+ export declare function canonize<T extends z.ZodBoolean>(schema: T): T;
46
+ export declare function canonize<T extends z.ZodBigInt>(schema: T): T;
47
+ export declare function canonize<T extends z.ZodDate>(schema: T): T;
48
+ export declare function canonize<T extends z.ZodNull>(schema: T): T;
49
+ export declare function canonize<T extends z.ZodNaN>(schema: T): T;
50
+ export declare function canonize<T extends z.ZodTypeAny>(schema: T): CanonizeSchema<T>;
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AA4BzB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EACL,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAgS7E,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAEnE,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAElE,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAExE,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAEvE,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAErE,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAEhE,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAElE,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAEpF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAE9E,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAC9D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAC9D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAC/D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAC9D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAC5D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAC5D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;AAC3D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC"}