zodvex 0.6.1-beta.0 → 0.7.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.
- package/dist/boundaryHelpers.d.ts.map +1 -1
- package/dist/builders.d.ts +4 -4
- package/dist/builders.d.ts.map +1 -1
- package/dist/cli/index.js +29 -36
- package/dist/cli/index.js.map +1 -1
- package/dist/client/index.js +5 -9
- package/dist/client/index.js.map +1 -1
- package/dist/codec.d.ts +5 -4
- package/dist/codec.d.ts.map +1 -1
- package/dist/codegen/discover.d.ts.map +1 -1
- package/dist/codegen/extractCodec.d.ts.map +1 -1
- package/dist/codegen/generate.d.ts.map +1 -1
- package/dist/codegen/index.js +29 -36
- package/dist/codegen/index.js.map +1 -1
- package/dist/codegen/zodToSource.d.ts.map +1 -1
- package/dist/core/index.d.ts +0 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +66 -508
- package/dist/core/index.js.map +1 -1
- package/dist/custom.d.ts +6 -5
- package/dist/custom.d.ts.map +1 -1
- package/dist/db.d.ts +3 -3
- package/dist/db.d.ts.map +1 -1
- package/dist/ids.d.ts +3 -2
- package/dist/ids.d.ts.map +1 -1
- package/dist/index.js +93 -552
- package/dist/index.js.map +1 -1
- package/dist/mapping/core.d.ts +3 -3
- package/dist/mapping/core.d.ts.map +1 -1
- package/dist/mapping/handlers/enum.d.ts +2 -2
- package/dist/mapping/handlers/enum.d.ts.map +1 -1
- package/dist/mapping/handlers/nullable.d.ts +2 -1
- package/dist/mapping/handlers/nullable.d.ts.map +1 -1
- package/dist/mapping/handlers/record.d.ts +2 -1
- package/dist/mapping/handlers/record.d.ts.map +1 -1
- package/dist/mapping/handlers/union.d.ts +3 -3
- package/dist/mapping/handlers/union.d.ts.map +1 -1
- package/dist/mapping/utils.d.ts +2 -2
- package/dist/mapping/utils.d.ts.map +1 -1
- package/dist/meta.d.ts +8 -8
- package/dist/meta.d.ts.map +1 -1
- package/dist/mini/index.d.ts +36 -0
- package/dist/mini/index.d.ts.map +1 -0
- package/dist/mini/index.js +1067 -0
- package/dist/mini/index.js.map +1 -0
- package/dist/model.d.ts +5 -4
- package/dist/model.d.ts.map +1 -1
- package/dist/react/index.js +5 -9
- package/dist/react/index.js.map +1 -1
- package/dist/registry.d.ts +4 -4
- package/dist/registry.d.ts.map +1 -1
- package/dist/results.d.ts +3 -2
- package/dist/results.d.ts.map +1 -1
- package/dist/rules.d.ts.map +1 -1
- package/dist/schema.d.ts +18 -18
- package/dist/schema.d.ts.map +1 -1
- package/dist/schemaHelpers.d.ts +12 -11
- package/dist/schemaHelpers.d.ts.map +1 -1
- package/dist/server/index.js +82 -103
- package/dist/server/index.js.map +1 -1
- package/dist/serverUtils.d.ts +2 -1
- package/dist/serverUtils.d.ts.map +1 -1
- package/dist/tables.d.ts +10 -10
- package/dist/tables.d.ts.map +1 -1
- package/dist/types.d.ts +4 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +5 -4
- package/dist/utils.d.ts.map +1 -1
- package/dist/wrappers.d.ts +7 -7
- package/dist/wrappers.d.ts.map +1 -1
- package/dist/zod-core.d.ts +1 -1
- package/dist/zod-core.d.ts.map +1 -1
- package/dist/zx.d.ts +2 -1
- package/dist/zx.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/boundaryHelpers.ts +2 -1
- package/src/builders.ts +9 -9
- package/src/codec.ts +26 -21
- package/src/codegen/discover.ts +9 -12
- package/src/codegen/extractCodec.ts +3 -4
- package/src/codegen/generate.ts +8 -10
- package/src/codegen/zodToSource.ts +15 -16
- package/src/core/index.ts +0 -2
- package/src/custom.ts +12 -11
- package/src/db.ts +9 -12
- package/src/ids.ts +4 -3
- package/src/mapping/core.ts +41 -53
- package/src/mapping/handlers/enum.ts +4 -3
- package/src/mapping/handlers/nullable.ts +6 -6
- package/src/mapping/handlers/record.ts +13 -18
- package/src/mapping/handlers/union.ts +12 -9
- package/src/mapping/utils.ts +4 -6
- package/src/meta.ts +8 -8
- package/src/mini/index.ts +100 -0
- package/src/model.ts +32 -29
- package/src/normalizeCodecPaths.ts +10 -10
- package/src/registry.ts +7 -7
- package/src/results.ts +3 -2
- package/src/rules.ts +3 -2
- package/src/schema.ts +18 -17
- package/src/schemaHelpers.ts +40 -29
- package/src/serverUtils.ts +4 -4
- package/src/tables.ts +31 -31
- package/src/types.ts +3 -3
- package/src/utils.ts +23 -25
- package/src/wrappers.ts +36 -49
- package/src/zod-core.ts +10 -1
- package/src/zx.ts +2 -1
- package/dist/__type-tests__/infer-returns.d.ts +0 -2
- package/dist/__type-tests__/infer-returns.d.ts.map +0 -1
- package/dist/__type-tests__/zodTable-inference.d.ts +0 -2
- package/dist/__type-tests__/zodTable-inference.d.ts.map +0 -1
- package/dist/transform/index.d.ts +0 -26
- package/dist/transform/index.d.ts.map +0 -1
- package/dist/transform/index.js +0 -436
- package/dist/transform/index.js.map +0 -1
- package/dist/transform/transform.d.ts +0 -47
- package/dist/transform/transform.d.ts.map +0 -1
- package/dist/transform/traverse.d.ts +0 -76
- package/dist/transform/traverse.d.ts.map +0 -1
- package/dist/transform/types.d.ts +0 -115
- package/dist/transform/types.d.ts.map +0 -1
- package/src/__type-tests__/infer-returns.ts +0 -178
- package/src/__type-tests__/zodTable-inference.ts +0 -713
- package/src/transform/index.ts +0 -38
- package/src/transform/transform.ts +0 -409
- package/src/transform/traverse.ts +0 -327
- 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;
|
|
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"}
|
package/dist/builders.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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;
|
package/dist/builders.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -319,14 +319,12 @@ function findCodec(schema) {
|
|
|
319
319
|
let current = schema;
|
|
320
320
|
for (let i = 0; i < 10; i++) {
|
|
321
321
|
if (current instanceof $ZodCodec) {
|
|
322
|
-
const
|
|
323
|
-
const isZxDate = def?.in instanceof $ZodNumber && def?.out instanceof $ZodCustom;
|
|
322
|
+
const isZxDate = current._zod.def.in instanceof $ZodNumber && current._zod.def.out instanceof $ZodCustom;
|
|
324
323
|
if (isZxDate) return void 0;
|
|
325
324
|
return current;
|
|
326
325
|
}
|
|
327
326
|
if (current instanceof $ZodOptional || current instanceof $ZodNullable) {
|
|
328
|
-
|
|
329
|
-
current = def.innerType;
|
|
327
|
+
current = current._zod.def.innerType;
|
|
330
328
|
continue;
|
|
331
329
|
}
|
|
332
330
|
break;
|
|
@@ -350,16 +348,14 @@ function walkSchemaRecursive(schema, accessPath, visited, seenCodecs, results) {
|
|
|
350
348
|
let currentPath = accessPath;
|
|
351
349
|
for (let i = 0; i < 10; i++) {
|
|
352
350
|
if (current instanceof $ZodOptional || current instanceof $ZodNullable) {
|
|
353
|
-
|
|
354
|
-
current = def2.innerType;
|
|
351
|
+
current = current._zod.def.innerType;
|
|
355
352
|
currentPath += "._zod.def.innerType";
|
|
356
353
|
} else {
|
|
357
354
|
break;
|
|
358
355
|
}
|
|
359
356
|
}
|
|
360
|
-
const def = current._zod?.def;
|
|
361
357
|
if (current instanceof $ZodObject) {
|
|
362
|
-
const shape = def
|
|
358
|
+
const shape = current._zod.def.shape;
|
|
363
359
|
if (shape) {
|
|
364
360
|
for (const [field, fieldSchema] of Object.entries(shape)) {
|
|
365
361
|
walkSchemaRecursive(
|
|
@@ -372,7 +368,7 @@ function walkSchemaRecursive(schema, accessPath, visited, seenCodecs, results) {
|
|
|
372
368
|
}
|
|
373
369
|
}
|
|
374
370
|
} else if (current instanceof $ZodUnion) {
|
|
375
|
-
const options = def
|
|
371
|
+
const options = current._zod.def.options;
|
|
376
372
|
if (options) {
|
|
377
373
|
for (let i = 0; i < options.length; i++) {
|
|
378
374
|
walkSchemaRecursive(
|
|
@@ -385,12 +381,12 @@ function walkSchemaRecursive(schema, accessPath, visited, seenCodecs, results) {
|
|
|
385
381
|
}
|
|
386
382
|
}
|
|
387
383
|
} else if (current instanceof $ZodArray) {
|
|
388
|
-
const element = def
|
|
384
|
+
const element = current._zod.def.element;
|
|
389
385
|
if (element) {
|
|
390
386
|
walkSchemaRecursive(element, `${currentPath}._zod.def.element`, visited, seenCodecs, results);
|
|
391
387
|
}
|
|
392
388
|
} else if (current instanceof $ZodRecord) {
|
|
393
|
-
const valueType = def
|
|
389
|
+
const valueType = current._zod.def.valueType;
|
|
394
390
|
if (valueType) {
|
|
395
391
|
walkSchemaRecursive(
|
|
396
392
|
valueType,
|
|
@@ -401,7 +397,7 @@ function walkSchemaRecursive(schema, accessPath, visited, seenCodecs, results) {
|
|
|
401
397
|
);
|
|
402
398
|
}
|
|
403
399
|
} else if (current instanceof $ZodTuple) {
|
|
404
|
-
const items = def
|
|
400
|
+
const items = current._zod.def.items;
|
|
405
401
|
if (items) {
|
|
406
402
|
for (let i = 0; i < items.length; i++) {
|
|
407
403
|
walkSchemaRecursive(
|
|
@@ -531,8 +527,7 @@ async function discoverModules(convexDir2) {
|
|
|
531
527
|
}
|
|
532
528
|
}
|
|
533
529
|
if (value instanceof $ZodCodec) {
|
|
534
|
-
const
|
|
535
|
-
const isZxDate = def?.in instanceof $ZodNumber && def?.out instanceof $ZodCustom;
|
|
530
|
+
const isZxDate = value._zod.def.in instanceof $ZodNumber && value._zod.def.out instanceof $ZodCustom;
|
|
536
531
|
if (!isZxDate) {
|
|
537
532
|
if (!codecs.some((c) => c.schema === value)) {
|
|
538
533
|
codecs.push({
|
|
@@ -559,18 +554,17 @@ async function discoverModules(convexDir2) {
|
|
|
559
554
|
|
|
560
555
|
// src/codegen/zodToSource.ts
|
|
561
556
|
function zodToSource(schema, ctx) {
|
|
562
|
-
const def = schema._zod?.def;
|
|
563
557
|
if (schema instanceof $ZodOptional) {
|
|
564
|
-
return `${zodToSource(def.innerType, ctx)}.optional()`;
|
|
558
|
+
return `${zodToSource(schema._zod.def.innerType, ctx)}.optional()`;
|
|
565
559
|
}
|
|
566
560
|
if (schema instanceof $ZodNullable) {
|
|
567
|
-
return `${zodToSource(def.innerType, ctx)}.nullable()`;
|
|
561
|
+
return `${zodToSource(schema._zod.def.innerType, ctx)}.nullable()`;
|
|
568
562
|
}
|
|
569
563
|
if (schema instanceof $ZodString && schema.description?.startsWith("convexId:")) {
|
|
570
564
|
const tableName = schema.description.slice("convexId:".length);
|
|
571
565
|
return `zx.id("${tableName}")`;
|
|
572
566
|
}
|
|
573
|
-
if (schema instanceof $ZodCodec && def.in instanceof $ZodNumber && def.out instanceof $ZodCustom) {
|
|
567
|
+
if (schema instanceof $ZodCodec && schema._zod.def.in instanceof $ZodNumber && schema._zod.def.out instanceof $ZodCustom) {
|
|
574
568
|
return "zx.date()";
|
|
575
569
|
}
|
|
576
570
|
if (schema instanceof $ZodCodec) {
|
|
@@ -584,7 +578,7 @@ function zodToSource(schema, ctx) {
|
|
|
584
578
|
return ref.exportName;
|
|
585
579
|
}
|
|
586
580
|
}
|
|
587
|
-
const wireSource = zodToSource(def.in, ctx);
|
|
581
|
+
const wireSource = zodToSource(schema._zod.def.in, ctx);
|
|
588
582
|
ctx?.undiscoverableCodecs?.push({ fieldPath: "unknown" });
|
|
589
583
|
return `${wireSource} /* codec: transforms lost */`;
|
|
590
584
|
}
|
|
@@ -595,35 +589,36 @@ function zodToSource(schema, ctx) {
|
|
|
595
589
|
if (schema instanceof $ZodUndefined) return "z.undefined()";
|
|
596
590
|
if (schema instanceof $ZodAny) return "z.any()";
|
|
597
591
|
if (schema instanceof $ZodObject) {
|
|
598
|
-
const shape = def.shape;
|
|
592
|
+
const shape = schema._zod.def.shape;
|
|
599
593
|
const fields = Object.entries(shape).map(([key, value]) => `${key}: ${zodToSource(value, ctx)}`).join(", ");
|
|
600
594
|
return `z.object({ ${fields} })`;
|
|
601
595
|
}
|
|
602
596
|
if (schema instanceof $ZodArray) {
|
|
603
|
-
return `z.array(${zodToSource(def.element, ctx)})`;
|
|
597
|
+
return `z.array(${zodToSource(schema._zod.def.element, ctx)})`;
|
|
604
598
|
}
|
|
605
599
|
if (schema instanceof $ZodEnum) {
|
|
606
|
-
const
|
|
600
|
+
const entries = schema._zod.def.entries;
|
|
601
|
+
const values = Object.values(entries).map((v) => `"${v}"`).join(", ");
|
|
607
602
|
return `z.enum([${values}])`;
|
|
608
603
|
}
|
|
609
604
|
if (schema instanceof $ZodLiteral) {
|
|
610
|
-
const values = def.values;
|
|
605
|
+
const values = schema._zod.def.values;
|
|
611
606
|
const value = values.values().next().value;
|
|
612
607
|
if (typeof value === "string") return `z.literal("${value}")`;
|
|
613
608
|
return `z.literal(${value})`;
|
|
614
609
|
}
|
|
615
610
|
if (schema instanceof $ZodUnion) {
|
|
616
|
-
const members = def.options.map((s) => zodToSource(s, ctx)).join(", ");
|
|
611
|
+
const members = schema._zod.def.options.map((s) => zodToSource(s, ctx)).join(", ");
|
|
617
612
|
return `z.union([${members}])`;
|
|
618
613
|
}
|
|
619
614
|
if (schema instanceof $ZodTuple) {
|
|
620
|
-
const items = def.items.map((s) => zodToSource(s, ctx)).join(", ");
|
|
615
|
+
const items = schema._zod.def.items.map((s) => zodToSource(s, ctx)).join(", ");
|
|
621
616
|
return `z.tuple([${items}])`;
|
|
622
617
|
}
|
|
623
618
|
if (schema instanceof $ZodRecord) {
|
|
624
|
-
return `z.record(${zodToSource(def.keyType, ctx)}, ${zodToSource(def.valueType, ctx)})`;
|
|
619
|
+
return `z.record(${zodToSource(schema._zod.def.keyType, ctx)}, ${zodToSource(schema._zod.def.valueType, ctx)})`;
|
|
625
620
|
}
|
|
626
|
-
const typeName = def
|
|
621
|
+
const typeName = schema._zod.def.type ?? "unknown";
|
|
627
622
|
return `z.any() /* unsupported: ${typeName} */`;
|
|
628
623
|
}
|
|
629
624
|
|
|
@@ -632,9 +627,8 @@ var HEADER = `// AUTO-GENERATED by zodvex \u2014 do not edit
|
|
|
632
627
|
// Run \`zodvex generate\` to regenerate
|
|
633
628
|
`;
|
|
634
629
|
function fingerprintCodec(schema) {
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
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)}`;
|
|
638
632
|
}
|
|
639
633
|
function generateSchemaFile(models) {
|
|
640
634
|
const exports$1 = models.map((m) => {
|
|
@@ -651,13 +645,12 @@ function tryUnwrapToIdentity(schema, identityMap) {
|
|
|
651
645
|
const suffixes = [];
|
|
652
646
|
const maxDepth = 5;
|
|
653
647
|
for (let i = 0; i < maxDepth; i++) {
|
|
654
|
-
const def = current._zod?.def;
|
|
655
648
|
if (current instanceof $ZodOptional) {
|
|
656
649
|
suffixes.push(".optional()");
|
|
657
|
-
current = def.innerType;
|
|
650
|
+
current = current._zod.def.innerType;
|
|
658
651
|
} else if (current instanceof $ZodNullable) {
|
|
659
652
|
suffixes.push(".nullable()");
|
|
660
|
-
current = def.innerType;
|
|
653
|
+
current = current._zod.def.innerType;
|
|
661
654
|
} else {
|
|
662
655
|
break;
|
|
663
656
|
}
|
|
@@ -670,11 +663,11 @@ function tryUnwrapToIdentity(schema, identityMap) {
|
|
|
670
663
|
}
|
|
671
664
|
function tryMatchPartial(schema, identityMap) {
|
|
672
665
|
if (!(schema instanceof $ZodObject)) return null;
|
|
673
|
-
const candidateShape = schema.shape;
|
|
666
|
+
const candidateShape = schema._zod.def.shape;
|
|
674
667
|
const candidateKeys = Object.keys(candidateShape).sort();
|
|
675
668
|
for (const [modelSchema, ref] of identityMap) {
|
|
676
669
|
if (!(modelSchema instanceof $ZodObject)) continue;
|
|
677
|
-
const modelShape = modelSchema.shape;
|
|
670
|
+
const modelShape = modelSchema._zod.def.shape;
|
|
678
671
|
const modelKeys = Object.keys(modelShape).sort();
|
|
679
672
|
if (candidateKeys.length !== modelKeys.length) continue;
|
|
680
673
|
if (candidateKeys.some((k, i) => k !== modelKeys[i])) continue;
|
|
@@ -685,7 +678,7 @@ function tryMatchPartial(schema, identityMap) {
|
|
|
685
678
|
allMatch = false;
|
|
686
679
|
break;
|
|
687
680
|
}
|
|
688
|
-
const inner = candidateField._zod
|
|
681
|
+
const inner = candidateField._zod.def.innerType;
|
|
689
682
|
if (inner !== modelShape[key]) {
|
|
690
683
|
allMatch = false;
|
|
691
684
|
break;
|