@kubb/plugin-faker 5.1.0 → 5.1.2

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 CHANGED
@@ -283,7 +283,7 @@ export declare const pluginFakerName = "plugin-faker";
283
283
  * })
284
284
  * ```
285
285
  */
286
- export declare const pluginFaker: (options?: Options | undefined) => import("kubb/kit").Plugin<PluginFaker>;
286
+ export declare const pluginFaker: import("kubb/kit").PluginFactory<PluginFaker>;
287
287
  //#endregion
288
288
  //#region src/resolvers/resolverFaker.d.ts
289
289
  /**
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import "./rolldown-runtime-C0LytTxp.js";
2
2
  import { posix } from "node:path";
3
- import { Resolver, ast, containsCircularRef, createResolver, defineGenerator, definePlugin } from "kubb/kit";
3
+ import { Resolver, addGenerator, ast, containsCircularRef, createResolver, defineGenerator, definePlugin, setMacros, setResolver } from "kubb/kit";
4
4
  import { buildParams, createFunctionParameter, createFunctionParameters, functionPrinter, pluginTsName } from "@kubb/plugin-ts";
5
5
  import { File, Function, jsxRenderer } from "kubb/jsx";
6
6
  import { Fragment, jsx, jsxs } from "kubb/jsx/jsx-runtime";
@@ -609,33 +609,35 @@ function Faker({ node, description, name, typeName, printer, canOverride, typeMo
609
609
  })
610
610
  });
611
611
  }
612
- const jsdoc = description ? `/**\n * @description ${jsStringEscape(description)}\n */\n ` : "";
613
- const functionSignature = typeMode === "schema" ? `${jsdoc}export function ${name}(data?: Partial<${typeName}>): ${typeName}` : `${jsdoc}export function ${name}<TData extends Partial<${typeName}> = object>(data?: TData)`;
614
612
  const returnType = typeMode === "schema" ? typeName : "Omit<typeof defaultFakeData, keyof NoInfer<TData>> & NoInfer<TData>";
615
613
  const { cyclicSchemas, schemaName } = printer.options;
616
614
  const functionBody = node.type === "object" && !!cyclicSchemas && (node.properties ?? []).some((p) => containsCircularRef(p.schema, {
617
615
  circularSchemas: cyclicSchemas,
618
616
  excludeName: schemaName
619
- })) ? `{
620
- const defaultFakeData = ${fakerText}
621
- if (data) {
622
- for (const [key, value] of Object.entries(data)) {
623
- Object.defineProperty(defaultFakeData, key, { value, configurable: true, writable: true, enumerable: true })
624
- }
617
+ })) ? `const defaultFakeData = ${fakerText}
618
+ if (data) {
619
+ for (const [key, value] of Object.entries(data)) {
620
+ Object.defineProperty(defaultFakeData, key, { value, configurable: true, writable: true, enumerable: true })
625
621
  }
626
- return defaultFakeData as ${returnType}
627
- }` : `{
628
- const defaultFakeData = ${fakerText}
629
- return {
630
- ...defaultFakeData,
631
- ...(data || {}),
632
- } as ${returnType}
633
- }`;
634
- return /* @__PURE__ */ jsxs(File.Source, {
622
+ }
623
+ return defaultFakeData as ${returnType}` : `const defaultFakeData = ${fakerText}
624
+ return {
625
+ ...defaultFakeData,
626
+ ...(data || {}),
627
+ } as ${returnType}`;
628
+ return /* @__PURE__ */ jsx(File.Source, {
635
629
  name,
636
630
  isExportable: true,
637
631
  isIndexable: true,
638
- children: [functionSignature, functionBody]
632
+ children: /* @__PURE__ */ jsx(Function, {
633
+ export: true,
634
+ name,
635
+ JSDoc: { comments: description ? [`@description ${jsStringEscape(description)}`] : [] },
636
+ generics: typeMode === "schema" ? void 0 : `TData extends Partial<${typeName}> = object`,
637
+ params: typeMode === "schema" ? `data?: Partial<${typeName}>` : "data?: TData",
638
+ returnType: typeMode === "schema" ? typeName : void 0,
639
+ children: functionBody
640
+ })
639
641
  });
640
642
  }
641
643
  //#endregion
@@ -1149,8 +1151,8 @@ const fakerGenerator = defineGenerator({
1149
1151
  schema(node, ctx) {
1150
1152
  const { config, resolver, root } = ctx;
1151
1153
  const { output, group, dateParser, regexGenerator, seed, locale, printer, typeMode } = ctx.options;
1152
- const pluginTs = ctx.driver.getPlugin(pluginTsName);
1153
- if (!node.name || !pluginTs) return;
1154
+ const pluginTs = ctx.requirePlugin(pluginTsName);
1155
+ if (!node.name) return;
1154
1156
  const tsResolver = ctx.driver.getResolver(pluginTsName);
1155
1157
  const schemaName = node.name;
1156
1158
  const isEnumSchema = !!ast.narrowSchema(node, ast.schemaTypes.enum);
@@ -1271,8 +1273,7 @@ const fakerGenerator = defineGenerator({
1271
1273
  operation(node, ctx) {
1272
1274
  const { config, resolver, root } = ctx;
1273
1275
  const { output, group, dateParser, regexGenerator, seed, locale, printer, typeMode } = ctx.options;
1274
- const pluginTs = ctx.driver.getPlugin(pluginTsName);
1275
- if (!pluginTs) return;
1276
+ const pluginTs = ctx.requirePlugin(pluginTsName);
1276
1277
  const tsResolver = ctx.driver.getResolver(pluginTsName);
1277
1278
  const { path: pathParams, query: queryParams, header: headerParams } = getOperationParameters(node);
1278
1279
  const paramGroups = [
@@ -1492,6 +1493,9 @@ const fakerGenerator = defineGenerator({
1492
1493
  }
1493
1494
  });
1494
1495
  //#endregion
1496
+ //#region package.json
1497
+ var version = "5.1.2";
1498
+ //#endregion
1495
1499
  //#region src/resolvers/resolverFaker.ts
1496
1500
  /**
1497
1501
  * Default resolver used by `@kubb/plugin-faker`. Decides the names and file
@@ -1545,35 +1549,35 @@ const pluginFakerName = "plugin-faker";
1545
1549
  * })
1546
1550
  * ```
1547
1551
  */
1548
- const pluginFaker = definePlugin((options) => {
1549
- const { output = {
1550
- path: "mocks",
1551
- barrel: { type: "named" }
1552
- }, seed, locale = "en", group, exclude = [], include, override = [], typeMode = "inferred", dateParser = "faker", regexGenerator = "faker", printer, resolver: userResolver, macros: userMacros } = options;
1553
- const groupConfig = createGroupConfig(group);
1554
- return {
1552
+ const pluginFaker = definePlugin({
1553
+ meta: {
1555
1554
  name: pluginFakerName,
1556
- options,
1557
- dependencies: [pluginTsName],
1558
- hooks: { "kubb:plugin:setup"(ctx) {
1559
- ctx.setOptions({
1560
- output,
1561
- seed,
1562
- locale,
1563
- exclude,
1564
- include,
1565
- override,
1566
- typeMode,
1567
- group: groupConfig,
1568
- dateParser,
1569
- regexGenerator,
1570
- printer
1571
- });
1572
- ctx.setResolver(userResolver ? Resolver.merge(resolverFaker, userResolver) : resolverFaker);
1573
- if (userMacros?.length) ctx.setMacros(userMacros);
1574
- ctx.addGenerator(fakerGenerator);
1575
- } }
1576
- };
1555
+ version,
1556
+ compatibility: { kubb: ">=5.8.0" }
1557
+ },
1558
+ dependencies: { [pluginTsName]: {} },
1559
+ setup(options) {
1560
+ const { output = {
1561
+ path: "mocks",
1562
+ barrel: { type: "named" }
1563
+ }, seed, locale = "en", group, exclude = [], include, override = [], typeMode = "inferred", dateParser = "faker", regexGenerator = "faker", printer, resolver: userResolver, macros: userMacros } = options;
1564
+ setResolver(userResolver ? Resolver.merge(resolverFaker, userResolver) : resolverFaker);
1565
+ if (userMacros?.length) setMacros(userMacros);
1566
+ addGenerator(fakerGenerator);
1567
+ return {
1568
+ output,
1569
+ seed,
1570
+ locale,
1571
+ exclude,
1572
+ include,
1573
+ override,
1574
+ typeMode,
1575
+ group: createGroupConfig(group),
1576
+ dateParser,
1577
+ regexGenerator,
1578
+ printer
1579
+ };
1580
+ }
1577
1581
  });
1578
1582
  //#endregion
1579
1583
  export { Faker, pluginFaker as default, pluginFaker, fakerGenerator, pluginFakerName, printerFaker, resolverFaker };