zodvex 0.6.0 → 0.6.1-beta.1

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 (137) hide show
  1. package/dist/boundaryHelpers.d.ts.map +1 -1
  2. package/dist/builders.d.ts +4 -4
  3. package/dist/builders.d.ts.map +1 -1
  4. package/dist/cli/index.js +70 -72
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/client/index.js +16 -17
  7. package/dist/client/index.js.map +1 -1
  8. package/dist/codec.d.ts +5 -4
  9. package/dist/codec.d.ts.map +1 -1
  10. package/dist/codegen/discover.d.ts +4 -4
  11. package/dist/codegen/discover.d.ts.map +1 -1
  12. package/dist/codegen/extractCodec.d.ts +5 -5
  13. package/dist/codegen/extractCodec.d.ts.map +1 -1
  14. package/dist/codegen/generate.d.ts +2 -2
  15. package/dist/codegen/generate.d.ts.map +1 -1
  16. package/dist/codegen/index.js +70 -72
  17. package/dist/codegen/index.js.map +1 -1
  18. package/dist/codegen/zodToSource.d.ts +3 -3
  19. package/dist/codegen/zodToSource.d.ts.map +1 -1
  20. package/dist/core/index.d.ts +0 -1
  21. package/dist/core/index.d.ts.map +1 -1
  22. package/dist/core/index.js +135 -575
  23. package/dist/core/index.js.map +1 -1
  24. package/dist/custom.d.ts +6 -5
  25. package/dist/custom.d.ts.map +1 -1
  26. package/dist/db.d.ts +3 -3
  27. package/dist/db.d.ts.map +1 -1
  28. package/dist/ids.d.ts +3 -2
  29. package/dist/ids.d.ts.map +1 -1
  30. package/dist/index.js +213 -630
  31. package/dist/index.js.map +1 -1
  32. package/dist/mapping/core.d.ts +3 -3
  33. package/dist/mapping/core.d.ts.map +1 -1
  34. package/dist/mapping/handlers/enum.d.ts +2 -2
  35. package/dist/mapping/handlers/enum.d.ts.map +1 -1
  36. package/dist/mapping/handlers/nullable.d.ts +2 -2
  37. package/dist/mapping/handlers/nullable.d.ts.map +1 -1
  38. package/dist/mapping/handlers/record.d.ts +2 -2
  39. package/dist/mapping/handlers/record.d.ts.map +1 -1
  40. package/dist/mapping/handlers/union.d.ts +3 -3
  41. package/dist/mapping/handlers/union.d.ts.map +1 -1
  42. package/dist/mapping/types.d.ts +25 -25
  43. package/dist/mapping/types.d.ts.map +1 -1
  44. package/dist/mapping/utils.d.ts +2 -2
  45. package/dist/mapping/utils.d.ts.map +1 -1
  46. package/dist/meta.d.ts +8 -8
  47. package/dist/meta.d.ts.map +1 -1
  48. package/dist/mini/index.d.ts +36 -0
  49. package/dist/mini/index.d.ts.map +1 -0
  50. package/dist/mini/index.js +1067 -0
  51. package/dist/mini/index.js.map +1 -0
  52. package/dist/model.d.ts +5 -4
  53. package/dist/model.d.ts.map +1 -1
  54. package/dist/normalizeCodecPaths.d.ts +4 -3
  55. package/dist/normalizeCodecPaths.d.ts.map +1 -1
  56. package/dist/react/index.js +16 -17
  57. package/dist/react/index.js.map +1 -1
  58. package/dist/registry.d.ts +4 -4
  59. package/dist/registry.d.ts.map +1 -1
  60. package/dist/results.d.ts +3 -2
  61. package/dist/results.d.ts.map +1 -1
  62. package/dist/rules.d.ts.map +1 -1
  63. package/dist/schema.d.ts +18 -18
  64. package/dist/schema.d.ts.map +1 -1
  65. package/dist/schemaHelpers.d.ts +12 -11
  66. package/dist/schemaHelpers.d.ts.map +1 -1
  67. package/dist/server/index.js +183 -162
  68. package/dist/server/index.js.map +1 -1
  69. package/dist/serverUtils.d.ts +2 -1
  70. package/dist/serverUtils.d.ts.map +1 -1
  71. package/dist/tables.d.ts +10 -10
  72. package/dist/tables.d.ts.map +1 -1
  73. package/dist/types.d.ts +23 -14
  74. package/dist/types.d.ts.map +1 -1
  75. package/dist/utils.d.ts +5 -4
  76. package/dist/utils.d.ts.map +1 -1
  77. package/dist/wrappers.d.ts +7 -7
  78. package/dist/wrappers.d.ts.map +1 -1
  79. package/dist/zod-core.d.ts +2 -0
  80. package/dist/zod-core.d.ts.map +1 -0
  81. package/dist/zx.d.ts +2 -1
  82. package/dist/zx.d.ts.map +1 -1
  83. package/package.json +6 -6
  84. package/src/boundaryHelpers.ts +2 -1
  85. package/src/builders.ts +19 -18
  86. package/src/codec.ts +30 -24
  87. package/src/codegen/discover.ts +45 -36
  88. package/src/codegen/extractCodec.ts +19 -13
  89. package/src/codegen/generate.ts +28 -29
  90. package/src/codegen/zodToSource.ts +56 -42
  91. package/src/core/index.ts +0 -2
  92. package/src/custom.ts +16 -14
  93. package/src/db.ts +12 -14
  94. package/src/ids.ts +4 -3
  95. package/src/mapping/core.ts +67 -64
  96. package/src/mapping/handlers/enum.ts +4 -3
  97. package/src/mapping/handlers/nullable.ts +9 -9
  98. package/src/mapping/handlers/record.ts +22 -27
  99. package/src/mapping/handlers/union.ts +12 -9
  100. package/src/mapping/types.ts +113 -91
  101. package/src/mapping/utils.ts +5 -6
  102. package/src/meta.ts +8 -8
  103. package/src/mini/index.ts +100 -0
  104. package/src/model.ts +37 -32
  105. package/src/normalizeCodecPaths.ts +33 -25
  106. package/src/registry.ts +7 -6
  107. package/src/results.ts +3 -2
  108. package/src/rules.ts +3 -2
  109. package/src/schema.ts +18 -17
  110. package/src/schemaHelpers.ts +43 -31
  111. package/src/serverUtils.ts +6 -5
  112. package/src/tables.ts +38 -36
  113. package/src/types.ts +25 -24
  114. package/src/utils.ts +48 -34
  115. package/src/wrappers.ts +51 -43
  116. package/src/zod-core.ts +70 -0
  117. package/src/zx.ts +2 -1
  118. package/dist/__type-tests__/infer-returns.d.ts +0 -2
  119. package/dist/__type-tests__/infer-returns.d.ts.map +0 -1
  120. package/dist/__type-tests__/zodTable-inference.d.ts +0 -2
  121. package/dist/__type-tests__/zodTable-inference.d.ts.map +0 -1
  122. package/dist/transform/index.d.ts +0 -26
  123. package/dist/transform/index.d.ts.map +0 -1
  124. package/dist/transform/index.js +0 -442
  125. package/dist/transform/index.js.map +0 -1
  126. package/dist/transform/transform.d.ts +0 -47
  127. package/dist/transform/transform.d.ts.map +0 -1
  128. package/dist/transform/traverse.d.ts +0 -76
  129. package/dist/transform/traverse.d.ts.map +0 -1
  130. package/dist/transform/types.d.ts +0 -115
  131. package/dist/transform/types.d.ts.map +0 -1
  132. package/src/__type-tests__/infer-returns.ts +0 -178
  133. package/src/__type-tests__/zodTable-inference.ts +0 -713
  134. package/src/transform/index.ts +0 -38
  135. package/src/transform/transform.ts +0 -409
  136. package/src/transform/traverse.ts +0 -333
  137. package/src/transform/types.ts +0 -128
