@kubb/plugin-faker 5.4.0 → 5.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -15,7 +15,7 @@ type ResolverFaker = Resolver & {
15
15
  * Resolves the faker function name for an individual parameter.
16
16
  *
17
17
  * @example Individual parameter name
18
- * `resolver.param.name(node, param) // -> 'showPetByIdPathPetId'`
18
+ * `resolver.param.name(node, param) // -> 'createShowPetByIdPathPetId'`
19
19
  */
20
20
  name(node: ast.OperationNode, param: ast.ParameterNode): string;
21
21
  /**
@@ -55,28 +55,28 @@ type ResolverFaker = Resolver & {
55
55
  * Resolves the faker function name for a response by status code.
56
56
  *
57
57
  * @example Response status name
58
- * `resolver.response.status(node, 200) // -> 'listPetsStatus200'`
58
+ * `resolver.response.status(node, 200) // -> 'createListPetsStatus200'`
59
59
  */
60
60
  status(node: ast.OperationNode, statusCode: ast.StatusCode): string;
61
61
  /**
62
62
  * Resolves the faker function name for a request body.
63
63
  *
64
64
  * @example Request body name
65
- * `resolver.response.body(node) // -> 'createPetsBody'`
65
+ * `resolver.response.body(node) // -> 'createCreatePetsBody'`
66
66
  */
67
67
  body(node: ast.OperationNode): string;
68
68
  /**
69
69
  * Resolves the faker function name for the response union.
70
70
  *
71
71
  * @example Response union name
72
- * `resolver.response.response(node) // -> 'listPetsResponse'`
72
+ * `resolver.response.response(node) // -> 'createListPetsResponse'`
73
73
  */
74
74
  response(node: ast.OperationNode): string;
75
75
  /**
76
76
  * Resolves the faker function name for the response collection.
77
77
  *
78
78
  * @example Responses collection name
79
- * `resolver.response.responses(node) // -> 'listPetsResponses'`
79
+ * `resolver.response.responses(node) // -> 'createListPetsResponses'`
80
80
  */
81
81
  responses(node: ast.OperationNode): string;
82
82
  };
@@ -296,5 +296,4 @@ export declare const pluginFaker: import("@kubb/kit").PluginFactory<PluginFaker>
296
296
  * ```
297
297
  */
298
298
  export declare const resolverFaker: ResolverFaker;
299
- export { type PluginFaker, type PrinterFakerFactory, type PrinterFakerNodes, type PrinterFakerOptions, type ResolverFaker, pluginFaker as default };
300
- //# sourceMappingURL=index.d.cts.map
299
+ export { type PluginFaker, type PrinterFakerFactory, type PrinterFakerNodes, type PrinterFakerOptions, type ResolverFaker, pluginFaker as default };
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@ type ResolverFaker = Resolver & {
15
15
  * Resolves the faker function name for an individual parameter.
16
16
  *
17
17
  * @example Individual parameter name
18
- * `resolver.param.name(node, param) // -> 'showPetByIdPathPetId'`
18
+ * `resolver.param.name(node, param) // -> 'createShowPetByIdPathPetId'`
19
19
  */
20
20
  name(node: ast.OperationNode, param: ast.ParameterNode): string;
21
21
  /**
@@ -55,28 +55,28 @@ type ResolverFaker = Resolver & {
55
55
  * Resolves the faker function name for a response by status code.
56
56
  *
57
57
  * @example Response status name
58
- * `resolver.response.status(node, 200) // -> 'listPetsStatus200'`
58
+ * `resolver.response.status(node, 200) // -> 'createListPetsStatus200'`
59
59
  */
60
60
  status(node: ast.OperationNode, statusCode: ast.StatusCode): string;
61
61
  /**
62
62
  * Resolves the faker function name for a request body.
63
63
  *
64
64
  * @example Request body name
65
- * `resolver.response.body(node) // -> 'createPetsBody'`
65
+ * `resolver.response.body(node) // -> 'createCreatePetsBody'`
66
66
  */
67
67
  body(node: ast.OperationNode): string;
68
68
  /**
69
69
  * Resolves the faker function name for the response union.
70
70
  *
71
71
  * @example Response union name
72
- * `resolver.response.response(node) // -> 'listPetsResponse'`
72
+ * `resolver.response.response(node) // -> 'createListPetsResponse'`
73
73
  */
74
74
  response(node: ast.OperationNode): string;
75
75
  /**
76
76
  * Resolves the faker function name for the response collection.
77
77
  *
78
78
  * @example Responses collection name
79
- * `resolver.response.responses(node) // -> 'listPetsResponses'`
79
+ * `resolver.response.responses(node) // -> 'createListPetsResponses'`
80
80
  */
81
81
  responses(node: ast.OperationNode): string;
82
82
  };
