functional-models 3.4.3 → 3.5.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/lib.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { OpenAPIV3 } from 'openapi-types';
2
2
  import { z } from 'zod';
3
- import { ApiInfo, ApiInfoPartialRest, Arrayable, DataDescription, DataValue, ModelInstance, PrimaryKeyType, PropertyConfig, PropertyValidatorComponent, PropertyValidatorComponentTypeAdvanced } from './types';
3
+ import { ApiInfo, ApiInfoPartialRest, Arrayable, DataDescription, DataValue, ModelInstance, ModelType, PrimaryKeyType, PropertyConfig, PropertyValidatorComponent, PropertyValidatorComponentTypeAdvanced } from './types';
4
4
  import HttpMethods = OpenAPIV3.HttpMethods;
5
5
  declare const NULL_ENDPOINT = "NULL";
6
6
  declare const NULL_METHOD = HttpMethods.HEAD;
@@ -20,4 +20,5 @@ declare const populateApiInformation: (pluralName: string, namespace: string, pa
20
20
  * Returns a function that when called produces the zod schema.
21
21
  */
22
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, };
23
+ declare const modelToOpenApi: <TData extends DataDescription, TModel extends ModelType<TData>>(model: TModel) => any;
24
+ export { isReferencedProperty, getValueForModelInstance, getValueForReferencedModel, getCommonTextValidators, getValidatorFromConfigElseEmpty, getCommonNumberValidators, mergeValidators, isModelInstance, getModelName, buildValidEndpoint, populateApiInformation, NULL_ENDPOINT, NULL_METHOD, createZodForProperty, modelToOpenApi, };
package/lib.js CHANGED
@@ -12,7 +12,7 @@ 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.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;
15
+ exports.modelToOpenApi = 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
18
  const flow_1 = __importDefault(require("lodash/flow"));
@@ -28,6 +28,9 @@ exports.NULL_ENDPOINT = NULL_ENDPOINT;
28
28
  const NULL_METHOD = HttpMethods.HEAD;
29
29
  exports.NULL_METHOD = NULL_METHOD;
30
30
  const ID_KEY = ':id';