@@ -1 +1 @@
1
- {"version":3,"file":"boundaryHelpers.d.ts","sourceRoot":"","sources":["../src/boundaryHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAuB1C;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACjC,CAAA;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,CAAC,CAAC,QAAQ;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAEd,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO;CAMhF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB;sBAgBlE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,GAAG,KAAG,GAAG;wBA4BpD,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,cAAc,GAAG,KAAG,GAAG;EAsBxF;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
1
+ {"version":3,"file":"boundaryHelpers.d.ts","sourceRoot":"","sources":["../src/boundaryHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAwB1C;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACjC,CAAA;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,CAAC,CAAC,QAAQ;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAEd,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO;CAMhF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB;sBAgBlE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,GAAG,KAAG,GAAG;wBA4BpD,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,cAAc,GAAG,KAAG,GAAG;EAsBxF;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import type { FunctionVisibility, RegisteredAction, RegisteredMutation, RegisteredQuery } from 'convex/server';
2
2
  import type { PropertyValidators } from 'convex/values';
3
3
  import type { Customization } from 'convex-helpers/server/customFunctions';
4
- import { z } from 'zod';
5
4
  import { type CustomBuilder } from './custom';
6
5
  import type { ExtractCtx, ExtractVisibility, InferHandlerReturns, InferReturns, ZodToConvexArgs } from './types';
6
+ import { $ZodType } from './zod-core';
7
7
  /**
8
8
  * Creates a reusable query builder from a Convex query builder.
9
9
  * Returns a builder function that accepts Convex-style config objects with args, handler, and returns.
@@ -27,7 +27,7 @@ import type { ExtractCtx, ExtractVisibility, InferHandlerReturns, InferReturns,
27
27
  * })
28
28
  * ```
29
29
  */
30
- export declare function zQueryBuilder<Builder extends (fn: any) => any>(builder: Builder): <A extends z.ZodTypeAny | Record<string, z.ZodTypeAny>, R extends z.ZodTypeAny | undefined = undefined, Visibility extends FunctionVisibility = ExtractVisibility<Builder>>(config: {
30
+ export declare function zQueryBuilder<Builder extends (fn: any) => any>(builder: Builder): <A extends $ZodType | Record<string, $ZodType>, R extends $ZodType | undefined = undefined, Visibility extends FunctionVisibility = ExtractVisibility<Builder>>(config: {
31
31
  args?: A;
32
32
  handler: (ctx: ExtractCtx<Builder>, args: ZodToConvexArgs<A extends undefined ? Record<string, never> : A>) => InferHandlerReturns<R> | Promise<InferHandlerReturns<R>>;
33
33
  returns?: R;
@@ -55,7 +55,7 @@ export declare function zQueryBuilder<Builder extends (fn: any) => any>(builder:
55
55
  * })
56
56
  * ```
57
57
  */
58
- export declare function zMutationBuilder<Builder extends (fn: any) => any>(builder: Builder): <A extends z.ZodTypeAny | Record<string, z.ZodTypeAny>, R extends z.ZodTypeAny | undefined = undefined, Visibility extends FunctionVisibility = ExtractVisibility<Builder>>(config: {
58
+ export declare function zMutationBuilder<Builder extends (fn: any) => any>(builder: Builder): <A extends $ZodType | Record<string, $ZodType>, R extends $ZodType | undefined = undefined, Visibility extends FunctionVisibility = ExtractVisibility<Builder>>(config: {
59
59
  args?: A;
60
60
  handler: (ctx: ExtractCtx<Builder>, args: ZodToConvexArgs<A extends undefined ? Record<string, never> : A>) => InferHandlerReturns<R> | Promise<InferHandlerReturns<R>>;
61
61
  returns?: R;
@@ -83,7 +83,7 @@ export declare function zMutationBuilder<Builder extends (fn: any) => any>(build
83
83
  * })
84
84
  * ```
85
85
  */
86
- export declare function zActionBuilder<Builder extends (fn: any) => any>(builder: Builder): <A extends z.ZodTypeAny | Record<string, z.ZodTypeAny>, R extends z.ZodTypeAny | undefined = undefined, Visibility extends FunctionVisibility = ExtractVisibility<Builder>>(config: {
86
+ export declare function zActionBuilder<Builder extends (fn: any) => any>(builder: Builder): <A extends $ZodType | Record<string, $ZodType>, R extends $ZodType | undefined = undefined, Visibility extends FunctionVisibility = ExtractVisibility<Builder>>(config: {
87
87
  args?: A;
88
88
  handler: (ctx: ExtractCtx<Builder>, args: ZodToConvexArgs<A extends undefined ? Record<string, never> : A>) => InferHandlerReturns<R> | Promise<InferHandlerReturns<R>>;
89
89
  returns?: R;
@@ -1 +1 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import fs2 from 'fs';
3
3
  import path3 from 'path';
4
4
  import { globSync } from 'tinyglobby';
5
- import { z } from 'zod';
5
+ import { $ZodCodec, $ZodNumber, $ZodCustom, $ZodOptional, $ZodNullable, $ZodObject, $ZodUnion, $ZodArray, $ZodRecord, $ZodTuple, $ZodString, $ZodBoolean, $ZodNull, $ZodUndefined, $ZodAny, $ZodEnum, $ZodLiteral } from 'zod/v4/core';
6
6
 
7
7
  var __defProp = Object.defineProperty;
8
8
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -313,18 +313,18 @@ function writeGeneratedStubs(convexDir2) {
313
313
  }
314
314
  };
315
315
  }
316
+
317
+ // src/codegen/extractCodec.ts
316
318
  function findCodec(schema) {
317
319
  let current = schema;
318
320
  for (let i = 0; i < 10; i++) {
319
- if (current instanceof z.ZodCodec) {
320
- const def = current._zod?.def;
321
- const isZxDate = def?.in instanceof z.ZodNumber && def?.out instanceof z.ZodCustom;
321
+ if (current instanceof $ZodCodec) {
322
+ const isZxDate = current._zod.def.in instanceof $ZodNumber && current._zod.def.out instanceof $ZodCustom;
322
323
  if (isZxDate) return void 0;
323
324
  return current;
324
325
  }
325
- if (current instanceof z.ZodOptional || current instanceof z.ZodNullable) {
326
- const def = current._zod?.def;
327
- current = def.innerType;
326
+ if (current instanceof $ZodOptional || current instanceof $ZodNullable) {
327
+ current = current._zod.def.innerType;
328
328
  continue;
329
329
  }
330
330
  break;
@@ -347,17 +347,15 @@ function walkSchemaRecursive(schema, accessPath, visited, seenCodecs, results) {
347
347
  let current = schema;
348
348
  let currentPath = accessPath;
349
349
  for (let i = 0; i < 10; i++) {
350
- if (current instanceof z.ZodOptional || current instanceof z.ZodNullable) {
351
- const def2 = current._zod?.def;
352
- current = def2.innerType;
350
+ if (current instanceof $ZodOptional || current instanceof $ZodNullable) {
351
+ current = current._zod.def.innerType;
353
352
  currentPath += "._zod.def.innerType";
354
353
  } else {
355
354
  break;
356
355
  }
357
356
  }
358
- const def = current._zod?.def;
359
- if (current instanceof z.ZodObject) {
360
- const shape = def?.shape;
357
+ if (current instanceof $ZodObject) {
358
+ const shape = current._zod.def.shape;
361
359
  if (shape) {
362
360
  for (const [field, fieldSchema] of Object.entries(shape)) {
363
361
  walkSchemaRecursive(
@@ -369,8 +367,8 @@ function walkSchemaRecursive(schema, accessPath, visited, seenCodecs, results) {
369
367
  );
370
368
  }
371
369
  }
372
- } else if (current instanceof z.ZodUnion) {
373
- const options = def?.options;
370
+ } else if (current instanceof $ZodUnion) {
371
+ const options = current._zod.def.options;
374
372
  if (options) {
375
373
  for (let i = 0; i < options.length; i++) {
376
374
  walkSchemaRecursive(
@@ -382,13 +380,13 @@ function walkSchemaRecursive(schema, accessPath, visited, seenCodecs, results) {
382
380
  );
383
381
  }
384
382
  }
385
- } else if (current instanceof z.ZodArray) {
386
- const element = def?.element;
383
+ } else if (current instanceof $ZodArray) {
384
+ const element = current._zod.def.element;
387
385
  if (element) {
388
386
  walkSchemaRecursive(element, `${currentPath}._zod.def.element`, visited, seenCodecs, results);
389
387
  }
390
- } else if (current instanceof z.ZodRecord) {
391
- const valueType = def?.valueType;
388
+ } else if (current instanceof $ZodRecord) {
389
+ const valueType = current._zod.def.valueType;
392
390
  if (valueType) {
393
391
  walkSchemaRecursive(
394
392
  valueType,
@@ -398,8 +396,8 @@ function walkSchemaRecursive(schema, accessPath, visited, seenCodecs, results) {
398
396
  results
399
397
  );
400
398
  }
401
- } else if (current instanceof z.ZodTuple) {
402
- const items = def?.items;
399
+ } else if (current instanceof $ZodTuple) {
400
+ const items = current._zod.def.items;
403
401
  if (items) {
404
402
  for (let i = 0; i < items.length; i++) {
405
403
  walkSchemaRecursive(
@@ -528,9 +526,8 @@ async function discoverModules(convexDir2) {
528
526
  });
529
527
  }
530
528
  }
531
- if (value instanceof z.ZodCodec) {
532
- const def = value._zod?.def;
533
- const isZxDate = def?.in instanceof z.ZodNumber && def?.out instanceof z.ZodCustom;
529
+ if (value instanceof $ZodCodec) {
530
+ const isZxDate = value._zod.def.in instanceof $ZodNumber && value._zod.def.out instanceof $ZodCustom;
534
531
  if (!isZxDate) {
535
532
  if (!codecs.some((c) => c.schema === value)) {
536
533
  codecs.push({
@@ -554,22 +551,23 @@ async function discoverModules(convexDir2) {
554
551
  cleanupStubs();
555
552
  }
556
553
  }
554
+
555
+ // src/codegen/zodToSource.ts
557
556
  function zodToSource(schema, ctx) {
558
- const def = schema._zod?.def;
559
- if (schema instanceof z.ZodOptional) {
560
- return `${zodToSource(def.innerType, ctx)}.optional()`;
557
+ if (schema instanceof $ZodOptional) {
558
+ return `${zodToSource(schema._zod.def.innerType, ctx)}.optional()`;
561
559
  }
562
- if (schema instanceof z.ZodNullable) {
563
- return `${zodToSource(def.innerType, ctx)}.nullable()`;
560
+ if (schema instanceof $ZodNullable) {
561
+ return `${zodToSource(schema._zod.def.innerType, ctx)}.nullable()`;
564
562
  }
565
- if (schema instanceof z.ZodString && schema.description?.startsWith("convexId:")) {
563
+ if (schema instanceof $ZodString && schema.description?.startsWith("convexId:")) {
566
564
  const tableName = schema.description.slice("convexId:".length);
567
565
  return `zx.id("${tableName}")`;
568
566
  }
569
- if (schema instanceof z.ZodCodec && def.in instanceof z.ZodNumber && def.out instanceof z.ZodCustom) {
567
+ if (schema instanceof $ZodCodec && schema._zod.def.in instanceof $ZodNumber && schema._zod.def.out instanceof $ZodCustom) {
570
568
  return "zx.date()";
571
569
  }
572
- if (schema instanceof z.ZodCodec) {
570
+ if (schema instanceof $ZodCodec) {
573
571
  if (ctx?.codecMap) {
574
572
  const ref = ctx.codecMap.get(schema);
575
573
  if (ref) {
@@ -580,46 +578,47 @@ function zodToSource(schema, ctx) {
580
578
  return ref.exportName;
581
579
  }
582
580
  }
583
- const wireSource = zodToSource(def.in, ctx);
581
+ const wireSource = zodToSource(schema._zod.def.in, ctx);
584
582
  ctx?.undiscoverableCodecs?.push({ fieldPath: "unknown" });
585
583
  return `${wireSource} /* codec: transforms lost */`;
586
584
  }
587
- if (schema instanceof z.ZodString) return "z.string()";
588
- if (schema instanceof z.ZodNumber) return "z.number()";
589
- if (schema instanceof z.ZodBoolean) return "z.boolean()";
590
- if (schema instanceof z.ZodNull) return "z.null()";
591
- if (schema instanceof z.ZodUndefined) return "z.undefined()";
592
- if (schema instanceof z.ZodAny) return "z.any()";
593
- if (schema instanceof z.ZodObject) {
594
- const shape = def.shape;
585
+ if (schema instanceof $ZodString) return "z.string()";
586
+ if (schema instanceof $ZodNumber) return "z.number()";
587
+ if (schema instanceof $ZodBoolean) return "z.boolean()";
588
+ if (schema instanceof $ZodNull) return "z.null()";
589
+ if (schema instanceof $ZodUndefined) return "z.undefined()";
590
+ if (schema instanceof $ZodAny) return "z.any()";
591
+ if (schema instanceof $ZodObject) {
592
+ const shape = schema._zod.def.shape;
595
593
  const fields = Object.entries(shape).map(([key, value]) => `${key}: ${zodToSource(value, ctx)}`).join(", ");
596
594
  return `z.object({ ${fields} })`;
597
595
  }
598
- if (schema instanceof z.ZodArray) {
599
- return `z.array(${zodToSource(def.element, ctx)})`;
596
+ if (schema instanceof $ZodArray) {
597
+ return `z.array(${zodToSource(schema._zod.def.element, ctx)})`;
600
598
  }
601
- if (schema instanceof z.ZodEnum) {
602
- const values = schema.options.map((v) => `"${v}"`).join(", ");
599
+ if (schema instanceof $ZodEnum) {
600
+ const entries = schema._zod.def.entries;
601
+ const values = Object.values(entries).map((v) => `"${v}"`).join(", ");
603
602
  return `z.enum([${values}])`;
604
603
  }
605
- if (schema instanceof z.ZodLiteral) {
606
- const values = def.values;
604
+ if (schema instanceof $ZodLiteral) {
605
+ const values = schema._zod.def.values;
607
606
  const value = values.values().next().value;
608
607
  if (typeof value === "string") return `z.literal("${value}")`;
609
608
  return `z.literal(${value})`;
610
609
  }
611
- if (schema instanceof z.ZodUnion) {
612
- const members = def.options.map((s) => zodToSource(s, ctx)).join(", ");
610
+ if (schema instanceof $ZodUnion) {
611
+ const members = schema._zod.def.options.map((s) => zodToSource(s, ctx)).join(", ");
613
612
  return `z.union([${members}])`;
614
613
  }
615
- if (schema instanceof z.ZodTuple) {
616
- const items = def.items.map((s) => zodToSource(s, ctx)).join(", ");
614
+ if (schema instanceof $ZodTuple) {
615
+ const items = schema._zod.def.items.map((s) => zodToSource(s, ctx)).join(", ");
617
616
  return `z.tuple([${items}])`;
618
617
  }
619
- if (schema instanceof z.ZodRecord) {
620
- return `z.record(${zodToSource(def.keyType, ctx)}, ${zodToSource(def.valueType, ctx)})`;
618
+ if (schema instanceof $ZodRecord) {
619
+ return `z.record(${zodToSource(schema._zod.def.keyType, ctx)}, ${zodToSource(schema._zod.def.valueType, ctx)})`;
621
620
  }
622
- const typeName = def?.type ?? "unknown";
621
+ const typeName = schema._zod.def.type ?? "unknown";
623
622
  return `z.any() /* unsupported: ${typeName} */`;
624
623
  }
625
624
 
@@ -628,9 +627,8 @@ var HEADER = `// AUTO-GENERATED by zodvex \u2014 do not edit
628
627
  // Run \`zodvex generate\` to regenerate
629
628
  `;
630
629
  function fingerprintCodec(schema) {
631
- const def = schema._zod?.def;
632
- if (!def?.in || !def?.out) return "";
633
- return `${zodToSource(def.in)}|${zodToSource(def.out)}`;
630
+ if (!(schema instanceof $ZodCodec)) return "";
631
+ return `${zodToSource(schema._zod.def.in)}|${zodToSource(schema._zod.def.out)}`;
634
632
  }
635
633
  function generateSchemaFile(models) {
636
634
  const exports$1 = models.map((m) => {
@@ -647,13 +645,12 @@ function tryUnwrapToIdentity(schema, identityMap) {
647
645
  const suffixes = [];
648
646
  const maxDepth = 5;
649
647
  for (let i = 0; i < maxDepth; i++) {
650
- const def = current._zod?.def;
651
- if (current instanceof z.ZodOptional) {
648
+ if (current instanceof $ZodOptional) {
652
649
  suffixes.push(".optional()");
653
- current = def.innerType;
654
- } else if (current instanceof z.ZodNullable) {
650
+ current = current._zod.def.innerType;
651
+ } else if (current instanceof $ZodNullable) {
655
652
  suffixes.push(".nullable()");
656
- current = def.innerType;
653
+ current = current._zod.def.innerType;
657
654
  } else {
658
655
  break;
659
656
  }
@@ -665,23 +662,23 @@ function tryUnwrapToIdentity(schema, identityMap) {
665
662
  return null;
666
663
  }
667
664
  function tryMatchPartial(schema, identityMap) {
668
- if (!(schema instanceof z.ZodObject)) return null;
669
- const candidateShape = schema.shape;
665
+ if (!(schema instanceof $ZodObject)) return null;
666
+ const candidateShape = schema._zod.def.shape;
670
667
  const candidateKeys = Object.keys(candidateShape).sort();
671
668
  for (const [modelSchema, ref] of identityMap) {
672
- if (!(modelSchema instanceof z.ZodObject)) continue;
673
- const modelShape = modelSchema.shape;
669
+ if (!(modelSchema instanceof $ZodObject)) continue;
670
+ const modelShape = modelSchema._zod.def.shape;
674
671
  const modelKeys = Object.keys(modelShape).sort();
675
672
  if (candidateKeys.length !== modelKeys.length) continue;
676
673
  if (candidateKeys.some((k, i) => k !== modelKeys[i])) continue;
677
674
  let allMatch = true;
678
675
  for (const key of candidateKeys) {
679
676
  const candidateField = candidateShape[key];
680
- if (!(candidateField instanceof z.ZodOptional)) {
677
+ if (!(candidateField instanceof $ZodOptional)) {
681
678
  allMatch = false;
682
679
  break;
683
680
  }
684
- const inner = candidateField._zod?.def?.innerType;
681
+ const inner = candidateField._zod.def.innerType;
685
682
  if (inner !== modelShape[key]) {
686
683
  allMatch = false;
687
684
  break;
@@ -766,22 +763,23 @@ function generateApiFile(functions, models, codecs, modelCodecs, functionCodecs)
766
763
  let needsZx = false;
767
764
  function resolveSchema(schema) {
768
765
  if (!schema) return "undefined";
769
- const ref = identityMap.get(schema);
766
+ const s = schema;
767
+ const ref = identityMap.get(s);
770
768
  if (ref) {
771
769
  neededModelImports.add(ref.exportName);
772
770
  return `${ref.exportName}.schema.${ref.schemaKey}`;
773
771
  }
774
- const unwrapped = tryUnwrapToIdentity(schema, identityMap);
772
+ const unwrapped = tryUnwrapToIdentity(s, identityMap);
775
773
  if (unwrapped) {
776
774
  neededModelImports.add(unwrapped.ref.exportName);
777
775
  return `${unwrapped.ref.exportName}.schema.${unwrapped.ref.schemaKey}${unwrapped.suffix}`;
778
776
  }
779
- const partialMatch = tryMatchPartial(schema, identityMap);
777
+ const partialMatch = tryMatchPartial(s, identityMap);
780
778
  if (partialMatch) {
781
779
  neededModelImports.add(partialMatch.ref.exportName);
782
780
  return `${partialMatch.ref.exportName}.schema.${partialMatch.ref.schemaKey}${partialMatch.suffix}`;
783
781
  }
784
- const source = zodToSource(schema, zodToSourceCtx);
782
+ const source = zodToSource(s, zodToSourceCtx);
785
783
  if (source.includes("z.")) needsZod = true;
786
784
  if (source.includes("zx.")) needsZx = true;
787
785
  return source;