@@ -296,5 +296,4 @@ export declare const pluginFaker: import("@kubb/kit").PluginFactory<PluginFaker>
296
296
  * ```
297
297
  */
298
298
  export declare const resolverFaker: ResolverFaker;
299
- export { type PluginFaker, type PrinterFakerFactory, type PrinterFakerNodes, type PrinterFakerOptions, type ResolverFaker, pluginFaker as default };
300
- //# sourceMappingURL=index.d.ts.map
299
+ export { type PluginFaker, type PrinterFakerFactory, type PrinterFakerNodes, type PrinterFakerOptions, type ResolverFaker, pluginFaker as default };
package/dist/index.js CHANGED
@@ -583,6 +583,10 @@ function getCircularNames(ctx) {
583
583
  return ctx.memo("circularNames:set", () => ast.graph.getCircularNames(ctx.driver.inputNode?.schemas ?? []));
584
584
  }
585
585
  // src/utils.ts
586
+ /** The identifier a `dateParser` module is imported and called under: `my-date-lib` becomes `myDateLib`. */
587
+ function dateParserName(dateParser) {
588
+ return ensureValidVarName(casing.camel(dateParser));
589
+ }
586
590
  /**
587
591
  * Returns the `@faker-js/faker` named export for a locale code.
588
592
  *
@@ -925,7 +929,7 @@ function numberCall(kind, { min, max, exclusive, multipleOf }) {
925
929
  * A `date` or `time` value: an ISO substring, a `dateParser` call, or a `Date` when `representation` is `'date'`.
926
930
  */
927
931
  function dateTimeCall(representation, { format, substring }, parser = "faker", schemaName) {
928
- if (representation === "string") return parser !== "faker" ? `${parser}(faker.date.anytime()).format("${format}")` : `faker.date.anytime().toISOString().substring(${substring})`;
932
+ if (representation === "string") return parser !== "faker" ? `${dateParserName(parser)}(faker.date.anytime()).format("${format}")` : `faker.date.anytime().toISOString().substring(${substring})`;
929
933
  if (parser !== "faker") throw new Diagnostics.Error({
930
934
  code: Diagnostics.code.invalidPluginOptions,
931
935
  severity: "error",
@@ -1076,7 +1080,8 @@ const printerFaker = createPrinter((options) => {
1076
1080
  datetime(node) {
1077
1081
  const parser = this.options.dateParser ?? "faker";
1078
1082
  if (parser === "faker") return "faker.date.anytime().toISOString()";
1079
- return `${parser}(faker.date.anytime()).format("${node.local ? "YYYY-MM-DDTHH:mm:ss" : node.offset ? "YYYY-MM-DDTHH:mm:ssZ" : "YYYY-MM-DDTHH:mm:ss[Z]"}")`;
1083
+ const format = node.local ? "YYYY-MM-DDTHH:mm:ss" : node.offset ? "YYYY-MM-DDTHH:mm:ssZ" : "YYYY-MM-DDTHH:mm:ss[Z]";
1084
+ return `${dateParserName(parser)}(faker.date.anytime()).format("${format}")`;
1080
1085
  },
1081
1086
  date(node) {
1082
1087
  return dateTimeCall(node.representation ?? "string", {
@@ -1302,7 +1307,7 @@ const fakerGenerator = defineGenerator({
1302
1307
  }),
1303
1308
  dateParser !== "faker" && /* @__PURE__ */ jsx(File.Import, {
1304
1309
  path: dateParser,
1305
- name: dateParser
1310
+ name: dateParserName(dateParser)
1306
1311
  }),
1307
1312
  typeReference.importPath && /* @__PURE__ */ jsx(File.Import, {
1308
1313
  isTypeOnly: true,
@@ -1319,7 +1324,7 @@ const fakerGenerator = defineGenerator({
1319
1324
  imp.path,
1320
1325
  imp.name
1321
1326
  ].join("-"))),
1322
- seed ? /* @__PURE__ */ jsx(File.Source, {
1327
+ seed !== void 0 ? /* @__PURE__ */ jsx(File.Source, {
1323
1328
  name: "faker-seed",
1324
1329
  children: `faker.seed(${JSON.stringify(seed)})`
1325
1330
  }) : void 0,
@@ -1540,9 +1545,9 @@ const fakerGenerator = defineGenerator({
1540
1545
  }),
1541
1546
  dateParser !== "faker" && /* @__PURE__ */ jsx(File.Import, {
1542
1547
  path: dateParser,
1543
- name: dateParser
1548
+ name: dateParserName(dateParser)
1544
1549
  }),
1545
- seed ? /* @__PURE__ */ jsx(File.Source, {
1550
+ seed !== void 0 ? /* @__PURE__ */ jsx(File.Source, {
1546
1551
  name: "faker-seed",
1547
1552
  children: `faker.seed(${JSON.stringify(seed)})`
1548
1553
  }) : void 0,
@@ -1565,7 +1570,7 @@ var compatibility = {
1565
1570
  "node": ">=22.22"
1566
1571
  };
1567
1572
  // package.json
1568
- var version = "5.4.0";
1573
+ var version = "5.4.1";
1569
1574
  // src/resolvers/resolverFaker.ts
1570
1575
  /**
1571
1576
  * Default resolver used by `@kubb/plugin-faker`. Decides the names and file