dyna-record 0.6.4 → 0.6.5

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/README.md CHANGED
@@ -286,10 +286,44 @@ await Drawing.update("123", {
286
286
  });
287
287
  ```
288
288
 
289
- **Scoping constraints (initial release):**
289
+ ##### Arrays of discriminated unions
290
290
 
291
- - Supported at the ObjectAttribute root level and as fields within an ObjectSchema
292
- - Not supported inside array items or nested inside other discriminated unions
291
+ Discriminated unions can be used as array items. Each element in the array is validated and serialized using variant-aware logic:
292
+
293
+ ```typescript
294
+ const dashboardSchema = {
295
+ widgets: {
296
+ type: "array",
297
+ items: {
298
+ type: "discriminatedUnion",
299
+ discriminator: "type",
300
+ variants: {
301
+ "metric-card": {
302
+ label: { type: "string" },
303
+ value: { type: "number" }
304
+ },
305
+ chart: {
306
+ title: { type: "string" },
307
+ chartType: { type: "enum", values: ["bar", "line", "pie"] }
308
+ }
309
+ }
310
+ }
311
+ }
312
+ } as const satisfies ObjectSchema;
313
+
314
+ // TypeScript infers:
315
+ // dashboard.widgets → Array<
316
+ // | { type: "metric-card"; label: string; value: number }
317
+ // | { type: "chart"; title: string; chartType: "bar" | "line" | "pie" }
318
+ // >
319
+ ```
320
+
321
+ Arrays of discriminated unions use **full replacement** on update (the entire array is replaced), consistent with all array fields.
322
+
323
+ **Scoping constraints:**
324
+
325
+ - Supported at the ObjectAttribute root level, as fields within an ObjectSchema, and as array items
326
+ - Not supported nested inside other discriminated unions
293
327
 
294
328
  ### Foreign Keys
295
329
 
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectAttribute.d.ts","sourceRoot":"","sources":["../../../../src/decorators/attributes/ObjectAttribute.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EACV,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAGlB,MAAM,SAAS,CAAC;AAGjB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,YAAY,CAC5D,SAAQ,uBAAuB;IAC/B;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC;CACX;AAgKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,iBAAS,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,CAAC,CAAC,SAAS,YAAY,EACzE,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC,YAGtB,SAAS,WACR,yBAAyB,CAChC,CAAC,EACD,iBAAiB,CAAC,CAAC,CAAC,EACpB,sBAAsB,CAAC,CAAC,CAAC,CAC1B,UAoBJ;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ObjectAttribute.d.ts","sourceRoot":"","sources":["../../../../src/decorators/attributes/ObjectAttribute.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EACV,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAGlB,MAAM,SAAS,CAAC;AAGjB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,YAAY,CAC5D,SAAQ,uBAAuB;IAC/B;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC;CACX;AAkKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,iBAAS,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,CAAC,CAAC,SAAS,YAAY,EACzE,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC,YAGtB,SAAS,WACR,yBAAyB,CAChC,CAAC,EACD,iBAAiB,CAAC,CAAC,CAAC,EACpB,sBAAsB,CAAC,CAAC,CAAC,CAC1B,UAoBJ;AAED,eAAe,eAAe,CAAC"}
@@ -6,6 +6,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const zod_1 = require("zod");
7
7
  const metadata_1 = __importDefault(require("../../metadata"));
8
8
  const serializers_1 = require("./serializers");
9
+ /**
10
+ * Builds a Zod shape record from an {@link ObjectSchema} using the provided
11
+ * field converter function. Shared by both full and partial schema builders.
12
+ */
13
+ function buildZodShape(schema, fieldConverter) {
14
+ const shape = {};
15
+ for (const [key, fieldDef] of Object.entries(schema)) {
16
+ shape[key] = fieldConverter(fieldDef);
17
+ }
18
+ return shape;
19
+ }
9
20
  /**
10
21
  * Converts an {@link ObjectSchema} to a partial Zod schema for update validation.
11
22
  *
@@ -17,11 +28,7 @@ const serializers_1 = require("./serializers");
17
28
  * @returns A ZodType that validates partial objects matching the schema
18
29
  */
19
30
  function objectSchemaToZodPartial(schema) {
20
- const shape = {};
21
- for (const [key, fieldDef] of Object.entries(schema)) {
22
- shape[key] = fieldDefToZodPartial(fieldDef);
23
- }
24
- return zod_1.z.object(shape).partial();
31
+ return zod_1.z.object(buildZodShape(schema, fieldDefToZodPartial)).partial();
25
32
  }
26
33
  /**
27
34
  * Converts a single {@link FieldDef} to the corresponding partial Zod type.
@@ -31,15 +38,16 @@ function objectSchemaToZodPartial(schema) {
31
38
  * always use full replacement on update.
32
39
  */
33
40
  function fieldDefToZodPartial(fieldDef) {
34
- if (fieldDef.type === "object") {
35
- return objectSchemaToZodPartial(fieldDef.fields);
36
- }
37
- if (fieldDef.type === "discriminatedUnion") {
38
- // Discriminated unions use full replacement — same schema as create
39
- return discriminatedUnionToZod(fieldDef);
41
+ switch (fieldDef.type) {
42
+ case "object":
43
+ return objectSchemaToZodPartial(fieldDef.fields);
44
+ case "discriminatedUnion":
45
+ // Discriminated unions use full replacement — same schema as create
46
+ return discriminatedUnionToZod(fieldDef);
47
+ default:
48
+ // For non-object fields, use the standard schema (includes nullable wrapping)
49
+ return fieldDefToZod(fieldDef);
40
50
  }
41
- // For non-object fields, use the standard schema (includes nullable wrapping)
42
- return fieldDefToZod(fieldDef);
43
51
  }
44
52
  /**
45
53
  * Converts an {@link ObjectSchema} to a Zod schema for runtime validation.
@@ -48,11 +56,7 @@ function fieldDefToZodPartial(fieldDef) {
48
56
  * @returns A ZodType that validates objects matching the schema
49
57
  */
50
58
  function objectSchemaToZod(schema) {
51
- const shape = {};
52
- for (const [key, fieldDef] of Object.entries(schema)) {
53
- shape[key] = fieldDefToZod(fieldDef);
54
- }
55
- return zod_1.z.object(shape);
59
+ return zod_1.z.object(buildZodShape(schema, fieldDefToZod));
56
60
  }
57
61
  /**
58
62
  * Builds a Zod `discriminatedUnion` schema from a {@link DiscriminatedUnionFieldDef}.
@@ -65,10 +69,11 @@ function objectSchemaToZod(schema) {
65
69
  * @returns A ZodType that validates discriminated union values
66
70
  */
67
71
  function discriminatedUnionToZod(fieldDef) {
68
- if (Object.keys(fieldDef.variants).length === 0) {
72
+ const variantEntries = Object.entries(fieldDef.variants);
73
+ if (variantEntries.length === 0) {
69
74
  throw new Error("DiscriminatedUnionFieldDef requires at least one variant");
70
75
  }
71
- const variantSchemas = Object.entries(fieldDef.variants).map(([variantKey, variantObjectSchema]) => {
76
+ const variantSchemas = variantEntries.map(([variantKey, variantObjectSchema]) => {
72
77
  const variantZod = objectSchemaToZod(variantObjectSchema);
73
78
  return variantZod.extend({
74
79
  [fieldDef.discriminator]: zod_1.z.literal(variantKey)
@@ -99,13 +104,12 @@ function discriminatedUnionToZod(fieldDef) {
99
104
  * @returns A ZodType that validates values matching the field definition
100
105
  */
101
106
  function fieldDefToZod(fieldDef) {
102
- // Object fields return early they are never nullable
103
- if (fieldDef.type === "object") {
104
- return objectSchemaToZod(fieldDef.fields);
105
- }
106
- // Discriminated union fields handle their own nullable wrapping
107
- if (fieldDef.type === "discriminatedUnion") {
108
- return discriminatedUnionToZod(fieldDef);
107
+ // These types handle their own nullable semantics or are never nullable
108
+ switch (fieldDef.type) {
109
+ case "object":
110
+ return objectSchemaToZod(fieldDef.fields);
111
+ case "discriminatedUnion":
112
+ return discriminatedUnionToZod(fieldDef);
109
113
  }
110
114
  let zodType;
111
115
  switch (fieldDef.type) {
@@ -1 +1 @@
1
- {"version":3,"file":"serializers.d.ts","sourceRoot":"","sources":["../../../../src/decorators/attributes/serializers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;6BACA,oBAAoB,KAAG,OAAO;4BAM/B,OAAO;CAEhC,CAAC;AAuBF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,OAAO,GACX,OAAO,CAqBT;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAgCD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,CAOxE"}
1
+ {"version":3,"file":"serializers.d.ts","sourceRoot":"","sources":["../../../../src/decorators/attributes/serializers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;6BACA,oBAAoB,KAAG,OAAO;4BAM/B,OAAO;CAEhC,CAAC;AAuBF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAwBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,OAAO,GACX,OAAO,CAmBT;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AA8BD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,CAOxE"}
@@ -64,6 +64,18 @@ function objectToTableItem(schema, value) {
64
64
  }
65
65
  return result;
66
66
  }
67
+ /**
68
+ * Resolves and converts a discriminated union value using the provided schema
69
+ * converter function. Shared by both serialization and deserialization paths.
70
+ */
71
+ function convertDiscriminatedUnion(fieldDef, value, schemaConverter) {
72
+ const variantSchema = resolveVariantSchema(fieldDef, value);
73
+ if (variantSchema === undefined)
74
+ return value;
75
+ const result = schemaConverter(variantSchema, value);
76
+ result[fieldDef.discriminator] = value[fieldDef.discriminator];
77
+ return result;
78
+ }
67
79
  /**
68
80
  * Converts a single field value to its DynamoDB table representation based on
69
81
  * the field definition.
@@ -87,15 +99,8 @@ function convertFieldToTableItem(fieldDef, val) {
87
99
  return objectToTableItem(fieldDef.fields, val);
88
100
  case "array":
89
101
  return val.map(item => convertFieldToTableItem(fieldDef.items, item));
90
- case "discriminatedUnion": {
91
- const value = val;
92
- const variantSchema = resolveVariantSchema(fieldDef, value);
93
- if (variantSchema === undefined)
94
- return val;
95
- const result = objectToTableItem(variantSchema, value);
96
- result[fieldDef.discriminator] = value[fieldDef.discriminator];
97
- return result;
98
- }
102
+ case "discriminatedUnion":
103
+ return convertDiscriminatedUnion(fieldDef, val, objectToTableItem);
99
104
  default:
100
105
  return val;
101
106
  }
@@ -144,15 +149,8 @@ function convertFieldToEntityValue(fieldDef, val) {
144
149
  return tableItemToObject(fieldDef.fields, val);
145
150
  case "array":
146
151
  return val.map(item => convertFieldToEntityValue(fieldDef.items, item));
147
- case "discriminatedUnion": {
148
- const value = val;
149
- const variantSchema = resolveVariantSchema(fieldDef, value);
150
- if (variantSchema === undefined)
151
- return val;
152
- const result = tableItemToObject(variantSchema, value);
153
- result[fieldDef.discriminator] = value[fieldDef.discriminator];
154
- return result;
155
- }
152
+ case "discriminatedUnion":
153
+ return convertDiscriminatedUnion(fieldDef, val, tableItemToObject);
156
154
  default:
157
155
  return val;
158
156
  }
@@ -92,12 +92,12 @@ export interface ArrayFieldDef {
92
92
  /** Must be `"array"` to indicate a list/array field. */
93
93
  type: "array";
94
94
  /**
95
- * A {@link NonUnionFieldDef} describing the type of each array element.
96
- * Discriminated unions are not supported as array items because arrays use
97
- * full replacement on update and the variant-aware serialization semantics
98
- * are not defined for array item context.
95
+ * A {@link FieldDef} describing the type of each array element.
96
+ * All field types are supported as array items, including discriminated unions.
97
+ * Arrays always use full replacement on update, so discriminated union items
98
+ * are serialized per-element using variant-aware logic.
99
99
  */
100
- items: NonUnionFieldDef;
100
+ items: FieldDef;
101
101
  /** When `true`, the field becomes optional. */
102
102
  nullable?: boolean;
103
103
  }
@@ -196,9 +196,10 @@ export interface DateFieldDef {
196
196
  * they always use full replacement on update rather than document path expressions,
197
197
  * so there is no risk of DynamoDB failing on a missing parent path.
198
198
  *
199
- * **Scoping constraints (initial release):**
200
- * - Supported at the ObjectAttribute root level and as fields within an ObjectSchema
201
- * - Not supported inside array items or nested inside other discriminated unions
199
+ * **Scoping constraints:**
200
+ * - Supported at the ObjectAttribute root level, as fields within an ObjectSchema,
201
+ * and as array items
202
+ * - Not supported nested inside other discriminated unions
202
203
  *
203
204
  * @example
204
205
  * ```typescript
@@ -235,8 +236,6 @@ export interface DiscriminatedUnionFieldDef {
235
236
  * A field definition that excludes {@link DiscriminatedUnionFieldDef}.
236
237
  *
237
238
  * Used in contexts where discriminated unions are not allowed:
238
- * - {@link ArrayFieldDef} `items` — arrays use full replacement and variant-aware
239
- * serialization is not defined for array item context
240
239
  * - {@link DiscriminatedUnionFieldDef} `variants` — discriminated unions cannot
241
240
  * be nested inside other discriminated unions
242
241
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/decorators/attributes/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/decorators/attributes/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dyna-record",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "description": "Typescript Data Modeler and ORM for Dynamo",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",