31
+ const _checkAB = (check, a, b) => {
32
+ return check ? a : b;
33
+ };
31
34
  const getValueForReferencedModel = (modelInstance, path) => __awaiter(void 0, void 0, void 0, function* () {
32
35
  const [head, tail] = (0, utils_1.createHeadAndTail)(path.split('.'), '.');
33
36
  // If there are no nested keys, just return the reference id.
@@ -202,6 +205,9 @@ const createZodForProperty = (propertyType, config) => () => {
202
205
  return provided;
203
206
  }
204
207
  const _getZodForPropertyType = (pt) => {
208
+ if (myConfig.choices) {
209
+ return zod_1.z.enum(myConfig.choices);
210
+ }
205
211
  switch (pt) {
206
212
  case 'UniqueId':
207
213
  return zod_1.z.string();
@@ -261,4 +267,494 @@ const createZodForProperty = (propertyType, config) => () => {
261
267
  return finalSchema;
262
268
  };
263
269
  exports.createZodForProperty = createZodForProperty;
270
+ const isWrapperType = (explicitType, typeString) => {
271
+ return (explicitType === 'ZodOptional' ||
272
+ explicitType === 'ZodNullable' ||
273
+ explicitType === 'ZodDefault' ||
274
+ typeString === 'optional' ||
275
+ typeString === 'nullable' ||
276
+ typeString === 'nullish' ||
277
+ typeString === 'default');
278
+ };
279
+ const getInnerType = (defRef) => {
280
+ return (defRef.innerType ||
281
+ defRef.type ||
282
+ defRef.schema ||
283
+ defRef.payload ||
284
+ defRef.value ||
285
+ defRef.inner ||
286
+ (defRef._def && (defRef._def.inner || defRef._def.type)) ||
287
+ (defRef && defRef.innerType));
288
+ };
289
+ const unwrapOnce = (s) => {
290
+ const defRef = s && (s._def || s.def);
291
+ if (!defRef) {
292
+ return s;
293
+ }
294
+ const explicitType = defRef && defRef.typeName ? String(defRef.typeName) : undefined;
295
+ const typeString = !explicitType && defRef && typeof defRef.type === 'string'
296
+ ? String(defRef.type)
297
+ : undefined;
298
+ const isWrapper = isWrapperType(explicitType, typeString);
299
+ if (!isWrapper) {
300
+ return s;
301
+ }
302
+ return getInnerType(defRef) || s;
303
+ };
304
+ const recur = (s) => {
305
+ const next = unwrapOnce(s);
306
+ return next === s ? s : recur(next);
307
+ };
308
+ const modelToOpenApi = (model) => {
309
+ const zodSchema = model.getModelDefinition().schema;
310
+ const modelProps = model.getModelDefinition().properties || {};
311
+ const propConfigMap = Object.keys(modelProps).reduce((acc, k) => (0, merge_1.default)(acc, {
312
+ [k]: (0, merge_1.default)(modelProps[k].getConfig ? modelProps[k].getConfig() : {}, {
313
+ propertyType: modelProps[k].getPropertyType
314
+ ? modelProps[k].getPropertyType()
315
+ : undefined,
316
+ }),
317
+ }), {});
318
+ const unwrap = (schema) => {
319
+ // Functional recursive unwrapping of common Zod wrappers.
320
+ return recur(schema);
321
+ };
322
+ // --- small helpers extracted to reduce complexity ---
323
+ const getTypeName = (defRef) => {
324
+ if (!defRef) {
325
+ return '';
326
+ }
327
+ if (typeof defRef.type === 'string') {
328
+ return ('Zod' +
329
+ String(defRef.type).charAt(0).toUpperCase() +
330
+ String(defRef.type).slice(1));
331
+ }
332
+ if (defRef.typeName) {
333
+ return String(defRef.typeName);
334
+ }
335
+ return '';
336
+ };
337
+ const extractStringBounds = (defRef, s) => {
338
+ const checks = (defRef && defRef.checks) || (s && s._def && s._def.checks) || [];
339
+ return Array.isArray(checks)
340
+ ? checks.reduce((acc, c) => {
341
+ if (!c || typeof c !== 'object') {
342
+ return acc;
343
+ }
344
+ const candidateMin = (c.kind === 'min' ||
345
+ c.check === 'min' ||
346
+ (c.def && c.def.type === 'min')) &&
347
+ typeof c.value === 'number'
348
+ ? c.value
349
+ : c.def && typeof c.def.minLength === 'number'
350
+ ? c.def.minLength
351
+ : undefined;
352
+ const candidateMax = (c.kind === 'max' ||
353
+ c.check === 'max' ||
354
+ (c.def && c.def.type === 'max')) &&
355
+ typeof c.value === 'number'
356
+ ? c.value
357
+ : c.def && typeof c.def.maxLength === 'number'
358
+ ? c.def.maxLength
359
+ : undefined;
360
+ return {
361
+ min: candidateMin !== undefined ? candidateMin : acc.min,
362
+ max: candidateMax !== undefined ? candidateMax : acc.max,
363
+ };
364
+ }, {})
365
+ : {};
366
+ };
367
+ const getCandidateMin = (c) => {
368
+ return (c.kind === 'min' ||
369
+ c.check === 'min' ||
370
+ (c.def && c.def.type === 'min')) &&
371
+ typeof c.value === 'number'
372
+ ? c.value
373
+ : c.def && typeof c.def.minValue === 'number'
374
+ ? c.def.minValue
375
+ : undefined;
376
+ };
377
+ const getCandidateMax = (c) => {
378
+ return (c.kind === 'max' ||
379
+ c.check === 'max' ||
380
+ (c.def && c.def.type === 'max')) &&
381
+ typeof c.value === 'number'
382
+ ? c.value
383
+ : c.def && typeof c.def.maxValue === 'number'
384
+ ? c.def.maxValue
385
+ : undefined;
386
+ };
387
+ const isIntegerCheck = (c, acc) => {
388
+ return (acc.isInteger ||
389
+ (c &&
390
+ (c.kind === 'int' ||
391
+ c.check === 'int' ||
392
+ c === 'int' ||
393
+ JSON.stringify(c).includes('int'))));
394
+ };
395
+ const extractNumberInfo = (defRef, s) => {
396
+ const checks = (defRef && defRef.checks) || (s && s._def && s._def.checks) || [];
397
+ return Array.isArray(checks)
398
+ ? checks.reduce((acc, c) => {
399
+ if (!c || typeof c !== 'object') {
400
+ return acc;
401
+ }
402
+ const candidateMin = getCandidateMin(c);
403
+ const candidateMax = getCandidateMax(c);
404
+ const isInt = isIntegerCheck(c, acc);
405
+ return {
406
+ min: candidateMin !== undefined ? candidateMin : acc.min,
407
+ max: candidateMax !== undefined ? candidateMax : acc.max,
408
+ isInteger: isInt,
409
+ };
410
+ }, {})
411
+ : {};
412
+ };
413
+ const getLiteralOpenApi = (defRef, s) => {
414
+ const candidates = [
415
+ defRef && (defRef.value !== undefined ? defRef.value : undefined),
416
+ defRef &&
417
+ defRef._def &&
418
+ (defRef._def.value !== undefined ? defRef._def.value : undefined),
419
+ s && s._def && (s._def.value !== undefined ? s._def.value : undefined),
420
+ s && s.value,
421
+ ];
422
+ const val = candidates.find((c) => c !== undefined);
423
+ const t = typeof val;
424
+ if (t === 'string') {
425
+ return { type: 'string', enum: [val] };
426
+ }
427
+ /*
428
+ if (t === 'number') {
429
+ return { type: 'number', enum: [val] }
430
+ }
431
+ if (t === 'boolean') {
432
+ return { type: 'boolean', enum: [val] }
433
+ }
434
+ */
435
+ return { enum: [val] };
436
+ };
437
+ const getEnumValues = (defRef, s) => {
438
+ const candidates = [
439
+ s && s._def && s._def.values,
440
+ s && s._def && s._def.options,
441
+ s.values,
442
+ s.options,
443
+ defRef && defRef.values,
444
+ defRef && defRef.options,
445
+ defRef && defRef._def && defRef._def.values,
446
+ defRef && defRef._def && defRef._def.options,
447
+ ];
448
+ const found = candidates.find((c) => Array.isArray(c) && c.length > 0);
449
+ return Array.isArray(found) ? found : [];
450
+ };
451
+ const handleZodObject = (s, defRef, depth) => {
452
+ const asAny = s;
453
+ const shape = asAny &&
454
+ typeof asAny.shape === 'function'
455
+ ? asAny.shape()
456
+ : //: defRef && typeof defRef.shape === 'function'
457
+ //? defRef.shape()
458
+ defRef.shape || defRef.properties || {};
459
+ if (!shape || Object.keys(shape).length === 0) {
460
+ return { type: 'object' };
461
+ }
462
+ const keys = Object.keys(shape || {});
463
+ const getChildDescription = (sChild, childSchema) => {
464
+ return ((sChild &&
465
+ (sChild.description ||
466
+ (sChild._def && sChild._def.description) ||
467
+ (sChild.def && sChild.def.description))) ||
468
+ (childSchema &&
469
+ ((childSchema._def &&
470
+ childSchema._def.description) ||
471
+ (childSchema.def && childSchema.def.description))));
472
+ };
473
+ const getWithDescription = (childOpen, modelProp, descFromDef, depth) => {
474
+ return modelProp && modelProp.description && depth === 0
475
+ ? (0, merge_1.default)({}, childOpen, { description: modelProp.description })
476
+ : descFromDef
477
+ ? (0, merge_1.default)({}, childOpen, { description: descFromDef })
478
+ : childOpen;
479
+ };
480
+ const getAdjustedProperties = (modelProp, withDesc) => {
481
+ return modelProp
482
+ ? withDesc &&
483
+ (withDesc.type === 'number' || withDesc.type === 'integer')
484
+ ? (0, merge_1.default)({}, withDesc, typeof modelProp.minValue === 'number'
485
+ ? { minimum: modelProp.minValue }
486
+ : {}, typeof modelProp.maxValue === 'number'
487
+ ? { maximum: modelProp.maxValue }
488
+ : {})
489
+ : withDesc && withDesc.type === 'string'
490
+ ? (0, merge_1.default)({}, withDesc, typeof modelProp.minLength === 'number'
491
+ ? { minimum: modelProp.minLength }
492
+ : {}, typeof modelProp.maxLength === 'number'
493
+ ? { maximum: modelProp.maxLength }
494
+ : {})
495
+ : withDesc
496
+ : withDesc;
497
+ };
498
+ const _getRequired = (childTypeName, acc, key) => {
499
+ return childTypeName !== 'ZodOptional' &&
500
+ childTypeName !== 'ZodNullable' &&
501
+ childTypeName !== 'ZodDefault'
502
+ ? (acc.required || []).concat(key)
503
+ : acc.required || [];
504
+ };
505
+ const _getChildTypeName = (childDef) => {
506
+ return ('Zod' + childDef.type.charAt(0).toUpperCase() + childDef.type.slice(1));
507
+ };
508
+ const handleChildSchema = (key, childSchema, depth, acc) => {
509
+ const childOpen = zodToOpenApi(childSchema, depth + 1) || {};
510
+ const sChild = unwrap(childSchema);
511
+ const descFromDef = getChildDescription(sChild, childSchema);
512
+ const modelProp = propConfigMap && propConfigMap[key] ? propConfigMap[key] : undefined;
513
+ const withDesc = getWithDescription(childOpen, modelProp, descFromDef, depth);
514
+ const childIsEmptyObject = withDesc &&
515
+ withDesc.type === 'object' &&
516
+ (!withDesc.properties ||
517
+ Object.keys(withDesc.properties).length === 0) &&
518
+ !withDesc.additionalProperties;
519
+ if ((!withDesc ||
520
+ Object.keys(withDesc).length === 0 ||
521
+ childIsEmptyObject) &&
522
+ modelProp &&
523
+ modelProp.propertyType === 'Object') {
524
+ const newProp = _checkAB(modelProp.required, { type: 'object' }, { type: 'object', nullable: true });
525
+ return {
526
+ properties: (0, merge_1.default)(acc.properties, { [key]: newProp }),
527
+ required: _checkAB(modelProp.required && depth === 0, (acc.required || []).concat(key), acc.required || []),
528
+ };
529
+ }
530
+ const adjusted = getAdjustedProperties(modelProp, withDesc);
531
+ const childDef = (childSchema &&
532
+ (childSchema._def || childSchema.def));
533
+ const childTypeName = _getChildTypeName(childDef);
534
+ const newRequired = _getRequired(childTypeName, acc, key);
535
+ return {
536
+ properties: (0, merge_1.default)(acc.properties, { [key]: adjusted }),
537
+ required: newRequired,
538
+ };
539
+ };
540
+ const reduced = keys.reduce((acc, key) => {
541
+ const childSchema = shape[key];
542
+ /*
543
+ if (!childSchema) {
544
+ return acc
545
+ }
546
+ */
547
+ return handleChildSchema(key, childSchema, depth, acc);
548
+ }, {});
549
+ const out = {
550
+ type: 'object',
551
+ // @ts-ignore
552
+ properties: reduced.properties,
553
+ additionalProperties: false,
554
+ };
555
+ const objectDesc = (defRef &&
556
+ ((defRef._def && defRef._def.description) ||
557
+ (defRef.def && defRef.def.description) ||
558
+ defRef.description)) ||
559
+ undefined;
560
+ const finalOut = (0, merge_1.default)({}, out, objectDesc ? { description: objectDesc } : {}, _checkAB(
561
+ // @ts-ignore
562
+ reduced.required.length && depth === 0,
563
+ // @ts-ignore
564
+ { required: reduced.required }, {}));
565
+ return finalOut;
566
+ };
567
+ const handleZodUnion = (s, defRef) => {
568
+ const options = defRef && defRef.options;
569
+ //(defRef._def && defRef._def.options) ||
570
+ //(s && (s._def as any).options))
571
+ const arr = Array.isArray(options) ? options : Object.values(options || {});
572
+ const reduced = arr.reduce((acc, opt) => {
573
+ if (!acc.allLiterals) {
574
+ return acc;
575
+ }
576
+ const sOpt = unwrap(opt);
577
+ const dOpt = (sOpt && (sOpt._def || sOpt.def));
578
+ const optTypeName = 'Zod' + dOpt.type.charAt(0).toUpperCase() + dOpt.type.slice(1);
579
+ if (optTypeName === 'ZodLiteral' || optTypeName === 'ZodEnum') {
580
+ const candidates = [
581
+ dOpt && (dOpt.value !== undefined ? dOpt.value : undefined),
582
+ dOpt &&
583
+ dOpt._def &&
584
+ (dOpt._def.value !== undefined ? dOpt._def.value : undefined),
585
+ sOpt &&
586
+ sOpt._def &&
587
+ (sOpt._def.value !== undefined ? sOpt._def.value : undefined),
588
+ sOpt && sOpt.value,
589
+ opt && opt.options,
590
+ ];
591
+ const val = candidates.find((c) => c !== undefined);
592
+ if (val !== '__array__') {
593
+ return {
594
+ allLiterals: true,
595
+ literalValues: acc.literalValues.concat(val),
596
+ };
597
+ }
598
+ return { allLiterals: true, literalValues: acc.literalValues };
599
+ }
600
+ return { allLiterals: false, literalValues: acc.literalValues };
601
+ }, { allLiterals: true, literalValues: [] });
602
+ if (reduced.allLiterals && reduced.literalValues.length > 0) {
603
+ const unique = Array.from(new Set(reduced.literalValues));
604
+ const allStrings = unique.every(v => typeof v === 'string');
605
+ if (allStrings) {
606
+ return { type: 'string', enum: unique };
607
+ }
608
+ /*
609
+ if (allNumbers) {
610
+ return { type: 'number', enum: unique }
611
+ }
612
+ */
613
+ }
614
+ const optionTypes = arr.map((opt) => {
615
+ const od = opt && (opt._def || opt.def);
616
+ /*
617
+ if (!od) {
618
+ return undefined
619
+ }
620
+ if (od.typeName) {
621
+ return od.typeName
622
+ }
623
+ */
624
+ if (typeof od.type === 'string') {
625
+ return 'Zod' + od.type.charAt(0).toUpperCase() + od.type.slice(1);
626
+ }
627
+ return undefined;
628
+ });
629
+ if (optionTypes.includes('ZodDate') ||
630
+ (optionTypes.includes('ZodString') && optionTypes.includes('ZodNumber'))) {
631
+ return { type: 'string' };
632
+ }
633
+ return undefined;
634
+ };
635
+ const handleZodString = (defRef, s) => {
636
+ const reduced = extractStringBounds(defRef, s);
637
+ return (0, merge_1.default)({}, { type: 'string' }, typeof reduced.min === 'number' ? { minimum: reduced.min } : {}, typeof reduced.max === 'number' ? { maximum: reduced.max } : {});
638
+ };
639
+ const _handleZodArray = (defRef, s, depth) => {
640
+ // Zod stores the item schema in different places depending on version.
641
+ // Prefer candidates that look like Zod schema objects (have _def/def).
642
+ const candidates = [
643
+ defRef.element,
644
+ defRef.inner,
645
+ defRef.schema,
646
+ defRef.type,
647
+ s && s._def && s._def.element,
648
+ s && s._def && s._def.inner,
649
+ s && s._def && s._def.schema,
650
+ ];
651
+ const itemsSchema = candidates.find((c) => c && typeof c === 'object' && (c._def || c.def));
652
+ // If we didn't find an object schema, but there's a non-object candidate (string), skip it.
653
+ const openItems = itemsSchema ? zodToOpenApi(itemsSchema, depth + 1) : {};
654
+ return { type: 'array', items: openItems };
655
+ };
656
+ const getCandidates = (defRef, s) => {
657
+ return [
658
+ s && s._def && s._def.valueType,
659
+ s && s._def && s._def.value,
660
+ s && s._def && s._def.type,
661
+ defRef && defRef.valueType,
662
+ defRef && defRef.value,
663
+ defRef && defRef.type,
664
+ defRef && defRef._def && defRef._def.valueType,
665
+ defRef && defRef._def && defRef._def.value,
666
+ defRef && defRef._def && defRef._def.type,
667
+ defRef && defRef._def && defRef._def.element,
668
+ defRef && defRef.element,
669
+ ];
670
+ };
671
+ const _handleZodRecord = (defRef, s) => {
672
+ const candidates = getCandidates(defRef, s);
673
+ const valueType = candidates.find((c) => c);
674
+ const resolved = valueType &&
675
+ _checkAB(valueType._def || valueType.def || typeof valueType === 'object', valueType, undefined);
676
+ return {
677
+ type: 'object',
678
+ additionalProperties: zodToOpenApi(resolved || zod_1.z.any()),
679
+ };
680
+ };
681
+ const zodToOpenApi = (schema, depth = 0) => {
682
+ const s = unwrap(schema);
683
+ const defRef = (s && (s._def || s.def));
684
+ const typeName = getTypeName(defRef);
685
+ switch (typeName) {
686
+ case 'ZodString':
687
+ return handleZodString(defRef, s);
688
+ case 'ZodNumber': {
689
+ const info = extractNumberInfo(defRef, s);
690
+ return (0, merge_1.default)({}, { type: _checkAB(info.isInteger, 'integer', 'number') }, _checkAB(typeof info.min === 'number', { minimum: info.min }, {}), _checkAB(typeof info.max === 'number', { maximum: info.max }, {}));
691
+ }
692
+ /*
693
+ case 'ZodBigInt':
694
+ return { type: 'integer' }
695
+ */
696
+ case 'ZodBoolean':
697
+ return { type: 'boolean' };
698
+ /*
699
+ case 'ZodDate':
700
+ return { type: 'string', format: 'date-time' }
701
+ */
702
+ case 'ZodLiteral': {
703
+ return getLiteralOpenApi(defRef, s);
704
+ }
705
+ case 'ZodEnum': {
706
+ return { type: 'string', enum: getEnumValues(defRef, s) };
707
+ }
708
+ /*
709
+ case 'ZodNativeEnum': {
710
+ // Native enum extraction - handle array, object map, or _def enum
711
+ const candidates = [
712
+ s && (s as any)._def && (s as any)._def.values,
713
+ s && (s as any)._def && (s as any)._def.options,
714
+ s && (s as any)._def && (s as any)._def.enum,
715
+ (s as any).values,
716
+ (s as any).options,
717
+ defRef && defRef.values,
718
+ defRef && defRef.options,
719
+ defRef && defRef.enum,
720
+ defRef && defRef._def && defRef._def.enum,
721
+ ]
722
+ const raw = candidates.find((c: any) => c !== undefined && c !== null)
723
+ const values = Array.isArray(raw) ? raw : Object.values(raw || {})
724
+ const unique = Array.from(new Set(values))
725
+ // prefer string enums when possible
726
+ const allStrings = unique.every(v => typeof v === 'string')
727
+ return allStrings ? { type: 'string', enum: unique } : { enum: unique }
728
+ }
729
+ */
730
+ case 'ZodArray': {
731
+ return _handleZodArray(defRef, s, depth);
732
+ }
733
+ case 'ZodObject': {
734
+ return handleZodObject(defRef, s, depth);
735
+ }
736
+ case 'ZodUnion': {
737
+ return handleZodUnion(defRef, s);
738
+ }
739
+ case 'ZodRecord': {
740
+ return _handleZodRecord(defRef, s);
741
+ }
742
+ /*
743
+ case 'ZodAny':
744
+ //case 'ZodUnknown':
745
+ */
746
+ default:
747
+ return {};
748
+ }
749
+ };
750
+ // Build top-level schema
751
+ const result = zodToOpenApi(zodSchema);
752
+ // Ensure top-level result is an object schema
753
+ const normalized =
754
+ //!result || result.type !== 'object'
755
+ // ? { type: 'object', properties: {}, required: [], ...(result || {}) }
756
+ result;
757
+ return normalized;
758
+ };
759
+ exports.modelToOpenApi = modelToOpenApi;
264
760
  //# 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
@@ -17,12 +17,22 @@ const _convertOptions = (options) => {
17
17
  const r = (0, merge_1.default)({}, _defaultOptions(), options);
18
18
  return r;
19
19
  };
20
+ const _addDescription = (schema, description) => {
21
+ if (!description) {
22
+ return schema;
23
+ }
24
+ // @ts-ignore
25
+ if (typeof schema.openapi === 'function') {
26
+ // @ts-ignore
27
+ return schema.openapi({ description: description });
28
+ }
29
+ return schema.meta
30
+ ? schema.meta({ description: description })
31
+ : schema.describe(description);
32
+ };
20
33
  const _createZod = (modelDefinition) => {
21
34
  if (modelDefinition.schema) {
22
- if (modelDefinition.description) {
23
- return modelDefinition.schema.describe(modelDefinition.description);
24
- }
25
- return modelDefinition.schema;
35
+ return _addDescription(modelDefinition.schema, modelDefinition.description);
26
36
  }
27
37
  const properties = Object.entries(modelDefinition.properties).reduce((acc, [key, property]) => {
28
38
  const asProp = property;
@@ -31,10 +41,7 @@ const _createZod = (modelDefinition) => {
31
41
  });
32
42
  }, {});
33
43
  const obj = zod_1.default.object(properties);
34
- if (modelDefinition.description) {
35
- return obj.describe(modelDefinition.description);
36
- }
37
- return obj;
44
+ return _addDescription(obj, modelDefinition.description);
38
45
  };
39
46
  const _toModelDefinition = (minimal) => {
40
47
  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);
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "functional-models",
3
- "version": "3.4.3",
3
+ "version": "3.5.0",
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",