@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.
- package/dist/dml/entity-builder.d.ts +2 -1
- package/dist/dml/entity-builder.d.ts.map +1 -1
- package/dist/dml/entity-builder.js +2 -17
- package/dist/dml/entity-builder.js.map +1 -1
- package/dist/dml/helpers/entity-builder/define-property.d.ts.map +1 -1
- package/dist/dml/helpers/entity-builder/define-property.js +41 -14
- package/dist/dml/helpers/entity-builder/define-property.js.map +1 -1
- package/dist/dml/helpers/mikro-orm/custom-type/zod-validated-json.d.ts +56 -0
- package/dist/dml/helpers/mikro-orm/custom-type/zod-validated-json.d.ts.map +1 -0
- package/dist/dml/helpers/mikro-orm/custom-type/zod-validated-json.js +132 -0
- package/dist/dml/helpers/mikro-orm/custom-type/zod-validated-json.js.map +1 -0
- package/dist/dml/properties/index.d.ts +1 -0
- package/dist/dml/properties/index.d.ts.map +1 -1
- package/dist/dml/properties/index.js +3 -0
- package/dist/dml/properties/index.js.map +1 -1
- package/dist/dml/properties/json.d.ts +59 -3
- package/dist/dml/properties/json.d.ts.map +1 -1
- package/dist/dml/properties/json.js +80 -3
- package/dist/dml/properties/json.js.map +1 -1
- package/dist/modules-sdk/create-pg-connection.d.ts +4 -3
- package/dist/modules-sdk/create-pg-connection.d.ts.map +1 -1
- package/dist/modules-sdk/create-pg-connection.js +61 -7
- package/dist/modules-sdk/create-pg-connection.js.map +1 -1
- package/dist/modules-sdk/definition.d.ts +4 -1
- package/dist/modules-sdk/definition.d.ts.map +1 -1
- package/dist/modules-sdk/definition.js +2 -0
- package/dist/modules-sdk/definition.js.map +1 -1
- package/dist/modules-sdk/loaders/mikro-orm-connection-loader.d.ts.map +1 -1
- package/dist/modules-sdk/loaders/mikro-orm-connection-loader.js +25 -6
- package/dist/modules-sdk/loaders/mikro-orm-connection-loader.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +46 -46
- package/LICENSE +0 -21
- package/dist/feature-flags/draft-overlays.d.ts +0 -3
- package/dist/feature-flags/draft-overlays.d.ts.map +0 -1
- package/dist/feature-flags/draft-overlays.js +0 -10
- package/dist/feature-flags/draft-overlays.js.map +0 -1
- package/dist/feature-flags/draft.d.ts +0 -3
- package/dist/feature-flags/draft.d.ts.map +0 -1
- package/dist/feature-flags/draft.js +0 -10
- 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":"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"}
|
|
@@ -335,23 +335,8 @@ class EntityBuilder {
|
|
|
335
335
|
dateTime() {
|
|
336
336
|
return new date_time_1.DateTimeProperty();
|
|
337
337
|
}
|
|
338
|
-
|
|
339
|
-
|
|
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":";;;;;;;;;AAKA,qCAA4D;AAC5D,wGAAiG;AACjG,kGAA4F;AAC5F,8CAAkD;AAClD,8DAAkE;AAClE,wDAA2D;AAC3D,kDAAsD;AACtD,sDAAyD;AACzD,4CAA0D;AAC1D,oDAAwD;AACxD,wCAA4C;AAC5C,4CAAgD;AAChD,4DAAgE;AAChE,gDAAoD;AACpD,8CAAkD;AAClD,kDAAsD;AACtD,4CAAgD;AAChD,uDAAkD;AAClD,mDAA8C;AAC9C,iDAA4C;AAC5C,uDAA6D;AAC7D,2DAAqD;AACrD,6CAA0E;AAE1E;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;AA6EtE;;;GAGG;AACH,MAAa,aAAa;IAA1B;;
|
|
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;
|
|
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
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
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":";;
|
|
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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"}
|
|
@@ -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":"
|
|
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
|
|
12
|
+
export declare class JSONProperty<T = Record<string, unknown>> extends BaseProperty<T> {
|
|
13
|
+
#private;
|
|
7
14
|
protected dataType: {
|
|
8
|
-
|
|
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
|
|
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(
|
|
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":"
|
|
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"}
|