@orval/mock 7.8.0 → 7.10.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/index.d.ts +1 -1
- package/dist/index.js +110 -68
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { GlobalMockOptions, GenerateMockImports, GeneratorVerbOptions, Generator
|
|
|
3
3
|
|
|
4
4
|
declare const DEFAULT_MOCK_OPTIONS: GlobalMockOptions;
|
|
5
5
|
declare const generateMockImports: GenerateMockImports;
|
|
6
|
-
declare const generateMock: (generatorVerbOptions: GeneratorVerbOptions, generatorOptions: Omit<GeneratorOptions,
|
|
6
|
+
declare const generateMock: (generatorVerbOptions: GeneratorVerbOptions, generatorOptions: Omit<GeneratorOptions, "mock"> & {
|
|
7
7
|
mock: GlobalMockOptions;
|
|
8
8
|
}) => _orval_core.ClientMockGeneratorBuilder;
|
|
9
9
|
|
package/dist/index.js
CHANGED
|
@@ -18,16 +18,16 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
|
|
20
20
|
// src/index.ts
|
|
21
|
-
var
|
|
22
|
-
__export(
|
|
21
|
+
var index_exports = {};
|
|
22
|
+
__export(index_exports, {
|
|
23
23
|
DEFAULT_MOCK_OPTIONS: () => DEFAULT_MOCK_OPTIONS,
|
|
24
24
|
generateMock: () => generateMock,
|
|
25
25
|
generateMockImports: () => generateMockImports
|
|
26
26
|
});
|
|
27
|
-
module.exports = __toCommonJS(
|
|
27
|
+
module.exports = __toCommonJS(index_exports);
|
|
28
28
|
|
|
29
29
|
// src/msw/index.ts
|
|
30
|
-
var
|
|
30
|
+
var import_core8 = require("@orval/core");
|
|
31
31
|
|
|
32
32
|
// src/delay.ts
|
|
33
33
|
var getDelay = (override, options) => {
|
|
@@ -46,13 +46,13 @@ var getDelay = (override, options) => {
|
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
// src/faker/getters/combine.ts
|
|
49
|
-
var
|
|
49
|
+
var import_core5 = require("@orval/core");
|
|
50
50
|
|
|
51
51
|
// src/faker/resolvers/value.ts
|
|
52
|
-
var
|
|
52
|
+
var import_core4 = require("@orval/core");
|
|
53
53
|
|
|
54
54
|
// src/faker/getters/scalar.ts
|
|
55
|
-
var
|
|
55
|
+
var import_core3 = require("@orval/core");
|
|
56
56
|
|
|
57
57
|
// src/faker/constants.ts
|
|
58
58
|
var DEFAULT_FORMAT_MOCK = {
|
|
@@ -62,10 +62,8 @@ var DEFAULT_FORMAT_MOCK = {
|
|
|
62
62
|
country: "faker.location.country()",
|
|
63
63
|
date: "faker.date.past().toISOString().split('T')[0]",
|
|
64
64
|
"date-time": "`${faker.date.past().toISOString().split('.')[0]}Z`",
|
|
65
|
-
double: "faker.number.float()",
|
|
66
65
|
email: "faker.internet.email()",
|
|
67
66
|
firstName: "faker.person.firstName()",
|
|
68
|
-
float: "faker.number.float()",
|
|
69
67
|
gender: "faker.person.gender()",
|
|
70
68
|
iban: "faker.finance.iban()",
|
|
71
69
|
ipv4: "faker.internet.ipv4()",
|
|
@@ -233,6 +231,21 @@ var getMockObject = ({
|
|
|
233
231
|
return { value: "{}", imports: [], name: item.name };
|
|
234
232
|
};
|
|
235
233
|
|
|
234
|
+
// src/faker/compatibleV9.ts
|
|
235
|
+
var import_core2 = require("@orval/core");
|
|
236
|
+
var getFakerPackageVersion = (packageJson) => {
|
|
237
|
+
var _a, _b, _c, _d, _e;
|
|
238
|
+
return (_e = (_c = (_a = packageJson.dependencies) == null ? void 0 : _a["@faker-js/faker"]) != null ? _c : (_b = packageJson.devDependencies) == null ? void 0 : _b["@faker-js/faker"]) != null ? _e : (_d = packageJson.peerDependencies) == null ? void 0 : _d["@faker-js/faker"];
|
|
239
|
+
};
|
|
240
|
+
var isFakerVersionV9 = (packageJson) => {
|
|
241
|
+
const version = getFakerPackageVersion(packageJson);
|
|
242
|
+
if (!version) {
|
|
243
|
+
return false;
|
|
244
|
+
}
|
|
245
|
+
const withoutRc = version.split("-")[0];
|
|
246
|
+
return (0, import_core2.compareVersions)(withoutRc, "9.0.0");
|
|
247
|
+
};
|
|
248
|
+
|
|
236
249
|
// src/faker/getters/scalar.ts
|
|
237
250
|
var getMockScalar = ({
|
|
238
251
|
item,
|
|
@@ -246,7 +259,7 @@ var getMockScalar = ({
|
|
|
246
259
|
splitMockImplementations,
|
|
247
260
|
allowOverride = false
|
|
248
261
|
}) => {
|
|
249
|
-
var _a, _b, _c, _d, _e, _f;
|
|
262
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
250
263
|
if (item.isRef) {
|
|
251
264
|
existingReferencedProperties = [...existingReferencedProperties, item.name];
|
|
252
265
|
}
|
|
@@ -260,7 +273,7 @@ var getMockScalar = ({
|
|
|
260
273
|
const overrideTag = Object.entries((_c = mockOptions == null ? void 0 : mockOptions.tags) != null ? _c : {}).sort((a, b) => {
|
|
261
274
|
return a[0].localeCompare(b[0]);
|
|
262
275
|
}).reduce(
|
|
263
|
-
(acc, [tag, options]) => tags.includes(tag) ? (0,
|
|
276
|
+
(acc, [tag, options]) => tags.includes(tag) ? (0, import_core3.mergeDeep)(acc, options) : acc,
|
|
264
277
|
{}
|
|
265
278
|
);
|
|
266
279
|
const tagProperty = resolveMockOverride(overrideTag == null ? void 0 : overrideTag.properties, item);
|
|
@@ -271,7 +284,7 @@ var getMockScalar = ({
|
|
|
271
284
|
if (property) {
|
|
272
285
|
return property;
|
|
273
286
|
}
|
|
274
|
-
if ((((_e = (_d = context.output.override) == null ? void 0 : _d.mock) == null ? void 0 : _e.useExamples) || (mockOptions == null ? void 0 : mockOptions.useExamples)) && item.example) {
|
|
287
|
+
if ((((_e = (_d = context.output.override) == null ? void 0 : _d.mock) == null ? void 0 : _e.useExamples) || (mockOptions == null ? void 0 : mockOptions.useExamples)) && item.example !== void 0) {
|
|
275
288
|
return {
|
|
276
289
|
value: JSON.stringify(item.example),
|
|
277
290
|
imports: [],
|
|
@@ -296,23 +309,22 @@ var getMockScalar = ({
|
|
|
296
309
|
overrided: false
|
|
297
310
|
};
|
|
298
311
|
}
|
|
299
|
-
if (item.format && item.format === "int64") {
|
|
300
|
-
const value = context.output.override.useBigInt ? `faker.number.bigInt({min: ${item.minimum}, max: ${item.maximum}})` : `faker.number.int({min: ${item.minimum}, max: ${item.maximum}})`;
|
|
301
|
-
return {
|
|
302
|
-
value: getNullable(value, item.nullable),
|
|
303
|
-
imports: [],
|
|
304
|
-
name: item.name,
|
|
305
|
-
overrided: false
|
|
306
|
-
};
|
|
307
|
-
}
|
|
308
312
|
const type = getItemType(item);
|
|
313
|
+
const isFakerV9 = !!context.output.packageJson && isFakerVersionV9(context.output.packageJson);
|
|
309
314
|
switch (type) {
|
|
310
315
|
case "number":
|
|
311
316
|
case "integer": {
|
|
317
|
+
const intFunction = item.format === "int64" && context.output.override.useBigInt ? "bigInt" : "int";
|
|
312
318
|
let value = getNullable(
|
|
313
|
-
`faker.number
|
|
319
|
+
`faker.number.${intFunction}({min: ${(_g = item.minimum) != null ? _g : mockOptions == null ? void 0 : mockOptions.numberMin}, max: ${(_h = item.maximum) != null ? _h : mockOptions == null ? void 0 : mockOptions.numberMax}${isFakerV9 ? `, multipleOf: ${item.multipleOf}` : ""}})`,
|
|
314
320
|
item.nullable
|
|
315
321
|
);
|
|
322
|
+
if (type === "number") {
|
|
323
|
+
value = getNullable(
|
|
324
|
+
`faker.number.float({min: ${(_i = item.minimum) != null ? _i : mockOptions == null ? void 0 : mockOptions.numberMin}, max: ${(_j = item.maximum) != null ? _j : mockOptions == null ? void 0 : mockOptions.numberMax}, ${item.multipleOf ? `multipleOf: ${item.multipleOf}` : `fractionDigits: ${mockOptions == null ? void 0 : mockOptions.fractionDigits}`}})`,
|
|
325
|
+
item.nullable
|
|
326
|
+
);
|
|
327
|
+
}
|
|
316
328
|
const numberImports = [];
|
|
317
329
|
if (item.enum) {
|
|
318
330
|
value = getEnum(
|
|
@@ -348,7 +360,7 @@ var getMockScalar = ({
|
|
|
348
360
|
return { value: "[]", imports: [], name: item.name };
|
|
349
361
|
}
|
|
350
362
|
if ("$ref" in item.items && existingReferencedProperties.includes(
|
|
351
|
-
(0,
|
|
363
|
+
(0, import_core3.pascal)(item.items.$ref.split("/").pop())
|
|
352
364
|
)) {
|
|
353
365
|
return { value: "[]", imports: [], name: item.name };
|
|
354
366
|
}
|
|
@@ -383,13 +395,14 @@ var getMockScalar = ({
|
|
|
383
395
|
mapValue = `{${value}}`;
|
|
384
396
|
}
|
|
385
397
|
return {
|
|
386
|
-
value: `Array.from({ length: faker.number.int({ min: ${mockOptions == null ? void 0 : mockOptions.arrayMin}, max: ${mockOptions == null ? void 0 : mockOptions.arrayMax} }) }, (_, i) => i + 1).map(() => (${mapValue}))`,
|
|
398
|
+
value: `Array.from({ length: faker.number.int({ min: ${(_k = item.minItems) != null ? _k : mockOptions == null ? void 0 : mockOptions.arrayMin}, max: ${(_l = item.maxItems) != null ? _l : mockOptions == null ? void 0 : mockOptions.arrayMax} }) }, (_, i) => i + 1).map(() => (${mapValue}))`,
|
|
387
399
|
imports: resolvedImports,
|
|
388
400
|
name: item.name
|
|
389
401
|
};
|
|
390
402
|
}
|
|
391
403
|
case "string": {
|
|
392
|
-
|
|
404
|
+
const length = `{length: {min: ${(_m = item.minLength) != null ? _m : mockOptions == null ? void 0 : mockOptions.stringMin}, max: ${(_n = item.maxLength) != null ? _n : mockOptions == null ? void 0 : mockOptions.stringMax}}}`;
|
|
405
|
+
let value = `faker.string.alpha(${length})`;
|
|
393
406
|
const stringImports = [];
|
|
394
407
|
if (item.enum) {
|
|
395
408
|
value = getEnum(
|
|
@@ -418,6 +431,22 @@ var getMockScalar = ({
|
|
|
418
431
|
name: item.name
|
|
419
432
|
};
|
|
420
433
|
default: {
|
|
434
|
+
if (item.enum) {
|
|
435
|
+
const enumImports = [];
|
|
436
|
+
const value = getEnum(
|
|
437
|
+
item,
|
|
438
|
+
enumImports,
|
|
439
|
+
context,
|
|
440
|
+
existingReferencedProperties,
|
|
441
|
+
void 0
|
|
442
|
+
);
|
|
443
|
+
return {
|
|
444
|
+
value,
|
|
445
|
+
enums: item.enum,
|
|
446
|
+
imports: enumImports,
|
|
447
|
+
name: item.name
|
|
448
|
+
};
|
|
449
|
+
}
|
|
421
450
|
return getMockObject({
|
|
422
451
|
item,
|
|
423
452
|
mockOptions,
|
|
@@ -448,21 +477,23 @@ function getItemType(item) {
|
|
|
448
477
|
var getEnum = (item, imports, context, existingReferencedProperties, type) => {
|
|
449
478
|
var _a, _b;
|
|
450
479
|
if (!item.enum) return "";
|
|
451
|
-
const joindEnumValues =
|
|
480
|
+
const joindEnumValues = item.enum.filter((e) => e !== null).map(
|
|
481
|
+
(e) => type === "string" || type === void 0 && typeof e === "string" ? `'${(0, import_core3.escape)(e)}'` : e
|
|
482
|
+
).join(",");
|
|
452
483
|
let enumValue = `[${joindEnumValues}]`;
|
|
453
|
-
if (context.output.override.
|
|
484
|
+
if (context.output.override.enumGenerationType === import_core3.EnumGeneration.ENUM) {
|
|
454
485
|
if (item.isRef || existingReferencedProperties.length === 0) {
|
|
455
486
|
enumValue += ` as ${item.name}${item.name.endsWith("[]") ? "" : "[]"}`;
|
|
456
487
|
imports.push({
|
|
457
488
|
name: item.name,
|
|
458
|
-
...!(0,
|
|
489
|
+
...!(0, import_core3.isRootKey)(context.specKey, context.target) ? { specKey: context.specKey } : {}
|
|
459
490
|
});
|
|
460
491
|
} else {
|
|
461
492
|
enumValue += ` as ${existingReferencedProperties[existingReferencedProperties.length - 1]}['${item.name}']`;
|
|
462
493
|
if (!((_a = item.path) == null ? void 0 : _a.endsWith("[]"))) enumValue += "[]";
|
|
463
494
|
imports.push({
|
|
464
495
|
name: existingReferencedProperties[existingReferencedProperties.length - 1],
|
|
465
|
-
...!(0,
|
|
496
|
+
...!(0, import_core3.isRootKey)(context.specKey, context.target) ? { specKey: context.specKey } : {}
|
|
466
497
|
});
|
|
467
498
|
}
|
|
468
499
|
} else {
|
|
@@ -473,7 +504,7 @@ var getEnum = (item, imports, context, existingReferencedProperties, type) => {
|
|
|
473
504
|
imports.push({
|
|
474
505
|
name: item.name,
|
|
475
506
|
values: true,
|
|
476
|
-
...!(0,
|
|
507
|
+
...!(0, import_core3.isRootKey)(context.specKey, context.target) ? { specKey: context.specKey } : {}
|
|
477
508
|
});
|
|
478
509
|
}
|
|
479
510
|
return ((_b = item.path) == null ? void 0 : _b.endsWith("[]")) ? `faker.helpers.arrayElements(${enumValue})` : `faker.helpers.arrayElement(${enumValue})`;
|
|
@@ -519,21 +550,22 @@ var resolveMockValue = ({
|
|
|
519
550
|
allowOverride
|
|
520
551
|
}) => {
|
|
521
552
|
var _a, _b, _c;
|
|
522
|
-
if ((0,
|
|
553
|
+
if ((0, import_core4.isReference)(schema)) {
|
|
523
554
|
const {
|
|
524
555
|
originalName,
|
|
525
556
|
specKey = context.specKey,
|
|
526
557
|
refPaths
|
|
527
|
-
} = (0,
|
|
558
|
+
} = (0, import_core4.getRefInfo)(schema.$ref, context);
|
|
528
559
|
const schemaRef = Array.isArray(refPaths) ? refPaths.reduce(
|
|
529
560
|
(obj, key) => obj && typeof obj === "object" ? obj[key] : void 0,
|
|
530
561
|
context.specs[specKey]
|
|
531
562
|
) : void 0;
|
|
532
563
|
const newSchema = {
|
|
533
564
|
...schemaRef,
|
|
534
|
-
name: (0,
|
|
565
|
+
name: (0, import_core4.pascal)(originalName),
|
|
535
566
|
path: schema.path,
|
|
536
|
-
isRef: true
|
|
567
|
+
isRef: true,
|
|
568
|
+
required: [...(_a = schemaRef == null ? void 0 : schemaRef.required) != null ? _a : [], ...(_b = schema == null ? void 0 : schema.required) != null ? _b : []]
|
|
537
569
|
};
|
|
538
570
|
const newSeparator = newSchema.allOf ? "allOf" : newSchema.oneOf ? "oneOf" : "anyOf";
|
|
539
571
|
const scalar2 = getMockScalar({
|
|
@@ -555,11 +587,11 @@ var resolveMockValue = ({
|
|
|
555
587
|
allowOverride
|
|
556
588
|
});
|
|
557
589
|
if (scalar2.value && (newSchema.type === "object" || newSchema.allOf) && (combine == null ? void 0 : combine.separator) === "oneOf") {
|
|
558
|
-
const funcName = `get${(0,
|
|
590
|
+
const funcName = `get${(0, import_core4.pascal)(operationId)}Response${(0, import_core4.pascal)(newSchema.name)}Mock`;
|
|
559
591
|
if (!(splitMockImplementations == null ? void 0 : splitMockImplementations.some(
|
|
560
592
|
(f) => f.includes(`export const ${funcName}`)
|
|
561
593
|
))) {
|
|
562
|
-
const discriminatedProperty = (
|
|
594
|
+
const discriminatedProperty = (_c = newSchema.discriminator) == null ? void 0 : _c.propertyName;
|
|
563
595
|
let type = `Partial<${newSchema.name}>`;
|
|
564
596
|
if (discriminatedProperty) {
|
|
565
597
|
type = `Omit<${type}, '${discriminatedProperty}'>`;
|
|
@@ -575,12 +607,12 @@ var resolveMockValue = ({
|
|
|
575
607
|
}
|
|
576
608
|
scalar2.imports.push({
|
|
577
609
|
name: newSchema.name,
|
|
578
|
-
specKey: (0,
|
|
610
|
+
specKey: (0, import_core4.isRootKey)(specKey, context.target) ? void 0 : specKey
|
|
579
611
|
});
|
|
580
612
|
}
|
|
581
613
|
return {
|
|
582
614
|
...scalar2,
|
|
583
|
-
type: (
|
|
615
|
+
type: getType(newSchema)
|
|
584
616
|
};
|
|
585
617
|
}
|
|
586
618
|
const scalar = getMockScalar({
|
|
@@ -597,9 +629,13 @@ var resolveMockValue = ({
|
|
|
597
629
|
});
|
|
598
630
|
return {
|
|
599
631
|
...scalar,
|
|
600
|
-
type: (
|
|
632
|
+
type: getType(schema)
|
|
601
633
|
};
|
|
602
634
|
};
|
|
635
|
+
var getType = (schema) => {
|
|
636
|
+
var _a;
|
|
637
|
+
return (_a = schema.type) != null ? _a : schema.properties ? "object" : schema.items ? "array" : void 0;
|
|
638
|
+
};
|
|
603
639
|
|
|
604
640
|
// src/faker/getters/combine.ts
|
|
605
641
|
var combineSchemasMock = ({
|
|
@@ -617,7 +653,7 @@ var combineSchemasMock = ({
|
|
|
617
653
|
var _a, _b, _c, _d;
|
|
618
654
|
const combineImports = [];
|
|
619
655
|
const includedProperties = ((_a = combine == null ? void 0 : combine.includedProperties) != null ? _a : []).slice(0);
|
|
620
|
-
const isRefAndNotExisting = (0,
|
|
656
|
+
const isRefAndNotExisting = (0, import_core5.isReference)(item) && !existingReferencedProperties.includes(item.name);
|
|
621
657
|
const itemResolvedValue = isRefAndNotExisting || item.properties ? resolveMockValue({
|
|
622
658
|
schema: Object.fromEntries(
|
|
623
659
|
Object.entries(item).filter(([key]) => key !== separator)
|
|
@@ -641,7 +677,7 @@ var combineSchemasMock = ({
|
|
|
641
677
|
(acc, val, _, arr) => {
|
|
642
678
|
var _a2, _b2;
|
|
643
679
|
if ("$ref" in val && existingReferencedProperties.includes(
|
|
644
|
-
(0,
|
|
680
|
+
(0, import_core5.pascal)(val.$ref.split("/").pop())
|
|
645
681
|
)) {
|
|
646
682
|
if (arr.length === 1) {
|
|
647
683
|
return "undefined";
|
|
@@ -649,7 +685,7 @@ var combineSchemasMock = ({
|
|
|
649
685
|
return acc;
|
|
650
686
|
}
|
|
651
687
|
if (separator === "allOf" && item.required) {
|
|
652
|
-
if ((0,
|
|
688
|
+
if ((0, import_core5.isSchema)(val) && val.required) {
|
|
653
689
|
val = { ...val, required: [...item.required, ...val.required] };
|
|
654
690
|
} else {
|
|
655
691
|
val = { ...val, required: item.required };
|
|
@@ -712,13 +748,13 @@ var combineSchemasMock = ({
|
|
|
712
748
|
};
|
|
713
749
|
|
|
714
750
|
// src/faker/getters/route.ts
|
|
715
|
-
var
|
|
751
|
+
var import_core6 = require("@orval/core");
|
|
716
752
|
var hasParam = (path) => /[^{]*{[\w*_-]*}.*/.test(path);
|
|
717
753
|
var getRoutePath = (path) => {
|
|
718
754
|
const matches = path.match(/([^{]*){?([\w*_-]*)}?(.*)/);
|
|
719
755
|
if (!(matches == null ? void 0 : matches.length)) return path;
|
|
720
756
|
const prev = matches[1];
|
|
721
|
-
const param = (0,
|
|
757
|
+
const param = (0, import_core6.sanitize)((0, import_core6.camel)(matches[2]), {
|
|
722
758
|
es5keyword: true,
|
|
723
759
|
underscore: true,
|
|
724
760
|
dash: true,
|
|
@@ -745,9 +781,9 @@ var getRouteMSW = (route, baseUrl = "*") => {
|
|
|
745
781
|
};
|
|
746
782
|
|
|
747
783
|
// src/msw/mocks.ts
|
|
748
|
-
var
|
|
749
|
-
var getMockPropertiesWithoutFunc = (properties, spec) => Object.entries((0,
|
|
750
|
-
const implementation = (0,
|
|
784
|
+
var import_core7 = require("@orval/core");
|
|
785
|
+
var getMockPropertiesWithoutFunc = (properties, spec) => Object.entries((0, import_core7.isFunction)(properties) ? properties(spec) : properties).reduce((acc, [key, value]) => {
|
|
786
|
+
const implementation = (0, import_core7.isFunction)(value) ? `(${value})()` : (0, import_core7.stringify)(value);
|
|
751
787
|
acc[key] = implementation == null ? void 0 : implementation.replace(
|
|
752
788
|
/import_faker.defaults|import_faker.faker/g,
|
|
753
789
|
"faker"
|
|
@@ -755,18 +791,23 @@ var getMockPropertiesWithoutFunc = (properties, spec) => Object.entries((0, impo
|
|
|
755
791
|
return acc;
|
|
756
792
|
}, {});
|
|
757
793
|
var getMockWithoutFunc = (spec, override) => {
|
|
758
|
-
var _a, _b, _c, _d, _e;
|
|
794
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
759
795
|
return {
|
|
760
796
|
arrayMin: (_a = override == null ? void 0 : override.mock) == null ? void 0 : _a.arrayMin,
|
|
761
797
|
arrayMax: (_b = override == null ? void 0 : override.mock) == null ? void 0 : _b.arrayMax,
|
|
762
|
-
|
|
763
|
-
|
|
798
|
+
stringMin: (_c = override == null ? void 0 : override.mock) == null ? void 0 : _c.stringMin,
|
|
799
|
+
stringMax: (_d = override == null ? void 0 : override.mock) == null ? void 0 : _d.stringMax,
|
|
800
|
+
numberMin: (_e = override == null ? void 0 : override.mock) == null ? void 0 : _e.numberMin,
|
|
801
|
+
numberMax: (_f = override == null ? void 0 : override.mock) == null ? void 0 : _f.numberMax,
|
|
802
|
+
required: (_g = override == null ? void 0 : override.mock) == null ? void 0 : _g.required,
|
|
803
|
+
fractionDigits: (_h = override == null ? void 0 : override.mock) == null ? void 0 : _h.fractionDigits,
|
|
804
|
+
...((_i = override == null ? void 0 : override.mock) == null ? void 0 : _i.properties) ? {
|
|
764
805
|
properties: getMockPropertiesWithoutFunc(
|
|
765
806
|
override.mock.properties,
|
|
766
807
|
spec
|
|
767
808
|
)
|
|
768
809
|
} : {},
|
|
769
|
-
...((
|
|
810
|
+
...((_j = override == null ? void 0 : override.mock) == null ? void 0 : _j.format) ? {
|
|
770
811
|
format: getMockPropertiesWithoutFunc(override.mock.format, spec)
|
|
771
812
|
} : {},
|
|
772
813
|
...(override == null ? void 0 : override.operations) ? {
|
|
@@ -836,7 +877,7 @@ var getResponsesMockDefinition = ({
|
|
|
836
877
|
return acc;
|
|
837
878
|
}
|
|
838
879
|
}
|
|
839
|
-
if (!definition ||
|
|
880
|
+
if (!definition || import_core7.generalJSTypesWithArray.includes(definition)) {
|
|
840
881
|
const value = getMockScalarJsTypes(definition, mockOptionsWithoutFunc);
|
|
841
882
|
acc.definitions.push(
|
|
842
883
|
transformer ? transformer(value, returnType) : value
|
|
@@ -846,7 +887,7 @@ var getResponsesMockDefinition = ({
|
|
|
846
887
|
if (!originalSchema) {
|
|
847
888
|
return acc;
|
|
848
889
|
}
|
|
849
|
-
const resolvedRef = (0,
|
|
890
|
+
const resolvedRef = (0, import_core7.resolveRef)(originalSchema, context);
|
|
850
891
|
const scalar = getMockScalar({
|
|
851
892
|
item: {
|
|
852
893
|
name: definition,
|
|
@@ -916,7 +957,7 @@ var getMockOptionsDataOverride = (operationTags, operationId, override) => {
|
|
|
916
957
|
var _a2, _b2, _c2;
|
|
917
958
|
return (_c2 = (_b2 = (_a2 = override == null ? void 0 : override.tags) == null ? void 0 : _a2[operationTag]) == null ? void 0 : _b2.mock) == null ? void 0 : _c2.data;
|
|
918
959
|
}).find((e) => e !== void 0);
|
|
919
|
-
const implementation = (0,
|
|
960
|
+
const implementation = (0, import_core7.isFunction)(responseOverride) ? `(${responseOverride})()` : (0, import_core7.stringify)(responseOverride);
|
|
920
961
|
return implementation == null ? void 0 : implementation.replace(
|
|
921
962
|
/import_faker.defaults|import_faker.faker/g,
|
|
922
963
|
"faker"
|
|
@@ -953,7 +994,7 @@ var generateMSWImports = ({
|
|
|
953
994
|
isAllowSyntheticDefaultImports,
|
|
954
995
|
options
|
|
955
996
|
}) => {
|
|
956
|
-
return (0,
|
|
997
|
+
return (0, import_core8.generateDependencyImports)(
|
|
957
998
|
implementation,
|
|
958
999
|
[...getMSWDependencies(options), ...imports],
|
|
959
1000
|
specsName,
|
|
@@ -971,7 +1012,7 @@ var generateDefinition = (name, route, getResponseMockFunctionNameBase, handlerN
|
|
|
971
1012
|
imports: responseImports,
|
|
972
1013
|
override,
|
|
973
1014
|
context,
|
|
974
|
-
mockOptions: !(0,
|
|
1015
|
+
mockOptions: !(0, import_core8.isFunction)(mock) ? mock : void 0,
|
|
975
1016
|
splitMockImplementations
|
|
976
1017
|
});
|
|
977
1018
|
const mockData = getMockOptionsDataOverride(tags, operationId, override);
|
|
@@ -986,10 +1027,10 @@ var generateDefinition = (name, route, getResponseMockFunctionNameBase, handlerN
|
|
|
986
1027
|
const isResponseOverridable = value.includes(overrideVarName);
|
|
987
1028
|
const isTextPlain = contentTypes.includes("text/plain");
|
|
988
1029
|
const isReturnHttpResponse = value && value !== "undefined";
|
|
989
|
-
const getResponseMockFunctionName = `${getResponseMockFunctionNameBase}${(0,
|
|
1030
|
+
const getResponseMockFunctionName = `${getResponseMockFunctionNameBase}${(0, import_core8.pascal)(
|
|
990
1031
|
name
|
|
991
1032
|
)}`;
|
|
992
|
-
const handlerName = `${handlerNameBase}${(0,
|
|
1033
|
+
const handlerName = `${handlerNameBase}${(0, import_core8.pascal)(name)}`;
|
|
993
1034
|
const addedSplitMockImplementations = splitMockImplementations.slice(
|
|
994
1035
|
oldSplitMockImplementations.length
|
|
995
1036
|
);
|
|
@@ -1000,22 +1041,23 @@ var generateDefinition = (name, route, getResponseMockFunctionNameBase, handlerN
|
|
|
1000
1041
|
const mockImplementation = isReturnHttpResponse ? `${mockImplementations}export const ${getResponseMockFunctionName} = (${isResponseOverridable ? `overrideResponse: Partial< ${returnType} > = {}` : ""})${mockData ? "" : `: ${returnType}`} => (${value})
|
|
1001
1042
|
|
|
1002
1043
|
` : mockImplementations;
|
|
1003
|
-
const delay = getDelay(override, !(0,
|
|
1044
|
+
const delay = getDelay(override, !(0, import_core8.isFunction)(mock) ? mock : void 0);
|
|
1004
1045
|
const infoParam = "info";
|
|
1046
|
+
const overrideResponse = `overrideResponse !== undefined
|
|
1047
|
+
? (typeof overrideResponse === "function" ? await overrideResponse(${infoParam}) : overrideResponse)
|
|
1048
|
+
: ${getResponseMockFunctionName}()`;
|
|
1005
1049
|
const handlerImplementation = `
|
|
1006
1050
|
export const ${handlerName} = (overrideResponse?: ${returnType} | ((${infoParam}: Parameters<Parameters<typeof http.${verb}>[1]>[0]) => Promise<${returnType}> | ${returnType})) => {
|
|
1007
|
-
return http.${verb}('${route}', async (${infoParam}) => {${delay !== false ? `await delay(${(0,
|
|
1051
|
+
return http.${verb}('${route}', async (${infoParam}) => {${delay !== false ? `await delay(${(0, import_core8.isFunction)(delay) ? `(${delay})()` : delay});` : ""}
|
|
1008
1052
|
${isReturnHttpResponse ? "" : `if (typeof overrideResponse === 'function') {await overrideResponse(info); }`}
|
|
1009
|
-
return new HttpResponse(${isReturnHttpResponse ? isTextPlain ?
|
|
1010
|
-
? (typeof overrideResponse === "function" ? await overrideResponse(${infoParam}) : overrideResponse)
|
|
1011
|
-
: ${getResponseMockFunctionName}())` : null},
|
|
1053
|
+
return new HttpResponse(${isReturnHttpResponse ? isTextPlain ? overrideResponse : `JSON.stringify(${overrideResponse})` : null},
|
|
1012
1054
|
{ status: ${status === "default" ? 200 : status.replace(/XX$/, "00")},
|
|
1013
1055
|
${isReturnHttpResponse ? `headers: { 'Content-Type': ${isTextPlain ? "'text/plain'" : "'application/json'"} }` : ""}
|
|
1014
1056
|
})
|
|
1015
1057
|
})
|
|
1016
1058
|
}
|
|
1017
1059
|
`;
|
|
1018
|
-
const includeResponseImports =
|
|
1060
|
+
const includeResponseImports = !isTextPlain ? [
|
|
1019
1061
|
...imports,
|
|
1020
1062
|
...response.imports.filter((r) => {
|
|
1021
1063
|
const reg = new RegExp(`\\b${r.name}\\b`);
|
|
@@ -1037,10 +1079,10 @@ var generateMSW = (generatorVerbOptions, generatorOptions) => {
|
|
|
1037
1079
|
const { operationId, response } = generatorVerbOptions;
|
|
1038
1080
|
const route = getRouteMSW(
|
|
1039
1081
|
pathRoute,
|
|
1040
|
-
(_b = (_a = override == null ? void 0 : override.mock) == null ? void 0 : _a.baseUrl) != null ? _b : !(0,
|
|
1082
|
+
(_b = (_a = override == null ? void 0 : override.mock) == null ? void 0 : _a.baseUrl) != null ? _b : !(0, import_core8.isFunction)(mock) ? mock == null ? void 0 : mock.baseUrl : void 0
|
|
1041
1083
|
);
|
|
1042
|
-
const handlerName = `get${(0,
|
|
1043
|
-
const getResponseMockFunctionName = `get${(0,
|
|
1084
|
+
const handlerName = `get${(0, import_core8.pascal)(operationId)}MockHandler`;
|
|
1085
|
+
const getResponseMockFunctionName = `get${(0, import_core8.pascal)(operationId)}ResponseMock`;
|
|
1044
1086
|
const splitMockImplementations = [];
|
|
1045
1087
|
const baseDefinition = generateDefinition(
|
|
1046
1088
|
"",
|
|
@@ -1059,7 +1101,7 @@ var generateMSW = (generatorVerbOptions, generatorOptions) => {
|
|
|
1059
1101
|
const mockImplementations = [baseDefinition.implementation.function];
|
|
1060
1102
|
const handlerImplementations = [baseDefinition.implementation.handler];
|
|
1061
1103
|
const imports = [...baseDefinition.imports];
|
|
1062
|
-
if (generatorOptions.mock && (0,
|
|
1104
|
+
if (generatorOptions.mock && (0, import_core8.isObject)(generatorOptions.mock) && generatorOptions.mock.generateEachHttpStatus) {
|
|
1063
1105
|
[...response.types.success, ...response.types.errors].forEach(
|
|
1064
1106
|
(statusResponse) => {
|
|
1065
1107
|
const definition = generateDefinition(
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/msw/index.ts","../src/delay.ts","../src/faker/getters/combine.ts","../src/faker/resolvers/value.ts","../src/faker/getters/scalar.ts","../src/faker/constants.ts","../src/faker/getters/object.ts","../src/faker/getters/route.ts","../src/msw/mocks.ts"],"sourcesContent":["import {\n GenerateMockImports,\n GeneratorOptions,\n GeneratorVerbOptions,\n GlobalMockOptions,\n} from '@orval/core';\nimport { generateMSW, generateMSWImports } from './msw';\n\nexport const DEFAULT_MOCK_OPTIONS: GlobalMockOptions = {\n type: 'msw',\n useExamples: false,\n};\n\nexport const generateMockImports: GenerateMockImports = (importOptions) => {\n switch (importOptions.options?.type) {\n default: // case 'msw':\n return generateMSWImports(importOptions);\n }\n};\n\nexport const generateMock = (\n generatorVerbOptions: GeneratorVerbOptions,\n generatorOptions: Omit<GeneratorOptions, 'mock'> & {\n mock: GlobalMockOptions;\n },\n) => {\n switch (generatorOptions.mock.type) {\n default: // case 'msw':\n return generateMSW(generatorVerbOptions, generatorOptions);\n }\n};\n","import {\n ClientMockGeneratorBuilder,\n generateDependencyImports,\n GenerateMockImports,\n GeneratorDependency,\n GeneratorImport,\n GeneratorOptions,\n GeneratorVerbOptions,\n GlobalMockOptions,\n isFunction,\n isObject,\n pascal,\n ResReqTypesValue,\n} from '@orval/core';\nimport { getDelay } from '../delay';\nimport { getRouteMSW, overrideVarName } from '../faker/getters';\nimport { getMockDefinition, getMockOptionsDataOverride } from './mocks';\n\nconst getMSWDependencies = (\n options?: GlobalMockOptions,\n): GeneratorDependency[] => {\n const hasDelay = options?.delay !== false;\n const locale = options?.locale;\n\n const exports = [\n { name: 'http', values: true },\n { name: 'HttpResponse', values: true },\n ];\n\n if (hasDelay) {\n exports.push({ name: 'delay', values: true });\n }\n\n return [\n {\n exports,\n dependency: 'msw',\n },\n {\n exports: [{ name: 'faker', values: true }],\n dependency: locale\n ? `@faker-js/faker/locale/${locale}`\n : '@faker-js/faker',\n },\n ];\n};\n\nexport const generateMSWImports: GenerateMockImports = ({\n implementation,\n imports,\n specsName,\n hasSchemaDir,\n isAllowSyntheticDefaultImports,\n options,\n}) => {\n return generateDependencyImports(\n implementation,\n [...getMSWDependencies(options), ...imports],\n specsName,\n hasSchemaDir,\n isAllowSyntheticDefaultImports,\n );\n};\n\nconst generateDefinition = (\n name: string,\n route: string,\n getResponseMockFunctionNameBase: string,\n handlerNameBase: string,\n { operationId, response, verb, tags }: GeneratorVerbOptions,\n { override, context, mock }: GeneratorOptions,\n returnType: string,\n status: string,\n responseImports: GeneratorImport[],\n responses: ResReqTypesValue[],\n contentTypes: string[],\n splitMockImplementations: string[],\n) => {\n const oldSplitMockImplementations = [...splitMockImplementations];\n const { definitions, definition, imports } = getMockDefinition({\n operationId,\n tags,\n returnType,\n responses,\n imports: responseImports,\n override,\n context,\n mockOptions: !isFunction(mock) ? mock : undefined,\n splitMockImplementations,\n });\n\n const mockData = getMockOptionsDataOverride(tags, operationId, override);\n\n let value = '';\n\n if (mockData) {\n value = mockData;\n } else if (definitions.length > 1) {\n value = `faker.helpers.arrayElement(${definition})`;\n } else if (definitions[0]) {\n value = definitions[0];\n }\n\n const isResponseOverridable = value.includes(overrideVarName);\n const isTextPlain = contentTypes.includes('text/plain');\n const isReturnHttpResponse = value && value !== 'undefined';\n\n const getResponseMockFunctionName = `${getResponseMockFunctionNameBase}${pascal(\n name,\n )}`;\n const handlerName = `${handlerNameBase}${pascal(name)}`;\n\n const addedSplitMockImplementations = splitMockImplementations.slice(\n oldSplitMockImplementations.length,\n );\n splitMockImplementations.push(...addedSplitMockImplementations);\n const mockImplementations = addedSplitMockImplementations.length\n ? `${addedSplitMockImplementations.join('\\n\\n')}\\n\\n`\n : '';\n\n const mockImplementation = isReturnHttpResponse\n ? `${mockImplementations}export const ${getResponseMockFunctionName} = (${\n isResponseOverridable\n ? `overrideResponse: Partial< ${returnType} > = {}`\n : ''\n })${mockData ? '' : `: ${returnType}`} => (${value})\\n\\n`\n : mockImplementations;\n\n const delay = getDelay(override, !isFunction(mock) ? mock : undefined);\n const infoParam = 'info';\n const handlerImplementation = `\nexport const ${handlerName} = (overrideResponse?: ${returnType} | ((${infoParam}: Parameters<Parameters<typeof http.${verb}>[1]>[0]) => Promise<${returnType}> | ${returnType})) => {\n return http.${verb}('${route}', async (${infoParam}) => {${\n delay !== false\n ? `await delay(${isFunction(delay) ? `(${delay})()` : delay});`\n : ''\n }\n ${isReturnHttpResponse ? '' : `if (typeof overrideResponse === 'function') {await overrideResponse(info); }`}\n return new HttpResponse(${\n isReturnHttpResponse\n ? isTextPlain\n ? `${getResponseMockFunctionName}()`\n : `JSON.stringify(overrideResponse !== undefined \n ? (typeof overrideResponse === \"function\" ? await overrideResponse(${infoParam}) : overrideResponse) \n : ${getResponseMockFunctionName}())`\n : null\n },\n { status: ${status === 'default' ? 200 : status.replace(/XX$/, '00')},\n ${\n isReturnHttpResponse\n ? `headers: { 'Content-Type': ${isTextPlain ? \"'text/plain'\" : \"'application/json'\"} }`\n : ''\n }\n })\n })\n}\\n`;\n\n const includeResponseImports =\n isReturnHttpResponse && !isTextPlain\n ? [\n ...imports,\n ...response.imports.filter((r) => {\n // Only include imports which are actually used in mock.\n const reg = new RegExp(`\\\\b${r.name}\\\\b`);\n return (\n reg.test(handlerImplementation) || reg.test(mockImplementation)\n );\n }),\n ]\n : imports;\n\n return {\n implementation: {\n function: mockImplementation,\n handlerName: handlerName,\n handler: handlerImplementation,\n },\n imports: includeResponseImports,\n };\n};\n\nexport const generateMSW = (\n generatorVerbOptions: GeneratorVerbOptions,\n generatorOptions: GeneratorOptions,\n): ClientMockGeneratorBuilder => {\n const { pathRoute, override, mock } = generatorOptions;\n const { operationId, response } = generatorVerbOptions;\n\n const route = getRouteMSW(\n pathRoute,\n override?.mock?.baseUrl ?? (!isFunction(mock) ? mock?.baseUrl : undefined),\n );\n\n const handlerName = `get${pascal(operationId)}MockHandler`;\n const getResponseMockFunctionName = `get${pascal(operationId)}ResponseMock`;\n\n const splitMockImplementations: string[] = [];\n\n const baseDefinition = generateDefinition(\n '',\n route,\n getResponseMockFunctionName,\n handlerName,\n generatorVerbOptions,\n generatorOptions,\n response.definition.success,\n response.types.success[0]?.key ?? '200',\n response.imports,\n response.types.success,\n response.contentTypes,\n splitMockImplementations,\n );\n\n const mockImplementations = [baseDefinition.implementation.function];\n const handlerImplementations = [baseDefinition.implementation.handler];\n const imports = [...baseDefinition.imports];\n\n if (\n generatorOptions.mock &&\n isObject(generatorOptions.mock) &&\n generatorOptions.mock.generateEachHttpStatus\n ) {\n [...response.types.success, ...response.types.errors].forEach(\n (statusResponse) => {\n const definition = generateDefinition(\n statusResponse.key,\n route,\n getResponseMockFunctionName,\n handlerName,\n generatorVerbOptions,\n generatorOptions,\n statusResponse.value,\n statusResponse.key,\n response.imports,\n [statusResponse],\n [statusResponse.contentType],\n splitMockImplementations,\n );\n mockImplementations.push(definition.implementation.function);\n handlerImplementations.push(definition.implementation.handler);\n imports.push(...definition.imports);\n },\n );\n }\n\n return {\n implementation: {\n function: mockImplementations.join('\\n'),\n handlerName: handlerName,\n handler: handlerImplementations.join('\\n'),\n },\n imports: imports,\n };\n};\n","import { GlobalMockOptions, NormalizedOverrideOutput } from '@orval/core';\n\nexport const getDelay = (\n override?: NormalizedOverrideOutput,\n options?: GlobalMockOptions,\n): GlobalMockOptions['delay'] => {\n const overrideDelay =\n override?.mock?.delay !== undefined\n ? override?.mock?.delay\n : options?.delay;\n const delayFunctionLazyExecute =\n override?.mock?.delayFunctionLazyExecute ??\n options?.delayFunctionLazyExecute;\n switch (typeof overrideDelay) {\n case 'function':\n return delayFunctionLazyExecute ? overrideDelay : overrideDelay();\n case 'number':\n case 'boolean':\n return overrideDelay;\n default:\n return 1000;\n }\n};\n","import {\n ContextSpecs,\n GeneratorImport,\n isReference,\n isSchema,\n MockOptions,\n pascal,\n} from '@orval/core';\nimport { MockDefinition, MockSchemaObject } from '../../types';\nimport { resolveMockValue } from '../resolvers';\n\nexport const combineSchemasMock = ({\n item,\n separator,\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n}: {\n item: MockSchemaObject;\n separator: 'allOf' | 'oneOf' | 'anyOf';\n operationId: string;\n mockOptions?: MockOptions;\n tags: string[];\n combine?: {\n separator: 'allOf' | 'oneOf' | 'anyOf';\n includedProperties: string[];\n };\n context: ContextSpecs;\n imports: GeneratorImport[];\n // This is used to prevent recursion when combining schemas\n // When an element is added to the array, it means on this iteration, we've already seen this property\n existingReferencedProperties: string[];\n splitMockImplementations: string[];\n}): MockDefinition => {\n const combineImports: GeneratorImport[] = [];\n const includedProperties: string[] = (\n combine?.includedProperties ?? []\n ).slice(0);\n\n const isRefAndNotExisting =\n isReference(item) && !existingReferencedProperties.includes(item.name);\n\n const itemResolvedValue =\n isRefAndNotExisting || item.properties\n ? resolveMockValue({\n schema: Object.fromEntries(\n Object.entries(item).filter(([key]) => key !== separator),\n ) as MockSchemaObject,\n combine: {\n separator: 'allOf',\n includedProperties: [],\n },\n mockOptions,\n operationId,\n tags,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n })\n : undefined;\n\n includedProperties.push(...(itemResolvedValue?.includedProperties ?? []));\n combineImports.push(...(itemResolvedValue?.imports ?? []));\n let containsOnlyPrimitiveValues = true;\n\n const value = (item[separator] ?? []).reduce(\n (acc, val, _, arr) => {\n if (\n '$ref' in val &&\n existingReferencedProperties.includes(\n pascal(val.$ref.split('/').pop()!),\n )\n ) {\n if (arr.length === 1) {\n return 'undefined';\n }\n\n return acc;\n }\n\n // the required fields in this schema need to be considered\n // in the sub schema under the allOf key\n if (separator === 'allOf' && item.required) {\n if (isSchema(val) && val.required) {\n val = { ...val, required: [...item.required, ...val.required] };\n } else {\n val = { ...val, required: item.required };\n }\n }\n\n const resolvedValue = resolveMockValue({\n schema: {\n ...val,\n name: item.name,\n path: item.path ? item.path : '#',\n },\n combine: {\n separator,\n includedProperties:\n separator !== 'oneOf'\n ? includedProperties\n : itemResolvedValue?.includedProperties ?? [],\n },\n mockOptions,\n operationId,\n tags,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n\n combineImports.push(...resolvedValue.imports);\n includedProperties.push(...(resolvedValue.includedProperties ?? []));\n\n if (resolvedValue.value === '{}') {\n containsOnlyPrimitiveValues = false;\n return acc;\n }\n if (separator === 'allOf') {\n if (resolvedValue.value.startsWith('{') || !resolvedValue.type) {\n containsOnlyPrimitiveValues = false;\n return `${acc}...${resolvedValue.value},`;\n } else if (resolvedValue.type === 'object') {\n containsOnlyPrimitiveValues = false;\n return `${acc}...{${resolvedValue.value}},`;\n }\n }\n return `${acc}${resolvedValue.value},`;\n },\n `${separator === 'allOf' ? '' : 'faker.helpers.arrayElement(['}`,\n );\n let finalValue =\n value === 'undefined'\n ? value\n : `${separator === 'allOf' && !containsOnlyPrimitiveValues ? '{' : ''}${value}${separator === 'allOf' ? (containsOnlyPrimitiveValues ? '' : '}') : '])'}`;\n if (itemResolvedValue) {\n if (finalValue.startsWith('...')) {\n finalValue = `...{${finalValue}, ${itemResolvedValue.value}}`;\n } else {\n finalValue = `{...${finalValue}, ${itemResolvedValue.value}}`;\n }\n }\n if (finalValue.endsWith(',')) {\n finalValue = finalValue.substring(0, finalValue.length - 1);\n }\n\n return {\n value: finalValue,\n imports: combineImports,\n name: item.name,\n includedProperties,\n };\n};\n","import {\n ContextSpecs,\n GeneratorImport,\n getRefInfo,\n isReference,\n isRootKey,\n MockOptions,\n pascal,\n} from '@orval/core';\nimport { SchemaObject } from 'openapi3-ts/oas30';\nimport { MockDefinition, MockSchemaObject } from '../../types';\nimport { overrideVarName } from '../getters';\nimport { getMockScalar } from '../getters/scalar';\n\nconst isRegex = (key: string) => key[0] === '/' && key[key.length - 1] === '/';\n\nexport const resolveMockOverride = (\n properties: Record<string, unknown> | undefined = {},\n item: SchemaObject & { name: string; path?: string },\n) => {\n const path = item.path ? item.path : `#.${item.name}`;\n const property = Object.entries(properties).find(([key]) => {\n if (isRegex(key)) {\n const regex = new RegExp(key.slice(1, key.length - 1));\n if (regex.test(item.name) || regex.test(path)) {\n return true;\n }\n }\n\n if (`#.${key}` === path) {\n return true;\n }\n\n return false;\n });\n\n if (!property) {\n return;\n }\n\n return {\n value: getNullable(property[1] as string, item.nullable),\n imports: [],\n name: item.name,\n overrided: true,\n };\n};\n\nexport const getNullable = (value: string, nullable?: boolean) =>\n nullable ? `faker.helpers.arrayElement([${value}, null])` : value;\n\nexport const resolveMockValue = ({\n schema,\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n allowOverride,\n}: {\n schema: MockSchemaObject;\n operationId: string;\n mockOptions?: MockOptions;\n tags: string[];\n combine?: {\n separator: 'allOf' | 'oneOf' | 'anyOf';\n includedProperties: string[];\n };\n context: ContextSpecs;\n imports: GeneratorImport[];\n // This is used to prevent recursion when combining schemas\n // When an element is added to the array, it means on this iteration, we've already seen this property\n existingReferencedProperties: string[];\n splitMockImplementations: string[];\n allowOverride?: boolean;\n}): MockDefinition & { type?: string } => {\n if (isReference(schema)) {\n const {\n originalName,\n specKey = context.specKey,\n refPaths,\n } = getRefInfo(schema.$ref, context);\n\n const schemaRef = Array.isArray(refPaths)\n ? (refPaths.reduce(\n (obj, key) =>\n obj && typeof obj === 'object'\n ? (obj as Record<string, any>)[key]\n : undefined,\n context.specs[specKey],\n ) as Partial<SchemaObject>)\n : undefined;\n\n const newSchema = {\n ...schemaRef,\n name: pascal(originalName),\n path: schema.path,\n isRef: true,\n };\n\n const newSeparator = newSchema.allOf\n ? 'allOf'\n : newSchema.oneOf\n ? 'oneOf'\n : 'anyOf';\n\n const scalar = getMockScalar({\n item: newSchema,\n mockOptions,\n operationId,\n tags,\n combine: combine\n ? {\n separator:\n combine.separator === 'anyOf' ? newSeparator : combine.separator,\n includedProperties:\n newSeparator === 'allOf' ? [] : combine.includedProperties,\n }\n : undefined,\n context: {\n ...context,\n specKey,\n },\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n allowOverride,\n });\n if (\n scalar.value &&\n (newSchema.type === 'object' || newSchema.allOf) &&\n combine?.separator === 'oneOf'\n ) {\n const funcName = `get${pascal(operationId)}Response${pascal(newSchema.name)}Mock`;\n if (\n !splitMockImplementations?.some((f) =>\n f.includes(`export const ${funcName}`),\n )\n ) {\n const discriminatedProperty = newSchema.discriminator?.propertyName;\n\n let type = `Partial<${newSchema.name}>`;\n if (discriminatedProperty) {\n type = `Omit<${type}, '${discriminatedProperty}'>`;\n }\n\n const args = `${overrideVarName}: ${type} = {}`;\n const func = `export const ${funcName} = (${args}): ${newSchema.name} => ({${scalar.value.startsWith('...') ? '' : '...'}${scalar.value}, ...${overrideVarName}});`;\n splitMockImplementations?.push(func);\n }\n\n if (newSchema.nullable) {\n scalar.value = `${funcName}()`;\n } else {\n scalar.value = `{...${funcName}()}`;\n }\n\n scalar.imports.push({\n name: newSchema.name,\n specKey: isRootKey(specKey, context.target) ? undefined : specKey,\n });\n }\n\n return {\n ...scalar,\n type:\n (newSchema.type as string | undefined) ??\n (newSchema.isRef ? 'object' : undefined),\n };\n }\n\n const scalar = getMockScalar({\n item: schema,\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n allowOverride,\n });\n return {\n ...scalar,\n type:\n (schema.type as string | undefined) ??\n (schema.isRef ? 'object' : undefined),\n };\n};\n","import {\n ContextSpecs,\n escape,\n GeneratorImport,\n isReference,\n isRootKey,\n mergeDeep,\n MockOptions,\n pascal,\n} from '@orval/core';\nimport { SchemaObject as SchemaObject31 } from 'openapi3-ts/oas31';\nimport { MockDefinition, MockSchemaObject } from '../../types';\nimport { DEFAULT_FORMAT_MOCK } from '../constants';\nimport {\n getNullable,\n resolveMockOverride,\n resolveMockValue,\n} from '../resolvers';\nimport { getMockObject } from './object';\n\nexport const getMockScalar = ({\n item,\n imports,\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n existingReferencedProperties,\n splitMockImplementations,\n allowOverride = false,\n}: {\n item: MockSchemaObject;\n imports: GeneratorImport[];\n mockOptions?: MockOptions;\n operationId: string;\n isRef?: boolean;\n tags: string[];\n combine?: {\n separator: 'allOf' | 'oneOf' | 'anyOf';\n includedProperties: string[];\n };\n context: ContextSpecs;\n // This is used to prevent recursion when combining schemas\n // When an element is added to the array, it means on this iteration, we've already seen this property\n existingReferencedProperties: string[];\n splitMockImplementations: string[];\n // This is used to add the overrideResponse to the object\n allowOverride?: boolean;\n}): MockDefinition => {\n // Add the property to the existing properties to validate on object recursion\n if (item.isRef) {\n existingReferencedProperties = [...existingReferencedProperties, item.name];\n }\n\n const operationProperty = resolveMockOverride(\n mockOptions?.operations?.[operationId]?.properties,\n item,\n );\n\n if (operationProperty) {\n return operationProperty;\n }\n\n const overrideTag = Object.entries(mockOptions?.tags ?? {})\n .sort((a, b) => {\n return a[0].localeCompare(b[0]);\n })\n .reduce(\n (acc, [tag, options]) =>\n tags.includes(tag) ? mergeDeep(acc, options) : acc,\n {} as { properties: Record<string, unknown> },\n );\n\n const tagProperty = resolveMockOverride(overrideTag?.properties, item);\n\n if (tagProperty) {\n return tagProperty;\n }\n\n const property = resolveMockOverride(mockOptions?.properties, item);\n\n if (property) {\n return property;\n }\n\n if (\n (context.output.override?.mock?.useExamples || mockOptions?.useExamples) &&\n item.example\n ) {\n return {\n value: JSON.stringify(item.example),\n imports: [],\n name: item.name,\n overrided: true,\n };\n }\n\n const ALL_FORMAT = {\n ...DEFAULT_FORMAT_MOCK,\n ...(mockOptions?.format ?? {}),\n };\n\n if (item.format && ALL_FORMAT[item.format]) {\n let value = ALL_FORMAT[item.format] as string;\n\n const dateFormats = ['date', 'date-time'];\n if (dateFormats.includes(item.format) && context.output.override.useDates) {\n value = `new Date(${value})`;\n }\n\n return {\n value: getNullable(value, item.nullable),\n imports: [],\n name: item.name,\n overrided: false,\n };\n }\n\n if (item.format && item.format === 'int64') {\n const value = context.output.override.useBigInt\n ? `faker.number.bigInt({min: ${item.minimum}, max: ${item.maximum}})`\n : `faker.number.int({min: ${item.minimum}, max: ${item.maximum}})`;\n\n return {\n value: getNullable(value, item.nullable),\n imports: [],\n name: item.name,\n overrided: false,\n };\n }\n\n const type = getItemType(item);\n\n switch (type) {\n case 'number':\n case 'integer': {\n let value = getNullable(\n `faker.number.int({min: ${item.minimum}, max: ${item.maximum}})`,\n item.nullable,\n );\n const numberImports: GeneratorImport[] = [];\n\n if (item.enum) {\n value = getEnum(\n item,\n numberImports,\n context,\n existingReferencedProperties,\n 'number',\n );\n } else if ('const' in item) {\n value = '' + (item as SchemaObject31).const;\n }\n\n return {\n value,\n enums: item.enum,\n imports: numberImports,\n name: item.name,\n };\n }\n\n case 'boolean': {\n let value = 'faker.datatype.boolean()';\n if ('const' in item) {\n value = '' + (item as SchemaObject31).const;\n }\n return {\n value,\n imports: [],\n name: item.name,\n };\n }\n\n case 'array': {\n if (!item.items) {\n return { value: '[]', imports: [], name: item.name };\n }\n\n if (\n '$ref' in item.items &&\n existingReferencedProperties.includes(\n pascal(item.items.$ref.split('/').pop()!),\n )\n ) {\n return { value: '[]', imports: [], name: item.name };\n }\n\n const {\n value,\n enums,\n imports: resolvedImports,\n } = resolveMockValue({\n schema: {\n ...item.items,\n name: item.name,\n path: item.path ? `${item.path}.[]` : '#.[]',\n },\n combine,\n mockOptions,\n operationId,\n tags,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n\n if (enums) {\n return {\n value,\n imports: resolvedImports,\n name: item.name,\n };\n }\n\n let mapValue = value;\n\n if (combine && !value.startsWith('faker') && !value.startsWith('{')) {\n mapValue = `{${value}}`;\n }\n\n return {\n value:\n `Array.from({ length: faker.number.int({ ` +\n `min: ${mockOptions?.arrayMin}, ` +\n `max: ${mockOptions?.arrayMax} }) ` +\n `}, (_, i) => i + 1).map(() => (${mapValue}))`,\n imports: resolvedImports,\n name: item.name,\n };\n }\n\n case 'string': {\n let value = 'faker.string.alpha(20)';\n const stringImports: GeneratorImport[] = [];\n\n if (item.enum) {\n value = getEnum(\n item,\n stringImports,\n context,\n existingReferencedProperties,\n 'string',\n );\n } else if (item.pattern) {\n value = `faker.helpers.fromRegExp('${item.pattern}')`;\n } else if ('const' in item) {\n value = `'${(item as SchemaObject31).const}'`;\n }\n\n return {\n value: getNullable(value, item.nullable),\n enums: item.enum,\n name: item.name,\n imports: stringImports,\n };\n }\n\n case 'null':\n return {\n value: 'null',\n imports: [],\n name: item.name,\n };\n\n default: {\n return getMockObject({\n item,\n mockOptions,\n operationId,\n tags,\n combine: combine\n ? {\n separator: combine.separator,\n includedProperties: [],\n }\n : undefined,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n allowOverride,\n });\n }\n }\n};\n\nfunction getItemType(item: MockSchemaObject) {\n if (item.type) return item.type;\n if (!item.enum) return;\n\n const uniqTypes = new Set(item.enum.map((value) => typeof value));\n if (uniqTypes.size > 1) return;\n\n const type = Array.from(uniqTypes.values()).at(0);\n if (!type) return;\n return ['string', 'number'].includes(type) ? type : undefined;\n}\n\nconst getEnum = (\n item: MockSchemaObject,\n imports: GeneratorImport[],\n context: ContextSpecs,\n existingReferencedProperties: string[],\n type: 'string' | 'number',\n) => {\n if (!item.enum) return '';\n const joindEnumValues =\n type === 'string'\n ? `'${item.enum\n .filter((e) => e !== null)\n .map((e) => escape(e))\n .join(\"','\")}'`\n : item.enum.filter((e) => e !== null).join(',');\n\n let enumValue = `[${joindEnumValues}]`;\n if (context.output.override.useNativeEnums) {\n if (item.isRef || existingReferencedProperties.length === 0) {\n enumValue += ` as ${item.name}${item.name.endsWith('[]') ? '' : '[]'}`;\n imports.push({\n name: item.name,\n ...(!isRootKey(context.specKey, context.target)\n ? { specKey: context.specKey }\n : {}),\n });\n } else {\n enumValue += ` as ${existingReferencedProperties[existingReferencedProperties.length - 1]}['${item.name}']`;\n if (!item.path?.endsWith('[]')) enumValue += '[]';\n imports.push({\n name: existingReferencedProperties[\n existingReferencedProperties.length - 1\n ],\n ...(!isRootKey(context.specKey, context.target)\n ? { specKey: context.specKey }\n : {}),\n });\n }\n } else {\n enumValue += ' as const';\n }\n\n // But if the value is a reference, we can use the object directly via the imports and using Object.values.\n if (item.isRef && type === 'string') {\n enumValue = `Object.values(${item.name})`;\n imports.push({\n name: item.name,\n values: true,\n ...(!isRootKey(context.specKey, context.target)\n ? { specKey: context.specKey }\n : {}),\n });\n }\n\n return item.path?.endsWith('[]')\n ? `faker.helpers.arrayElements(${enumValue})`\n : `faker.helpers.arrayElement(${enumValue})`;\n};\n","import { SchemaObject } from 'openapi3-ts/oas30';\n\nexport const DEFAULT_FORMAT_MOCK: Record<\n Required<SchemaObject>['format'],\n string\n> = {\n bic: 'faker.finance.bic()',\n binary:\n \"new Blob(faker.helpers.arrayElements(faker.word.words(10).split(' ')))\",\n city: 'faker.location.city()',\n country: 'faker.location.country()',\n date: \"faker.date.past().toISOString().split('T')[0]\",\n 'date-time': \"`${faker.date.past().toISOString().split('.')[0]}Z`\",\n double: 'faker.number.float()',\n email: 'faker.internet.email()',\n firstName: 'faker.person.firstName()',\n float: 'faker.number.float()',\n gender: 'faker.person.gender()',\n iban: 'faker.finance.iban()',\n ipv4: 'faker.internet.ipv4()',\n ipv6: 'faker.internet.ipv6()',\n jobTitle: 'faker.person.jobTitle()',\n lastName: 'faker.person.lastName()',\n password: 'faker.internet.password()',\n phoneNumber: 'faker.phone.number()',\n streetName: 'faker.location.street()',\n uri: 'faker.internet.url()',\n url: 'faker.internet.url()',\n userName: 'faker.internet.userName()',\n uuid: 'faker.string.uuid()',\n zipCode: 'faker.location.zipCode()',\n};\n\n// #980 replace CUID so tests are consistent\nexport const DEFAULT_OBJECT_KEY_MOCK = 'faker.string.alphanumeric(5)';\n","import {\n ContextSpecs,\n GeneratorImport,\n getKey,\n isBoolean,\n isReference,\n MockOptions,\n pascal,\n PropertySortOrder,\n} from '@orval/core';\nimport { ReferenceObject, SchemaObject } from 'openapi3-ts/oas30';\nimport { MockDefinition, MockSchemaObject } from '../../types';\nimport { DEFAULT_OBJECT_KEY_MOCK } from '../constants';\nimport { resolveMockValue } from '../resolvers/value';\nimport { combineSchemasMock } from './combine';\n\nexport const overrideVarName = 'overrideResponse';\n\nexport const getMockObject = ({\n item,\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n allowOverride = false,\n}: {\n item: MockSchemaObject;\n operationId: string;\n mockOptions?: MockOptions;\n tags: string[];\n combine?: {\n separator: 'allOf' | 'oneOf' | 'anyOf';\n includedProperties: string[];\n };\n context: ContextSpecs;\n imports: GeneratorImport[];\n // This is used to prevent recursion when combining schemas\n // When an element is added to the array, it means on this iteration, we've already seen this property\n existingReferencedProperties: string[];\n splitMockImplementations: string[];\n // This is used to add the overrideResponse to the object\n allowOverride?: boolean;\n}): MockDefinition => {\n if (isReference(item)) {\n return resolveMockValue({\n schema: {\n ...item,\n name: item.name,\n path: item.path ? `${item.path}.${item.name}` : item.name,\n },\n mockOptions,\n operationId,\n tags,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n }\n\n if (item.allOf || item.oneOf || item.anyOf) {\n const separator = item.allOf ? 'allOf' : item.oneOf ? 'oneOf' : 'anyOf';\n return combineSchemasMock({\n item,\n separator,\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n }\n\n if (Array.isArray(item.type)) {\n return combineSchemasMock({\n item: {\n anyOf: item.type.map((type) => ({ type })),\n name: item.name,\n },\n separator: 'anyOf',\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n }\n\n if (item.properties) {\n let value =\n !combine ||\n combine?.separator === 'oneOf' ||\n combine?.separator === 'anyOf'\n ? '{'\n : '';\n const imports: GeneratorImport[] = [];\n const includedProperties: string[] = [];\n\n const entries = Object.entries(item.properties);\n if (context.output.propertySortOrder === PropertySortOrder.ALPHABETICAL) {\n entries.sort((a, b) => {\n return a[0].localeCompare(b[0]);\n });\n }\n const properyScalars = entries\n .map(([key, prop]: [string, ReferenceObject | SchemaObject]) => {\n if (combine?.includedProperties.includes(key)) {\n return undefined;\n }\n\n const isRequired =\n mockOptions?.required ||\n (Array.isArray(item.required) ? item.required : []).includes(key);\n\n // Check to see if the property is a reference to an existing property\n // Fixes issue #910\n if (\n '$ref' in prop &&\n existingReferencedProperties.includes(\n pascal(prop.$ref.split('/').pop()!),\n )\n ) {\n return undefined;\n }\n\n const resolvedValue = resolveMockValue({\n schema: {\n ...prop,\n name: key,\n path: item.path ? `${item.path}.${key}` : `#.${key}`,\n },\n mockOptions,\n operationId,\n tags,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n\n imports.push(...resolvedValue.imports);\n includedProperties.push(key);\n\n const keyDefinition = getKey(key);\n if (!isRequired && !resolvedValue.overrided) {\n return `${keyDefinition}: faker.helpers.arrayElement([${resolvedValue.value}, undefined])`;\n }\n\n return `${keyDefinition}: ${resolvedValue.value}`;\n })\n .filter(Boolean);\n\n if (allowOverride) {\n properyScalars.push(`...${overrideVarName}`);\n }\n\n value += properyScalars.join(', ');\n value +=\n !combine ||\n combine?.separator === 'oneOf' ||\n combine?.separator === 'anyOf'\n ? '}'\n : '';\n\n return {\n value,\n imports,\n name: item.name,\n includedProperties,\n };\n }\n\n if (item.additionalProperties) {\n if (isBoolean(item.additionalProperties)) {\n return { value: `{}`, imports: [], name: item.name };\n }\n if (\n isReference(item.additionalProperties) &&\n existingReferencedProperties.includes(\n item.additionalProperties.$ref.split('/').pop()!,\n )\n ) {\n return { value: `{}`, imports: [], name: item.name };\n }\n\n const resolvedValue = resolveMockValue({\n schema: {\n ...item.additionalProperties,\n name: item.name,\n path: item.path ? `${item.path}.#` : '#',\n },\n mockOptions,\n operationId,\n tags,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n\n return {\n ...resolvedValue,\n value: `{\n [${DEFAULT_OBJECT_KEY_MOCK}]: ${resolvedValue.value}\n }`,\n };\n }\n\n return { value: '{}', imports: [], name: item.name };\n};\n","import { camel, sanitize } from '@orval/core';\n\nconst hasParam = (path: string): boolean => /[^{]*{[\\w*_-]*}.*/.test(path);\n\nconst getRoutePath = (path: string): string => {\n const matches = path.match(/([^{]*){?([\\w*_-]*)}?(.*)/);\n if (!matches?.length) return path; // impossible due to regexp grouping here, but for TS\n\n const prev = matches[1];\n const param = sanitize(camel(matches[2]), {\n es5keyword: true,\n underscore: true,\n dash: true,\n dot: true,\n });\n const next = hasParam(matches[3]) ? getRoutePath(matches[3]) : matches[3];\n\n if (hasParam(path)) {\n return `${prev}:${param}${next}`;\n } else {\n return `${prev}${param}${next}`;\n }\n};\n\nexport const getRouteMSW = (route: string, baseUrl = '*') => {\n const splittedRoute = route.split('/');\n\n return splittedRoute.reduce((acc, path, i) => {\n if (!path && !i) {\n return acc;\n }\n\n if (!path.includes('{')) {\n return `${acc}/${path}`;\n }\n\n return `${acc}/${getRoutePath(path)}`;\n }, baseUrl);\n};\n","import {\n ContextSpecs,\n generalJSTypesWithArray,\n GeneratorImport,\n GlobalMockOptions,\n isFunction,\n MockOptions,\n NormalizedOverrideOutput,\n resolveRef,\n ResReqTypesValue,\n stringify,\n} from '@orval/core';\nimport { OpenAPIObject, SchemaObject } from 'openapi3-ts/oas30';\nimport { getMockScalar } from '../faker/getters';\n\nconst getMockPropertiesWithoutFunc = (properties: any, spec: OpenAPIObject) =>\n Object.entries(isFunction(properties) ? properties(spec) : properties).reduce<\n Record<string, string>\n >((acc, [key, value]) => {\n const implementation = isFunction(value)\n ? `(${value})()`\n : stringify(value as string)!;\n\n acc[key] = implementation?.replace(\n /import_faker.defaults|import_faker.faker/g,\n 'faker',\n );\n return acc;\n }, {});\n\nconst getMockWithoutFunc = (\n spec: OpenAPIObject,\n override?: NormalizedOverrideOutput,\n): MockOptions => ({\n arrayMin: override?.mock?.arrayMin,\n arrayMax: override?.mock?.arrayMax,\n required: override?.mock?.required,\n ...(override?.mock?.properties\n ? {\n properties: getMockPropertiesWithoutFunc(\n override.mock.properties,\n spec,\n ),\n }\n : {}),\n ...(override?.mock?.format\n ? {\n format: getMockPropertiesWithoutFunc(override.mock.format, spec),\n }\n : {}),\n ...(override?.operations\n ? {\n operations: Object.entries(override.operations).reduce<\n Exclude<MockOptions['operations'], undefined>\n >((acc, [key, value]) => {\n if (value.mock?.properties) {\n acc[key] = {\n properties: getMockPropertiesWithoutFunc(\n value.mock.properties,\n spec,\n ),\n };\n }\n\n return acc;\n }, {}),\n }\n : {}),\n ...(override?.tags\n ? {\n tags: Object.entries(override.tags).reduce<\n Exclude<MockOptions['tags'], undefined>\n >((acc, [key, value]) => {\n if (value.mock?.properties) {\n acc[key] = {\n properties: getMockPropertiesWithoutFunc(\n value.mock.properties,\n spec,\n ),\n };\n }\n\n return acc;\n }, {}),\n }\n : {}),\n});\n\nconst getMockScalarJsTypes = (\n definition: string,\n mockOptionsWithoutFunc: { [key: string]: unknown },\n) => {\n const isArray = definition.endsWith('[]');\n const type = isArray ? definition.slice(0, -2) : definition;\n\n switch (type) {\n case 'number':\n return isArray\n ? `Array.from({length: faker.number.int({` +\n `min: ${mockOptionsWithoutFunc.arrayMin}, ` +\n `max: ${mockOptionsWithoutFunc.arrayMax}}` +\n `)}, () => faker.number.int())`\n : 'faker.number.int()';\n case 'string':\n return isArray\n ? `Array.from({length: faker.number.int({` +\n `min: ${mockOptionsWithoutFunc?.arrayMin},` +\n `max: ${mockOptionsWithoutFunc?.arrayMax}}` +\n `)}, () => faker.word.sample())`\n : 'faker.word.sample()';\n default:\n return 'undefined';\n }\n};\n\nexport const getResponsesMockDefinition = ({\n operationId,\n tags,\n returnType,\n responses,\n imports: responseImports,\n mockOptionsWithoutFunc,\n transformer,\n context,\n mockOptions,\n splitMockImplementations,\n}: {\n operationId: string;\n tags: string[];\n returnType: string;\n responses: ResReqTypesValue[];\n imports: GeneratorImport[];\n mockOptionsWithoutFunc: { [key: string]: unknown };\n transformer?: (value: unknown, definition: string) => string;\n context: ContextSpecs;\n mockOptions?: GlobalMockOptions;\n splitMockImplementations: string[];\n}) => {\n return responses.reduce(\n (\n acc,\n { value: definition, originalSchema, example, examples, imports, isRef },\n ) => {\n if (\n context.output.override?.mock?.useExamples ||\n mockOptions?.useExamples\n ) {\n let exampleValue =\n example ||\n originalSchema?.example ||\n Object.values(examples || {})[0] ||\n originalSchema?.examples?.[0];\n exampleValue = exampleValue?.value ?? exampleValue;\n if (exampleValue) {\n acc.definitions.push(\n transformer\n ? transformer(exampleValue, returnType)\n : JSON.stringify(exampleValue),\n );\n return acc;\n }\n }\n if (!definition || generalJSTypesWithArray.includes(definition)) {\n const value = getMockScalarJsTypes(definition, mockOptionsWithoutFunc);\n\n acc.definitions.push(\n transformer ? transformer(value, returnType) : value,\n );\n\n return acc;\n }\n\n if (!originalSchema) {\n return acc;\n }\n\n const resolvedRef = resolveRef<SchemaObject>(originalSchema, context);\n\n const scalar = getMockScalar({\n item: {\n name: definition,\n ...resolvedRef.schema,\n },\n imports,\n mockOptions: mockOptionsWithoutFunc,\n operationId,\n tags,\n context: isRef\n ? {\n ...context,\n specKey: responseImports[0]?.specKey ?? context.specKey,\n }\n : context,\n existingReferencedProperties: [],\n splitMockImplementations,\n allowOverride: true,\n });\n\n acc.imports.push(...scalar.imports);\n acc.definitions.push(\n transformer\n ? transformer(scalar.value, returnType)\n : scalar.value.toString(),\n );\n\n return acc;\n },\n {\n definitions: [] as string[],\n imports: [] as GeneratorImport[],\n },\n );\n};\n\nexport const getMockDefinition = ({\n operationId,\n tags,\n returnType,\n responses,\n imports: responseImports,\n override,\n transformer,\n context,\n mockOptions,\n splitMockImplementations,\n}: {\n operationId: string;\n tags: string[];\n returnType: string;\n responses: ResReqTypesValue[];\n imports: GeneratorImport[];\n override: NormalizedOverrideOutput;\n transformer?: (value: unknown, definition: string) => string;\n context: ContextSpecs;\n mockOptions?: GlobalMockOptions;\n splitMockImplementations: string[];\n}) => {\n const mockOptionsWithoutFunc = getMockWithoutFunc(\n context.specs[context.specKey],\n override,\n );\n\n const { definitions, imports } = getResponsesMockDefinition({\n operationId,\n tags,\n returnType,\n responses,\n imports: responseImports,\n mockOptionsWithoutFunc,\n transformer,\n context,\n mockOptions,\n splitMockImplementations,\n });\n\n return {\n definition: '[' + definitions.join(', ') + ']',\n definitions,\n imports,\n };\n};\n\nexport const getMockOptionsDataOverride = (\n operationTags: string[],\n operationId: string,\n override: NormalizedOverrideOutput,\n) => {\n const responseOverride =\n override?.operations?.[operationId]?.mock?.data ||\n operationTags\n .map((operationTag) => override?.tags?.[operationTag]?.mock?.data)\n .find((e) => e !== undefined);\n const implementation = isFunction(responseOverride)\n ? `(${responseOverride})()`\n : stringify(responseOverride);\n\n return implementation?.replace(\n /import_faker.defaults|import_faker.faker/g,\n 'faker',\n );\n};\n"],"mappings":"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","names":["import_core","import_core","import_core","import_core","imports","scalar","_a","_b","import_core","import_core","_a","_b","_c","exports"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/msw/index.ts","../src/delay.ts","../src/faker/getters/combine.ts","../src/faker/resolvers/value.ts","../src/faker/getters/scalar.ts","../src/faker/constants.ts","../src/faker/getters/object.ts","../src/faker/compatibleV9.ts","../src/faker/getters/route.ts","../src/msw/mocks.ts"],"sourcesContent":["import {\n GenerateMockImports,\n GeneratorOptions,\n GeneratorVerbOptions,\n GlobalMockOptions,\n} from '@orval/core';\nimport { generateMSW, generateMSWImports } from './msw';\n\nexport const DEFAULT_MOCK_OPTIONS: GlobalMockOptions = {\n type: 'msw',\n useExamples: false,\n};\n\nexport const generateMockImports: GenerateMockImports = (importOptions) => {\n switch (importOptions.options?.type) {\n default: // case 'msw':\n return generateMSWImports(importOptions);\n }\n};\n\nexport const generateMock = (\n generatorVerbOptions: GeneratorVerbOptions,\n generatorOptions: Omit<GeneratorOptions, 'mock'> & {\n mock: GlobalMockOptions;\n },\n) => {\n switch (generatorOptions.mock.type) {\n default: // case 'msw':\n return generateMSW(generatorVerbOptions, generatorOptions);\n }\n};\n","import {\n ClientMockGeneratorBuilder,\n generateDependencyImports,\n GenerateMockImports,\n GeneratorDependency,\n GeneratorImport,\n GeneratorOptions,\n GeneratorVerbOptions,\n GlobalMockOptions,\n isFunction,\n isObject,\n pascal,\n ResReqTypesValue,\n} from '@orval/core';\nimport { getDelay } from '../delay';\nimport { getRouteMSW, overrideVarName } from '../faker/getters';\nimport { getMockDefinition, getMockOptionsDataOverride } from './mocks';\n\nconst getMSWDependencies = (\n options?: GlobalMockOptions,\n): GeneratorDependency[] => {\n const hasDelay = options?.delay !== false;\n const locale = options?.locale;\n\n const exports = [\n { name: 'http', values: true },\n { name: 'HttpResponse', values: true },\n ];\n\n if (hasDelay) {\n exports.push({ name: 'delay', values: true });\n }\n\n return [\n {\n exports,\n dependency: 'msw',\n },\n {\n exports: [{ name: 'faker', values: true }],\n dependency: locale\n ? `@faker-js/faker/locale/${locale}`\n : '@faker-js/faker',\n },\n ];\n};\n\nexport const generateMSWImports: GenerateMockImports = ({\n implementation,\n imports,\n specsName,\n hasSchemaDir,\n isAllowSyntheticDefaultImports,\n options,\n}) => {\n return generateDependencyImports(\n implementation,\n [...getMSWDependencies(options), ...imports],\n specsName,\n hasSchemaDir,\n isAllowSyntheticDefaultImports,\n );\n};\n\nconst generateDefinition = (\n name: string,\n route: string,\n getResponseMockFunctionNameBase: string,\n handlerNameBase: string,\n { operationId, response, verb, tags }: GeneratorVerbOptions,\n { override, context, mock }: GeneratorOptions,\n returnType: string,\n status: string,\n responseImports: GeneratorImport[],\n responses: ResReqTypesValue[],\n contentTypes: string[],\n splitMockImplementations: string[],\n) => {\n const oldSplitMockImplementations = [...splitMockImplementations];\n const { definitions, definition, imports } = getMockDefinition({\n operationId,\n tags,\n returnType,\n responses,\n imports: responseImports,\n override,\n context,\n mockOptions: !isFunction(mock) ? mock : undefined,\n splitMockImplementations,\n });\n\n const mockData = getMockOptionsDataOverride(tags, operationId, override);\n\n let value = '';\n\n if (mockData) {\n value = mockData;\n } else if (definitions.length > 1) {\n value = `faker.helpers.arrayElement(${definition})`;\n } else if (definitions[0]) {\n value = definitions[0];\n }\n\n const isResponseOverridable = value.includes(overrideVarName);\n const isTextPlain = contentTypes.includes('text/plain');\n const isReturnHttpResponse = value && value !== 'undefined';\n\n const getResponseMockFunctionName = `${getResponseMockFunctionNameBase}${pascal(\n name,\n )}`;\n const handlerName = `${handlerNameBase}${pascal(name)}`;\n\n const addedSplitMockImplementations = splitMockImplementations.slice(\n oldSplitMockImplementations.length,\n );\n splitMockImplementations.push(...addedSplitMockImplementations);\n const mockImplementations = addedSplitMockImplementations.length\n ? `${addedSplitMockImplementations.join('\\n\\n')}\\n\\n`\n : '';\n\n const mockImplementation = isReturnHttpResponse\n ? `${mockImplementations}export const ${getResponseMockFunctionName} = (${\n isResponseOverridable\n ? `overrideResponse: Partial< ${returnType} > = {}`\n : ''\n })${mockData ? '' : `: ${returnType}`} => (${value})\\n\\n`\n : mockImplementations;\n\n const delay = getDelay(override, !isFunction(mock) ? mock : undefined);\n const infoParam = 'info';\n const overrideResponse = `overrideResponse !== undefined\n ? (typeof overrideResponse === \"function\" ? await overrideResponse(${infoParam}) : overrideResponse)\n : ${getResponseMockFunctionName}()`;\n const handlerImplementation = `\nexport const ${handlerName} = (overrideResponse?: ${returnType} | ((${infoParam}: Parameters<Parameters<typeof http.${verb}>[1]>[0]) => Promise<${returnType}> | ${returnType})) => {\n return http.${verb}('${route}', async (${infoParam}) => {${\n delay !== false\n ? `await delay(${isFunction(delay) ? `(${delay})()` : delay});`\n : ''\n }\n ${isReturnHttpResponse ? '' : `if (typeof overrideResponse === 'function') {await overrideResponse(info); }`}\n return new HttpResponse(${\n isReturnHttpResponse\n ? isTextPlain\n ? overrideResponse\n : `JSON.stringify(${overrideResponse})`\n : null\n },\n { status: ${status === 'default' ? 200 : status.replace(/XX$/, '00')},\n ${\n isReturnHttpResponse\n ? `headers: { 'Content-Type': ${isTextPlain ? \"'text/plain'\" : \"'application/json'\"} }`\n : ''\n }\n })\n })\n}\\n`;\n\n const includeResponseImports = !isTextPlain\n ? [\n ...imports,\n ...response.imports.filter((r) => {\n // Only include imports which are actually used in mock.\n const reg = new RegExp(`\\\\b${r.name}\\\\b`);\n return (\n reg.test(handlerImplementation) || reg.test(mockImplementation)\n );\n }),\n ]\n : imports;\n\n return {\n implementation: {\n function: mockImplementation,\n handlerName: handlerName,\n handler: handlerImplementation,\n },\n imports: includeResponseImports,\n };\n};\n\nexport const generateMSW = (\n generatorVerbOptions: GeneratorVerbOptions,\n generatorOptions: GeneratorOptions,\n): ClientMockGeneratorBuilder => {\n const { pathRoute, override, mock } = generatorOptions;\n const { operationId, response } = generatorVerbOptions;\n\n const route = getRouteMSW(\n pathRoute,\n override?.mock?.baseUrl ?? (!isFunction(mock) ? mock?.baseUrl : undefined),\n );\n\n const handlerName = `get${pascal(operationId)}MockHandler`;\n const getResponseMockFunctionName = `get${pascal(operationId)}ResponseMock`;\n\n const splitMockImplementations: string[] = [];\n\n const baseDefinition = generateDefinition(\n '',\n route,\n getResponseMockFunctionName,\n handlerName,\n generatorVerbOptions,\n generatorOptions,\n response.definition.success,\n response.types.success[0]?.key ?? '200',\n response.imports,\n response.types.success,\n response.contentTypes,\n splitMockImplementations,\n );\n\n const mockImplementations = [baseDefinition.implementation.function];\n const handlerImplementations = [baseDefinition.implementation.handler];\n const imports = [...baseDefinition.imports];\n\n if (\n generatorOptions.mock &&\n isObject(generatorOptions.mock) &&\n generatorOptions.mock.generateEachHttpStatus\n ) {\n [...response.types.success, ...response.types.errors].forEach(\n (statusResponse) => {\n const definition = generateDefinition(\n statusResponse.key,\n route,\n getResponseMockFunctionName,\n handlerName,\n generatorVerbOptions,\n generatorOptions,\n statusResponse.value,\n statusResponse.key,\n response.imports,\n [statusResponse],\n [statusResponse.contentType],\n splitMockImplementations,\n );\n mockImplementations.push(definition.implementation.function);\n handlerImplementations.push(definition.implementation.handler);\n imports.push(...definition.imports);\n },\n );\n }\n\n return {\n implementation: {\n function: mockImplementations.join('\\n'),\n handlerName: handlerName,\n handler: handlerImplementations.join('\\n'),\n },\n imports: imports,\n };\n};\n","import { GlobalMockOptions, NormalizedOverrideOutput } from '@orval/core';\n\nexport const getDelay = (\n override?: NormalizedOverrideOutput,\n options?: GlobalMockOptions,\n): GlobalMockOptions['delay'] => {\n const overrideDelay =\n override?.mock?.delay !== undefined\n ? override?.mock?.delay\n : options?.delay;\n const delayFunctionLazyExecute =\n override?.mock?.delayFunctionLazyExecute ??\n options?.delayFunctionLazyExecute;\n switch (typeof overrideDelay) {\n case 'function':\n return delayFunctionLazyExecute ? overrideDelay : overrideDelay();\n case 'number':\n case 'boolean':\n return overrideDelay;\n default:\n return 1000;\n }\n};\n","import {\n ContextSpecs,\n GeneratorImport,\n isReference,\n isSchema,\n MockOptions,\n pascal,\n} from '@orval/core';\nimport { MockDefinition, MockSchemaObject } from '../../types';\nimport { resolveMockValue } from '../resolvers';\n\nexport const combineSchemasMock = ({\n item,\n separator,\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n}: {\n item: MockSchemaObject;\n separator: 'allOf' | 'oneOf' | 'anyOf';\n operationId: string;\n mockOptions?: MockOptions;\n tags: string[];\n combine?: {\n separator: 'allOf' | 'oneOf' | 'anyOf';\n includedProperties: string[];\n };\n context: ContextSpecs;\n imports: GeneratorImport[];\n // This is used to prevent recursion when combining schemas\n // When an element is added to the array, it means on this iteration, we've already seen this property\n existingReferencedProperties: string[];\n splitMockImplementations: string[];\n}): MockDefinition => {\n const combineImports: GeneratorImport[] = [];\n const includedProperties: string[] = (\n combine?.includedProperties ?? []\n ).slice(0);\n\n const isRefAndNotExisting =\n isReference(item) && !existingReferencedProperties.includes(item.name);\n\n const itemResolvedValue =\n isRefAndNotExisting || item.properties\n ? resolveMockValue({\n schema: Object.fromEntries(\n Object.entries(item).filter(([key]) => key !== separator),\n ) as MockSchemaObject,\n combine: {\n separator: 'allOf',\n includedProperties: [],\n },\n mockOptions,\n operationId,\n tags,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n })\n : undefined;\n\n includedProperties.push(...(itemResolvedValue?.includedProperties ?? []));\n combineImports.push(...(itemResolvedValue?.imports ?? []));\n let containsOnlyPrimitiveValues = true;\n\n const value = (item[separator] ?? []).reduce(\n (acc, val, _, arr) => {\n if (\n '$ref' in val &&\n existingReferencedProperties.includes(\n pascal(val.$ref.split('/').pop()!),\n )\n ) {\n if (arr.length === 1) {\n return 'undefined';\n }\n\n return acc;\n }\n\n // the required fields in this schema need to be considered\n // in the sub schema under the allOf key\n if (separator === 'allOf' && item.required) {\n if (isSchema(val) && val.required) {\n val = { ...val, required: [...item.required, ...val.required] };\n } else {\n val = { ...val, required: item.required };\n }\n }\n\n const resolvedValue = resolveMockValue({\n schema: {\n ...val,\n name: item.name,\n path: item.path ? item.path : '#',\n },\n combine: {\n separator,\n includedProperties:\n separator !== 'oneOf'\n ? includedProperties\n : itemResolvedValue?.includedProperties ?? [],\n },\n mockOptions,\n operationId,\n tags,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n\n combineImports.push(...resolvedValue.imports);\n includedProperties.push(...(resolvedValue.includedProperties ?? []));\n\n if (resolvedValue.value === '{}') {\n containsOnlyPrimitiveValues = false;\n return acc;\n }\n if (separator === 'allOf') {\n if (resolvedValue.value.startsWith('{') || !resolvedValue.type) {\n containsOnlyPrimitiveValues = false;\n return `${acc}...${resolvedValue.value},`;\n } else if (resolvedValue.type === 'object') {\n containsOnlyPrimitiveValues = false;\n return `${acc}...{${resolvedValue.value}},`;\n }\n }\n return `${acc}${resolvedValue.value},`;\n },\n `${separator === 'allOf' ? '' : 'faker.helpers.arrayElement(['}`,\n );\n let finalValue =\n value === 'undefined'\n ? value\n : `${separator === 'allOf' && !containsOnlyPrimitiveValues ? '{' : ''}${value}${separator === 'allOf' ? (containsOnlyPrimitiveValues ? '' : '}') : '])'}`;\n if (itemResolvedValue) {\n if (finalValue.startsWith('...')) {\n finalValue = `...{${finalValue}, ${itemResolvedValue.value}}`;\n } else {\n finalValue = `{...${finalValue}, ${itemResolvedValue.value}}`;\n }\n }\n if (finalValue.endsWith(',')) {\n finalValue = finalValue.substring(0, finalValue.length - 1);\n }\n\n return {\n value: finalValue,\n imports: combineImports,\n name: item.name,\n includedProperties,\n };\n};\n","import {\n ContextSpecs,\n GeneratorImport,\n getRefInfo,\n isReference,\n isRootKey,\n MockOptions,\n pascal,\n} from '@orval/core';\nimport { SchemaObject } from 'openapi3-ts/oas30';\nimport { MockDefinition, MockSchemaObject } from '../../types';\nimport { overrideVarName } from '../getters';\nimport { getMockScalar } from '../getters/scalar';\n\nconst isRegex = (key: string) => key[0] === '/' && key[key.length - 1] === '/';\n\nexport const resolveMockOverride = (\n properties: Record<string, unknown> | undefined = {},\n item: SchemaObject & { name: string; path?: string },\n) => {\n const path = item.path ? item.path : `#.${item.name}`;\n const property = Object.entries(properties).find(([key]) => {\n if (isRegex(key)) {\n const regex = new RegExp(key.slice(1, key.length - 1));\n if (regex.test(item.name) || regex.test(path)) {\n return true;\n }\n }\n\n if (`#.${key}` === path) {\n return true;\n }\n\n return false;\n });\n\n if (!property) {\n return;\n }\n\n return {\n value: getNullable(property[1] as string, item.nullable),\n imports: [],\n name: item.name,\n overrided: true,\n };\n};\n\nexport const getNullable = (value: string, nullable?: boolean) =>\n nullable ? `faker.helpers.arrayElement([${value}, null])` : value;\n\nexport const resolveMockValue = ({\n schema,\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n allowOverride,\n}: {\n schema: MockSchemaObject;\n operationId: string;\n mockOptions?: MockOptions;\n tags: string[];\n combine?: {\n separator: 'allOf' | 'oneOf' | 'anyOf';\n includedProperties: string[];\n };\n context: ContextSpecs;\n imports: GeneratorImport[];\n // This is used to prevent recursion when combining schemas\n // When an element is added to the array, it means on this iteration, we've already seen this property\n existingReferencedProperties: string[];\n splitMockImplementations: string[];\n allowOverride?: boolean;\n}): MockDefinition & { type?: string } => {\n if (isReference(schema)) {\n const {\n originalName,\n specKey = context.specKey,\n refPaths,\n } = getRefInfo(schema.$ref, context);\n\n const schemaRef = Array.isArray(refPaths)\n ? (refPaths.reduce(\n (obj, key) =>\n obj && typeof obj === 'object'\n ? (obj as Record<string, any>)[key]\n : undefined,\n context.specs[specKey],\n ) as Partial<SchemaObject>)\n : undefined;\n\n const newSchema = {\n ...schemaRef,\n name: pascal(originalName),\n path: schema.path,\n isRef: true,\n required: [...(schemaRef?.required ?? []), ...(schema?.required ?? [])],\n };\n\n const newSeparator = newSchema.allOf\n ? 'allOf'\n : newSchema.oneOf\n ? 'oneOf'\n : 'anyOf';\n\n const scalar = getMockScalar({\n item: newSchema,\n mockOptions,\n operationId,\n tags,\n combine: combine\n ? {\n separator:\n combine.separator === 'anyOf' ? newSeparator : combine.separator,\n includedProperties:\n newSeparator === 'allOf' ? [] : combine.includedProperties,\n }\n : undefined,\n context: {\n ...context,\n specKey,\n },\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n allowOverride,\n });\n if (\n scalar.value &&\n (newSchema.type === 'object' || newSchema.allOf) &&\n combine?.separator === 'oneOf'\n ) {\n const funcName = `get${pascal(operationId)}Response${pascal(newSchema.name)}Mock`;\n if (\n !splitMockImplementations?.some((f) =>\n f.includes(`export const ${funcName}`),\n )\n ) {\n const discriminatedProperty = newSchema.discriminator?.propertyName;\n\n let type = `Partial<${newSchema.name}>`;\n if (discriminatedProperty) {\n type = `Omit<${type}, '${discriminatedProperty}'>`;\n }\n\n const args = `${overrideVarName}: ${type} = {}`;\n const func = `export const ${funcName} = (${args}): ${newSchema.name} => ({${scalar.value.startsWith('...') ? '' : '...'}${scalar.value}, ...${overrideVarName}});`;\n splitMockImplementations?.push(func);\n }\n\n if (newSchema.nullable) {\n scalar.value = `${funcName}()`;\n } else {\n scalar.value = `{...${funcName}()}`;\n }\n\n scalar.imports.push({\n name: newSchema.name,\n specKey: isRootKey(specKey, context.target) ? undefined : specKey,\n });\n }\n\n return {\n ...scalar,\n type: getType(newSchema),\n };\n }\n\n const scalar = getMockScalar({\n item: schema,\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n allowOverride,\n });\n return {\n ...scalar,\n type: getType(schema),\n };\n};\n\nconst getType = (schema: MockSchemaObject) => {\n return (\n (schema.type as string | undefined) ??\n (schema.properties ? 'object' : schema.items ? 'array' : undefined)\n );\n};\n","import {\n type ContextSpecs,\n EnumGeneration,\n escape,\n type GeneratorImport,\n isReference,\n isRootKey,\n mergeDeep,\n type MockOptions,\n pascal,\n} from '@orval/core';\nimport type { SchemaObject as SchemaObject31 } from 'openapi3-ts/oas31';\nimport type { MockDefinition, MockSchemaObject } from '../../types';\nimport { DEFAULT_FORMAT_MOCK } from '../constants';\nimport {\n getNullable,\n resolveMockOverride,\n resolveMockValue,\n} from '../resolvers';\nimport { getMockObject } from './object';\nimport { isFakerVersionV9 } from '../compatibleV9';\n\nexport const getMockScalar = ({\n item,\n imports,\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n existingReferencedProperties,\n splitMockImplementations,\n allowOverride = false,\n}: {\n item: MockSchemaObject;\n imports: GeneratorImport[];\n mockOptions?: MockOptions;\n operationId: string;\n isRef?: boolean;\n tags: string[];\n combine?: {\n separator: 'allOf' | 'oneOf' | 'anyOf';\n includedProperties: string[];\n };\n context: ContextSpecs;\n // This is used to prevent recursion when combining schemas\n // When an element is added to the array, it means on this iteration, we've already seen this property\n existingReferencedProperties: string[];\n splitMockImplementations: string[];\n // This is used to add the overrideResponse to the object\n allowOverride?: boolean;\n}): MockDefinition => {\n // Add the property to the existing properties to validate on object recursion\n if (item.isRef) {\n existingReferencedProperties = [...existingReferencedProperties, item.name];\n }\n\n const operationProperty = resolveMockOverride(\n mockOptions?.operations?.[operationId]?.properties,\n item,\n );\n\n if (operationProperty) {\n return operationProperty;\n }\n\n const overrideTag = Object.entries(mockOptions?.tags ?? {})\n .sort((a, b) => {\n return a[0].localeCompare(b[0]);\n })\n .reduce(\n (acc, [tag, options]) =>\n tags.includes(tag) ? mergeDeep(acc, options) : acc,\n {} as { properties: Record<string, unknown> },\n );\n\n const tagProperty = resolveMockOverride(overrideTag?.properties, item);\n\n if (tagProperty) {\n return tagProperty;\n }\n\n const property = resolveMockOverride(mockOptions?.properties, item);\n\n if (property) {\n return property;\n }\n\n if (\n (context.output.override?.mock?.useExamples || mockOptions?.useExamples) &&\n item.example !== undefined\n ) {\n return {\n value: JSON.stringify(item.example),\n imports: [],\n name: item.name,\n overrided: true,\n };\n }\n\n const ALL_FORMAT = {\n ...DEFAULT_FORMAT_MOCK,\n ...(mockOptions?.format ?? {}),\n };\n\n if (item.format && ALL_FORMAT[item.format]) {\n let value = ALL_FORMAT[item.format] as string;\n\n const dateFormats = ['date', 'date-time'];\n if (dateFormats.includes(item.format) && context.output.override.useDates) {\n value = `new Date(${value})`;\n }\n\n return {\n value: getNullable(value, item.nullable),\n imports: [],\n name: item.name,\n overrided: false,\n };\n }\n\n const type = getItemType(item);\n const isFakerV9 =\n !!context.output.packageJson &&\n isFakerVersionV9(context.output.packageJson);\n\n switch (type) {\n case 'number':\n case 'integer': {\n const intFunction =\n item.format === 'int64' && context.output.override.useBigInt\n ? 'bigInt'\n : 'int';\n let value = getNullable(\n `faker.number.${intFunction}({min: ${item.minimum ?? mockOptions?.numberMin}, max: ${item.maximum ?? mockOptions?.numberMax}${isFakerV9 ? `, multipleOf: ${item.multipleOf}` : ''}})`,\n item.nullable,\n );\n if (type === 'number') {\n value = getNullable(\n `faker.number.float({min: ${item.minimum ?? mockOptions?.numberMin}, max: ${item.maximum ?? mockOptions?.numberMax}, ${item.multipleOf ? `multipleOf: ${item.multipleOf}` : `fractionDigits: ${mockOptions?.fractionDigits}`}})`,\n item.nullable,\n );\n }\n const numberImports: GeneratorImport[] = [];\n\n if (item.enum) {\n value = getEnum(\n item,\n numberImports,\n context,\n existingReferencedProperties,\n 'number',\n );\n } else if ('const' in item) {\n value = '' + (item as SchemaObject31).const;\n }\n\n return {\n value,\n enums: item.enum,\n imports: numberImports,\n name: item.name,\n };\n }\n\n case 'boolean': {\n let value = 'faker.datatype.boolean()';\n if ('const' in item) {\n value = '' + (item as SchemaObject31).const;\n }\n return {\n value,\n imports: [],\n name: item.name,\n };\n }\n\n case 'array': {\n if (!item.items) {\n return { value: '[]', imports: [], name: item.name };\n }\n\n if (\n '$ref' in item.items &&\n existingReferencedProperties.includes(\n pascal(item.items.$ref.split('/').pop()!),\n )\n ) {\n return { value: '[]', imports: [], name: item.name };\n }\n\n const {\n value,\n enums,\n imports: resolvedImports,\n } = resolveMockValue({\n schema: {\n ...item.items,\n name: item.name,\n path: item.path ? `${item.path}.[]` : '#.[]',\n },\n combine,\n mockOptions,\n operationId,\n tags,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n\n if (enums) {\n return {\n value,\n imports: resolvedImports,\n name: item.name,\n };\n }\n\n let mapValue = value;\n\n if (combine && !value.startsWith('faker') && !value.startsWith('{')) {\n mapValue = `{${value}}`;\n }\n\n return {\n value:\n `Array.from({ length: faker.number.int({ ` +\n `min: ${item.minItems ?? mockOptions?.arrayMin}, ` +\n `max: ${item.maxItems ?? mockOptions?.arrayMax} }) ` +\n `}, (_, i) => i + 1).map(() => (${mapValue}))`,\n imports: resolvedImports,\n name: item.name,\n };\n }\n\n case 'string': {\n const length = `{length: {min: ${item.minLength ?? mockOptions?.stringMin}, max: ${item.maxLength ?? mockOptions?.stringMax}}}`;\n let value = `faker.string.alpha(${length})`;\n const stringImports: GeneratorImport[] = [];\n\n if (item.enum) {\n value = getEnum(\n item,\n stringImports,\n context,\n existingReferencedProperties,\n 'string',\n );\n } else if (item.pattern) {\n value = `faker.helpers.fromRegExp('${item.pattern}')`;\n } else if ('const' in item) {\n value = `'${(item as SchemaObject31).const}'`;\n }\n\n return {\n value: getNullable(value, item.nullable),\n enums: item.enum,\n name: item.name,\n imports: stringImports,\n };\n }\n\n case 'null':\n return {\n value: 'null',\n imports: [],\n name: item.name,\n };\n\n default: {\n if (item.enum) {\n const enumImports: GeneratorImport[] = [];\n const value = getEnum(\n item,\n enumImports,\n context,\n existingReferencedProperties,\n undefined,\n );\n\n return {\n value,\n enums: item.enum,\n imports: enumImports,\n name: item.name,\n };\n }\n\n return getMockObject({\n item,\n mockOptions,\n operationId,\n tags,\n combine: combine\n ? {\n separator: combine.separator,\n includedProperties: [],\n }\n : undefined,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n allowOverride,\n });\n }\n }\n};\n\nfunction getItemType(item: MockSchemaObject) {\n if (item.type) return item.type;\n if (!item.enum) return;\n\n const uniqTypes = new Set(item.enum.map((value) => typeof value));\n if (uniqTypes.size > 1) return;\n\n const type = Array.from(uniqTypes.values()).at(0);\n if (!type) return;\n return ['string', 'number'].includes(type) ? type : undefined;\n}\n\nconst getEnum = (\n item: MockSchemaObject,\n imports: GeneratorImport[],\n context: ContextSpecs,\n existingReferencedProperties: string[],\n type: 'string' | 'number' | undefined,\n) => {\n if (!item.enum) return '';\n const joindEnumValues = item.enum\n .filter((e) => e !== null)\n .map((e) =>\n type === 'string' || (type === undefined && typeof e === 'string')\n ? `'${escape(e)}'`\n : e,\n )\n .join(',');\n\n let enumValue = `[${joindEnumValues}]`;\n if (context.output.override.enumGenerationType === EnumGeneration.ENUM) {\n if (item.isRef || existingReferencedProperties.length === 0) {\n enumValue += ` as ${item.name}${item.name.endsWith('[]') ? '' : '[]'}`;\n imports.push({\n name: item.name,\n ...(!isRootKey(context.specKey, context.target)\n ? { specKey: context.specKey }\n : {}),\n });\n } else {\n enumValue += ` as ${existingReferencedProperties[existingReferencedProperties.length - 1]}['${item.name}']`;\n if (!item.path?.endsWith('[]')) enumValue += '[]';\n imports.push({\n name: existingReferencedProperties[\n existingReferencedProperties.length - 1\n ],\n ...(!isRootKey(context.specKey, context.target)\n ? { specKey: context.specKey }\n : {}),\n });\n }\n } else {\n enumValue += ' as const';\n }\n\n // But if the value is a reference, we can use the object directly via the imports and using Object.values.\n if (item.isRef && type === 'string') {\n enumValue = `Object.values(${item.name})`;\n imports.push({\n name: item.name,\n values: true,\n ...(!isRootKey(context.specKey, context.target)\n ? { specKey: context.specKey }\n : {}),\n });\n }\n\n return item.path?.endsWith('[]')\n ? `faker.helpers.arrayElements(${enumValue})`\n : `faker.helpers.arrayElement(${enumValue})`;\n};\n","import { SchemaObject } from 'openapi3-ts/oas30';\n\nexport const DEFAULT_FORMAT_MOCK: Record<\n Required<SchemaObject>['format'],\n string\n> = {\n bic: 'faker.finance.bic()',\n binary:\n \"new Blob(faker.helpers.arrayElements(faker.word.words(10).split(' ')))\",\n city: 'faker.location.city()',\n country: 'faker.location.country()',\n date: \"faker.date.past().toISOString().split('T')[0]\",\n 'date-time': \"`${faker.date.past().toISOString().split('.')[0]}Z`\",\n email: 'faker.internet.email()',\n firstName: 'faker.person.firstName()',\n gender: 'faker.person.gender()',\n iban: 'faker.finance.iban()',\n ipv4: 'faker.internet.ipv4()',\n ipv6: 'faker.internet.ipv6()',\n jobTitle: 'faker.person.jobTitle()',\n lastName: 'faker.person.lastName()',\n password: 'faker.internet.password()',\n phoneNumber: 'faker.phone.number()',\n streetName: 'faker.location.street()',\n uri: 'faker.internet.url()',\n url: 'faker.internet.url()',\n userName: 'faker.internet.userName()',\n uuid: 'faker.string.uuid()',\n zipCode: 'faker.location.zipCode()',\n};\n\n// #980 replace CUID so tests are consistent\nexport const DEFAULT_OBJECT_KEY_MOCK = 'faker.string.alphanumeric(5)';\n","import {\n ContextSpecs,\n GeneratorImport,\n getKey,\n isBoolean,\n isReference,\n MockOptions,\n pascal,\n PropertySortOrder,\n} from '@orval/core';\nimport { ReferenceObject, SchemaObject } from 'openapi3-ts/oas30';\nimport { MockDefinition, MockSchemaObject } from '../../types';\nimport { DEFAULT_OBJECT_KEY_MOCK } from '../constants';\nimport { resolveMockValue } from '../resolvers/value';\nimport { combineSchemasMock } from './combine';\n\nexport const overrideVarName = 'overrideResponse';\n\nexport const getMockObject = ({\n item,\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n allowOverride = false,\n}: {\n item: MockSchemaObject;\n operationId: string;\n mockOptions?: MockOptions;\n tags: string[];\n combine?: {\n separator: 'allOf' | 'oneOf' | 'anyOf';\n includedProperties: string[];\n };\n context: ContextSpecs;\n imports: GeneratorImport[];\n // This is used to prevent recursion when combining schemas\n // When an element is added to the array, it means on this iteration, we've already seen this property\n existingReferencedProperties: string[];\n splitMockImplementations: string[];\n // This is used to add the overrideResponse to the object\n allowOverride?: boolean;\n}): MockDefinition => {\n if (isReference(item)) {\n return resolveMockValue({\n schema: {\n ...item,\n name: item.name,\n path: item.path ? `${item.path}.${item.name}` : item.name,\n },\n mockOptions,\n operationId,\n tags,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n }\n\n if (item.allOf || item.oneOf || item.anyOf) {\n const separator = item.allOf ? 'allOf' : item.oneOf ? 'oneOf' : 'anyOf';\n return combineSchemasMock({\n item,\n separator,\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n }\n\n if (Array.isArray(item.type)) {\n return combineSchemasMock({\n item: {\n anyOf: item.type.map((type) => ({ type })),\n name: item.name,\n },\n separator: 'anyOf',\n mockOptions,\n operationId,\n tags,\n combine,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n }\n\n if (item.properties) {\n let value =\n !combine ||\n combine?.separator === 'oneOf' ||\n combine?.separator === 'anyOf'\n ? '{'\n : '';\n const imports: GeneratorImport[] = [];\n const includedProperties: string[] = [];\n\n const entries = Object.entries(item.properties);\n if (context.output.propertySortOrder === PropertySortOrder.ALPHABETICAL) {\n entries.sort((a, b) => {\n return a[0].localeCompare(b[0]);\n });\n }\n const properyScalars = entries\n .map(([key, prop]: [string, ReferenceObject | SchemaObject]) => {\n if (combine?.includedProperties.includes(key)) {\n return undefined;\n }\n\n const isRequired =\n mockOptions?.required ||\n (Array.isArray(item.required) ? item.required : []).includes(key);\n\n // Check to see if the property is a reference to an existing property\n // Fixes issue #910\n if (\n '$ref' in prop &&\n existingReferencedProperties.includes(\n pascal(prop.$ref.split('/').pop()!),\n )\n ) {\n return undefined;\n }\n\n const resolvedValue = resolveMockValue({\n schema: {\n ...prop,\n name: key,\n path: item.path ? `${item.path}.${key}` : `#.${key}`,\n },\n mockOptions,\n operationId,\n tags,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n\n imports.push(...resolvedValue.imports);\n includedProperties.push(key);\n\n const keyDefinition = getKey(key);\n if (!isRequired && !resolvedValue.overrided) {\n return `${keyDefinition}: faker.helpers.arrayElement([${resolvedValue.value}, undefined])`;\n }\n\n return `${keyDefinition}: ${resolvedValue.value}`;\n })\n .filter(Boolean);\n\n if (allowOverride) {\n properyScalars.push(`...${overrideVarName}`);\n }\n\n value += properyScalars.join(', ');\n value +=\n !combine ||\n combine?.separator === 'oneOf' ||\n combine?.separator === 'anyOf'\n ? '}'\n : '';\n\n return {\n value,\n imports,\n name: item.name,\n includedProperties,\n };\n }\n\n if (item.additionalProperties) {\n if (isBoolean(item.additionalProperties)) {\n return { value: `{}`, imports: [], name: item.name };\n }\n if (\n isReference(item.additionalProperties) &&\n existingReferencedProperties.includes(\n item.additionalProperties.$ref.split('/').pop()!,\n )\n ) {\n return { value: `{}`, imports: [], name: item.name };\n }\n\n const resolvedValue = resolveMockValue({\n schema: {\n ...item.additionalProperties,\n name: item.name,\n path: item.path ? `${item.path}.#` : '#',\n },\n mockOptions,\n operationId,\n tags,\n context,\n imports,\n existingReferencedProperties,\n splitMockImplementations,\n });\n\n return {\n ...resolvedValue,\n value: `{\n [${DEFAULT_OBJECT_KEY_MOCK}]: ${resolvedValue.value}\n }`,\n };\n }\n\n return { value: '{}', imports: [], name: item.name };\n};\n","import { compareVersions, PackageJson } from '@orval/core';\n\nconst getFakerPackageVersion = (packageJson: PackageJson) => {\n return (\n packageJson.dependencies?.['@faker-js/faker'] ??\n packageJson.devDependencies?.['@faker-js/faker'] ??\n packageJson.peerDependencies?.['@faker-js/faker']\n );\n};\n\nexport const isFakerVersionV9 = (packageJson: PackageJson) => {\n const version = getFakerPackageVersion(packageJson);\n\n if (!version) {\n return false;\n }\n\n const withoutRc = version.split('-')[0];\n\n return compareVersions(withoutRc, '9.0.0');\n};\n","import { camel, sanitize } from '@orval/core';\n\nconst hasParam = (path: string): boolean => /[^{]*{[\\w*_-]*}.*/.test(path);\n\nconst getRoutePath = (path: string): string => {\n const matches = path.match(/([^{]*){?([\\w*_-]*)}?(.*)/);\n if (!matches?.length) return path; // impossible due to regexp grouping here, but for TS\n\n const prev = matches[1];\n const param = sanitize(camel(matches[2]), {\n es5keyword: true,\n underscore: true,\n dash: true,\n dot: true,\n });\n const next = hasParam(matches[3]) ? getRoutePath(matches[3]) : matches[3];\n\n if (hasParam(path)) {\n return `${prev}:${param}${next}`;\n } else {\n return `${prev}${param}${next}`;\n }\n};\n\nexport const getRouteMSW = (route: string, baseUrl = '*') => {\n const splittedRoute = route.split('/');\n\n return splittedRoute.reduce((acc, path, i) => {\n if (!path && !i) {\n return acc;\n }\n\n if (!path.includes('{')) {\n return `${acc}/${path}`;\n }\n\n return `${acc}/${getRoutePath(path)}`;\n }, baseUrl);\n};\n","import {\n ContextSpecs,\n generalJSTypesWithArray,\n GeneratorImport,\n GlobalMockOptions,\n isFunction,\n MockOptions,\n NormalizedOverrideOutput,\n resolveRef,\n ResReqTypesValue,\n stringify,\n} from '@orval/core';\nimport { OpenAPIObject, SchemaObject } from 'openapi3-ts/oas30';\nimport { getMockScalar } from '../faker/getters';\n\nconst getMockPropertiesWithoutFunc = (properties: any, spec: OpenAPIObject) =>\n Object.entries(isFunction(properties) ? properties(spec) : properties).reduce<\n Record<string, string>\n >((acc, [key, value]) => {\n const implementation = isFunction(value)\n ? `(${value})()`\n : stringify(value as string)!;\n\n acc[key] = implementation?.replace(\n /import_faker.defaults|import_faker.faker/g,\n 'faker',\n );\n return acc;\n }, {});\n\nconst getMockWithoutFunc = (\n spec: OpenAPIObject,\n override?: NormalizedOverrideOutput,\n): MockOptions => ({\n arrayMin: override?.mock?.arrayMin,\n arrayMax: override?.mock?.arrayMax,\n stringMin: override?.mock?.stringMin,\n stringMax: override?.mock?.stringMax,\n numberMin: override?.mock?.numberMin,\n numberMax: override?.mock?.numberMax,\n required: override?.mock?.required,\n fractionDigits: override?.mock?.fractionDigits,\n ...(override?.mock?.properties\n ? {\n properties: getMockPropertiesWithoutFunc(\n override.mock.properties,\n spec,\n ),\n }\n : {}),\n ...(override?.mock?.format\n ? {\n format: getMockPropertiesWithoutFunc(override.mock.format, spec),\n }\n : {}),\n ...(override?.operations\n ? {\n operations: Object.entries(override.operations).reduce<\n Exclude<MockOptions['operations'], undefined>\n >((acc, [key, value]) => {\n if (value.mock?.properties) {\n acc[key] = {\n properties: getMockPropertiesWithoutFunc(\n value.mock.properties,\n spec,\n ),\n };\n }\n\n return acc;\n }, {}),\n }\n : {}),\n ...(override?.tags\n ? {\n tags: Object.entries(override.tags).reduce<\n Exclude<MockOptions['tags'], undefined>\n >((acc, [key, value]) => {\n if (value.mock?.properties) {\n acc[key] = {\n properties: getMockPropertiesWithoutFunc(\n value.mock.properties,\n spec,\n ),\n };\n }\n\n return acc;\n }, {}),\n }\n : {}),\n});\n\nconst getMockScalarJsTypes = (\n definition: string,\n mockOptionsWithoutFunc: { [key: string]: unknown },\n) => {\n const isArray = definition.endsWith('[]');\n const type = isArray ? definition.slice(0, -2) : definition;\n\n switch (type) {\n case 'number':\n return isArray\n ? `Array.from({length: faker.number.int({` +\n `min: ${mockOptionsWithoutFunc.arrayMin}, ` +\n `max: ${mockOptionsWithoutFunc.arrayMax}}` +\n `)}, () => faker.number.int())`\n : 'faker.number.int()';\n case 'string':\n return isArray\n ? `Array.from({length: faker.number.int({` +\n `min: ${mockOptionsWithoutFunc?.arrayMin},` +\n `max: ${mockOptionsWithoutFunc?.arrayMax}}` +\n `)}, () => faker.word.sample())`\n : 'faker.word.sample()';\n default:\n return 'undefined';\n }\n};\n\nexport const getResponsesMockDefinition = ({\n operationId,\n tags,\n returnType,\n responses,\n imports: responseImports,\n mockOptionsWithoutFunc,\n transformer,\n context,\n mockOptions,\n splitMockImplementations,\n}: {\n operationId: string;\n tags: string[];\n returnType: string;\n responses: ResReqTypesValue[];\n imports: GeneratorImport[];\n mockOptionsWithoutFunc: { [key: string]: unknown };\n transformer?: (value: unknown, definition: string) => string;\n context: ContextSpecs;\n mockOptions?: GlobalMockOptions;\n splitMockImplementations: string[];\n}) => {\n return responses.reduce(\n (\n acc,\n { value: definition, originalSchema, example, examples, imports, isRef },\n ) => {\n if (\n context.output.override?.mock?.useExamples ||\n mockOptions?.useExamples\n ) {\n let exampleValue =\n example ||\n originalSchema?.example ||\n Object.values(examples || {})[0] ||\n originalSchema?.examples?.[0];\n exampleValue = exampleValue?.value ?? exampleValue;\n if (exampleValue) {\n acc.definitions.push(\n transformer\n ? transformer(exampleValue, returnType)\n : JSON.stringify(exampleValue),\n );\n return acc;\n }\n }\n if (!definition || generalJSTypesWithArray.includes(definition)) {\n const value = getMockScalarJsTypes(definition, mockOptionsWithoutFunc);\n\n acc.definitions.push(\n transformer ? transformer(value, returnType) : value,\n );\n\n return acc;\n }\n\n if (!originalSchema) {\n return acc;\n }\n\n const resolvedRef = resolveRef<SchemaObject>(originalSchema, context);\n\n const scalar = getMockScalar({\n item: {\n name: definition,\n ...resolvedRef.schema,\n },\n imports,\n mockOptions: mockOptionsWithoutFunc,\n operationId,\n tags,\n context: isRef\n ? {\n ...context,\n specKey: responseImports[0]?.specKey ?? context.specKey,\n }\n : context,\n existingReferencedProperties: [],\n splitMockImplementations,\n allowOverride: true,\n });\n\n acc.imports.push(...scalar.imports);\n acc.definitions.push(\n transformer\n ? transformer(scalar.value, returnType)\n : scalar.value.toString(),\n );\n\n return acc;\n },\n {\n definitions: [] as string[],\n imports: [] as GeneratorImport[],\n },\n );\n};\n\nexport const getMockDefinition = ({\n operationId,\n tags,\n returnType,\n responses,\n imports: responseImports,\n override,\n transformer,\n context,\n mockOptions,\n splitMockImplementations,\n}: {\n operationId: string;\n tags: string[];\n returnType: string;\n responses: ResReqTypesValue[];\n imports: GeneratorImport[];\n override: NormalizedOverrideOutput;\n transformer?: (value: unknown, definition: string) => string;\n context: ContextSpecs;\n mockOptions?: GlobalMockOptions;\n splitMockImplementations: string[];\n}) => {\n const mockOptionsWithoutFunc = getMockWithoutFunc(\n context.specs[context.specKey],\n override,\n );\n\n const { definitions, imports } = getResponsesMockDefinition({\n operationId,\n tags,\n returnType,\n responses,\n imports: responseImports,\n mockOptionsWithoutFunc,\n transformer,\n context,\n mockOptions,\n splitMockImplementations,\n });\n\n return {\n definition: '[' + definitions.join(', ') + ']',\n definitions,\n imports,\n };\n};\n\nexport const getMockOptionsDataOverride = (\n operationTags: string[],\n operationId: string,\n override: NormalizedOverrideOutput,\n) => {\n const responseOverride =\n override?.operations?.[operationId]?.mock?.data ||\n operationTags\n .map((operationTag) => override?.tags?.[operationTag]?.mock?.data)\n .find((e) => e !== undefined);\n const implementation = isFunction(responseOverride)\n ? `(${responseOverride})()`\n : stringify(responseOverride);\n\n return implementation?.replace(\n /import_faker.defaults|import_faker.faker/g,\n 'faker',\n );\n};\n"],"mappings":"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","names":["import_core","import_core","import_core","import_core","imports","import_core","scalar","_a","_b","import_core","import_core","_a","_b","_c","exports"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orval/mock",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.10.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"test": "vitest run"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@orval/core": "7.
|
|
17
|
+
"@orval/core": "7.10.0",
|
|
18
18
|
"openapi3-ts": "^4.2.2"
|
|
19
19
|
}
|
|
20
20
|
}
|