functional-models 3.3.0 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -18,7 +18,7 @@ If so this is the framework for you.
18
18
 
19
19
  Functional Models empowers the creation of pure TypeScript/JavaScript function based models that can be used on a client, a web frontend, and/or a backend all the same time. Use this library to create models that can be reused <b>EVERYWHERE</b>.
20
20
 
21
- Write validation code, metadata, property descriptions, and more! Functional Models is fully supportive of both TypeScript and JavaScript. In fact, the typescript empowers some really sweet dynamic type checking, and autocomplete!
21
+ Write validation code, metadata, property descriptions, and more! Functional Models is fully supportive of both TypeScript and JavaScript. In fact, the typescript empowers some really sweet dynamic type checking, and autocomplete! Now features Zod implementation for the model and properties.
22
22
 
23
23
  This framework was born out of the enjoyment and power of working with Django models, but, restricting their "god-like abilities" which can cause developers to make a spaghetti system that is nearly impossible to optimize or improve without starting from scratch.
24
24
 
@@ -76,6 +76,7 @@ const {
76
76
  const Trucks = Model({
77
77
  pluralName: 'Trucks',
78
78
  namespace: '@my-package/cars',
79
+ description: 'This is an optional description of my Trucks model.',
79
80
  properties: {
80
81
  id: PrimaryKeyUuidProperty(),
81
82
  make: TextProperty({ maxLength: 20, minLength: 3, required: true }),
@@ -90,6 +91,10 @@ const Trucks = Model({
90
91
  },
91
92
  })
92
93
 
94
+ // Get a Zod Schema for the Truck, automatically built!
95
+ const zodSchema = Trucks.getModelDefinition().schema
96
+ // Conver to OpenAPI with zod.
97
+
93
98
  // Create an instance of the model. In this case, you don't need 'id', because it gets created automatically with UniquePropertyId()
94
99
  const myTruck = Trucks.create({
95
100
  make: 'Ford',
@@ -157,9 +162,11 @@ import {
157
162
  Model,
158
163
  DatetimeProperty,
159
164
  NumberProperty,
165
+ ObjectProperty,
160
166
  TextProperty,
161
167
  PrimaryKeyUuidProperty,
162
168
  } from 'functional-models'
169
+ import { z } from 'zod'
163
170
 
164
171
  // Create an object type. NOTE: Singular Uppercase
165
172
  type VehicleMake = {
@@ -188,6 +195,10 @@ const VehicleMakes = Model<VehicleMake>({
188
195
  },
189
196
  })
190
197
 
198
+ type ToolChest = Readonly<{
199
+ toolCount: number
200
+ }>
201
+
191
202
  // Create a model for the Vehicle type
192
203
  const Vehicles = Model<Vehicle>({
193
204
  pluralName: 'Vehicles',
@@ -210,6 +221,14 @@ const Vehicles = Model<Vehicle>({
210
221
  }),
211
222
  make: ModelReferenceProperty<VehicleMake>(VehicleMakes, { required: true }),
212
223
  history: BigTextProperty({ required: false }),
224
+ // This overrides the automatic zod creation. Useful for complex properties, like objects.
225
+ toolChest: ObjectProperty<ToolChest>({
226
+ zod: z
227
+ .Object<ToolChest>({
228
+ toolCount: z.number().int(),
229
+ })
230
+ .describe('An optional tool chest for the vehicle'),
231
+ }),
213
232
  lastModified: DatetimeProperty({ autoNow: true }),
214
233
  },
215
234
  })
@@ -403,6 +422,8 @@ For additional information on the ORM system see:
403
422
  There are numerous properties that are supported out of the box that cover most data modeling needs. It is also very easy to create custom properties that encapsulate unique choices
404
423
  validation requirements, etc.
405
424
 
425
+ NOTE: While a simple zod is automatically built for each property, this can be overrided and any zod can be provided. Just a "zod" field to a property that you want to override.
426
+
406
427
  ## List of Properties Out-Of-The-Box
407
428
 
408
429
  ### Dates
package/lib.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { OpenAPIV3 } from 'openapi-types';
2
+ import { z } from 'zod';
2
3
  import { ApiInfo, ApiInfoPartialRest, Arrayable, DataDescription, DataValue, ModelInstance, PrimaryKeyType, PropertyConfig, PropertyValidatorComponent, PropertyValidatorComponentTypeAdvanced } from './types';
3
4
  import HttpMethods = OpenAPIV3.HttpMethods;
4
5
  declare const NULL_ENDPOINT = "NULL";
@@ -14,4 +15,9 @@ declare const isModelInstance: (obj: any) => obj is ModelInstance<any, any>;
14
15
  declare const getModelName: (namespace: string, pluralName: string) => string;
15
16
  declare const buildValidEndpoint: (...components: readonly string[]) => string;
16
17
  declare const populateApiInformation: (pluralName: string, namespace: string, partial: Partial<ApiInfoPartialRest> | undefined) => Readonly<Required<ApiInfo>>;
17
- export { isReferencedProperty, getValueForModelInstance, getValueForReferencedModel, getCommonTextValidators, getValidatorFromConfigElseEmpty, getCommonNumberValidators, mergeValidators, isModelInstance, getModelName, buildValidEndpoint, populateApiInformation, NULL_ENDPOINT, NULL_METHOD, };
18
+ /**
19
+ * Create a zod schema generator for a property given its type and config.
20
+ * Returns a function that when called produces the zod schema.
21
+ */
22
+ declare const createZodForProperty: (propertyType: any, config?: PropertyConfig<any>) => () => z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>;
23
+ export { isReferencedProperty, getValueForModelInstance, getValueForReferencedModel, getCommonTextValidators, getValidatorFromConfigElseEmpty, getCommonNumberValidators, mergeValidators, isModelInstance, getModelName, buildValidEndpoint, populateApiInformation, NULL_ENDPOINT, NULL_METHOD, createZodForProperty, };
package/lib.js CHANGED
@@ -12,11 +12,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.NULL_METHOD = exports.NULL_ENDPOINT = exports.populateApiInformation = exports.buildValidEndpoint = exports.getModelName = exports.isModelInstance = exports.mergeValidators = exports.getCommonNumberValidators = exports.getValidatorFromConfigElseEmpty = exports.getCommonTextValidators = exports.getValueForReferencedModel = exports.getValueForModelInstance = exports.isReferencedProperty = void 0;
15
+ exports.createZodForProperty = exports.NULL_METHOD = exports.NULL_ENDPOINT = exports.populateApiInformation = exports.buildValidEndpoint = exports.getModelName = exports.isModelInstance = exports.mergeValidators = exports.getCommonNumberValidators = exports.getValidatorFromConfigElseEmpty = exports.getCommonTextValidators = exports.getValueForReferencedModel = exports.getValueForModelInstance = exports.isReferencedProperty = void 0;
16
16
  const openapi_types_1 = require("openapi-types");
17
17
  const kebabCase_1 = __importDefault(require("lodash/kebabCase"));
18
+ const flow_1 = __importDefault(require("lodash/flow"));
18
19
  const merge_1 = __importDefault(require("lodash/merge"));
19
20
  const get_1 = __importDefault(require("lodash/get"));
21
+ const zod_1 = require("zod");
20
22
  const types_1 = require("./types");
21
23
  const utils_1 = require("./utils");
22
24
  const validation_1 = require("./validation");
@@ -189,4 +191,61 @@ const populateApiInformation = (pluralName, namespace, partial) => {
189
191
  return _fillOutRestInfo(pluralName, namespace, partial, nullRest);
190
192
  };
191
193
  exports.populateApiInformation = populateApiInformation;
194
+ /**
195
+ * Create a zod schema generator for a property given its type and config.
196
+ * Returns a function that when called produces the zod schema.
197
+ */
198
+ const createZodForProperty = (propertyType, config) => () => {
199
+ const myConfig = config || {};
200
+ const provided = myConfig.zod;
201
+ if (provided) {
202
+ return provided;
203
+ }
204
+ const _getZodForPropertyType = (pt) => {
205
+ switch (pt) {
206
+ case 'UniqueId':
207
+ return zod_1.z.string();
208
+ case 'Date':
209
+ case 'Datetime':
210
+ return zod_1.z.union([zod_1.z.string(), zod_1.z.date()]);
211
+ case 'Integer':
212
+ return zod_1.z.number().int();
213
+ case 'Number':
214
+ return zod_1.z.number();
215
+ case 'Boolean':
216
+ return zod_1.z.boolean();
217
+ case 'Array':
218
+ return zod_1.z.array(zod_1.z.any());
219
+ case 'Object':
220
+ return zod_1.z.object().loose();
221
+ case 'Email':
222
+ return zod_1.z.email();
223
+ case 'Text':
224
+ case 'BigText':
225
+ return zod_1.z.string();
226
+ case 'ModelReference':
227
+ return zod_1.z.union([zod_1.z.string(), zod_1.z.number()]);
228
+ default:
229
+ return zod_1.z.any();
230
+ }
231
+ };
232
+ const baseSchema = _getZodForPropertyType(propertyType);
233
+ const choices = config === null || config === void 0 ? void 0 : config.choices;
234
+ const schemaFromChoices = choices && Array.isArray(choices) && choices.length > 0
235
+ ? zod_1.z.union(choices.map((c) => zod_1.z.literal(c)))
236
+ : baseSchema;
237
+ const finalSchema = (0, flow_1.default)([
238
+ s => typeof myConfig.minValue === 'number' ? s.min(myConfig.minValue) : s,
239
+ s => typeof myConfig.maxValue === 'number' ? s.max(myConfig.maxValue) : s,
240
+ s => typeof myConfig.minLength === 'number' ? s.min(myConfig.minLength) : s,
241
+ s => typeof myConfig.maxLength === 'number' ? s.max(myConfig.maxLength) : s,
242
+ s => myConfig.defaultValue !== undefined
243
+ ? s.default(myConfig.defaultValue)
244
+ : s,
245
+ s => (myConfig.required ? s : s.optional()),
246
+ s => (myConfig.description ? s.describe(myConfig.description) : s),
247
+ ])(schemaFromChoices);
248
+ return finalSchema;
249
+ };
250
+ exports.createZodForProperty = createZodForProperty;
192
251
  //# sourceMappingURL=lib.js.map
package/lib.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
package/models.js CHANGED
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.noFetch = exports.isNullRestInfo = exports.Model = void 0;
7
7
  const merge_1 = __importDefault(require("lodash/merge"));
8
+ const zod_1 = __importDefault(require("zod"));
8
9
  const serialization_1 = require("./serialization");
9
10
  const validation_1 = require("./validation");
10
11
  const lib_1 = require("./lib");
@@ -16,8 +17,23 @@ const _convertOptions = (options) => {
16
17
  const r = (0, merge_1.default)({}, _defaultOptions(), options);
17
18
  return r;
18
19
  };
20
+ const _createZod = (modelDefinition) => {
21
+ if (modelDefinition.schema) {
22
+ if (modelDefinition.description) {
23
+ return modelDefinition.schema.describe(modelDefinition.description);
24
+ }
25
+ return modelDefinition.schema;
26
+ }
27
+ const properties = Object.entries(modelDefinition.properties).reduce((acc, [key, property]) => {
28
+ const asProp = property;
29
+ return (0, merge_1.default)(acc, {
30
+ [key]: asProp.getZod(),
31
+ });
32
+ }, {});
33
+ return zod_1.default.object(properties);
34
+ };
19
35
  const _toModelDefinition = (minimal) => {
20
- return Object.assign({ singularName: (0, utils_1.singularize)(minimal.pluralName), displayName: (0, utils_1.toTitleCase)(minimal.pluralName), description: '', primaryKeyName: 'id', modelValidators: [] }, minimal);
36
+ return Object.assign({ singularName: (0, utils_1.singularize)(minimal.pluralName), displayName: (0, utils_1.toTitleCase)(minimal.pluralName), description: '', primaryKeyName: 'id', modelValidators: [], schema: _createZod(minimal) }, minimal);
21
37
  };
22
38
  const _validateModelDefinition = (modelDefinition) => {
23
39
  const primaryKeyName = modelDefinition.primaryKeyName || 'id';
package/models.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ declare const LastModifiedDateProperty: (config?: PropertyConfig<DateValueType>)
17
17
  }>, object, object>) => import("../types").ValueGetter<DateValueType, Readonly<{
18
18
  [s: string]: any;
19
19
  }>, object, object>;
20
+ getZod: () => import("zod").ZodType<DateValueType, unknown, import("zod/v4/core").$ZodTypeInternals<DateValueType, unknown>>;
20
21
  getValidator: (valueGetter: import("../types").ValueGetter<DateValueType, Readonly<{
21
22
  [s: string]: any;
22
23
  }>, object, object>) => import("../types").PropertyValidator<Readonly<{
@@ -53,6 +54,7 @@ declare const ForeignKeyProperty: <TValue extends string | number, TModel extend
53
54
  }>, object, object>) => import("../types").ValueGetter<string, Readonly<{
54
55
  [s: string]: any;
55
56
  }>, object, object>;
57
+ getZod: () => import("zod").ZodType<string, unknown, import("zod/v4/core").$ZodTypeInternals<string, unknown>>;
56
58
  getValidator: (valueGetter: import("../types").ValueGetter<string, Readonly<{
57
59
  [s: string]: any;
58
60
  }>, object, object>) => import("../types").PropertyValidator<Readonly<{
@@ -71,6 +73,7 @@ declare const ForeignKeyProperty: <TValue extends string | number, TModel extend
71
73
  }>, object, object>) => import("../types").ValueGetter<number, Readonly<{
72
74
  [s: string]: any;
73
75
  }>, object, object>;
76
+ getZod: () => import("zod").ZodType<number, unknown, import("zod/v4/core").$ZodTypeInternals<number, unknown>>;
74
77
  getValidator: (valueGetter: import("../types").ValueGetter<number, Readonly<{
75
78
  [s: string]: any;
76
79
  }>, object, object>) => import("../types").PropertyValidator<Readonly<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "functional-models",
3
- "version": "3.3.0",
3
+ "version": "3.4.1",
4
4
  "description": "Functional models is ooey gooey framework for building and using awesome models EVERYWHERE.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -88,6 +88,7 @@
88
88
  "get-random-values": "^1.2.2",
89
89
  "lodash": "^4.17.21",
90
90
  "modern-async": "^2.0.4",
91
- "openapi-types": "^12.1.3"
91
+ "openapi-types": "^12.1.3",
92
+ "zod": "^4.1.11"
92
93
  }
