@etohq/utils 1.5.5-next-20260317140633 → 2.0.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 (41) hide show
  1. package/dist/dml/entity-builder.d.ts +2 -1
  2. package/dist/dml/entity-builder.d.ts.map +1 -1
  3. package/dist/dml/entity-builder.js +2 -17
  4. package/dist/dml/entity-builder.js.map +1 -1
  5. package/dist/dml/helpers/entity-builder/define-property.d.ts.map +1 -1
  6. package/dist/dml/helpers/entity-builder/define-property.js +41 -14
  7. package/dist/dml/helpers/entity-builder/define-property.js.map +1 -1
  8. package/dist/dml/helpers/mikro-orm/custom-type/zod-validated-json.d.ts +56 -0
  9. package/dist/dml/helpers/mikro-orm/custom-type/zod-validated-json.d.ts.map +1 -0
  10. package/dist/dml/helpers/mikro-orm/custom-type/zod-validated-json.js +132 -0
  11. package/dist/dml/helpers/mikro-orm/custom-type/zod-validated-json.js.map +1 -0
  12. package/dist/dml/properties/index.d.ts +1 -0
  13. package/dist/dml/properties/index.d.ts.map +1 -1
  14. package/dist/dml/properties/index.js +3 -0
  15. package/dist/dml/properties/index.js.map +1 -1
  16. package/dist/dml/properties/json.d.ts +59 -3
  17. package/dist/dml/properties/json.d.ts.map +1 -1
  18. package/dist/dml/properties/json.js +80 -3
  19. package/dist/dml/properties/json.js.map +1 -1
  20. package/dist/modules-sdk/create-pg-connection.d.ts +4 -3
  21. package/dist/modules-sdk/create-pg-connection.d.ts.map +1 -1
  22. package/dist/modules-sdk/create-pg-connection.js +61 -7
  23. package/dist/modules-sdk/create-pg-connection.js.map +1 -1
  24. package/dist/modules-sdk/definition.d.ts +4 -1
  25. package/dist/modules-sdk/definition.d.ts.map +1 -1
  26. package/dist/modules-sdk/definition.js +2 -0
  27. package/dist/modules-sdk/definition.js.map +1 -1
  28. package/dist/modules-sdk/loaders/mikro-orm-connection-loader.d.ts.map +1 -1
  29. package/dist/modules-sdk/loaders/mikro-orm-connection-loader.js +25 -6
  30. package/dist/modules-sdk/loaders/mikro-orm-connection-loader.js.map +1 -1
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +46 -46
  33. package/LICENSE +0 -21
  34. package/dist/feature-flags/draft-overlays.d.ts +0 -3
  35. package/dist/feature-flags/draft-overlays.d.ts.map +0 -1
  36. package/dist/feature-flags/draft-overlays.js +0 -10
  37. package/dist/feature-flags/draft-overlays.js.map +0 -1
  38. package/dist/feature-flags/draft.d.ts +0 -3
  39. package/dist/feature-flags/draft.d.ts.map +0 -1
  40. package/dist/feature-flags/draft.js +0 -10
  41. package/dist/feature-flags/draft.js.map +0 -1
