functional-models 3.4.4 → 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 +3 -2
- package/lib.js +497 -1
- package/lib.js.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
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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"}
|