93
94
  }
package/properties.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { ZodType } from 'zod';
1
2
  import { ModelReferenceType, ModelInstance, ModelType, PropertyInstance, DataValue, PropertyConfig, ValueGetter, MaybeFunction, Arrayable, PropertyValidator, ModelReferencePropertyInstance, DataDescription, JsonAble, CalculateDenormalization, PropertyType, DateValueType, PrimitiveValueType } from './types';
2
3
  /**
3
4
  * The base function that creates a fully loaded instance of a property. All standard issue properties use this function.
@@ -48,6 +49,7 @@ declare const DateProperty: (config?: DatePropertyConfig<DateValueType>, additio
48
49
  }>, object, object>) => ValueGetter<DateValueType, Readonly<{
49
50
  [s: string]: any;
50
51
  }>, object, object>;
52
+ getZod: () => ZodType<DateValueType, unknown, import("zod/v4/core").$ZodTypeInternals<DateValueType, unknown>>;
51
53
  getValidator: (valueGetter: ValueGetter<DateValueType, Readonly<{
52
54
  [s: string]: any;
53
55
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -72,6 +74,7 @@ declare const DatetimeProperty: (config?: DatePropertyConfig<DateValueType>, add
72
74
  }>, object, object>) => ValueGetter<DateValueType, Readonly<{
73
75
  [s: string]: any;
74
76
  }>, object, object>;
77
+ getZod: () => ZodType<DateValueType, unknown, import("zod/v4/core").$ZodTypeInternals<DateValueType, unknown>>;
75
78
  getValidator: (valueGetter: ValueGetter<DateValueType, Readonly<{
76
79
  [s: string]: any;
77
80
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -96,6 +99,7 @@ declare const ArrayProperty: <T extends DataValue>(config?: {}, additionalMetada
96
99
  }>, object, object>) => ValueGetter<readonly T[], Readonly<{
97
100
  [s: string]: any;
98
101
  }>, object, object>;
102
+ getZod: () => ZodType<readonly T[], unknown, import("zod/v4/core").$ZodTypeInternals<readonly T[], unknown>>;
99
103
  getValidator: (valueGetter: ValueGetter<readonly T[], Readonly<{
100
104
  [s: string]: any;
101
105
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -121,6 +125,7 @@ declare const SingleTypeArrayProperty: <TValue extends Omit<PrimitiveValueType,
121
125
  }>, object, object>) => ValueGetter<readonly TValue[], Readonly<{
122
126
  [s: string]: any;
123
127
  }>, object, object>;
128
+ getZod: () => ZodType<readonly TValue[], unknown, import("zod/v4/core").$ZodTypeInternals<readonly TValue[], unknown>>;
124
129
  getValidator: (valueGetter: ValueGetter<readonly TValue[], Readonly<{
125
130
  [s: string]: any;
126
131
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -145,6 +150,7 @@ declare const ObjectProperty: <TObject extends Readonly<Record<string, JsonAble>
145
150
  }>, object, object>) => ValueGetter<TObject, Readonly<{
146
151
  [s: string]: any;
147
152
  }>, object, object>;
153
+ getZod: () => ZodType<TObject, unknown, import("zod/v4/core").$ZodTypeInternals<TObject, unknown>>;
148
154
  getValidator: (valueGetter: ValueGetter<TObject, Readonly<{
149
155
  [s: string]: any;
150
156
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -169,6 +175,7 @@ declare const TextProperty: (config?: PropertyConfig<string>, additionalMetadata
169
175
  }>, object, object>) => ValueGetter<string, Readonly<{
170
176
  [s: string]: any;
171
177
  }>, object, object>;
178
+ getZod: () => ZodType<string, unknown, import("zod/v4/core").$ZodTypeInternals<string, unknown>>;
172
179
  getValidator: (valueGetter: ValueGetter<string, Readonly<{
173
180
  [s: string]: any;
174
181
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -193,6 +200,7 @@ declare const BigTextProperty: (config?: PropertyConfig<string>, additionalMetad
193
200
  }>, object, object>) => ValueGetter<string, Readonly<{
194
201
  [s: string]: any;
195
202
  }>, object, object>;
203
+ getZod: () => ZodType<string, unknown, import("zod/v4/core").$ZodTypeInternals<string, unknown>>;
196
204
  getValidator: (valueGetter: ValueGetter<string, Readonly<{
197
205
  [s: string]: any;
198
206
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -217,6 +225,7 @@ declare const IntegerProperty: (config?: PropertyConfig<number>, additionalMetad
217
225
  }>, object, object>) => ValueGetter<number, Readonly<{
218
226
  [s: string]: any;
219
227
  }>, object, object>;
228
+ getZod: () => ZodType<number, unknown, import("zod/v4/core").$ZodTypeInternals<number, unknown>>;
220
229
  getValidator: (valueGetter: ValueGetter<number, Readonly<{
221
230
  [s: string]: any;
222
231
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -242,6 +251,7 @@ declare const YearProperty: (config?: PropertyConfig<number>, additionalMetadata
242
251
  }>, object, object>) => ValueGetter<number, Readonly<{
243
252
  [s: string]: any;
244
253
  }>, object, object>;
254
+ getZod: () => ZodType<number, unknown, import("zod/v4/core").$ZodTypeInternals<number, unknown>>;
245
255
  getValidator: (valueGetter: ValueGetter<number, Readonly<{
246
256
  [s: string]: any;
247
257
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -266,6 +276,7 @@ declare const NumberProperty: (config?: PropertyConfig<number>, additionalMetada
266
276
  }>, object, object>) => ValueGetter<number, Readonly<{
267
277
  [s: string]: any;
268
278
  }>, object, object>;
279
+ getZod: () => ZodType<number, unknown, import("zod/v4/core").$ZodTypeInternals<number, unknown>>;
269
280
  getValidator: (valueGetter: ValueGetter<number, Readonly<{
270
281
  [s: string]: any;
271
282
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -292,6 +303,7 @@ declare const ConstantValueProperty: <TDataValue extends Arrayable<DataValue>>(v
292
303
  }>, object, object>) => ValueGetter<TDataValue, Readonly<{
293
304
  [s: string]: any;
294
305
  }>, object, object>;
306
+ getZod: () => ZodType<TDataValue, unknown, import("zod/v4/core").$ZodTypeInternals<TDataValue, unknown>>;
295
307
  getValidator: (valueGetter: ValueGetter<TDataValue, Readonly<{
296
308
  [s: string]: any;
297
309
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -316,6 +328,7 @@ declare const EmailProperty: (config?: PropertyConfig<string>, additionalMetadat
316
328
  }>, object, object>) => ValueGetter<string, Readonly<{
317
329
  [s: string]: any;
318
330
  }>, object, object>;
331
+ getZod: () => ZodType<string, unknown, import("zod/v4/core").$ZodTypeInternals<string, unknown>>;
319
332
  getValidator: (valueGetter: ValueGetter<string, Readonly<{
320
333
  [s: string]: any;
321
334
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -340,6 +353,7 @@ declare const BooleanProperty: (config?: PropertyConfig<boolean>, additionalMeta
340
353
  }>, object, object>) => ValueGetter<boolean, Readonly<{
341
354
  [s: string]: any;
342
355
  }>, object, object>;
356
+ getZod: () => ZodType<boolean, unknown, import("zod/v4/core").$ZodTypeInternals<boolean, unknown>>;
343
357
  getValidator: (valueGetter: ValueGetter<boolean, Readonly<{
344
358
  [s: string]: any;
345
359
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -365,6 +379,7 @@ declare const PrimaryKeyUuidProperty: (config?: PropertyConfig<string>, addition
365
379
  }>, object, object>) => ValueGetter<string, Readonly<{
366
380
  [s: string]: any;
367
381
  }>, object, object>;
382
+ getZod: () => ZodType<string, unknown, import("zod/v4/core").$ZodTypeInternals<string, unknown>>;
368
383
  getValidator: (valueGetter: ValueGetter<string, Readonly<{
369
384
  [s: string]: any;
370
385
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -391,6 +406,7 @@ declare const UuidProperty: (config?: PropertyConfig<string>, additionalMetadata
391
406
  }>, object, object>) => ValueGetter<string, Readonly<{
392
407
  [s: string]: any;
393
408
  }>, object, object>;
409
+ getZod: () => ZodType<string, unknown, import("zod/v4/core").$ZodTypeInternals<string, unknown>>;
394
410
  getValidator: (valueGetter: ValueGetter<string, Readonly<{
395
411
  [s: string]: any;
396
412
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -449,6 +465,7 @@ declare const DenormalizedProperty: <TValue extends DataValue, T extends DataDes
449
465
  }>, object, object>) => ValueGetter<TValue, Readonly<{
450
466
  [s: string]: any;
451
467
  }>, object, object>;
468
+ getZod: () => ZodType<TValue, unknown, import("zod/v4/core").$ZodTypeInternals<TValue, unknown>>;
452
469
  getValidator: (valueGetter: ValueGetter<TValue, Readonly<{
453
470
  [s: string]: any;
454
471
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -476,6 +493,7 @@ declare const DenormalizedTextProperty: <T extends DataDescription>(calculate: C
476
493
  }>, object, object>) => ValueGetter<string, Readonly<{
477
494
  [s: string]: any;
478
495
  }>, object, object>;
496
+ getZod: () => ZodType<string, unknown, import("zod/v4/core").$ZodTypeInternals<string, unknown>>;
479
497
  getValidator: (valueGetter: ValueGetter<string, Readonly<{
480
498
  [s: string]: any;
481
499
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -503,6 +521,7 @@ declare const DenormalizedNumberProperty: <T extends DataDescription>(calculate:
503
521
  }>, object, object>) => ValueGetter<number, Readonly<{
504
522
  [s: string]: any;
505
523
  }>, object, object>;
524
+ getZod: () => ZodType<number, unknown, import("zod/v4/core").$ZodTypeInternals<number, unknown>>;
506
525
  getValidator: (valueGetter: ValueGetter<number, Readonly<{
507
526
  [s: string]: any;
508
527
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -530,6 +549,7 @@ declare const DenormalizedIntegerProperty: <T extends DataDescription>(calculate
530
549
  }>, object, object>) => ValueGetter<number, Readonly<{
531
550
  [s: string]: any;
532
551
  }>, object, object>;
552
+ getZod: () => ZodType<number, unknown, import("zod/v4/core").$ZodTypeInternals<number, unknown>>;
533
553
  getValidator: (valueGetter: ValueGetter<number, Readonly<{
534
554
  [s: string]: any;
535
555
  }>, object, object>) => PropertyValidator<Readonly<{
@@ -565,6 +585,7 @@ declare const NaturalIdProperty: (propertyKeys: readonly string[], joiner: strin
565
585
  }>, object, object>) => ValueGetter<string, Readonly<{
566
586
  [s: string]: any;
567
587
  }>, object, object>;
588
+ getZod: () => ZodType<string, unknown, import("zod/v4/core").$ZodTypeInternals<string, unknown>>;
568
589
  getValidator: (valueGetter: ValueGetter<string, Readonly<{
569
590
  [s: string]: any;
570
591
  }>, object, object>) => PropertyValidator<Readonly<{
package/properties.js CHANGED
@@ -81,9 +81,19 @@ const Property = (propertyType, config = {}, additionalMetadata = {}) => {
81
81
  });
82
82
  return _propertyValidatorWrapper;
83
83
  };
84
+ // Build a zod schema for this property. If a zod schema is provided in the
85
+ // config it will be used as an override.
86
+ const getZod = () => {
87
+ const provided = config === null || config === void 0 ? void 0 : config.zod;
88
+ if (provided) {
89
+ return provided;
90
+ }
91
+ return (0, lib_1.createZodForProperty)(propertyType, config)();
92
+ };
84
93
  const propertyInstance = Object.assign(Object.assign({}, additionalMetadata), { getConfig: () => config || {}, getChoices,
85
94
  getDefaultValue,
86
95
  getConstantValue, getPropertyType: () => propertyType, createGetter,
96
+ getZod,
87
97
  getValidator });
88
98
  return propertyInstance;
89
99
  };
package/properties.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../src/properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../src/properties.ts"],"names":[],"mappings":"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"}
package/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import * as openapi from 'openapi-types';
2
+ import { ZodObject, ZodType } from 'zod';
2
3
  /**
3
4
  * A function that returns the value, or just the value
4
5
  */