@@ -316,7 +316,8 @@ export declare class EntityBuilder {
316
316
  *
317
317
  * @customNamespace Property Types
318
318
  */
319
- json(): JSONProperty;
319
+ json<T = Record<string, unknown>>(): JSONProperty<T>;
320
+ json<Schema extends import("zod").ZodTypeAny>(schema: Schema): JSONProperty<import("zod").TypeOf<Schema>>;
320
321
  /**
321
322
  * Create a Geometry property for spatial data
322
323
  *
@@ -1 +1 @@
1
- {"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../../src/dml/entity-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../../src/dml/entity-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAG5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAO1E,MAAM,MAAM,aAAa,GACrB,MAAM,GACN;IACE;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAEL,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GACjD,CACI;IACE;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC9B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACtC,GACD;IACE;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACvC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC9B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACtC,CACJ,CAAA;AAGH,MAAM,WAAW,kBAAkB,CACjC,YAAY,SAAS,SAAS,EAC9B,gBAAgB,SAAS,MAAM,YAAY;IAE3C,aAAa,EAAE;SACZ,CAAC,IAAI,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAClE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACnB,CAAC,GACD,CAAC,SAAS,QAAQ,GAClB,MAAM,CAAC,SAAS,MAAM,GAAG,MAAM,GAC7B,CAAC,CAAC,MAAM,CAAC,CAAC,GACV,KAAK,GACP,KAAK,GACP,YAAY,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAC7C,CAAC,GACD,KAAK;KACV,CAAA;CACF;AACD;;;GAGG;AACH,qBAAa,aAAa;;IAexB;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,MAAM,SAAS,SAAS,EAAE,KAAK,CAAC,OAAO,SAAS,gBAAgB,EACrE,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,MAAM,GACb,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAWrD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,WAAW,CACT,YAAY,SAAS,SAAS,EAC9B,WAAW,SAAS,SAAS,EAC7B,KAAK,CAAC,OAAO,SAAS,gBAAgB,EACtC,gBAAgB,SAAS,MAAM,YAAY,EAE3C,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,SAAS,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,EAC5D,aAAa,EAAE,kBAAkB,CAC/B,YAAY,EACZ,gBAAgB,CACjB,CAAC,eAAe,CAAC,EAClB,MAAM,EAAE,WAAW,GAClB,SAAS,CAAC,sBAAsB,CAAC,YAAY,GAAG,WAAW,CAAC,EAAE,OAAO,CAAC;IAkFzE;;;;;;;;;;;;;;;;;OAiBG;IACH,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAGhC;;;;;;;;;;;;;;OAcG;IACH,IAAI;IAIJ;;;;;;;;;;;;;;OAcG;IACH,QAAQ;IAIR;;;;;;;;;;;;;;OAcG;IACH,OAAO;IAIP;;;;;;;;;;;;;;OAcG;IACH,MAAM;IAIN;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS;IAIT;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK;IAIL;;;;;;;;;;;;;;OAcG;IAEH,aAAa;IAIb;;;;;;;;;;;;;;OAcG;IACH,KAAK;IAIL;;;;;;;;;;;;;;OAcG;IACH,QAAQ;IAIR;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,SAAS,OAAO,KAAK,EAAE,UAAU,EAC1C,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,OAAO,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAK7C;;;;;;;;;;;;;;OAcG;IACH,QAAQ;IAIR;;;;;;;;;;;;;;OAcG;IACH,KAAK;IAIL;;;;;;;;;;;;;;OAcG;IACH,OAAO;IAIP;;;;;;;;;;;;;;OAcG;IACH,YAAY;IAIZ;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,CAAC,KAAK,CAAC,MAAM,SAAS,OAAO,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,MAAM;IAI9D;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACnE,aAAa,EAAE,CAAC,EAChB,OAAO,EAAE,mBAAmB,GAAG;QAC7B,UAAU,EAAE,IAAI,CAAA;QAChB,cAAc,CAAC,EAAE,cAAc,CAAA;KAChC,GACA,oBAAoB,CAAC,CAAC,EAAE,cAAc,CAAC;IAC1C,MAAM,CAAC,CAAC,EACN,aAAa,EAAE,CAAC,EAChB,OAAO,CAAC,EAAE,mBAAmB,GAAG;QAC9B,UAAU,CAAC,EAAE,KAAK,CAAA;KACnB,GACA,MAAM,CAAC,CAAC,CAAC;IAiBZ;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACtE,aAAa,EAAE,CAAC,EAChB,OAAO,CAAC,EAAE,mBAAmB,GAAG;QAC9B,cAAc,CAAC,EAAE,cAAc,CAAA;KAChC;IAKH;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAI1D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,UAAU,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB;CAG5D;AAED,eAAO,MAAM,KAAK,eAAsB,CAAA"}
@@ -335,23 +335,8 @@ class EntityBuilder {
335
335
  dateTime() {
336
336
  return new date_time_1.DateTimeProperty();
337
337
  }
338
- /**
339
- * This method defines a property whose value is a stringified JSON object.
340
- *
341
- * @example
342
- * import { model } from "@etohq/framework/utils"
343
- *
344
- * const MyCustom = model.define("my_custom", {
345
- * metadata: model.json(),
346
- * // ...
347
- * })
348
- *
349
- * export default MyCustom
350
- *
351
- * @customNamespace Property Types
352
- */
353
- json() {
354
- return new json_1.JSONProperty();
338
+ json(schema) {
339
+ return new json_1.JSONProperty(schema);
355
340
  }
356
341
  /**
357
342
  * Create a Geometry property for spatial data
@@ -1 +1 @@
1
- {"version":3,"file":"entity-builder.js","sourceRoot":"","sources":["../../src/dml/entity-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-builder.js","sourceRoot":"","sources":["../../src/dml/entity-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"define-property.d.ts","sourceRoot":"","sources":["../../../../src/dml/helpers/entity-builder/define-property.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAGjB,YAAY,EACb,MAAM,cAAc,CAAA;AAuHrB;;GAEG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,iBAAiB,CAAC,GAAG,CAAC,EACtC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,EAC3B,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,QAiUzE"}
1
+ {"version":3,"file":"define-property.d.ts","sourceRoot":"","sources":["../../../../src/dml/helpers/entity-builder/define-property.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAGjB,YAAY,EACb,MAAM,cAAc,CAAA;AAwHrB;;GAEG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,iBAAiB,CAAC,GAAG,CAAC,EACtC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,EAC3B,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,QA4VzE"}
@@ -7,6 +7,7 @@ const dal_1 = require("../../../dal");
7
7
  const primary_key_1 = require("../../properties/primary-key");
8
8
  const apply_indexes_1 = require("../mikro-orm/apply-indexes");
9
9
  const geo_json_geometry_1 = require("../mikro-orm/custom-type/geo-json-geometry");
10
+ const zod_validated_json_1 = require("../mikro-orm/custom-type/zod-validated-json");
10
11
  /**
11
12
  * DML entity data types to PostgreSQL data types via
12
13
  * Mikro ORM.
@@ -231,22 +232,48 @@ function defineProperty(MikroORMEntity, property, { tableName, propertyName }) {
231
232
  }
232
233
  /**
233
234
  * Handling JSON property separately to stringify its default value
235
+ * and optionally validate against a Zod schema
234
236
  */
235
237
  if (field.dataType.name === "json") {
236
- (0, core_1.Property)({
237
- columnType: "jsonb",
238
- type: "any",
239
- nullable: field.nullable,
240
- fieldName: field.fieldName,
241
- /**
242
- * MikroORM does not ignore undefined values for default when generating
243
- * the database schema SQL. Conditionally add it here to prevent undefined
244
- * from being set as default value in SQL.
245
- */
246
- ...((0, common_1.isDefined)(field.defaultValue) && {
247
- default: JSON.stringify(field.defaultValue),
248
- }),
249
- })(MikroORMEntity.prototype, field.fieldName);
238
+ const options = field.dataType.options;
239
+ const zodSchema = options?.zodSchema;
240
+ const shouldValidate = options?.validate !== false;
241
+ const hasZodSchema = zodSchema && shouldValidate;
242
+ if (hasZodSchema) {
243
+ // Use Zod-validated type when schema is present and validation is enabled
244
+ const ZodJsonType = (0, zod_validated_json_1.createZodJsonType)(zodSchema);
245
+ (0, core_1.Property)({
246
+ type: ZodJsonType,
247
+ columnType: "jsonb",
248
+ nullable: field.nullable,
249
+ fieldName: field.fieldName,
250
+ /**
251
+ * MikroORM does not ignore undefined values for default when generating
252
+ * the database schema SQL. Conditionally add it here to prevent undefined
253
+ * from being set as default value in SQL.
254
+ */
255
+ ...((0, common_1.isDefined)(field.defaultValue) && {
256
+ default: JSON.stringify(field.defaultValue),
257
+ }),
258
+ })(MikroORMEntity.prototype, field.fieldName);
259
+ }
260
+ else {
261
+ // Standard JSON handling (no validation)
262
+ (0, core_1.Property)({
263
+ columnType: "jsonb",
264
+ type: "any",
265
+ nullable: field.nullable,
266
+ fieldName: field.fieldName,
267
+ /**
268
+ * MikroORM does not ignore undefined values for default when generating
269
+ * the database schema SQL. Conditionally add it here to prevent undefined
270
+ * from being set as default value in SQL.
271
+ */
272
+ ...((0, common_1.isDefined)(field.defaultValue) && {
273
+ default: JSON.stringify(field.defaultValue),
274
+ }),
275
+ })(MikroORMEntity.prototype, field.fieldName);
276
+ }
250
277
  return;
251
278
  }
252
279
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"define-property.js","sourceRoot":"","sources":["../../../../src/dml/helpers/entity-builder/define-property.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-property.js","sourceRoot":"","sources":["../../../../src/dml/helpers/entity-builder/define-property.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { Type, Platform, EntityProperty } from "@mikro-orm/core";
2
+ import { ZodTypeAny } from "zod";
3
+ /**
4
+ * Custom MikroORM Type that validates JSON data against a Zod schema.
5
+ *
6
+ * This type wraps the standard jsonb storage but adds runtime validation:
7
+ * - On serialize (to DB): Validates and converts to JSON string
8
+ * - On hydrate (from DB): Validates parsed JSON object
9
+ *
10
+ * @example
11
+ * Property({
12
+ * type: ZodValidatedJsonType,
13
+ * nullable: true,
14
+ * zodSchema: z.object({ name: z.string(), age: z.number() })
15
+ * })(Entity.prototype, 'metadata')
16
+ */
17
+ export declare class ZodValidatedJsonType extends Type {
18
+ private zodSchema;
19
+ constructor(zodSchema?: ZodTypeAny);
20
+ /**
21
+ * Convert JavaScript value to database value
22
+ * This is called when saving to the database
23
+ */
24
+ convertToDatabaseValue(value: any, platform: Platform): any;
25
+ /**
26
+ * Convert database value to JavaScript value
27
+ * This is called when loading from the database
28
+ */
29
+ convertToJSValue(value: any, platform: Platform): any;
30
+ /**
31
+ * Get the column type for the database
32
+ */
33
+ getColumnType(prop: EntityProperty, platform: Platform): string;
34
+ /**
35
+ * Compare two values for changes
36
+ */
37
+ compareAsType(): string;
38
+ /**
39
+ * Clone this type with a specific schema
40
+ * Factory method for creating instances with different schemas
41
+ */
42
+ static create(zodSchema?: ZodTypeAny): typeof ZodValidatedJsonType;
43
+ }
44
+ /**
45
+ * Factory function to create a Zod-validated JSON type for a specific schema
46
+ *
47
+ * @example
48
+ * const UserMetadataType = createZodJsonType(z.object({
49
+ * name: z.string(),
50
+ * preferences: z.object({ theme: z.enum(['light', 'dark']) })
51
+ * }))
52
+ *
53
+ * Property({ type: UserMetadataType })(Entity.prototype, 'metadata')
54
+ */
55
+ export declare function createZodJsonType<T extends ZodTypeAny>(schema: T): typeof ZodValidatedJsonType;
56
+ //# sourceMappingURL=zod-validated-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-validated-json.d.ts","sourceRoot":"","sources":["../../../../../src/dml/helpers/mikro-orm/custom-type/zod-validated-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,UAAU,EAAY,MAAM,KAAK,CAAA;AAE1C;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBAAqB,SAAQ,IAAI;IAC5C,OAAO,CAAC,SAAS,CAAwB;gBAE7B,SAAS,CAAC,EAAE,UAAU;IAKlC;;;OAGG;IACH,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IA0B3D;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAoCrD;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAI/D;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,OAAO,oBAAoB;CAQnE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EACpD,MAAM,EAAE,CAAC,GACR,OAAO,oBAAoB,CAE7B"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZodValidatedJsonType = void 0;
4
+ exports.createZodJsonType = createZodJsonType;
5
+ const core_1 = require("@mikro-orm/core");
6
+ const zod_1 = require("zod");
7
+ /**
8
+ * Custom MikroORM Type that validates JSON data against a Zod schema.
9
+ *
10
+ * This type wraps the standard jsonb storage but adds runtime validation:
11
+ * - On serialize (to DB): Validates and converts to JSON string
12
+ * - On hydrate (from DB): Validates parsed JSON object
13
+ *
14
+ * @example
15
+ * Property({
16
+ * type: ZodValidatedJsonType,
17
+ * nullable: true,
18
+ * zodSchema: z.object({ name: z.string(), age: z.number() })
19
+ * })(Entity.prototype, 'metadata')
20
+ */
21
+ class ZodValidatedJsonType extends core_1.Type {
22
+ constructor(zodSchema) {
23
+ super();
24
+ this.zodSchema = zodSchema;
25
+ }
26
+ /**
27
+ * Convert JavaScript value to database value
28
+ * This is called when saving to the database
29
+ */
30
+ convertToDatabaseValue(value, platform) {
31
+ if (value == null) {
32
+ return value;
33
+ }
34
+ // Validate against Zod schema if provided
35
+ if (this.zodSchema) {
36
+ try {
37
+ const result = this.zodSchema.parse(value);
38
+ // Return the validated/converted value
39
+ return JSON.stringify(result);
40
+ }
41
+ catch (error) {
42
+ if (error instanceof zod_1.ZodError) {
43
+ const issues = error.issues
44
+ .map((i) => `${i.path.join(".")}: ${i.message}`)
45
+ .join(", ");
46
+ throw new Error(`JSON validation failed: ${issues}`);
47
+ }
48
+ throw error;
49
+ }
50
+ }
51
+ // No schema, just stringify
52
+ return JSON.stringify(value);
53
+ }
54
+ /**
55
+ * Convert database value to JavaScript value
56
+ * This is called when loading from the database
57
+ */
58
+ convertToJSValue(value, platform) {
59
+ if (value == null) {
60
+ return value;
61
+ }
62
+ let parsed;
63
+ // Parse the JSON value
64
+ if (typeof value === "string") {
65
+ try {
66
+ parsed = JSON.parse(value);
67
+ }
68
+ catch {
69
+ throw new Error(`Invalid JSON stored in database: ${value}`);
70
+ }
71
+ }
72
+ else {
73
+ parsed = value;
74
+ }
75
+ // Validate against Zod schema if provided
76
+ if (this.zodSchema) {
77
+ try {
78
+ return this.zodSchema.parse(parsed);
79
+ }
80
+ catch (error) {
81
+ if (error instanceof zod_1.ZodError) {
82
+ const issues = error.issues
83
+ .map((i) => `${i.path.join(".")}: ${i.message}`)
84
+ .join(", ");
85
+ throw new Error(`JSON validation failed on load: ${issues}`);
86
+ }
87
+ throw error;
88
+ }
89
+ }
90
+ return parsed;
91
+ }
92
+ /**
93
+ * Get the column type for the database
94
+ */
95
+ getColumnType(prop, platform) {
96
+ return "jsonb";
97
+ }
98
+ /**
99
+ * Compare two values for changes
100
+ */
101
+ compareAsType() {
102
+ return "json";
103
+ }
104
+ /**
105
+ * Clone this type with a specific schema
106
+ * Factory method for creating instances with different schemas
107
+ */
108
+ static create(zodSchema) {
109
+ // Return a new class with the schema baked in
110
+ return class extends ZodValidatedJsonType {
111
+ constructor() {
112
+ super(zodSchema);
113
+ }
114
+ };
115
+ }
116
+ }
117
+ exports.ZodValidatedJsonType = ZodValidatedJsonType;
118
+ /**
119
+ * Factory function to create a Zod-validated JSON type for a specific schema
120
+ *
121
+ * @example
122
+ * const UserMetadataType = createZodJsonType(z.object({
123
+ * name: z.string(),
124
+ * preferences: z.object({ theme: z.enum(['light', 'dark']) })
125
+ * }))
126
+ *
127
+ * Property({ type: UserMetadataType })(Entity.prototype, 'metadata')
128
+ */
129
+ function createZodJsonType(schema) {
130
+ return ZodValidatedJsonType.create(schema);
131
+ }
132
+ //# sourceMappingURL=zod-validated-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-validated-json.js","sourceRoot":"","sources":["../../../../../src/dml/helpers/mikro-orm/custom-type/zod-validated-json.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export * from "./float";
10
10
  export * from "./geometry";
11
11
  export * from "./id";
12
12
  export * from "./json";
13
+ export { hasZodSchema } from "./json";
13
14
  export * from "./multipolygon";
14
15
  export * from "./nullable";
15
16
  export * from "./number";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dml/properties/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,MAAM,CAAA;AACpB,cAAc,QAAQ,CAAA;AACtB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dml/properties/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,MAAM,CAAA;AACpB,cAAc,QAAQ,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA"}
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.hasZodSchema = void 0;
17
18
  __exportStar(require("./array"), exports);
18
19
  __exportStar(require("./autoincrement"), exports);
19
20
  __exportStar(require("./base"), exports);
@@ -26,6 +27,8 @@ __exportStar(require("./float"), exports);
26
27
  __exportStar(require("./geometry"), exports);
27
28
  __exportStar(require("./id"), exports);
28
29
  __exportStar(require("./json"), exports);
30
+ var json_1 = require("./json");
31
+ Object.defineProperty(exports, "hasZodSchema", { enumerable: true, get: function () { return json_1.hasZodSchema; } });
29
32
  __exportStar(require("./multipolygon"), exports);
30
33
  __exportStar(require("./nullable"), exports);
31
34
  __exportStar(require("./number"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dml/properties/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,kDAA+B;AAC/B,yCAAsB;AACtB,+CAA4B;AAC5B,4CAAyB;AACzB,6CAA0B;AAC1B,8CAA2B;AAC3B,yCAAsB;AACtB,0CAAuB;AACvB,6CAA0B;AAC1B,uCAAoB;AACpB,yCAAsB;AACtB,iDAA8B;AAC9B,6CAA0B;AAC1B,2CAAwB;AACxB,0CAAuB;AACvB,4CAAyB;AACzB,gDAA6B;AAC7B,yCAAsB;AACtB,2CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dml/properties/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,kDAA+B;AAC/B,yCAAsB;AACtB,+CAA4B;AAC5B,4CAAyB;AACzB,6CAA0B;AAC1B,8CAA2B;AAC3B,yCAAsB;AACtB,0CAAuB;AACvB,6CAA0B;AAC1B,uCAAoB;AACpB,yCAAsB;AACtB,+BAAqC;AAA5B,oGAAA,YAAY,OAAA;AACrB,iDAA8B;AAC9B,6CAA0B;AAC1B,2CAAwB;AACxB,0CAAuB;AACvB,4CAAyB;AACzB,gDAA6B;AAC7B,yCAAsB;AACtB,2CAAwB"}
@@ -1,11 +1,67 @@
1
+ import { ZodTypeAny } from "zod";
1
2
  import { BaseProperty } from "./base";
2
3
  /**
3
4
  * The JSONProperty is used to define a property that stores
4
- * data as a JSON string
5
+ * data as a JSON string.
6
+ *
7
+ * Now with full Zod schema support including:
8
+ * - Type inference for TypeScript
9
+ * - Schema metadata for validation
10
+ * - Optional validation flag
5
11
  */
6
- export declare class JSONProperty extends BaseProperty<Record<string, unknown>> {
12
+ export declare class JSONProperty<T = Record<string, unknown>> extends BaseProperty<T> {
13
+ #private;
7
14
  protected dataType: {
8
- readonly name: "json";
15
+ name: "json";
16
+ };
17
+ constructor(schema?: ZodTypeAny);
18
+ /**
19
+ * Get the Zod schema for validation
20
+ */
21
+ get zodSchema(): ZodTypeAny | undefined;
22
+ /**
23
+ * Enable Zod validation for this property.
24
+ * When a Zod schema is provided, validation is disabled by default.
25
+ * Call this method to enable runtime validation.
26
+ */
27
+ validate(): this;
28
+ /**
29
+ * Disable Zod validation for this property (default behavior).
30
+ * Useful when you want the type safety but not runtime validation.
31
+ */
32
+ noValidate(): this;
33
+ /**
34
+ * Override default method to store the default value
35
+ */
36
+ default(value: T): this;
37
+ /**
38
+ * Parse the property metadata, now including Zod schema info
39
+ */
40
+ parse(fieldName: string): {
41
+ defaultValue: T | undefined;
42
+ dataType: {
43
+ options: {
44
+ zodSchema: ZodTypeAny | undefined;
45
+ validate: boolean;
46
+ hasSchema: boolean;
47
+ };
48
+ name: "json";
49
+ };
50
+ fieldName: string;
51
+ nullable: boolean;
52
+ computed: boolean;
53
+ indexes: {
54
+ name?: string;
55
+ type: "index" | "unique";
56
+ }[];
57
+ relationships: import("@etohq/types").RelationshipMetadata[];
58
+ primaryKey?: boolean;
9
59
  };
10
60
  }
61
+ /**
62
+ * Type guard to check if a property has Zod validation
63
+ */
64
+ export declare function hasZodSchema(property: unknown): property is JSONProperty & {
65
+ zodSchema: ZodTypeAny;
66
+ };
11
67
  //# sourceMappingURL=json.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/dml/properties/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC;;;GAGG;AACH,qBAAa,YAAa,SAAQ,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,SAAS,CAAC,QAAQ;;MAER;CACX"}
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/dml/properties/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC;;;;;;;;GAQG;AACH,qBAAa,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;;IAC5E,SAAS,CAAC,QAAQ;;MAEjB;gBAMW,MAAM,CAAC,EAAE,UAAU;IAK/B;;OAEG;IACH,IAAI,SAAS,IAAI,UAAU,GAAG,SAAS,CAEtC;IAED;;;;OAIG;IACH,QAAQ;IAKR;;;OAGG;IACH,UAAU;IAKV;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,CAAC;IAKhB;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;gBAWf,CAAJ;;;;;;CAKL;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,YAAY,GAAG;IAAE,SAAS,EAAE,UAAU,CAAA;CAAE,CAEtD"}
@@ -1,18 +1,95 @@
1
1
  "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _JSONProperty_zodSchema, _JSONProperty_validate, _JSONProperty_defaultValue;
2
14
  Object.defineProperty(exports, "__esModule", { value: true });
3
15
  exports.JSONProperty = void 0;
16
+ exports.hasZodSchema = hasZodSchema;
4
17
  const base_1 = require("./base");
5
18
  /**
6
19
  * The JSONProperty is used to define a property that stores
7
- * data as a JSON string
20
+ * data as a JSON string.
21
+ *
22
+ * Now with full Zod schema support including:
23
+ * - Type inference for TypeScript
24
+ * - Schema metadata for validation
25
+ * - Optional validation flag
8
26
  */
9
27
  class JSONProperty extends base_1.BaseProperty {
10
- constructor() {
11
- super(...arguments);
28
+ constructor(schema) {
29
+ super();
12
30
  this.dataType = {
13
31
  name: "json",
14
32
  };
33
+ _JSONProperty_zodSchema.set(this, void 0);
34
+ _JSONProperty_validate.set(this, false);
35
+ _JSONProperty_defaultValue.set(this, void 0);
36
+ __classPrivateFieldSet(this, _JSONProperty_zodSchema, schema, "f");
37
+ }
38
+ /**
39
+ * Get the Zod schema for validation
40
+ */
41
+ get zodSchema() {
42
+ return __classPrivateFieldGet(this, _JSONProperty_zodSchema, "f");
43
+ }
44
+ /**
45
+ * Enable Zod validation for this property.
46
+ * When a Zod schema is provided, validation is disabled by default.
47
+ * Call this method to enable runtime validation.
48
+ */
49
+ validate() {
50
+ __classPrivateFieldSet(this, _JSONProperty_validate, true, "f");
51
+ return this;
52
+ }
53
+ /**
54
+ * Disable Zod validation for this property (default behavior).
55
+ * Useful when you want the type safety but not runtime validation.
56
+ */
57
+ noValidate() {
58
+ __classPrivateFieldSet(this, _JSONProperty_validate, false, "f");
59
+ return this;
60
+ }
61
+ /**
62
+ * Override default method to store the default value
63
+ */
64
+ default(value) {
65
+ __classPrivateFieldSet(this, _JSONProperty_defaultValue, value, "f");
66
+ return this;
67
+ }
68
+ /**
69
+ * Parse the property metadata, now including Zod schema info
70
+ */
71
+ parse(fieldName) {
72
+ const base = super.parse(fieldName);
73
+ return {
74
+ ...base,
75
+ defaultValue: __classPrivateFieldGet(this, _JSONProperty_defaultValue, "f"),
76
+ dataType: {
77
+ ...this.dataType,
78
+ options: {
79
+ zodSchema: __classPrivateFieldGet(this, _JSONProperty_zodSchema, "f"),
80
+ validate: __classPrivateFieldGet(this, _JSONProperty_validate, "f"),
81
+ hasSchema: !!__classPrivateFieldGet(this, _JSONProperty_zodSchema, "f"),
82
+ },
83
+ },
84
+ };
15
85
  }
16
86
  }
17
87
  exports.JSONProperty = JSONProperty;
88
+ _JSONProperty_zodSchema = new WeakMap(), _JSONProperty_validate = new WeakMap(), _JSONProperty_defaultValue = new WeakMap();
89
+ /**
90
+ * Type guard to check if a property has Zod validation
91
+ */
92
+ function hasZodSchema(property) {
93
+ return property instanceof JSONProperty && !!property.zodSchema;
94
+ }
18
95
  //# sourceMappingURL=json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/dml/properties/json.ts"],"names":[],"mappings":";;;AAAA,iCAAqC;AAErC;;;GAGG;AACH,MAAa,YAAa,SAAQ,mBAAqC;IAAvE;;QACY,aAAQ,GAAG;YACnB,IAAI,EAAE,MAAM;SACJ,CAAA;IACZ,CAAC;CAAA;AAJD,oCAIC"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/dml/properties/json.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAoFA,oCAIC;AAvFD,iCAAqC;AAErC;;;;;;;;GAQG;AACH,MAAa,YAA0C,SAAQ,mBAAe;IAS5E,YAAY,MAAmB;QAC7B,KAAK,EAAE,CAAA;QATC,aAAQ,GAAG;YACnB,IAAI,EAAE,MAAe;SACtB,CAAA;QAED,0CAAuB;QACvB,iCAAqB,KAAK,EAAA;QAC1B,6CAAiB;QAIf,uBAAA,IAAI,2BAAc,MAAM,MAAA,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,uBAAA,IAAI,+BAAW,CAAA;IACxB,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,uBAAA,IAAI,0BAAa,IAAI,MAAA,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,uBAAA,IAAI,0BAAa,KAAK,MAAA,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAQ;QACd,uBAAA,IAAI,8BAAiB,KAAK,MAAA,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAiB;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAEnC,OAAO;YACL,GAAG,IAAI;YACP,YAAY,EAAE,uBAAA,IAAI,kCAAc;YAChC,QAAQ,EAAE;gBACR,GAAG,IAAI,CAAC,QAAQ;gBAChB,OAAO,EAAE;oBACP,SAAS,EAAE,uBAAA,IAAI,+BAAW;oBAC1B,QAAQ,EAAE,uBAAA,IAAI,8BAAU;oBACxB,SAAS,EAAE,CAAC,CAAC,uBAAA,IAAI,+BAAW;iBAC7B;aACF;SACF,CAAA;IACH,CAAC;CACF;AAnED,oCAmEC;;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,QAAiB;IAEjB,OAAO,QAAQ,YAAY,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAA;AACjE,CAAC"}