@kubb/plugin-faker 5.3.0-canary.20261029T124214 → 5.3.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.cjs CHANGED
@@ -3,9 +3,9 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  let node_path = require("node:path");
6
- let kubb_kit = require("kubb/kit");
7
- let kubb_jsx = require("kubb/jsx");
8
- let kubb_jsx_jsx_runtime = require("kubb/jsx/jsx-runtime");
6
+ let _kubb_kit = require("@kubb/kit");
7
+ let _kubb_renderer_jsx = require("@kubb/renderer-jsx");
8
+ let _kubb_renderer_jsx_jsx_runtime = require("@kubb/renderer-jsx/jsx-runtime");
9
9
  let _kubb_plugin_ts = require("@kubb/plugin-ts");
10
10
  // ../../internals/utils/src/reserved.ts
11
11
  /**
@@ -330,9 +330,9 @@ function getRelativePath(rootDir, filePath) {
330
330
  * @example Suffix applied to the final segment only
331
331
  * `toFilePath('tag.tag', (part) => camelCase(part, { suffix: 'schema' })) // 'tag/tagSchema'`
332
332
  */
333
- function toFilePath(name, caseLast = kubb_kit.camelCase) {
333
+ function toFilePath(name, caseLast = _kubb_kit.camelCase) {
334
334
  const parts = name.split(/\.(?=[a-zA-Z])/);
335
- return parts.map((part, i) => i === parts.length - 1 ? caseLast(part) : (0, kubb_kit.camelCase)(part)).filter(Boolean).join("/");
335
+ return parts.map((part, i) => i === parts.length - 1 ? caseLast(part) : (0, _kubb_kit.camelCase)(part)).filter(Boolean).join("/");
336
336
  }
337
337
  // src/utils.ts
338
338
  /**
@@ -389,13 +389,13 @@ function canOverrideSchema(node) {
389
389
  * Whether a schema can supply object properties when merging faker values.
390
390
  */
391
391
  function isObjectSchema(node, seen = /* @__PURE__ */ new Set()) {
392
- const resolved = kubb_kit.ast.resolveRef(node);
392
+ const resolved = _kubb_kit.ast.resolveRef(node);
393
393
  if (seen.has(resolved)) return false;
394
394
  seen.add(resolved);
395
- if (kubb_kit.ast.narrowSchema(resolved, kubb_kit.ast.schemaTypes.object) || kubb_kit.ast.narrowSchema(resolved, kubb_kit.ast.schemaTypes.ref)) return true;
396
- const composition = kubb_kit.ast.narrowSchema(resolved, kubb_kit.ast.schemaTypes.intersection) ?? kubb_kit.ast.narrowSchema(resolved, kubb_kit.ast.schemaTypes.union);
395
+ if (_kubb_kit.ast.narrowSchema(resolved, _kubb_kit.ast.schemaTypes.object) || _kubb_kit.ast.narrowSchema(resolved, _kubb_kit.ast.schemaTypes.ref)) return true;
396
+ const composition = _kubb_kit.ast.narrowSchema(resolved, _kubb_kit.ast.schemaTypes.intersection) ?? _kubb_kit.ast.narrowSchema(resolved, _kubb_kit.ast.schemaTypes.union);
397
397
  if (!composition) return false;
398
- return composition.type === kubb_kit.ast.schemaTypes.intersection && !composition.members?.length || (composition.members ?? []).some((member) => isObjectSchema(member, seen));
398
+ return composition.type === _kubb_kit.ast.schemaTypes.intersection && !composition.members?.length || (composition.members ?? []).some((member) => isObjectSchema(member, seen));
399
399
  }
400
400
  function shouldInlineSingleResponseSchema(schema) {
401
401
  return !NON_INLINABLE_RESPONSE_TYPES.has(schema.type);
@@ -409,22 +409,22 @@ function buildResponseUnionSchema(node, resolver) {
409
409
  if (!responses.length) return null;
410
410
  if (responses.length === 1) {
411
411
  const schemas = responses[0].content?.flatMap((content) => content.schema ? [content.schema] : []) ?? [];
412
- const schema = schemas.length > 1 ? kubb_kit.ast.factory.createSchema({
412
+ const schema = schemas.length > 1 ? _kubb_kit.ast.factory.createSchema({
413
413
  type: "union",
414
414
  members: schemas
415
415
  }) : schemas[0];
416
416
  if (schema && shouldInlineSingleResponseSchema(schema)) return schema;
417
- return kubb_kit.ast.factory.createSchema({
417
+ return _kubb_kit.ast.factory.createSchema({
418
418
  type: "ref",
419
419
  name: resolver.response.status(node, responses[0].statusCode),
420
420
  schema: responses[0].content?.length === 1 ? schema : void 0
421
421
  });
422
422
  }
423
- return kubb_kit.ast.factory.createSchema({
423
+ return _kubb_kit.ast.factory.createSchema({
424
424
  type: "union",
425
425
  members: responses.map((response) => {
426
426
  const schema = (response.content?.length ?? 0) === 1 ? response.content?.[0]?.schema : void 0;
427
- return kubb_kit.ast.factory.createSchema({
427
+ return _kubb_kit.ast.factory.createSchema({
428
428
  type: "ref",
429
429
  name: resolver.response.status(node, response.statusCode),
430
430
  schema
@@ -486,7 +486,7 @@ function getScalarType(node, typeName) {
486
486
  * Determines the data type, return type, and whether it uses the type name.
487
487
  */
488
488
  function resolveFakerTypeUsage(node, typeName, canOverride) {
489
- const resolvedNode = kubb_kit.ast.resolveRef(node);
489
+ const resolvedNode = _kubb_kit.ast.resolveRef(node);
490
490
  const scalarType = SCALAR_TYPES.has(resolvedNode.type) ? `${getScalarType(resolvedNode, typeName)}${node.nullable || resolvedNode.nullable ? " | null" : ""}` : void 0;
491
491
  const dataType = scalarType ?? `Partial<${typeName}>`;
492
492
  const returnType = scalarType ?? (canOverride ? typeName : null);
@@ -499,14 +499,14 @@ function resolveFakerTypeUsage(node, typeName, canOverride) {
499
499
  // src/components/Faker.tsx
500
500
  function Faker({ node, description, name, typeName, printer, canOverride, typeMode = "inferred", keysToOmit }) {
501
501
  const fakerText = printer.print(node) ?? "undefined";
502
- const imports = printer.drainImports().map((imp) => /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Import, { ...imp }, [
502
+ const imports = printer.drainImports().map((imp) => /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, { ...imp }, [
503
503
  name,
504
504
  imp.path,
505
505
  imp.name
506
506
  ].join("-")));
507
507
  const isArray = node.type === "array";
508
- const isObject = !!kubb_kit.ast.narrowSchema(node, kubb_kit.ast.schemaTypes.object) || node.type === kubb_kit.ast.schemaTypes.intersection && isObjectSchema(node);
509
- const isValueIntersection = node.type === kubb_kit.ast.schemaTypes.intersection && !isObject;
508
+ const isObject = !!_kubb_kit.ast.narrowSchema(node, _kubb_kit.ast.schemaTypes.object) || node.type === _kubb_kit.ast.schemaTypes.intersection && isObjectSchema(node);
509
+ const isValueIntersection = node.type === _kubb_kit.ast.schemaTypes.intersection && !isObject;
510
510
  const isTuple = node.type === "tuple";
511
511
  const isScalar = SCALAR_TYPES.has(node.type);
512
512
  const isUnion = node.type === "union";
@@ -521,12 +521,12 @@ function Faker({ node, description, name, typeName, printer, canOverride, typeMo
521
521
  if (!useObjectOverride) {
522
522
  const paramsSignature = `${/\bdata\b/.test(fakerTextWithOverride) ? "data" : "_data"}?: ${dataType}`;
523
523
  const returnType = resolvedReturnType;
524
- const returnExpression = canOverride && !!returnType && (node.type === "ref" && !SCALAR_TYPES.has(kubb_kit.ast.resolveRef(node).type) || isArray || isTuple || isUnion) ? `${isTuple || isUnion ? `(${fakerTextWithOverride})` : fakerTextWithOverride} as ${returnType}` : fakerTextWithOverride;
525
- return /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsxs)(kubb_jsx_jsx_runtime.Fragment, { children: [imports, /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Source, {
524
+ const returnExpression = canOverride && !!returnType && (node.type === "ref" && !SCALAR_TYPES.has(_kubb_kit.ast.resolveRef(node).type) || isArray || isTuple || isUnion) ? `${isTuple || isUnion ? `(${fakerTextWithOverride})` : fakerTextWithOverride} as ${returnType}` : fakerTextWithOverride;
525
+ return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [imports, /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Source, {
526
526
  name,
527
527
  isExportable: true,
528
528
  isIndexable: true,
529
- children: /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.Function, {
529
+ children: /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.Function, {
530
530
  export: true,
531
531
  name,
532
532
  JSDoc: { comments: description ? [`@description ${jsDocEscape(description)}`] : [] },
@@ -539,7 +539,7 @@ function Faker({ node, description, name, typeName, printer, canOverride, typeMo
539
539
  const { cyclicSchemas, schemaName } = printer.options;
540
540
  const isCyclic = !!schemaName && !!cyclicSchemas?.has(schemaName);
541
541
  const returnType = typeMode === "schema" ? typeName : `Omit<${isCyclic ? typeName : "typeof defaultFakeData"}, keyof NoInfer<TData>> & NoInfer<TData>`;
542
- const hasGetters = node.type === "object" && !!cyclicSchemas && (node.properties ?? []).some((p) => (0, kubb_kit.containsCircularRef)(p.schema, {
542
+ const hasGetters = node.type === "object" && !!cyclicSchemas && (node.properties ?? []).some((p) => (0, _kubb_kit.containsCircularRef)(p.schema, {
543
543
  circularSchemas: cyclicSchemas,
544
544
  excludeName: schemaName
545
545
  }));
@@ -555,11 +555,11 @@ return {
555
555
  ...defaultFakeData,
556
556
  ...(data || {}),
557
557
  } as ${returnType}`;
558
- return /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsxs)(kubb_jsx_jsx_runtime.Fragment, { children: [imports, /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Source, {
558
+ return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [imports, /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Source, {
559
559
  name,
560
560
  isExportable: true,
561
561
  isIndexable: true,
562
- children: /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.Function, {
562
+ children: /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.Function, {
563
563
  export: true,
564
564
  name,
565
565
  JSDoc: { comments: description ? [`@description ${jsDocEscape(description)}`] : [] },
@@ -591,19 +591,19 @@ function operationFileEntry(node, name, extname = ".ts") {
591
591
  };
592
592
  }
593
593
  /**
594
- * Resolves a dependency plugin's generated file for `node.operationId`, cached in `cache` (the
595
- * current node's `ctx.cache`) under the resolver's own plugin name. Several dependents reading the
594
+ * Resolves a dependency plugin's generated file for `node.operationId`, cached in `memo` (the
595
+ * build's `ctx.memo`) under the resolver's own plugin name and the operation. Several dependents reading the
596
596
  * same dependency for the same operation in one pass (a query plugin's several hook generators, the
597
597
  * MCP handler, ...) share one computed name and path instead of each calling `resolver.file` again.
598
598
  *
599
599
  * @example Cache `plugin-ts`'s file for the current operation
600
600
  * ```ts
601
- * const fileTs = resolveDependencyOperationFile({ cache: ctx.cache, node, resolver: tsResolver, root, output })
601
+ * const fileTs = resolveDependencyOperationFile({ memo: ctx.memo, node, resolver: tsResolver, root, output })
602
602
  * ```
603
603
  */
604
604
  function resolveDependencyOperationFile(options) {
605
- const { cache, node, resolver, root, output, group } = options;
606
- return cache.ensureItem(`${resolver.pluginName}:operationFile`, () => resolver.file({
605
+ const { memo, node, resolver, root, output, group } = options;
606
+ return memo(`${resolver.pluginName}:operationFile:${node.operationId}`, () => resolver.file({
607
607
  ...operationFileEntry(node, node.operationId),
608
608
  root,
609
609
  output,
@@ -805,7 +805,7 @@ function createCasedFile(caseLast) {
805
805
  * Names of the schemas in a circular reference chain, computed once per build.
806
806
  */
807
807
  function getCircularNames(ctx) {
808
- return ctx.memo("circularNames:set", () => kubb_kit.ast.findCircularSchemas(ctx.driver.inputNode?.schemas ?? []));
808
+ return ctx.memo("circularNames:set", () => _kubb_kit.ast.findCircularSchemas(ctx.driver.inputNode?.schemas ?? []));
809
809
  }
810
810
  // ../../internals/shared/src/group.ts
811
811
  /**
@@ -830,7 +830,7 @@ function createGroupConfig(group) {
830
830
  if (!group) return null;
831
831
  const defaultName = (ctx) => {
832
832
  if (group.type === "path") return `${ctx.group.split("/")[1]}`;
833
- return (0, kubb_kit.camelCase)(ctx.group);
833
+ return (0, _kubb_kit.camelCase)(ctx.group);
834
834
  };
835
835
  return {
836
836
  ...group,
@@ -931,8 +931,8 @@ function numberCall(kind, min, max) {
931
931
  */
932
932
  function dateTimeCall(representation, { format, substring }, parser = "faker", schemaName) {
933
933
  if (representation === "string") return parser !== "faker" ? `${parser}(faker.date.anytime()).format("${format}")` : `faker.date.anytime().toISOString().substring(${substring})`;
934
- if (parser !== "faker") throw new kubb_kit.Diagnostics.Error({
935
- code: kubb_kit.Diagnostics.code.invalidPluginOptions,
934
+ if (parser !== "faker") throw new _kubb_kit.Diagnostics.Error({
935
+ code: _kubb_kit.Diagnostics.code.invalidPluginOptions,
936
936
  severity: "error",
937
937
  message: `Option \`dateParser: '${parser}'\` cannot format the adapter's \`dateType: 'date'\` values${schemaName ? ` in schema "${schemaName}"` : ""}.`,
938
938
  help: "Set adapterOas({ dateType: 'string' }) or remove `dateParser`.",
@@ -957,11 +957,11 @@ function parseEnumValue(value) {
957
957
  * (a `ref` to the enum shared by every branch, say) identifies no branch and narrows nothing.
958
958
  */
959
959
  function getDiscriminator(member, discriminatorPropertyName) {
960
- for (const property of kubb_kit.ast.resolveSchemaProperties({
960
+ for (const property of _kubb_kit.ast.resolveSchemaProperties({
961
961
  node: member,
962
962
  propertyName: discriminatorPropertyName
963
963
  })) {
964
- const values = kubb_kit.ast.getSchemaLiteralValues(property.schema);
964
+ const values = _kubb_kit.ast.getSchemaLiteralValues(property.schema);
965
965
  if (values.length === 1) return {
966
966
  value: values[0],
967
967
  required: property.required
@@ -982,7 +982,7 @@ function indexedTypeName(typeName, propertyName, nestedInUnion) {
982
982
  * Creates a Faker printer that generates mock data generation code from schema nodes.
983
983
  * Handles circular references gracefully by emitting memoizing getters for cyclic properties.
984
984
  */
985
- const printerFaker = kubb_kit.ast.createPrinter((options) => {
985
+ const printerFaker = _kubb_kit.ast.createPrinter((options) => {
986
986
  const printNested = (node, overrideOptions = {}) => {
987
987
  return printerFaker({
988
988
  ...options,
@@ -1028,21 +1028,21 @@ const printerFaker = kubb_kit.ast.createPrinter((options) => {
1028
1028
  }, this.options.dateParser, this.options.schemaName);
1029
1029
  },
1030
1030
  ref(node) {
1031
- const refName = kubb_kit.ast.resolveRefName(node);
1032
- if (!refName) throw new kubb_kit.Diagnostics.Error({
1033
- code: kubb_kit.Diagnostics.code.pluginFailed,
1031
+ const refName = _kubb_kit.ast.resolveRefName(node);
1032
+ if (!refName) throw new _kubb_kit.Diagnostics.Error({
1033
+ code: _kubb_kit.Diagnostics.code.pluginFailed,
1034
1034
  severity: "error",
1035
1035
  message: `Ref node "${node.ref ?? node.name ?? "unknown"}"${this.options.schemaName ? ` in schema "${this.options.schemaName}"` : ""} has no name.`,
1036
1036
  plugin: "plugin-faker"
1037
1037
  });
1038
1038
  if (this.options.schemaName && refName === this.options.schemaName) return this.options.typeName ? `undefined as unknown as ${this.options.typeName}` : "undefined as unknown";
1039
1039
  const resolvedName = node.ref ? this.options.resolver.name(refName) : refName;
1040
- if (!this.options.nestedInObject && canOverrideSchema(kubb_kit.ast.resolveRef(node))) return `${resolvedName}(data)`;
1040
+ if (!this.options.nestedInObject && canOverrideSchema(_kubb_kit.ast.resolveRef(node))) return `${resolvedName}(data)`;
1041
1041
  return `${resolvedName}()`;
1042
1042
  },
1043
1043
  enum(node) {
1044
1044
  const { typeName } = this.options;
1045
- const values = kubb_kit.ast.getSchemaLiteralValues(node);
1045
+ const values = _kubb_kit.ast.getSchemaLiteralValues(node);
1046
1046
  if (values.length === 1 && values[0] !== null && typeof values[0] === "object") return JSON.stringify(values[0]);
1047
1047
  return `faker.helpers.arrayElement${typeName ? `<${typeName}>` : ""}([${values.map(parseEnumValue).join(", ")}])`;
1048
1048
  },
@@ -1098,9 +1098,9 @@ const printerFaker = kubb_kit.ast.createPrinter((options) => {
1098
1098
  },
1099
1099
  object(node) {
1100
1100
  const cyclicSchemas = this.options.cyclicSchemas;
1101
- const keySchema = node.propertyNames && (0, kubb_kit.syncSchemaRef)(node.propertyNames);
1101
+ const keySchema = node.propertyNames && (0, _kubb_kit.syncSchemaRef)(node.propertyNames);
1102
1102
  const valueSchema = node.additionalProperties;
1103
- const recordProperties = keySchema?.type === "enum" && typeof valueSchema === "object" ? kubb_kit.ast.getSchemaLiteralValues(keySchema).filter((key) => typeof key === "string" && !node.properties.some((property) => property.name === key)).map((name) => kubb_kit.ast.factory.createProperty({
1103
+ const recordProperties = keySchema?.type === "enum" && typeof valueSchema === "object" ? _kubb_kit.ast.getSchemaLiteralValues(keySchema).filter((key) => typeof key === "string" && !node.properties.some((property) => property.name === key)).map((name) => _kubb_kit.ast.factory.createProperty({
1104
1104
  name,
1105
1105
  schema: valueSchema
1106
1106
  })) : [];
@@ -1109,7 +1109,7 @@ const printerFaker = kubb_kit.ast.createPrinter((options) => {
1109
1109
  typeName: this.options.typeName ? indexedTypeName(this.options.typeName, property.name, this.options.nestedInUnion) : void 0,
1110
1110
  nestedInObject: true
1111
1111
  }) ?? "undefined";
1112
- if (cyclicSchemas && (0, kubb_kit.containsCircularRef)(property.schema, {
1112
+ if (cyclicSchemas && (0, _kubb_kit.containsCircularRef)(property.schema, {
1113
1113
  circularSchemas: cyclicSchemas,
1114
1114
  excludeName: this.options.schemaName
1115
1115
  })) return `get ${objectKey(property.name)}() { const _value = ${value}; Object.defineProperty(this, ${JSON.stringify(property.name)}, { value: _value, configurable: true, writable: true, enumerable: true }); return _value }`;
@@ -1127,9 +1127,9 @@ const printerFaker = kubb_kit.ast.createPrinter((options) => {
1127
1127
  * factory returns a value matching the corresponding TypeScript type from
1128
1128
  * `@kubb/plugin-ts`.
1129
1129
  */
1130
- const fakerGenerator = (0, kubb_kit.defineGenerator)({
1130
+ const fakerGenerator = (0, _kubb_kit.defineGenerator)({
1131
1131
  name: "faker",
1132
- renderer: kubb_jsx.jsxRenderer,
1132
+ renderer: _kubb_renderer_jsx.jsxRenderer,
1133
1133
  schema(node, ctx) {
1134
1134
  const { config, resolver, root } = ctx;
1135
1135
  const { output, group, dateParser, regexGenerator, seed, locale, printer, typeMode } = ctx.options;
@@ -1137,7 +1137,7 @@ const fakerGenerator = (0, kubb_kit.defineGenerator)({
1137
1137
  if (!node.name) return;
1138
1138
  const tsResolver = ctx.driver.getResolver(_kubb_plugin_ts.pluginTsName);
1139
1139
  const schemaName = node.name;
1140
- const isEnumSchema = !!kubb_kit.ast.narrowSchema(node, kubb_kit.ast.schemaTypes.enum);
1140
+ const isEnumSchema = !!_kubb_kit.ast.narrowSchema(node, _kubb_kit.ast.schemaTypes.enum);
1141
1141
  const schemaTypeName = (0, _kubb_plugin_ts.enumTypeName)({
1142
1142
  resolver: tsResolver,
1143
1143
  name: schemaName,
@@ -1188,7 +1188,7 @@ const fakerGenerator = (0, kubb_kit.defineGenerator)({
1188
1188
  output,
1189
1189
  group: group ?? void 0
1190
1190
  }), fakerText);
1191
- return /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsxs)(kubb_jsx.File, {
1191
+ return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
1192
1192
  baseName: meta.file.baseName,
1193
1193
  path: meta.file.path,
1194
1194
  meta: meta.file.meta,
@@ -1209,28 +1209,28 @@ const fakerGenerator = (0, kubb_kit.defineGenerator)({
1209
1209
  }
1210
1210
  }),
1211
1211
  children: [
1212
- /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Import, {
1212
+ /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
1213
1213
  name: locale ? [{
1214
1214
  propertyName: localeToFakerImport(locale),
1215
1215
  name: "faker"
1216
1216
  }] : ["faker"],
1217
1217
  path: "@faker-js/faker"
1218
1218
  }),
1219
- regexGenerator === "randexp" && /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Import, {
1219
+ regexGenerator === "randexp" && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
1220
1220
  name: "RandExp",
1221
1221
  path: "randexp"
1222
1222
  }),
1223
- dateParser !== "faker" && /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Import, {
1223
+ dateParser !== "faker" && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
1224
1224
  path: dateParser,
1225
1225
  name: dateParser
1226
1226
  }),
1227
- typeReference.importPath && /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Import, {
1227
+ typeReference.importPath && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
1228
1228
  isTypeOnly: true,
1229
1229
  root: meta.file.path,
1230
1230
  path: typeReference.importPath,
1231
1231
  name: [meta.typeName]
1232
1232
  }),
1233
- usedImports.map((imp) => /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Import, {
1233
+ usedImports.map((imp) => /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
1234
1234
  root: meta.file.path,
1235
1235
  path: imp.path,
1236
1236
  name: imp.name
@@ -1239,11 +1239,11 @@ const fakerGenerator = (0, kubb_kit.defineGenerator)({
1239
1239
  imp.path,
1240
1240
  imp.name
1241
1241
  ].join("-"))),
1242
- seed ? /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Source, {
1242
+ seed ? /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Source, {
1243
1243
  name: "faker-seed",
1244
1244
  children: `faker.seed(${JSON.stringify(seed)})`
1245
1245
  }) : void 0,
1246
- /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(Faker, {
1246
+ /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(Faker, {
1247
1247
  name: meta.name,
1248
1248
  typeName: typeReference.typeName,
1249
1249
  description: node.description,
@@ -1296,9 +1296,9 @@ const fakerGenerator = (0, kubb_kit.defineGenerator)({
1296
1296
  }];
1297
1297
  }
1298
1298
  const variants = resolveContentTypeVariants(entries, baseName);
1299
- const unionSchema = kubb_kit.ast.factory.createSchema({
1299
+ const unionSchema = _kubb_kit.ast.factory.createSchema({
1300
1300
  type: "union",
1301
- members: variants.map((variant) => kubb_kit.ast.factory.createSchema({
1301
+ members: variants.map((variant) => _kubb_kit.ast.factory.createSchema({
1302
1302
  type: "ref",
1303
1303
  name: variant.name,
1304
1304
  schema: variant.schema
@@ -1324,7 +1324,7 @@ const fakerGenerator = (0, kubb_kit.defineGenerator)({
1324
1324
  description: node.requestBody?.description ?? schema.description
1325
1325
  }));
1326
1326
  const responseName = resolver.response.response(node);
1327
- const hasResponseNameCollision = new Set(node.responses.flatMap((response) => (response.content ?? []).flatMap((entry) => entry.schema ? kubb_kit.ast.collectImportedRefNames(entry.schema).map((name) => resolver.name(name)) : []))).has(responseName);
1327
+ const hasResponseNameCollision = new Set(node.responses.flatMap((response) => (response.content ?? []).flatMap((entry) => entry.schema ? _kubb_kit.ast.collectImportedRefNames(entry.schema).map((name) => resolver.name(name)) : []))).has(responseName);
1328
1328
  const localHelperNames = /* @__PURE__ */ new Set([
1329
1329
  ...paramGroups.map((group) => group.name),
1330
1330
  ...responseUnits.map((unit) => unit.name),
@@ -1343,7 +1343,7 @@ const fakerGenerator = (0, kubb_kit.defineGenerator)({
1343
1343
  group: group ?? void 0
1344
1344
  }),
1345
1345
  typeFile: resolveDependencyOperationFile({
1346
- cache: ctx.cache,
1346
+ memo: ctx.memo,
1347
1347
  node,
1348
1348
  resolver: tsResolver,
1349
1349
  root,
@@ -1361,7 +1361,7 @@ const fakerGenerator = (0, kubb_kit.defineGenerator)({
1361
1361
  }
1362
1362
  function renderEntry({ schema, name, typeName, description, keysToOmit, skipImportNames = [] }) {
1363
1363
  if (!schema) return null;
1364
- if (schema.type === kubb_kit.ast.schemaTypes.object && keysToOmit?.length) {
1364
+ if (schema.type === _kubb_kit.ast.schemaTypes.object && keysToOmit?.length) {
1365
1365
  schema = {
1366
1366
  ...schema,
1367
1367
  properties: schema.properties.filter((property) => !keysToOmit?.includes(property.name))
@@ -1390,14 +1390,14 @@ const fakerGenerator = (0, kubb_kit.defineGenerator)({
1390
1390
  filePath: meta.file.path,
1391
1391
  typeFilePath: meta.typeFile.path
1392
1392
  });
1393
- return /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsxs)(kubb_jsx_jsx_runtime.Fragment, { children: [
1394
- typeReference.importPath && /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Import, {
1393
+ return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
1394
+ typeReference.importPath && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
1395
1395
  isTypeOnly: true,
1396
1396
  root: meta.file.path,
1397
1397
  path: typeReference.importPath,
1398
1398
  name: [typeName]
1399
1399
  }),
1400
- imports.map((imp) => /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Import, {
1400
+ imports.map((imp) => /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
1401
1401
  root: meta.file.path,
1402
1402
  path: imp.path,
1403
1403
  name: imp.name
@@ -1406,7 +1406,7 @@ const fakerGenerator = (0, kubb_kit.defineGenerator)({
1406
1406
  imp.path,
1407
1407
  imp.name
1408
1408
  ].join("-"))),
1409
- /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(Faker, {
1409
+ /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(Faker, {
1410
1410
  name,
1411
1411
  typeName: typeReference.typeName,
1412
1412
  description,
@@ -1421,7 +1421,7 @@ const fakerGenerator = (0, kubb_kit.defineGenerator)({
1421
1421
  })
1422
1422
  ] });
1423
1423
  }
1424
- return /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsxs)(kubb_jsx.File, {
1424
+ return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
1425
1425
  baseName: meta.file.baseName,
1426
1426
  path: meta.file.path,
1427
1427
  meta: meta.file.meta,
@@ -1442,22 +1442,22 @@ const fakerGenerator = (0, kubb_kit.defineGenerator)({
1442
1442
  }
1443
1443
  }),
1444
1444
  children: [
1445
- /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Import, {
1445
+ /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
1446
1446
  name: locale ? [{
1447
1447
  propertyName: localeToFakerImport(locale),
1448
1448
  name: "faker"
1449
1449
  }] : ["faker"],
1450
1450
  path: "@faker-js/faker"
1451
1451
  }),
1452
- regexGenerator === "randexp" && /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Import, {
1452
+ regexGenerator === "randexp" && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
1453
1453
  name: "RandExp",
1454
1454
  path: "randexp"
1455
1455
  }),
1456
- dateParser !== "faker" && /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Import, {
1456
+ dateParser !== "faker" && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
1457
1457
  path: dateParser,
1458
1458
  name: dateParser
1459
1459
  }),
1460
- seed ? /* @__PURE__ */ (0, kubb_jsx_jsx_runtime.jsx)(kubb_jsx.File.Source, {
1460
+ seed ? /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Source, {
1461
1461
  name: "faker-seed",
1462
1462
  children: `faker.seed(${JSON.stringify(seed)})`
1463
1463
  }) : void 0,
@@ -1480,7 +1480,7 @@ var compatibility = {
1480
1480
  "node": ">=22.22"
1481
1481
  };
1482
1482
  // package.json
1483
- var version = "5.3.0-canary.20261029T124214";
1483
+ var version = "5.3.0";
1484
1484
  // src/resolvers/resolverFaker.ts
1485
1485
  /**
1486
1486
  * Default resolver used by `@kubb/plugin-faker`. Decides the names and file
@@ -1494,12 +1494,12 @@ var version = "5.3.0-canary.20261029T124214";
1494
1494
  * resolverFaker.name('list pets') // 'createListPets'
1495
1495
  * ```
1496
1496
  */
1497
- const resolverFaker = (0, kubb_kit.createResolver)({
1497
+ const resolverFaker = (0, _kubb_kit.createResolver)({
1498
1498
  pluginName: "plugin-faker",
1499
1499
  name(name) {
1500
- return this.memo(`name:${name}`, () => ensureValidVarName((0, kubb_kit.camelCase)(name, { prefix: "create" })));
1500
+ return this.memo(`name:${name}`, () => ensureValidVarName((0, _kubb_kit.camelCase)(name, { prefix: "create" })));
1501
1501
  },
1502
- file: createCasedFile((part) => (0, kubb_kit.camelCase)(part, { prefix: "create" })),
1502
+ file: createCasedFile((part) => (0, _kubb_kit.camelCase)(part, { prefix: "create" })),
1503
1503
  param: createOperationParamResolver(),
1504
1504
  response: createOperationResponseResolver()
1505
1505
  });
@@ -1533,7 +1533,7 @@ const pluginFakerName = "plugin-faker";
1533
1533
  * })
1534
1534
  * ```
1535
1535
  */
1536
- const pluginFaker = (0, kubb_kit.defineExtension)({
1536
+ const pluginFaker = (0, _kubb_kit.defineExtension)({
1537
1537
  kind: "plugin",
1538
1538
  meta: {
1539
1539
  name: pluginFakerName,
@@ -1546,9 +1546,9 @@ const pluginFaker = (0, kubb_kit.defineExtension)({
1546
1546
  path: "mocks",
1547
1547
  barrel: { type: "named" }
1548
1548
  }, seed, locale = "en", group, exclude = [], include, override = [], typeMode = "inferred", dateParser = "faker", regexGenerator = "faker", printer, resolver: userResolver, macros: userMacros } = options;
1549
- (0, kubb_kit.setResolver)(userResolver ? kubb_kit.Resolver.merge(resolverFaker, userResolver) : resolverFaker);
1550
- if (userMacros?.length) (0, kubb_kit.setMacros)(userMacros);
1551
- (0, kubb_kit.addGenerator)(fakerGenerator);
1549
+ (0, _kubb_kit.setResolver)(userResolver ? _kubb_kit.Resolver.merge(resolverFaker, userResolver) : resolverFaker);
1550
+ if (userMacros?.length) (0, _kubb_kit.setMacros)(userMacros);
1551
+ (0, _kubb_kit.addGenerator)(fakerGenerator);
1552
1552
  return {
1553
1553
  output,
1554
1554
  seed,