@@ -215,6 +216,10 @@ TModelInstanceExtensions extends object = object> = Readonly<{
215
216
  * @param modelInstance - An instance of the model that has the data.
216
217
  */
217
218
  createGetter: (value: TValue, modelData: TData, modelInstance: ModelInstance<TData, TModelExtensions, TModelInstanceExtensions>) => ValueGetter<TValue, TData, TModelExtensions, TModelInstanceExtensions>;
219
+ /**
220
+ * Function that exposes a zod schema for this property.
221
+ */
222
+ getZod: () => ZodType<TValue>;
218
223
  /**
219
224
  * Gets a validator for the property. This is not normally used.
220
225
  * Instead for validation look at {@link ModelInstance.validate}
@@ -326,6 +331,15 @@ type PropertyConfigOptions<TValue extends Arrayable<DataValue>> = Readonly<Parti
326
331
  * Additional validators for the property.
327
332
  */
328
333
  validators: readonly PropertyValidatorComponent<any>[];
334
+ /**
335
+ * An optional zod schema for this property. If provided, it will be used as an
336
+ * override for the generated schema.
337
+ */
338
+ zod?: ZodType<any>;
339
+ /**
340
+ * A short human readable description of the property for documentation.
341
+ */
342
+ description?: string;
329
343
  /**
330
344
  * The maximum length of the value. (Drives validation)
331
345
  */
@@ -522,6 +536,10 @@ type ModelDefinition<TData extends DataDescription> = Readonly<{
522
536
  * look at {@link ModelType.getApiInfo}
523
537
  */
524
538
  api?: Partial<ApiInfoPartialRest>;
539
+ /**
540
+ * A zod schema for the model.
541
+ */
542
+ schema: ZodObject<DataDescription>;
525
543
  }>;
526
544
  /**
527
545
  * The most minimum information needed to create a model.
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAqlBA;;GAEG;AACH,IAAK,SAMJ;AAND,WAAK,SAAS;IACZ,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;AACnB,CAAC,EANI,SAAS,yBAAT,SAAS,QAMb;AAgTD;;;GAGG;AACH,IAAK,YAaJ;AAbD,WAAK,YAAY;IACf,qCAAqB,CAAA;IACrB,6BAAa,CAAA;IACb,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,iDAAiC,CAAA;IACjC,mCAAmB,CAAA;IACnB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,mCAAmB,CAAA;AACrB,CAAC,EAbI,YAAY,4BAAZ,YAAY,QAahB;AAED;;GAEG;AACH,IAAK,kBAMJ;AAND,WAAK,kBAAkB;IACrB,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACrB,CAAC,EANI,kBAAkB,kCAAlB,kBAAkB,QAMtB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAmmBA;;GAEG;AACH,IAAK,SAMJ;AAND,WAAK,SAAS;IACZ,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;AACnB,CAAC,EANI,SAAS,yBAAT,SAAS,QAMb;AAoTD;;;GAGG;AACH,IAAK,YAaJ;AAbD,WAAK,YAAY;IACf,qCAAqB,CAAA;IACrB,6BAAa,CAAA;IACb,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,iDAAiC,CAAA;IACjC,mCAAmB,CAAA;IACnB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,mCAAmB,CAAA;AACrB,CAAC,EAbI,YAAY,4BAAZ,YAAY,QAahB;AAED;;GAEG;AACH,IAAK,kBAMJ;AAND,WAAK,kBAAkB;IACrB,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACrB,CAAC,EANI,kBAAkB,kCAAlB,kBAAkB,QAMtB"}