@kubb/plugin-client 5.0.0-alpha.1 → 5.0.0-alpha.11

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.
@@ -2,7 +2,7 @@ import "./chunk--u3MIqq1.js";
2
2
  import { a as Url, i as Client, n as Operations, o as camelCase, r as ClassClient, s as pascalCase, t as StaticClassClient } from "./StaticClassClient-CCn9g9eF.js";
3
3
  import path from "node:path";
4
4
  import { pluginZodName } from "@kubb/plugin-zod";
5
- import { usePluginManager } from "@kubb/core/hooks";
5
+ import { usePluginDriver } from "@kubb/core/hooks";
6
6
  import { createReactGenerator } from "@kubb/plugin-oas/generators";
7
7
  import { useOas, useOperationManager } from "@kubb/plugin-oas/hooks";
8
8
  import { getBanner, getFooter } from "@kubb/plugin-oas/utils";
@@ -30,22 +30,22 @@ ${classNames.map((className) => ` this.${camelCase(className)} = new ${classN
30
30
  const classClientGenerator = createReactGenerator({
31
31
  name: "classClient",
32
32
  Operations({ operations, generator, plugin, config }) {
33
- const { options, key: pluginKey } = plugin;
34
- const pluginManager = usePluginManager();
33
+ const { options, name: pluginName } = plugin;
34
+ const driver = usePluginDriver();
35
35
  const oas = useOas();
36
36
  const { getName, getFile, getGroup, getSchemas } = useOperationManager(generator);
37
- function buildOperationData(operation) {
37
+ function renderOperationData(operation) {
38
38
  const type = {
39
- file: getFile(operation, { pluginKey: [pluginTsName] }),
39
+ file: getFile(operation, { pluginName: pluginTsName }),
40
40
  schemas: getSchemas(operation, {
41
- pluginKey: [pluginTsName],
41
+ pluginName: pluginTsName,
42
42
  type: "type"
43
43
  })
44
44
  };
45
45
  const zod = {
46
- file: getFile(operation, { pluginKey: [pluginZodName] }),
46
+ file: getFile(operation, { pluginName: pluginZodName }),
47
47
  schemas: getSchemas(operation, {
48
- pluginKey: [pluginZodName],
48
+ pluginName: pluginZodName,
49
49
  type: "function"
50
50
  })
51
51
  };
@@ -63,12 +63,12 @@ const classClientGenerator = createReactGenerator({
63
63
  const groupName = group?.tag ? options.group?.name?.({ group: camelCase(group.tag) }) ?? pascalCase(group.tag) : "Client";
64
64
  if (!group?.tag && !options.group) {
65
65
  const name = "ApiClient";
66
- const file = pluginManager.getFile({
66
+ const file = driver.getFile({
67
67
  name,
68
68
  extname: ".ts",
69
- pluginKey
69
+ pluginName
70
70
  });
71
- const operationData = buildOperationData(operation);
71
+ const operationData = renderOperationData(operation);
72
72
  const previousFile = acc.find((item) => item.file.path === file.path);
73
73
  if (previousFile) previousFile.operations.push(operationData);
74
74
  else acc.push({
@@ -78,13 +78,13 @@ const classClientGenerator = createReactGenerator({
78
78
  });
79
79
  } else if (group?.tag) {
80
80
  const name = groupName;
81
- const file = pluginManager.getFile({
81
+ const file = driver.getFile({
82
82
  name,
83
83
  extname: ".ts",
84
- pluginKey,
84
+ pluginName,
85
85
  options: { group }
86
86
  });
87
- const operationData = buildOperationData(operation);
87
+ const operationData = renderOperationData(operation);
88
88
  const previousFile = acc.find((item) => item.file.path === file.path);
89
89
  if (previousFile) previousFile.operations.push(operationData);
90
90
  else acc.push({
@@ -147,7 +147,7 @@ const classClientGenerator = createReactGenerator({
147
147
  banner: getBanner({
148
148
  oas,
149
149
  output: options.output,
150
- config: pluginManager.config
150
+ config: driver.config
151
151
  }),
152
152
  footer: getFooter({
153
153
  oas,
@@ -236,10 +236,10 @@ const classClientGenerator = createReactGenerator({
236
236
  }, file.path);
237
237
  });
238
238
  if (options.wrapper) {
239
- const wrapperFile = pluginManager.getFile({
239
+ const wrapperFile = driver.getFile({
240
240
  name: options.wrapper.className,
241
241
  extname: ".ts",
242
- pluginKey
242
+ pluginName
243
243
  });
244
244
  files.push(/* @__PURE__ */ jsxs(File, {
245
245
  baseName: wrapperFile.baseName,
@@ -248,7 +248,7 @@ const classClientGenerator = createReactGenerator({
248
248
  banner: getBanner({
249
249
  oas,
250
250
  output: options.output,
251
- config: pluginManager.config
251
+ config: driver.config
252
252
  }),
253
253
  footer: getFooter({
254
254
  oas,
@@ -285,7 +285,7 @@ const classClientGenerator = createReactGenerator({
285
285
  const clientGenerator = createReactGenerator({
286
286
  name: "client",
287
287
  Operation({ config, plugin, operation, generator }) {
288
- const pluginManager = usePluginManager();
288
+ const driver = usePluginDriver();
289
289
  const { options, options: { output, urlType } } = plugin;
290
290
  const oas = useOas();
291
291
  const { getSchemas, getName, getFile } = useOperationManager(generator);
@@ -302,16 +302,16 @@ const clientGenerator = createReactGenerator({
302
302
  file: getFile(operation)
303
303
  };
304
304
  const type = {
305
- file: getFile(operation, { pluginKey: [pluginTsName] }),
305
+ file: getFile(operation, { pluginName: pluginTsName }),
306
306
  schemas: getSchemas(operation, {
307
- pluginKey: [pluginTsName],
307
+ pluginName: pluginTsName,
308
308
  type: "type"
309
309
  })
310
310
  };
311
311
  const zod = {
312
- file: getFile(operation, { pluginKey: [pluginZodName] }),
312
+ file: getFile(operation, { pluginName: pluginZodName }),
313
313
  schemas: getSchemas(operation, {
314
- pluginKey: [pluginZodName],
314
+ pluginName: pluginZodName,
315
315
  type: "function"
316
316
  })
317
317
  };
@@ -323,7 +323,7 @@ const clientGenerator = createReactGenerator({
323
323
  banner: getBanner({
324
324
  oas,
325
325
  output,
326
- config: pluginManager.config
326
+ config: driver.config
327
327
  }),
328
328
  footer: getFooter({
329
329
  oas,
@@ -411,8 +411,8 @@ const clientGenerator = createReactGenerator({
411
411
  const groupedClientGenerator = createReactGenerator({
412
412
  name: "groupedClient",
413
413
  Operations({ operations, generator, plugin }) {
414
- const { options, key: pluginKey } = plugin;
415
- const pluginManager = usePluginManager();
414
+ const { options, name: pluginName } = plugin;
415
+ const driver = usePluginDriver();
416
416
  const oas = useOas();
417
417
  const { getName, getFile, getGroup } = useOperationManager(generator);
418
418
  return operations.reduce((acc, operation) => {
@@ -420,10 +420,10 @@ const groupedClientGenerator = createReactGenerator({
420
420
  const group = getGroup(operation);
421
421
  const name = group?.tag ? options.group?.name?.({ group: camelCase(group.tag) }) : void 0;
422
422
  if (!group?.tag || !name) return acc;
423
- const file = pluginManager.getFile({
423
+ const file = driver.getFile({
424
424
  name,
425
425
  extname: ".ts",
426
- pluginKey,
426
+ pluginName,
427
427
  options: { group }
428
428
  });
429
429
  const client = {
@@ -447,7 +447,7 @@ const groupedClientGenerator = createReactGenerator({
447
447
  banner: getBanner({
448
448
  oas,
449
449
  output: options.output,
450
- config: pluginManager.config
450
+ config: driver.config
451
451
  }),
452
452
  footer: getFooter({
453
453
  oas,
@@ -476,14 +476,14 @@ const groupedClientGenerator = createReactGenerator({
476
476
  const operationsGenerator = createReactGenerator({
477
477
  name: "client",
478
478
  Operations({ operations, plugin }) {
479
- const { key: pluginKey, options: { output } } = plugin;
480
- const pluginManager = usePluginManager();
479
+ const { name: pluginName, options: { output } } = plugin;
480
+ const driver = usePluginDriver();
481
481
  const oas = useOas();
482
482
  const name = "operations";
483
- const file = pluginManager.getFile({
483
+ const file = driver.getFile({
484
484
  name,
485
485
  extname: ".ts",
486
- pluginKey
486
+ pluginName
487
487
  });
488
488
  return /* @__PURE__ */ jsx(File, {
489
489
  baseName: file.baseName,
@@ -492,7 +492,7 @@ const operationsGenerator = createReactGenerator({
492
492
  banner: getBanner({
493
493
  oas,
494
494
  output,
495
- config: pluginManager.config
495
+ config: driver.config
496
496
  }),
497
497
  footer: getFooter({
498
498
  oas,
@@ -510,22 +510,22 @@ const operationsGenerator = createReactGenerator({
510
510
  const staticClassClientGenerator = createReactGenerator({
511
511
  name: "staticClassClient",
512
512
  Operations({ operations, generator, plugin, config }) {
513
- const { options, key: pluginKey } = plugin;
514
- const pluginManager = usePluginManager();
513
+ const { options, name: pluginName } = plugin;
514
+ const driver = usePluginDriver();
515
515
  const oas = useOas();
516
516
  const { getName, getFile, getGroup, getSchemas } = useOperationManager(generator);
517
- function buildOperationData(operation) {
517
+ function renderOperationData(operation) {
518
518
  const type = {
519
- file: getFile(operation, { pluginKey: [pluginTsName] }),
519
+ file: getFile(operation, { pluginName: pluginTsName }),
520
520
  schemas: getSchemas(operation, {
521
- pluginKey: [pluginTsName],
521
+ pluginName: pluginTsName,
522
522
  type: "type"
523
523
  })
524
524
  };
525
525
  const zod = {
526
- file: getFile(operation, { pluginKey: [pluginZodName] }),
526
+ file: getFile(operation, { pluginName: pluginZodName }),
527
527
  schemas: getSchemas(operation, {
528
- pluginKey: [pluginZodName],
528
+ pluginName: pluginZodName,
529
529
  type: "function"
530
530
  })
531
531
  };
@@ -543,12 +543,12 @@ const staticClassClientGenerator = createReactGenerator({
543
543
  const groupName = group?.tag ? options.group?.name?.({ group: camelCase(group.tag) }) ?? pascalCase(group.tag) : "Client";
544
544
  if (!group?.tag && !options.group) {
545
545
  const name = "ApiClient";
546
- const file = pluginManager.getFile({
546
+ const file = driver.getFile({
547
547
  name,
548
548
  extname: ".ts",
549
- pluginKey
549
+ pluginName
550
550
  });
551
- const operationData = buildOperationData(operation);
551
+ const operationData = renderOperationData(operation);
552
552
  const previousFile = acc.find((item) => item.file.path === file.path);
553
553
  if (previousFile) previousFile.operations.push(operationData);
554
554
  else acc.push({
@@ -558,13 +558,13 @@ const staticClassClientGenerator = createReactGenerator({
558
558
  });
559
559
  } else if (group?.tag) {
560
560
  const name = groupName;
561
- const file = pluginManager.getFile({
561
+ const file = driver.getFile({
562
562
  name,
563
563
  extname: ".ts",
564
- pluginKey,
564
+ pluginName,
565
565
  options: { group }
566
566
  });
567
- const operationData = buildOperationData(operation);
567
+ const operationData = renderOperationData(operation);
568
568
  const previousFile = acc.find((item) => item.file.path === file.path);
569
569
  if (previousFile) previousFile.operations.push(operationData);
570
570
  else acc.push({
@@ -627,7 +627,7 @@ const staticClassClientGenerator = createReactGenerator({
627
627
  banner: getBanner({
628
628
  oas,
629
629
  output: options.output,
630
- config: pluginManager.config
630
+ config: driver.config
631
631
  }),
632
632
  footer: getFooter({
633
633
  oas,
@@ -720,4 +720,4 @@ const staticClassClientGenerator = createReactGenerator({
720
720
  //#endregion
721
721
  export { classClientGenerator as a, clientGenerator as i, operationsGenerator as n, groupedClientGenerator as r, staticClassClientGenerator as t };
722
722
 
723
- //# sourceMappingURL=generators-DCnIY6RB.js.map
723
+ //# sourceMappingURL=generators-BD0Kg3x9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generators-BD0Kg3x9.js","names":[],"sources":["../src/components/WrapperClient.tsx","../src/generators/classClientGenerator.tsx","../src/generators/clientGenerator.tsx","../src/generators/groupedClientGenerator.tsx","../src/generators/operationsGenerator.tsx","../src/generators/staticClassClientGenerator.tsx"],"sourcesContent":["import { camelCase } from '@internals/utils'\nimport { File } from '@kubb/react-fabric'\nimport type { FabricReactNode } from '@kubb/react-fabric/types'\n\ntype Props = {\n name: string\n classNames: Array<string>\n isExportable?: boolean\n isIndexable?: boolean\n}\n\nexport function WrapperClient({ name, classNames, isExportable = true, isIndexable = true }: Props): FabricReactNode {\n const properties = classNames.map((className) => ` readonly ${camelCase(className)}: ${className}`).join('\\n')\n const assignments = classNames.map((className) => ` this.${camelCase(className)} = new ${className}(config)`).join('\\n')\n\n const classCode = `export class ${name} {\n${properties}\n\n constructor(config: Partial<RequestConfig> & { client?: Client } = {}) {\n${assignments}\n }\n}`\n\n return (\n <File.Source name={name} isExportable={isExportable} isIndexable={isIndexable}>\n {classCode}\n </File.Source>\n )\n}\n","import path from 'node:path'\nimport { camelCase, pascalCase } from '@internals/utils'\nimport { usePluginDriver } from '@kubb/core/hooks'\nimport type { KubbFile } from '@kubb/fabric-core/types'\nimport type { Operation } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { ClassClient } from '../components/ClassClient'\nimport { WrapperClient } from '../components/WrapperClient'\nimport type { PluginClient } from '../types'\n\ntype OperationData = {\n operation: Operation\n name: string\n typeSchemas: OperationSchemas\n zodSchemas: OperationSchemas | undefined\n typeFile: KubbFile.File\n zodFile: KubbFile.File\n}\n\ntype Controller = {\n name: string\n file: KubbFile.File\n operations: Array<OperationData>\n}\n\nexport const classClientGenerator = createReactGenerator<PluginClient>({\n name: 'classClient',\n Operations({ operations, generator, plugin, config }) {\n const { options, name: pluginName } = plugin\n const driver = usePluginDriver()\n\n const oas = useOas()\n const { getName, getFile, getGroup, getSchemas } = useOperationManager(generator)\n\n function renderOperationData(operation: Operation): OperationData {\n const type = {\n file: getFile(operation, { pluginName: pluginTsName }),\n schemas: getSchemas(operation, { pluginName: pluginTsName, type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginName: pluginZodName }),\n schemas: getSchemas(operation, { pluginName: pluginZodName, type: 'function' }),\n }\n\n return {\n operation,\n name: getName(operation, { type: 'function' }),\n typeSchemas: type.schemas,\n zodSchemas: zod.schemas,\n typeFile: type.file,\n zodFile: zod.file,\n }\n }\n\n // Group operations by tag\n const controllers = operations.reduce(\n (acc, operation) => {\n const group = getGroup(operation)\n const groupName = group?.tag ? (options.group?.name?.({ group: camelCase(group.tag) }) ?? pascalCase(group.tag)) : 'Client'\n\n if (!group?.tag && !options.group) {\n // If no grouping, put all operations in a single class\n const name = 'ApiClient'\n const file = driver.getFile({\n name,\n extname: '.ts',\n pluginName,\n })\n\n const operationData = renderOperationData(operation)\n const previousFile = acc.find((item) => item.file.path === file.path)\n\n if (previousFile) {\n previousFile.operations.push(operationData)\n } else {\n acc.push({ name, file, operations: [operationData] })\n }\n } else if (group?.tag) {\n // Group by tag\n const name = groupName\n const file = driver.getFile({\n name,\n extname: '.ts',\n pluginName,\n options: { group },\n })\n\n const operationData = renderOperationData(operation)\n const previousFile = acc.find((item) => item.file.path === file.path)\n\n if (previousFile) {\n previousFile.operations.push(operationData)\n } else {\n acc.push({ name, file, operations: [operationData] })\n }\n }\n\n return acc\n },\n [] as Array<Controller>,\n )\n\n function collectTypeImports(ops: Array<OperationData>) {\n const typeImportsByFile = new Map<string, Set<string>>()\n const typeFilesByPath = new Map<string, KubbFile.File>()\n\n ops.forEach((op) => {\n const { typeSchemas, typeFile } = op\n\n if (!typeImportsByFile.has(typeFile.path)) {\n typeImportsByFile.set(typeFile.path, new Set())\n }\n const typeImports = typeImportsByFile.get(typeFile.path)!\n\n if (typeSchemas.request?.name) typeImports.add(typeSchemas.request.name)\n if (typeSchemas.response?.name) typeImports.add(typeSchemas.response.name)\n if (typeSchemas.pathParams?.name) typeImports.add(typeSchemas.pathParams.name)\n if (typeSchemas.queryParams?.name) typeImports.add(typeSchemas.queryParams.name)\n if (typeSchemas.headerParams?.name) typeImports.add(typeSchemas.headerParams.name)\n typeSchemas.statusCodes?.forEach((item) => {\n if (item?.name) typeImports.add(item.name)\n })\n typeFilesByPath.set(typeFile.path, typeFile)\n })\n\n return { typeImportsByFile, typeFilesByPath }\n }\n\n function collectZodImports(ops: Array<OperationData>) {\n const zodImportsByFile = new Map<string, Set<string>>()\n const zodFilesByPath = new Map<string, KubbFile.File>()\n\n ops.forEach((op) => {\n const { zodSchemas, zodFile } = op\n\n if (!zodImportsByFile.has(zodFile.path)) {\n zodImportsByFile.set(zodFile.path, new Set())\n }\n const zodImports = zodImportsByFile.get(zodFile.path)!\n\n if (zodSchemas?.response?.name) zodImports.add(zodSchemas.response.name)\n if (zodSchemas?.request?.name) zodImports.add(zodSchemas.request.name)\n zodFilesByPath.set(zodFile.path, zodFile)\n })\n\n return { zodImportsByFile, zodFilesByPath }\n }\n\n const files = controllers.map(({ name, file, operations: ops }) => {\n const { typeImportsByFile, typeFilesByPath } = collectTypeImports(ops)\n const { zodImportsByFile, zodFilesByPath } =\n options.parser === 'zod'\n ? collectZodImports(ops)\n : { zodImportsByFile: new Map<string, Set<string>>(), zodFilesByPath: new Map<string, KubbFile.File>() }\n const hasFormData = ops.some((op) => op.operation.getContentType() === 'multipart/form-data')\n\n return (\n <File\n key={file.path}\n baseName={file.baseName}\n path={file.path}\n meta={file.meta}\n banner={getBanner({ oas, output: options.output, config: driver.config })}\n footer={getFooter({ oas, output: options.output })}\n >\n {options.importPath ? (\n <>\n <File.Import name={'fetch'} path={options.importPath} />\n <File.Import name={['mergeConfig']} path={options.importPath} />\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={options.importPath} isTypeOnly />\n </>\n ) : (\n <>\n <File.Import name={['fetch']} root={file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} />\n <File.Import name={['mergeConfig']} root={file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} />\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={file.path}\n path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}\n isTypeOnly\n />\n </>\n )}\n\n {hasFormData && <File.Import name={['buildFormData']} root={file.path} path={path.resolve(config.root, config.output.path, '.kubb/config.ts')} />}\n\n {Array.from(typeImportsByFile.entries()).map(([filePath, imports]) => {\n const typeFile = typeFilesByPath.get(filePath)\n if (!typeFile) {\n return null\n }\n const importNames = Array.from(imports).filter(Boolean)\n if (importNames.length === 0) {\n return null\n }\n return <File.Import key={filePath} name={importNames} root={file.path} path={typeFile.path} isTypeOnly />\n })}\n\n {options.parser === 'zod' &&\n Array.from(zodImportsByFile.entries()).map(([filePath, imports]) => {\n const zodFile = zodFilesByPath.get(filePath)\n if (!zodFile) {\n return null\n }\n const importNames = Array.from(imports).filter(Boolean)\n if (importNames.length === 0) {\n return null\n }\n\n return <File.Import key={filePath} name={importNames} root={file.path} path={zodFile.path} />\n })}\n\n <ClassClient\n name={name}\n operations={ops}\n baseURL={options.baseURL}\n dataReturnType={options.dataReturnType}\n pathParamsType={options.pathParamsType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n parser={options.parser}\n />\n </File>\n )\n })\n\n if (options.wrapper) {\n const wrapperFile = driver.getFile({\n name: options.wrapper.className,\n extname: '.ts',\n pluginName,\n })\n\n files.push(\n <File\n key={wrapperFile.path}\n baseName={wrapperFile.baseName}\n path={wrapperFile.path}\n meta={wrapperFile.meta}\n banner={getBanner({ oas, output: options.output, config: driver.config })}\n footer={getFooter({ oas, output: options.output })}\n >\n {options.importPath ? (\n <File.Import name={['Client', 'RequestConfig']} path={options.importPath} isTypeOnly />\n ) : (\n <File.Import\n name={['Client', 'RequestConfig']}\n root={wrapperFile.path}\n path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}\n isTypeOnly\n />\n )}\n\n {controllers.map(({ name, file }) => (\n <File.Import key={name} name={[name]} root={wrapperFile.path} path={file.path} />\n ))}\n\n <WrapperClient name={options.wrapper.className} classNames={controllers.map(({ name }) => name)} />\n </File>,\n )\n }\n\n return files\n },\n})\n","import path from 'node:path'\nimport { usePluginDriver } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { Client } from '../components/Client'\nimport { Url } from '../components/Url.tsx'\nimport type { PluginClient } from '../types'\n\nexport const clientGenerator = createReactGenerator<PluginClient>({\n name: 'client',\n Operation({ config, plugin, operation, generator }) {\n const driver = usePluginDriver()\n const {\n options,\n options: { output, urlType },\n } = plugin\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const client = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const url = {\n name: getName(operation, { type: 'function', suffix: 'url', prefix: 'get' }),\n file: getFile(operation),\n }\n\n const type = {\n file: getFile(operation, { pluginName: pluginTsName }),\n schemas: getSchemas(operation, { pluginName: pluginTsName, type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginName: pluginZodName }),\n schemas: getSchemas(operation, { pluginName: pluginZodName, type: 'function' }),\n }\n\n const isFormData = operation.getContentType() === 'multipart/form-data'\n\n return (\n <File\n baseName={client.file.baseName}\n path={client.file.path}\n meta={client.file.meta}\n banner={getBanner({ oas, output, config: driver.config })}\n footer={getFooter({ oas, output })}\n >\n {options.importPath ? (\n <>\n <File.Import name={'fetch'} path={options.importPath} />\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={options.importPath} isTypeOnly />\n </>\n ) : (\n <>\n <File.Import name={['fetch']} root={client.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} />\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={client.file.path}\n path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}\n isTypeOnly\n />\n </>\n )}\n\n {isFormData && type.schemas.request?.name && (\n <File.Import name={['buildFormData']} root={client.file.path} path={path.resolve(config.root, config.output.path, '.kubb/config.ts')} />\n )}\n\n {options.parser === 'zod' && (\n <File.Import\n name={[zod.schemas.response.name, zod.schemas.request?.name].filter((x): x is string => Boolean(x))}\n root={client.file.path}\n path={zod.file.path}\n />\n )}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter((x): x is string => Boolean(x))}\n root={client.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <Url\n name={url.name}\n baseURL={options.baseURL}\n pathParamsType={options.pathParamsType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n typeSchemas={type.schemas}\n operation={operation}\n isIndexable={urlType === 'export'}\n isExportable={urlType === 'export'}\n />\n\n <Client\n name={client.name}\n urlName={url.name}\n baseURL={options.baseURL}\n dataReturnType={options.dataReturnType}\n pathParamsType={options.pathParamsType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n typeSchemas={type.schemas}\n operation={operation}\n parser={options.parser}\n zodSchemas={zod.schemas}\n />\n </File>\n )\n },\n})\n","import { camelCase } from '@internals/utils'\nimport { usePluginDriver } from '@kubb/core/hooks'\nimport type { KubbFile } from '@kubb/fabric-core/types'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { File, Function } from '@kubb/react-fabric'\nimport type { PluginClient } from '../types'\n\nexport const groupedClientGenerator = createReactGenerator<PluginClient>({\n name: 'groupedClient',\n Operations({ operations, generator, plugin }) {\n const { options, name: pluginName } = plugin\n const driver = usePluginDriver()\n\n const oas = useOas()\n const { getName, getFile, getGroup } = useOperationManager(generator)\n\n const controllers = operations.reduce(\n (acc, operation) => {\n if (options.group?.type === 'tag') {\n const group = getGroup(operation)\n const name = group?.tag ? options.group?.name?.({ group: camelCase(group.tag) }) : undefined\n\n if (!group?.tag || !name) {\n return acc\n }\n\n const file = driver.getFile({\n name,\n extname: '.ts',\n pluginName,\n options: { group },\n })\n\n const client = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const previousFile = acc.find((item) => item.file.path === file.path)\n\n if (previousFile) {\n previousFile.clients.push(client)\n } else {\n acc.push({ name, file, clients: [client] })\n }\n }\n\n return acc\n },\n [] as Array<{ name: string; file: KubbFile.File; clients: Array<{ name: string; file: KubbFile.File }> }>,\n )\n\n return controllers.map(({ name, file, clients }) => {\n return (\n <File\n key={file.path}\n baseName={file.baseName}\n path={file.path}\n meta={file.meta}\n banner={getBanner({ oas, output: options.output, config: driver.config })}\n footer={getFooter({ oas, output: options.output })}\n >\n {clients.map((client) => (\n <File.Import key={client.name} name={[client.name]} root={file.path} path={client.file.path} />\n ))}\n\n <File.Source name={name} isExportable isIndexable>\n <Function export name={name}>\n {`return { ${clients.map((client) => client.name).join(', ')} }`}\n </Function>\n </File.Source>\n </File>\n )\n })\n },\n})\n","import { usePluginDriver } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { File } from '@kubb/react-fabric'\nimport { Operations } from '../components/Operations'\nimport type { PluginClient } from '../types'\n\nexport const operationsGenerator = createReactGenerator<PluginClient>({\n name: 'client',\n Operations({ operations, plugin }) {\n const {\n name: pluginName,\n options: { output },\n } = plugin\n const driver = usePluginDriver()\n\n const oas = useOas()\n\n const name = 'operations'\n const file = driver.getFile({ name, extname: '.ts', pluginName })\n\n return (\n <File\n baseName={file.baseName}\n path={file.path}\n meta={file.meta}\n banner={getBanner({ oas, output, config: driver.config })}\n footer={getFooter({ oas, output })}\n >\n <Operations name={name} operations={operations} />\n </File>\n )\n },\n})\n","import path from 'node:path'\nimport { camelCase, pascalCase } from '@internals/utils'\nimport { usePluginDriver } from '@kubb/core/hooks'\nimport type { KubbFile } from '@kubb/fabric-core/types'\nimport type { Operation } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { StaticClassClient } from '../components/StaticClassClient'\nimport type { PluginClient } from '../types'\n\ntype OperationData = {\n operation: Operation\n name: string\n typeSchemas: OperationSchemas\n zodSchemas: OperationSchemas | undefined\n typeFile: KubbFile.File\n zodFile: KubbFile.File\n}\n\ntype Controller = {\n name: string\n file: KubbFile.File\n operations: Array<OperationData>\n}\n\nexport const staticClassClientGenerator = createReactGenerator<PluginClient>({\n name: 'staticClassClient',\n Operations({ operations, generator, plugin, config }) {\n const { options, name: pluginName } = plugin\n const driver = usePluginDriver()\n\n const oas = useOas()\n const { getName, getFile, getGroup, getSchemas } = useOperationManager(generator)\n\n function renderOperationData(operation: Operation): OperationData {\n const type = {\n file: getFile(operation, { pluginName: pluginTsName }),\n schemas: getSchemas(operation, { pluginName: pluginTsName, type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginName: pluginZodName }),\n schemas: getSchemas(operation, { pluginName: pluginZodName, type: 'function' }),\n }\n\n return {\n operation,\n name: getName(operation, { type: 'function' }),\n typeSchemas: type.schemas,\n zodSchemas: zod.schemas,\n typeFile: type.file,\n zodFile: zod.file,\n }\n }\n\n // Group operations by tag\n const controllers = operations.reduce(\n (acc, operation) => {\n const group = getGroup(operation)\n const groupName = group?.tag ? (options.group?.name?.({ group: camelCase(group.tag) }) ?? pascalCase(group.tag)) : 'Client'\n\n if (!group?.tag && !options.group) {\n // If no grouping, put all operations in a single class\n const name = 'ApiClient'\n const file = driver.getFile({\n name,\n extname: '.ts',\n pluginName,\n })\n\n const operationData = renderOperationData(operation)\n const previousFile = acc.find((item) => item.file.path === file.path)\n\n if (previousFile) {\n previousFile.operations.push(operationData)\n } else {\n acc.push({ name, file, operations: [operationData] })\n }\n } else if (group?.tag) {\n // Group by tag\n const name = groupName\n const file = driver.getFile({\n name,\n extname: '.ts',\n pluginName,\n options: { group },\n })\n\n const operationData = renderOperationData(operation)\n const previousFile = acc.find((item) => item.file.path === file.path)\n\n if (previousFile) {\n previousFile.operations.push(operationData)\n } else {\n acc.push({ name, file, operations: [operationData] })\n }\n }\n\n return acc\n },\n [] as Array<Controller>,\n )\n\n function collectTypeImports(ops: Array<OperationData>) {\n const typeImportsByFile = new Map<string, Set<string>>()\n const typeFilesByPath = new Map<string, KubbFile.File>()\n\n ops.forEach((op) => {\n const { typeSchemas, typeFile } = op\n\n if (!typeImportsByFile.has(typeFile.path)) {\n typeImportsByFile.set(typeFile.path, new Set())\n }\n const typeImports = typeImportsByFile.get(typeFile.path)!\n\n if (typeSchemas.request?.name) typeImports.add(typeSchemas.request.name)\n if (typeSchemas.response?.name) typeImports.add(typeSchemas.response.name)\n if (typeSchemas.pathParams?.name) typeImports.add(typeSchemas.pathParams.name)\n if (typeSchemas.queryParams?.name) typeImports.add(typeSchemas.queryParams.name)\n if (typeSchemas.headerParams?.name) typeImports.add(typeSchemas.headerParams.name)\n typeSchemas.statusCodes?.forEach((item) => {\n if (item?.name) typeImports.add(item.name)\n })\n typeFilesByPath.set(typeFile.path, typeFile)\n })\n\n return { typeImportsByFile, typeFilesByPath }\n }\n\n function collectZodImports(ops: Array<OperationData>) {\n const zodImportsByFile = new Map<string, Set<string>>()\n const zodFilesByPath = new Map<string, KubbFile.File>()\n\n ops.forEach((op) => {\n const { zodSchemas, zodFile } = op\n\n if (!zodImportsByFile.has(zodFile.path)) {\n zodImportsByFile.set(zodFile.path, new Set())\n }\n const zodImports = zodImportsByFile.get(zodFile.path)!\n\n if (zodSchemas?.response?.name) zodImports.add(zodSchemas.response.name)\n if (zodSchemas?.request?.name) zodImports.add(zodSchemas.request.name)\n zodFilesByPath.set(zodFile.path, zodFile)\n })\n\n return { zodImportsByFile, zodFilesByPath }\n }\n\n return controllers.map(({ name, file, operations: ops }) => {\n const { typeImportsByFile, typeFilesByPath } = collectTypeImports(ops)\n const { zodImportsByFile, zodFilesByPath } =\n options.parser === 'zod'\n ? collectZodImports(ops)\n : { zodImportsByFile: new Map<string, Set<string>>(), zodFilesByPath: new Map<string, KubbFile.File>() }\n const hasFormData = ops.some((op) => op.operation.getContentType() === 'multipart/form-data')\n\n return (\n <File\n key={file.path}\n baseName={file.baseName}\n path={file.path}\n meta={file.meta}\n banner={getBanner({ oas, output: options.output, config: driver.config })}\n footer={getFooter({ oas, output: options.output })}\n >\n {options.importPath ? (\n <>\n <File.Import name={'fetch'} path={options.importPath} />\n <File.Import name={['mergeConfig']} path={options.importPath} />\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={options.importPath} isTypeOnly />\n </>\n ) : (\n <>\n <File.Import name={['fetch']} root={file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} />\n <File.Import name={['mergeConfig']} root={file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} />\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={file.path}\n path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}\n isTypeOnly\n />\n </>\n )}\n\n {hasFormData && <File.Import name={['buildFormData']} root={file.path} path={path.resolve(config.root, config.output.path, '.kubb/config.ts')} />}\n\n {Array.from(typeImportsByFile.entries()).map(([filePath, imports]) => {\n const typeFile = typeFilesByPath.get(filePath)\n if (!typeFile) {\n return null\n }\n const importNames = Array.from(imports).filter(Boolean)\n if (importNames.length === 0) {\n return null\n }\n return <File.Import key={filePath} name={importNames} root={file.path} path={typeFile.path} isTypeOnly />\n })}\n\n {options.parser === 'zod' &&\n Array.from(zodImportsByFile.entries()).map(([filePath, imports]) => {\n const zodFile = zodFilesByPath.get(filePath)\n if (!zodFile) {\n return null\n }\n const importNames = Array.from(imports).filter(Boolean)\n if (importNames.length === 0) {\n return null\n }\n\n return <File.Import key={filePath} name={importNames} root={file.path} path={zodFile.path} />\n })}\n\n <StaticClassClient\n name={name}\n operations={ops}\n baseURL={options.baseURL}\n dataReturnType={options.dataReturnType}\n pathParamsType={options.pathParamsType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n parser={options.parser}\n />\n </File>\n )\n })\n },\n})\n"],"mappings":"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"}
@@ -31,22 +31,22 @@ ${classNames.map((className) => ` this.${require_StaticClassClient.camelCase(
31
31
  const classClientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)({
32
32
  name: "classClient",
33
33
  Operations({ operations, generator, plugin, config }) {
34
- const { options, key: pluginKey } = plugin;
35
- const pluginManager = (0, _kubb_core_hooks.usePluginManager)();
34
+ const { options, name: pluginName } = plugin;
35
+ const driver = (0, _kubb_core_hooks.usePluginDriver)();
36
36
  const oas = (0, _kubb_plugin_oas_hooks.useOas)();
37
37
  const { getName, getFile, getGroup, getSchemas } = (0, _kubb_plugin_oas_hooks.useOperationManager)(generator);
38
- function buildOperationData(operation) {
38
+ function renderOperationData(operation) {
39
39
  const type = {
40
- file: getFile(operation, { pluginKey: [_kubb_plugin_ts.pluginTsName] }),
40
+ file: getFile(operation, { pluginName: _kubb_plugin_ts.pluginTsName }),
41
41
  schemas: getSchemas(operation, {
42
- pluginKey: [_kubb_plugin_ts.pluginTsName],
42
+ pluginName: _kubb_plugin_ts.pluginTsName,
43
43
  type: "type"
44
44
  })
45
45
  };
46
46
  const zod = {
47
- file: getFile(operation, { pluginKey: [_kubb_plugin_zod.pluginZodName] }),
47
+ file: getFile(operation, { pluginName: _kubb_plugin_zod.pluginZodName }),
48
48
  schemas: getSchemas(operation, {
49
- pluginKey: [_kubb_plugin_zod.pluginZodName],
49
+ pluginName: _kubb_plugin_zod.pluginZodName,
50
50
  type: "function"
51
51
  })
52
52
  };
@@ -64,12 +64,12 @@ const classClientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerato
64
64
  const groupName = group?.tag ? options.group?.name?.({ group: require_StaticClassClient.camelCase(group.tag) }) ?? require_StaticClassClient.pascalCase(group.tag) : "Client";
65
65
  if (!group?.tag && !options.group) {
66
66
  const name = "ApiClient";
67
- const file = pluginManager.getFile({
67
+ const file = driver.getFile({
68
68
  name,
69
69
  extname: ".ts",
70
- pluginKey
70
+ pluginName
71
71
  });
72
- const operationData = buildOperationData(operation);
72
+ const operationData = renderOperationData(operation);
73
73
  const previousFile = acc.find((item) => item.file.path === file.path);
74
74
  if (previousFile) previousFile.operations.push(operationData);
75
75
  else acc.push({
@@ -79,13 +79,13 @@ const classClientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerato
79
79
  });
80
80
  } else if (group?.tag) {
81
81
  const name = groupName;
82
- const file = pluginManager.getFile({
82
+ const file = driver.getFile({
83
83
  name,
84
84
  extname: ".ts",
85
- pluginKey,
85
+ pluginName,
86
86
  options: { group }
87
87
  });
88
- const operationData = buildOperationData(operation);
88
+ const operationData = renderOperationData(operation);
89
89
  const previousFile = acc.find((item) => item.file.path === file.path);
90
90
  if (previousFile) previousFile.operations.push(operationData);
91
91
  else acc.push({
@@ -148,7 +148,7 @@ const classClientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerato
148
148
  banner: (0, _kubb_plugin_oas_utils.getBanner)({
149
149
  oas,
150
150
  output: options.output,
151
- config: pluginManager.config
151
+ config: driver.config
152
152
  }),
153
153
  footer: (0, _kubb_plugin_oas_utils.getFooter)({
154
154
  oas,
@@ -237,10 +237,10 @@ const classClientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerato
237
237
  }, file.path);
238
238
  });
239
239
  if (options.wrapper) {
240
- const wrapperFile = pluginManager.getFile({
240
+ const wrapperFile = driver.getFile({
241
241
  name: options.wrapper.className,
242
242
  extname: ".ts",
243
- pluginKey
243
+ pluginName
244
244
  });
245
245
  files.push(/* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsxs)(_kubb_react_fabric.File, {
246
246
  baseName: wrapperFile.baseName,
@@ -249,7 +249,7 @@ const classClientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerato
249
249
  banner: (0, _kubb_plugin_oas_utils.getBanner)({
250
250
  oas,
251
251
  output: options.output,
252
- config: pluginManager.config
252
+ config: driver.config
253
253
  }),
254
254
  footer: (0, _kubb_plugin_oas_utils.getFooter)({
255
255
  oas,
@@ -286,7 +286,7 @@ const classClientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerato
286
286
  const clientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)({
287
287
  name: "client",
288
288
  Operation({ config, plugin, operation, generator }) {
289
- const pluginManager = (0, _kubb_core_hooks.usePluginManager)();
289
+ const driver = (0, _kubb_core_hooks.usePluginDriver)();
290
290
  const { options, options: { output, urlType } } = plugin;
291
291
  const oas = (0, _kubb_plugin_oas_hooks.useOas)();
292
292
  const { getSchemas, getName, getFile } = (0, _kubb_plugin_oas_hooks.useOperationManager)(generator);
@@ -303,16 +303,16 @@ const clientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)({
303
303
  file: getFile(operation)
304
304
  };
305
305
  const type = {
306
- file: getFile(operation, { pluginKey: [_kubb_plugin_ts.pluginTsName] }),
306
+ file: getFile(operation, { pluginName: _kubb_plugin_ts.pluginTsName }),
307
307
  schemas: getSchemas(operation, {
308
- pluginKey: [_kubb_plugin_ts.pluginTsName],
308
+ pluginName: _kubb_plugin_ts.pluginTsName,
309
309
  type: "type"
310
310
  })
311
311
  };
312
312
  const zod = {
313
- file: getFile(operation, { pluginKey: [_kubb_plugin_zod.pluginZodName] }),
313
+ file: getFile(operation, { pluginName: _kubb_plugin_zod.pluginZodName }),
314
314
  schemas: getSchemas(operation, {
315
- pluginKey: [_kubb_plugin_zod.pluginZodName],
315
+ pluginName: _kubb_plugin_zod.pluginZodName,
316
316
  type: "function"
317
317
  })
318
318
  };
@@ -324,7 +324,7 @@ const clientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)({
324
324
  banner: (0, _kubb_plugin_oas_utils.getBanner)({
325
325
  oas,
326
326
  output,
327
- config: pluginManager.config
327
+ config: driver.config
328
328
  }),
329
329
  footer: (0, _kubb_plugin_oas_utils.getFooter)({
330
330
  oas,
@@ -412,8 +412,8 @@ const clientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)({
412
412
  const groupedClientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)({
413
413
  name: "groupedClient",
414
414
  Operations({ operations, generator, plugin }) {
415
- const { options, key: pluginKey } = plugin;
416
- const pluginManager = (0, _kubb_core_hooks.usePluginManager)();
415
+ const { options, name: pluginName } = plugin;
416
+ const driver = (0, _kubb_core_hooks.usePluginDriver)();
417
417
  const oas = (0, _kubb_plugin_oas_hooks.useOas)();
418
418
  const { getName, getFile, getGroup } = (0, _kubb_plugin_oas_hooks.useOperationManager)(generator);
419
419
  return operations.reduce((acc, operation) => {
@@ -421,10 +421,10 @@ const groupedClientGenerator = (0, _kubb_plugin_oas_generators.createReactGenera
421
421
  const group = getGroup(operation);
422
422
  const name = group?.tag ? options.group?.name?.({ group: require_StaticClassClient.camelCase(group.tag) }) : void 0;
423
423
  if (!group?.tag || !name) return acc;
424
- const file = pluginManager.getFile({
424
+ const file = driver.getFile({
425
425
  name,
426
426
  extname: ".ts",
427
- pluginKey,
427
+ pluginName,
428
428
  options: { group }
429
429
  });
430
430
  const client = {
@@ -448,7 +448,7 @@ const groupedClientGenerator = (0, _kubb_plugin_oas_generators.createReactGenera
448
448
  banner: (0, _kubb_plugin_oas_utils.getBanner)({
449
449
  oas,
450
450
  output: options.output,
451
- config: pluginManager.config
451
+ config: driver.config
452
452
  }),
453
453
  footer: (0, _kubb_plugin_oas_utils.getFooter)({
454
454
  oas,
@@ -477,14 +477,14 @@ const groupedClientGenerator = (0, _kubb_plugin_oas_generators.createReactGenera
477
477
  const operationsGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)({
478
478
  name: "client",
479
479
  Operations({ operations, plugin }) {
480
- const { key: pluginKey, options: { output } } = plugin;
481
- const pluginManager = (0, _kubb_core_hooks.usePluginManager)();
480
+ const { name: pluginName, options: { output } } = plugin;
481
+ const driver = (0, _kubb_core_hooks.usePluginDriver)();
482
482
  const oas = (0, _kubb_plugin_oas_hooks.useOas)();
483
483
  const name = "operations";
484
- const file = pluginManager.getFile({
484
+ const file = driver.getFile({
485
485
  name,
486
486
  extname: ".ts",
487
- pluginKey
487
+ pluginName
488
488
  });
489
489
  return /* @__PURE__ */ (0, _kubb_react_fabric_jsx_runtime.jsx)(_kubb_react_fabric.File, {
490
490
  baseName: file.baseName,
@@ -493,7 +493,7 @@ const operationsGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator
493
493
  banner: (0, _kubb_plugin_oas_utils.getBanner)({
494
494
  oas,
495
495
  output,
496
- config: pluginManager.config
496
+ config: driver.config
497
497
  }),
498
498
  footer: (0, _kubb_plugin_oas_utils.getFooter)({
499
499
  oas,
@@ -511,22 +511,22 @@ const operationsGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator
511
511
  const staticClassClientGenerator = (0, _kubb_plugin_oas_generators.createReactGenerator)({
512
512
  name: "staticClassClient",
513
513
  Operations({ operations, generator, plugin, config }) {
514
- const { options, key: pluginKey } = plugin;
515
- const pluginManager = (0, _kubb_core_hooks.usePluginManager)();
514
+ const { options, name: pluginName } = plugin;
515
+ const driver = (0, _kubb_core_hooks.usePluginDriver)();
516
516
  const oas = (0, _kubb_plugin_oas_hooks.useOas)();
517
517
  const { getName, getFile, getGroup, getSchemas } = (0, _kubb_plugin_oas_hooks.useOperationManager)(generator);
518
- function buildOperationData(operation) {
518
+ function renderOperationData(operation) {
519
519
  const type = {
520
- file: getFile(operation, { pluginKey: [_kubb_plugin_ts.pluginTsName] }),
520
+ file: getFile(operation, { pluginName: _kubb_plugin_ts.pluginTsName }),
521
521
  schemas: getSchemas(operation, {
522
- pluginKey: [_kubb_plugin_ts.pluginTsName],
522
+ pluginName: _kubb_plugin_ts.pluginTsName,
523
523
  type: "type"
524
524
  })
525
525
  };
526
526
  const zod = {
527
- file: getFile(operation, { pluginKey: [_kubb_plugin_zod.pluginZodName] }),
527
+ file: getFile(operation, { pluginName: _kubb_plugin_zod.pluginZodName }),
528
528
  schemas: getSchemas(operation, {
529
- pluginKey: [_kubb_plugin_zod.pluginZodName],
529
+ pluginName: _kubb_plugin_zod.pluginZodName,
530
530
  type: "function"
531
531
  })
532
532
  };
@@ -544,12 +544,12 @@ const staticClassClientGenerator = (0, _kubb_plugin_oas_generators.createReactGe
544
544
  const groupName = group?.tag ? options.group?.name?.({ group: require_StaticClassClient.camelCase(group.tag) }) ?? require_StaticClassClient.pascalCase(group.tag) : "Client";
545
545
  if (!group?.tag && !options.group) {
546
546
  const name = "ApiClient";
547
- const file = pluginManager.getFile({
547
+ const file = driver.getFile({
548
548
  name,
549
549
  extname: ".ts",
550
- pluginKey
550
+ pluginName
551
551
  });
552
- const operationData = buildOperationData(operation);
552
+ const operationData = renderOperationData(operation);
553
553
  const previousFile = acc.find((item) => item.file.path === file.path);
554
554
  if (previousFile) previousFile.operations.push(operationData);
555
555
  else acc.push({
@@ -559,13 +559,13 @@ const staticClassClientGenerator = (0, _kubb_plugin_oas_generators.createReactGe
559
559
  });
560
560
  } else if (group?.tag) {
561
561
  const name = groupName;
562
- const file = pluginManager.getFile({
562
+ const file = driver.getFile({
563
563
  name,
564
564
  extname: ".ts",
565
- pluginKey,
565
+ pluginName,
566
566
  options: { group }
567
567
  });
568
- const operationData = buildOperationData(operation);
568
+ const operationData = renderOperationData(operation);
569
569
  const previousFile = acc.find((item) => item.file.path === file.path);
570
570
  if (previousFile) previousFile.operations.push(operationData);
571
571
  else acc.push({
@@ -628,7 +628,7 @@ const staticClassClientGenerator = (0, _kubb_plugin_oas_generators.createReactGe
628
628
  banner: (0, _kubb_plugin_oas_utils.getBanner)({
629
629
  oas,
630
630
  output: options.output,
631
- config: pluginManager.config
631
+ config: driver.config
632
632
  }),
633
633
  footer: (0, _kubb_plugin_oas_utils.getFooter)({
634
634
  oas,
@@ -750,4 +750,4 @@ Object.defineProperty(exports, "staticClassClientGenerator", {
750
750
  }
751
751
  });
752
752
 
753
- //# sourceMappingURL=generators-Dmi0scNT.cjs.map
753
+ //# sourceMappingURL=generators-CSAmn1bw.cjs.map