@kubb/plugin-oas 3.8.0 → 3.9.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.
Files changed (45) hide show
  1. package/dist/{OperationGenerator-DkfVl11s.d.cts → OperationGenerator-ppGaBdAB.d.cts} +6 -6
  2. package/dist/{OperationGenerator-DkfVl11s.d.ts → OperationGenerator-ppGaBdAB.d.ts} +6 -6
  3. package/dist/{Schema-BJcs_y8u.d.ts → Schema-Dtv0ZJI2.d.ts} +1 -1
  4. package/dist/{Schema-B2XBcTNh.d.cts → Schema-LQ3hNUNm.d.cts} +1 -1
  5. package/dist/{chunk-TKFFW62C.cjs → chunk-3BPYMOH5.cjs} +14 -6
  6. package/dist/chunk-3BPYMOH5.cjs.map +1 -0
  7. package/dist/{chunk-Z2353AWG.js → chunk-CJECBBBT.js} +4 -4
  8. package/dist/chunk-CJECBBBT.js.map +1 -0
  9. package/dist/{chunk-3DX5ALTN.js → chunk-H2YYMZPN.js} +14 -6
  10. package/dist/chunk-H2YYMZPN.js.map +1 -0
  11. package/dist/{chunk-HSTP26AO.cjs → chunk-XEMPWUAA.cjs} +4 -4
  12. package/dist/chunk-XEMPWUAA.cjs.map +1 -0
  13. package/dist/{chunk-FNXIO7AH.cjs → chunk-YBVFBM5P.cjs} +9 -5
  14. package/dist/chunk-YBVFBM5P.cjs.map +1 -0
  15. package/dist/{chunk-EMSV6TX2.js → chunk-ZES2YNPN.js} +8 -4
  16. package/dist/chunk-ZES2YNPN.js.map +1 -0
  17. package/dist/components.d.cts +2 -2
  18. package/dist/components.d.ts +2 -2
  19. package/dist/generators.cjs +3 -3
  20. package/dist/generators.d.cts +1 -1
  21. package/dist/generators.d.ts +1 -1
  22. package/dist/generators.js +2 -2
  23. package/dist/hooks.cjs +2 -2
  24. package/dist/hooks.d.cts +2 -2
  25. package/dist/hooks.d.ts +2 -2
  26. package/dist/hooks.js +1 -1
  27. package/dist/index.cjs +12 -12
  28. package/dist/index.d.cts +2 -2
  29. package/dist/index.d.ts +2 -2
  30. package/dist/index.js +5 -5
  31. package/dist/utils.cjs +8 -8
  32. package/dist/utils.d.cts +3 -2
  33. package/dist/utils.d.ts +3 -2
  34. package/dist/utils.js +1 -1
  35. package/package.json +7 -7
  36. package/src/SchemaGenerator.ts +2 -2
  37. package/src/SchemaMapper.ts +2 -2
  38. package/src/generators/jsonGenerator.ts +5 -1
  39. package/src/utils/getBanner.ts +13 -5
  40. package/dist/chunk-3DX5ALTN.js.map +0 -1
  41. package/dist/chunk-EMSV6TX2.js.map +0 -1
  42. package/dist/chunk-FNXIO7AH.cjs.map +0 -1
  43. package/dist/chunk-HSTP26AO.cjs.map +0 -1
  44. package/dist/chunk-TKFFW62C.cjs.map +0 -1
  45. package/dist/chunk-Z2353AWG.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkTKFFW62C_cjs = require('./chunk-TKFFW62C.cjs');
3
+ var chunk3BPYMOH5_cjs = require('./chunk-3BPYMOH5.cjs');
4
4
  var chunkKXB5DUFD_cjs = require('./chunk-KXB5DUFD.cjs');
5
5
  var transformers = require('@kubb/core/transformers');
6
6
  var react = require('@kubb/react');
@@ -79,8 +79,12 @@ var jsonGenerator = createGenerator({
79
79
  value: JSON.stringify(schema.value)
80
80
  }
81
81
  ],
82
- banner: chunkTKFFW62C_cjs.getBanner({ oas: instance.context.oas, output: plugin.options.output }),
83
- format: chunkTKFFW62C_cjs.getFooter({ oas: instance.context.oas, output: plugin.options.output })
82
+ banner: chunk3BPYMOH5_cjs.getBanner({
83
+ oas: instance.context.oas,
84
+ output: plugin.options.output,
85
+ config: pluginManager.config
86
+ }),
87
+ format: chunk3BPYMOH5_cjs.getFooter({ oas: instance.context.oas, output: plugin.options.output })
84
88
  }
85
89
  ];
86
90
  }
@@ -89,5 +93,5 @@ var jsonGenerator = createGenerator({
89
93
  exports.createGenerator = createGenerator;
90
94
  exports.createReactGenerator = createReactGenerator;
91
95
  exports.jsonGenerator = jsonGenerator;
92
- //# sourceMappingURL=chunk-FNXIO7AH.cjs.map
93
- //# sourceMappingURL=chunk-FNXIO7AH.cjs.map
96
+ //# sourceMappingURL=chunk-YBVFBM5P.cjs.map
97
+ //# sourceMappingURL=chunk-YBVFBM5P.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/generator.tsx","../src/generators/jsonGenerator.ts"],"names":["createRoot","App","jsx","Oas","camelCase","getBanner","getFooter"],"mappings":"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","file":"chunk-YBVFBM5P.cjs","sourcesContent":["import type { PluginFactoryOptions } from '@kubb/core'\nimport type * as KubbFile from '@kubb/fs/types'\nimport type { Operation, SchemaObject } from '@kubb/oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { App, createRoot } from '@kubb/react'\nimport type { KubbNode } from '@kubb/react/types'\nimport type { OperationGenerator } from './OperationGenerator.ts'\nimport type { SchemaGenerator, SchemaGeneratorOptions } from './SchemaGenerator.ts'\nimport type { Schema } from './SchemaMapper.ts'\nimport type { OperationsByMethod } from './types.ts'\n\ntype OperationsProps<TOptions extends PluginFactoryOptions> = {\n instance: Omit<OperationGenerator<TOptions>, 'build'>\n options: TOptions['resolvedOptions']\n operations: Array<Operation>\n operationsByMethod: OperationsByMethod\n}\n\ntype OperationProps<TOptions extends PluginFactoryOptions> = {\n instance: Omit<OperationGenerator<TOptions>, 'build'>\n options: TOptions['resolvedOptions']\n operation: Operation\n}\n\ntype SchemaProps<TOptions extends PluginFactoryOptions> = {\n instance: Omit<SchemaGenerator<SchemaGeneratorOptions, TOptions>, 'build'>\n options: TOptions['resolvedOptions']\n schema: {\n name: string\n tree: Array<Schema>\n value: SchemaObject\n }\n}\n\nexport type GeneratorOptions<TOptions extends PluginFactoryOptions> = {\n name: string\n operations?: (this: GeneratorOptions<TOptions>, props: OperationsProps<TOptions>) => Promise<KubbFile.File[]>\n operation?: (this: GeneratorOptions<TOptions>, props: OperationProps<TOptions>) => Promise<KubbFile.File[]>\n schema?: (this: GeneratorOptions<TOptions>, props: SchemaProps<TOptions>) => Promise<KubbFile.File[]>\n}\n\nexport type Generator<TOptions extends PluginFactoryOptions> = GeneratorOptions<TOptions>\n\nexport function createGenerator<TOptions extends PluginFactoryOptions>(parseOptions: GeneratorOptions<TOptions>): Generator<TOptions> {\n return parseOptions\n}\n\nexport type ReactGeneratorOptions<TOptions extends PluginFactoryOptions> = {\n name: string\n Operations?: (this: ReactGeneratorOptions<TOptions>, props: OperationsProps<TOptions>) => KubbNode\n Operation?: (this: ReactGeneratorOptions<TOptions>, props: OperationProps<TOptions>) => KubbNode\n Schema?: (this: ReactGeneratorOptions<TOptions>, props: SchemaProps<TOptions>) => KubbNode\n}\n\nexport function createReactGenerator<TOptions extends PluginFactoryOptions>(parseOptions: ReactGeneratorOptions<TOptions>): Generator<TOptions> {\n return {\n ...parseOptions,\n async operations({ instance, options, operations, operationsByMethod }) {\n if (!parseOptions.Operations) {\n return []\n }\n\n const { pluginManager, oas, plugin, mode } = instance.context\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const Component = parseOptions.Operations.bind(this)\n\n root.render(\n <App pluginManager={pluginManager} plugin={plugin} mode={mode}>\n <Oas oas={oas} operations={operations} generator={instance}>\n <Component operations={operations} instance={instance} operationsByMethod={operationsByMethod} options={options} />\n </Oas>\n </App>,\n )\n\n return root.files\n },\n async operation({ instance, operation, options }) {\n if (!parseOptions.Operation) {\n return []\n }\n\n const { pluginManager, oas, plugin, mode } = instance.context\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const Component = parseOptions.Operation.bind(this)\n\n root.render(\n <App pluginManager={pluginManager} plugin={{ ...plugin, options }} mode={mode}>\n <Oas oas={oas} operations={[operation]} generator={instance}>\n <Oas.Operation operation={operation}>\n <Component operation={operation} options={options} instance={instance} />\n </Oas.Operation>\n </Oas>\n </App>,\n )\n\n return root.files\n },\n async schema({ instance, schema, options }) {\n if (!parseOptions.Schema) {\n return []\n }\n\n const { pluginManager, oas, plugin, mode } = instance.context\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const Component = parseOptions.Schema.bind(this)\n\n root.render(\n <App pluginManager={pluginManager} plugin={{ ...plugin, options }} mode={mode}>\n <Oas oas={oas}>\n <Oas.Schema name={schema.name} value={schema.value} tree={schema.tree}>\n <Component schema={schema} options={options} instance={instance} />\n </Oas.Schema>\n </Oas>\n </App>,\n )\n\n return root.files\n },\n }\n}\n","import { camelCase } from '@kubb/core/transformers'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { createGenerator } from '../generator.tsx'\nimport type { PluginOas } from '../types.ts'\n\nexport const jsonGenerator = createGenerator<PluginOas>({\n name: 'plugin-oas',\n async schema({ schema, instance }) {\n const { pluginManager, plugin } = instance.context\n const file = pluginManager.getFile({\n name: camelCase(schema.name),\n extname: '.json',\n mode: 'split',\n pluginKey: plugin.key,\n })\n\n return [\n {\n ...file,\n sources: [\n {\n name: camelCase(schema.name),\n isExportable: false,\n isIndexable: false,\n value: JSON.stringify(schema.value),\n },\n ],\n banner: getBanner({\n oas: instance.context.oas,\n output: plugin.options.output,\n config: pluginManager.config,\n }),\n format: getFooter({ oas: instance.context.oas, output: plugin.options.output }),\n },\n ]\n },\n})\n"]}
@@ -1,4 +1,4 @@
1
- import { getFooter, getBanner } from './chunk-3DX5ALTN.js';
1
+ import { getFooter, getBanner } from './chunk-H2YYMZPN.js';
2
2
  import { Oas } from './chunk-BAU7PO7T.js';
3
3
  import { camelCase } from '@kubb/core/transformers';
4
4
  import { createRoot, App } from '@kubb/react';
@@ -77,7 +77,11 @@ var jsonGenerator = createGenerator({
77
77
  value: JSON.stringify(schema.value)
78
78
  }
79
79
  ],
80
- banner: getBanner({ oas: instance.context.oas, output: plugin.options.output }),
80
+ banner: getBanner({
81
+ oas: instance.context.oas,
82
+ output: plugin.options.output,
83
+ config: pluginManager.config
84
+ }),
81
85
  format: getFooter({ oas: instance.context.oas, output: plugin.options.output })
82
86
  }
83
87
  ];
@@ -85,5 +89,5 @@ var jsonGenerator = createGenerator({
85
89
  });
86
90
 
87
91
  export { createGenerator, createReactGenerator, jsonGenerator };
88
- //# sourceMappingURL=chunk-EMSV6TX2.js.map
89
- //# sourceMappingURL=chunk-EMSV6TX2.js.map
92
+ //# sourceMappingURL=chunk-ZES2YNPN.js.map
93
+ //# sourceMappingURL=chunk-ZES2YNPN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/generator.tsx","../src/generators/jsonGenerator.ts"],"names":[],"mappings":"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","file":"chunk-ZES2YNPN.js","sourcesContent":["import type { PluginFactoryOptions } from '@kubb/core'\nimport type * as KubbFile from '@kubb/fs/types'\nimport type { Operation, SchemaObject } from '@kubb/oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { App, createRoot } from '@kubb/react'\nimport type { KubbNode } from '@kubb/react/types'\nimport type { OperationGenerator } from './OperationGenerator.ts'\nimport type { SchemaGenerator, SchemaGeneratorOptions } from './SchemaGenerator.ts'\nimport type { Schema } from './SchemaMapper.ts'\nimport type { OperationsByMethod } from './types.ts'\n\ntype OperationsProps<TOptions extends PluginFactoryOptions> = {\n instance: Omit<OperationGenerator<TOptions>, 'build'>\n options: TOptions['resolvedOptions']\n operations: Array<Operation>\n operationsByMethod: OperationsByMethod\n}\n\ntype OperationProps<TOptions extends PluginFactoryOptions> = {\n instance: Omit<OperationGenerator<TOptions>, 'build'>\n options: TOptions['resolvedOptions']\n operation: Operation\n}\n\ntype SchemaProps<TOptions extends PluginFactoryOptions> = {\n instance: Omit<SchemaGenerator<SchemaGeneratorOptions, TOptions>, 'build'>\n options: TOptions['resolvedOptions']\n schema: {\n name: string\n tree: Array<Schema>\n value: SchemaObject\n }\n}\n\nexport type GeneratorOptions<TOptions extends PluginFactoryOptions> = {\n name: string\n operations?: (this: GeneratorOptions<TOptions>, props: OperationsProps<TOptions>) => Promise<KubbFile.File[]>\n operation?: (this: GeneratorOptions<TOptions>, props: OperationProps<TOptions>) => Promise<KubbFile.File[]>\n schema?: (this: GeneratorOptions<TOptions>, props: SchemaProps<TOptions>) => Promise<KubbFile.File[]>\n}\n\nexport type Generator<TOptions extends PluginFactoryOptions> = GeneratorOptions<TOptions>\n\nexport function createGenerator<TOptions extends PluginFactoryOptions>(parseOptions: GeneratorOptions<TOptions>): Generator<TOptions> {\n return parseOptions\n}\n\nexport type ReactGeneratorOptions<TOptions extends PluginFactoryOptions> = {\n name: string\n Operations?: (this: ReactGeneratorOptions<TOptions>, props: OperationsProps<TOptions>) => KubbNode\n Operation?: (this: ReactGeneratorOptions<TOptions>, props: OperationProps<TOptions>) => KubbNode\n Schema?: (this: ReactGeneratorOptions<TOptions>, props: SchemaProps<TOptions>) => KubbNode\n}\n\nexport function createReactGenerator<TOptions extends PluginFactoryOptions>(parseOptions: ReactGeneratorOptions<TOptions>): Generator<TOptions> {\n return {\n ...parseOptions,\n async operations({ instance, options, operations, operationsByMethod }) {\n if (!parseOptions.Operations) {\n return []\n }\n\n const { pluginManager, oas, plugin, mode } = instance.context\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const Component = parseOptions.Operations.bind(this)\n\n root.render(\n <App pluginManager={pluginManager} plugin={plugin} mode={mode}>\n <Oas oas={oas} operations={operations} generator={instance}>\n <Component operations={operations} instance={instance} operationsByMethod={operationsByMethod} options={options} />\n </Oas>\n </App>,\n )\n\n return root.files\n },\n async operation({ instance, operation, options }) {\n if (!parseOptions.Operation) {\n return []\n }\n\n const { pluginManager, oas, plugin, mode } = instance.context\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const Component = parseOptions.Operation.bind(this)\n\n root.render(\n <App pluginManager={pluginManager} plugin={{ ...plugin, options }} mode={mode}>\n <Oas oas={oas} operations={[operation]} generator={instance}>\n <Oas.Operation operation={operation}>\n <Component operation={operation} options={options} instance={instance} />\n </Oas.Operation>\n </Oas>\n </App>,\n )\n\n return root.files\n },\n async schema({ instance, schema, options }) {\n if (!parseOptions.Schema) {\n return []\n }\n\n const { pluginManager, oas, plugin, mode } = instance.context\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const Component = parseOptions.Schema.bind(this)\n\n root.render(\n <App pluginManager={pluginManager} plugin={{ ...plugin, options }} mode={mode}>\n <Oas oas={oas}>\n <Oas.Schema name={schema.name} value={schema.value} tree={schema.tree}>\n <Component schema={schema} options={options} instance={instance} />\n </Oas.Schema>\n </Oas>\n </App>,\n )\n\n return root.files\n },\n }\n}\n","import { camelCase } from '@kubb/core/transformers'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { createGenerator } from '../generator.tsx'\nimport type { PluginOas } from '../types.ts'\n\nexport const jsonGenerator = createGenerator<PluginOas>({\n name: 'plugin-oas',\n async schema({ schema, instance }) {\n const { pluginManager, plugin } = instance.context\n const file = pluginManager.getFile({\n name: camelCase(schema.name),\n extname: '.json',\n mode: 'split',\n pluginKey: plugin.key,\n })\n\n return [\n {\n ...file,\n sources: [\n {\n name: camelCase(schema.name),\n isExportable: false,\n isIndexable: false,\n value: JSON.stringify(schema.value),\n },\n ],\n banner: getBanner({\n oas: instance.context.oas,\n output: plugin.options.output,\n config: pluginManager.config,\n }),\n format: getFooter({ oas: instance.context.oas, output: plugin.options.output }),\n },\n ]\n },\n})\n"]}
@@ -1,8 +1,8 @@
1
- import { S as Schema } from './Schema-B2XBcTNh.cjs';
1
+ import { S as Schema } from './Schema-LQ3hNUNm.cjs';
2
2
  import * as react from 'react';
3
3
  import { Operation as Operation$1, Oas as Oas$1 } from '@kubb/oas';
4
4
  import { KubbNode } from '@kubb/react/types';
5
- import { b as OperationGenerator } from './OperationGenerator-DkfVl11s.cjs';
5
+ import { b as OperationGenerator } from './OperationGenerator-ppGaBdAB.cjs';
6
6
  import '@kubb/core';
7
7
  import '@kubb/fs/types';
8
8
 
@@ -1,8 +1,8 @@
1
- import { S as Schema } from './Schema-BJcs_y8u.js';
1
+ import { S as Schema } from './Schema-Dtv0ZJI2.js';
2
2
  import * as react from 'react';
3
3
  import { Operation as Operation$1, Oas as Oas$1 } from '@kubb/oas';
4
4
  import { KubbNode } from '@kubb/react/types';
5
- import { b as OperationGenerator } from './OperationGenerator-DkfVl11s.js';
5
+ import { b as OperationGenerator } from './OperationGenerator-ppGaBdAB.js';
6
6
  import '@kubb/core';
7
7
  import '@kubb/fs/types';
8
8
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkFNXIO7AH_cjs = require('./chunk-FNXIO7AH.cjs');
4
- require('./chunk-TKFFW62C.cjs');
3
+ var chunkYBVFBM5P_cjs = require('./chunk-YBVFBM5P.cjs');
4
+ require('./chunk-3BPYMOH5.cjs');
5
5
  require('./chunk-PADR76WZ.cjs');
6
6
  require('./chunk-B7KP5ZFA.cjs');
7
7
  require('./chunk-KXB5DUFD.cjs');
@@ -10,7 +10,7 @@ require('./chunk-KXB5DUFD.cjs');
10
10
 
11
11
  Object.defineProperty(exports, "jsonGenerator", {
12
12
  enumerable: true,
13
- get: function () { return chunkFNXIO7AH_cjs.jsonGenerator; }
13
+ get: function () { return chunkYBVFBM5P_cjs.jsonGenerator; }
14
14
  });
15
15
  //# sourceMappingURL=generators.cjs.map
16
16
  //# sourceMappingURL=generators.cjs.map
@@ -1,4 +1,4 @@
1
- import { o as Generator, P as PluginOas } from './OperationGenerator-DkfVl11s.cjs';
1
+ import { o as Generator, P as PluginOas } from './OperationGenerator-ppGaBdAB.cjs';
2
2
  import '@kubb/core';
3
3
  import '@kubb/fs/types';
4
4
  import '@kubb/oas';
@@ -1,4 +1,4 @@
1
- import { o as Generator, P as PluginOas } from './OperationGenerator-DkfVl11s.js';
1
+ import { o as Generator, P as PluginOas } from './OperationGenerator-ppGaBdAB.js';
2
2
  import '@kubb/core';
3
3
  import '@kubb/fs/types';
4
4
  import '@kubb/oas';
@@ -1,5 +1,5 @@
1
- export { jsonGenerator } from './chunk-EMSV6TX2.js';
2
- import './chunk-3DX5ALTN.js';
1
+ export { jsonGenerator } from './chunk-ZES2YNPN.js';
2
+ import './chunk-H2YYMZPN.js';
3
3
  import './chunk-R47XMJ32.js';
4
4
  import './chunk-3Y4QGY6D.js';
5
5
  import './chunk-BAU7PO7T.js';
package/dist/hooks.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkHSTP26AO_cjs = require('./chunk-HSTP26AO.cjs');
3
+ var chunkXEMPWUAA_cjs = require('./chunk-XEMPWUAA.cjs');
4
4
  require('./chunk-B7KP5ZFA.cjs');
5
5
  var chunkKXB5DUFD_cjs = require('./chunk-KXB5DUFD.cjs');
6
6
  var react = require('@kubb/react');
@@ -187,7 +187,7 @@ function useSchemaManager() {
187
187
  };
188
188
  };
189
189
  const getImports = (tree) => {
190
- const refs = chunkHSTP26AO_cjs.SchemaGenerator.deepSearch(tree, chunkHSTP26AO_cjs.schemaKeywords.ref);
190
+ const refs = chunkXEMPWUAA_cjs.SchemaGenerator.deepSearch(tree, chunkXEMPWUAA_cjs.schemaKeywords.ref);
191
191
  return refs?.map((item) => {
192
192
  if (!item.args.path || !item.args.isImportable) {
193
193
  return void 0;
package/dist/hooks.d.cts CHANGED
@@ -2,8 +2,8 @@ import { Oas, Operation, HttpMethod } from '@kubb/oas';
2
2
  import { Plugin, ResolveNameParams, FileMetaBase } from '@kubb/core';
3
3
  import * as KubbFile from '@kubb/fs/types';
4
4
  import { Mode } from '@kubb/fs/types';
5
- import { w as OperationSchemas, f as Schema } from './OperationGenerator-DkfVl11s.cjs';
6
- import { a as SchemaContextProps } from './Schema-B2XBcTNh.cjs';
5
+ import { w as OperationSchemas, f as Schema } from './OperationGenerator-ppGaBdAB.cjs';
6
+ import { a as SchemaContextProps } from './Schema-LQ3hNUNm.cjs';
7
7
  import '@kubb/react/types';
8
8
  import 'react';
9
9
 
package/dist/hooks.d.ts CHANGED
@@ -2,8 +2,8 @@ import { Oas, Operation, HttpMethod } from '@kubb/oas';
2
2
  import { Plugin, ResolveNameParams, FileMetaBase } from '@kubb/core';
3
3
  import * as KubbFile from '@kubb/fs/types';
4
4
  import { Mode } from '@kubb/fs/types';
5
- import { w as OperationSchemas, f as Schema } from './OperationGenerator-DkfVl11s.js';
6
- import { a as SchemaContextProps } from './Schema-BJcs_y8u.js';
5
+ import { w as OperationSchemas, f as Schema } from './OperationGenerator-ppGaBdAB.js';
6
+ import { a as SchemaContextProps } from './Schema-Dtv0ZJI2.js';
7
7
  import '@kubb/react/types';
8
8
  import 'react';
9
9
 
package/dist/hooks.js CHANGED
@@ -1,4 +1,4 @@
1
- import { SchemaGenerator, schemaKeywords } from './chunk-Z2353AWG.js';
1
+ import { SchemaGenerator, schemaKeywords } from './chunk-CJECBBBT.js';
2
2
  import './chunk-3Y4QGY6D.js';
3
3
  import { Oas, Operation, Schema } from './chunk-BAU7PO7T.js';
4
4
  import { useContext, useApp } from '@kubb/react';
package/dist/index.cjs CHANGED
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkFNXIO7AH_cjs = require('./chunk-FNXIO7AH.cjs');
4
- var chunkTKFFW62C_cjs = require('./chunk-TKFFW62C.cjs');
3
+ var chunkYBVFBM5P_cjs = require('./chunk-YBVFBM5P.cjs');
4
+ var chunk3BPYMOH5_cjs = require('./chunk-3BPYMOH5.cjs');
5
5
  require('./chunk-PADR76WZ.cjs');
6
- var chunkHSTP26AO_cjs = require('./chunk-HSTP26AO.cjs');
6
+ var chunkXEMPWUAA_cjs = require('./chunk-XEMPWUAA.cjs');
7
7
  require('./chunk-B7KP5ZFA.cjs');
8
8
  require('./chunk-KXB5DUFD.cjs');
9
9
  var core = require('@kubb/core');
@@ -273,14 +273,14 @@ var pluginOas = core.createPlugin((options) => {
273
273
  },
274
274
  group,
275
275
  validate = true,
276
- generators = [chunkFNXIO7AH_cjs.jsonGenerator],
276
+ generators = [chunkYBVFBM5P_cjs.jsonGenerator],
277
277
  serverIndex,
278
278
  contentType,
279
279
  oasClass
280
280
  } = options;
281
281
  const getOas = async ({ config, logger }) => {
282
282
  try {
283
- const oas = await chunkTKFFW62C_cjs.parseFromConfig(config, oasClass);
283
+ const oas = await chunk3BPYMOH5_cjs.parseFromConfig(config, oasClass);
284
284
  if (validate) {
285
285
  await oas.valdiate();
286
286
  }
@@ -288,7 +288,7 @@ var pluginOas = core.createPlugin((options) => {
288
288
  } catch (e) {
289
289
  const error = e;
290
290
  logger.emit("warning", error?.message);
291
- return chunkTKFFW62C_cjs.parseFromConfig(config, oasClass);
291
+ return chunk3BPYMOH5_cjs.parseFromConfig(config, oasClass);
292
292
  }
293
293
  };
294
294
  return {
@@ -345,7 +345,7 @@ var pluginOas = core.createPlugin((options) => {
345
345
  logger: this.logger
346
346
  });
347
347
  await oas.dereference();
348
- const schemaGenerator = new chunkHSTP26AO_cjs.SchemaGenerator(
348
+ const schemaGenerator = new chunkXEMPWUAA_cjs.SchemaGenerator(
349
349
  {
350
350
  unknownType: "unknown",
351
351
  dateType: "date",
@@ -383,23 +383,23 @@ var pluginOas = core.createPlugin((options) => {
383
383
 
384
384
  Object.defineProperty(exports, "createGenerator", {
385
385
  enumerable: true,
386
- get: function () { return chunkFNXIO7AH_cjs.createGenerator; }
386
+ get: function () { return chunkYBVFBM5P_cjs.createGenerator; }
387
387
  });
388
388
  Object.defineProperty(exports, "createReactGenerator", {
389
389
  enumerable: true,
390
- get: function () { return chunkFNXIO7AH_cjs.createReactGenerator; }
390
+ get: function () { return chunkYBVFBM5P_cjs.createReactGenerator; }
391
391
  });
392
392
  Object.defineProperty(exports, "SchemaGenerator", {
393
393
  enumerable: true,
394
- get: function () { return chunkHSTP26AO_cjs.SchemaGenerator; }
394
+ get: function () { return chunkXEMPWUAA_cjs.SchemaGenerator; }
395
395
  });
396
396
  Object.defineProperty(exports, "isKeyword", {
397
397
  enumerable: true,
398
- get: function () { return chunkHSTP26AO_cjs.isKeyword; }
398
+ get: function () { return chunkXEMPWUAA_cjs.isKeyword; }
399
399
  });
400
400
  Object.defineProperty(exports, "schemaKeywords", {
401
401
  enumerable: true,
402
- get: function () { return chunkHSTP26AO_cjs.schemaKeywords; }
402
+ get: function () { return chunkXEMPWUAA_cjs.schemaKeywords; }
403
403
  });
404
404
  exports.OperationGenerator = OperationGenerator;
405
405
  exports.pluginOas = pluginOas;
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { O as Options, P as PluginOas } from './OperationGenerator-DkfVl11s.cjs';
2
- export { A as API, E as Exclude, o as Generator, p as GeneratorOptions, G as GetSchemaGeneratorOptions, I as Include, b as OperationGenerator, a as OperationMethodResult, v as OperationSchema, w as OperationSchemas, x as OperationsByMethod, y as Override, R as ReactGeneratorOptions, r as Ref, t as Refs, q as ResolvePathOptions, u as Resolver, f as Schema, e as SchemaGenerator, S as SchemaGeneratorBuildOptions, c as SchemaGeneratorOptions, h as SchemaKeyword, i as SchemaKeywordBase, j as SchemaKeywordMapper, k as SchemaMapper, d as SchemaMethodResult, g as SchemaTree, m as createGenerator, n as createReactGenerator, l as isKeyword, s as schemaKeywords } from './OperationGenerator-DkfVl11s.cjs';
1
+ import { O as Options, P as PluginOas } from './OperationGenerator-ppGaBdAB.cjs';
2
+ export { A as API, E as Exclude, o as Generator, p as GeneratorOptions, G as GetSchemaGeneratorOptions, I as Include, b as OperationGenerator, a as OperationMethodResult, v as OperationSchema, w as OperationSchemas, x as OperationsByMethod, y as Override, R as ReactGeneratorOptions, r as Ref, t as Refs, q as ResolvePathOptions, u as Resolver, f as Schema, e as SchemaGenerator, S as SchemaGeneratorBuildOptions, c as SchemaGeneratorOptions, h as SchemaKeyword, i as SchemaKeywordBase, j as SchemaKeywordMapper, k as SchemaMapper, d as SchemaMethodResult, g as SchemaTree, m as createGenerator, n as createReactGenerator, l as isKeyword, s as schemaKeywords } from './OperationGenerator-ppGaBdAB.cjs';
3
3
  import * as _kubb_core from '@kubb/core';
4
4
  import '@kubb/fs/types';
5
5
  import '@kubb/oas';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { O as Options, P as PluginOas } from './OperationGenerator-DkfVl11s.js';
2
- export { A as API, E as Exclude, o as Generator, p as GeneratorOptions, G as GetSchemaGeneratorOptions, I as Include, b as OperationGenerator, a as OperationMethodResult, v as OperationSchema, w as OperationSchemas, x as OperationsByMethod, y as Override, R as ReactGeneratorOptions, r as Ref, t as Refs, q as ResolvePathOptions, u as Resolver, f as Schema, e as SchemaGenerator, S as SchemaGeneratorBuildOptions, c as SchemaGeneratorOptions, h as SchemaKeyword, i as SchemaKeywordBase, j as SchemaKeywordMapper, k as SchemaMapper, d as SchemaMethodResult, g as SchemaTree, m as createGenerator, n as createReactGenerator, l as isKeyword, s as schemaKeywords } from './OperationGenerator-DkfVl11s.js';
1
+ import { O as Options, P as PluginOas } from './OperationGenerator-ppGaBdAB.js';
2
+ export { A as API, E as Exclude, o as Generator, p as GeneratorOptions, G as GetSchemaGeneratorOptions, I as Include, b as OperationGenerator, a as OperationMethodResult, v as OperationSchema, w as OperationSchemas, x as OperationsByMethod, y as Override, R as ReactGeneratorOptions, r as Ref, t as Refs, q as ResolvePathOptions, u as Resolver, f as Schema, e as SchemaGenerator, S as SchemaGeneratorBuildOptions, c as SchemaGeneratorOptions, h as SchemaKeyword, i as SchemaKeywordBase, j as SchemaKeywordMapper, k as SchemaMapper, d as SchemaMethodResult, g as SchemaTree, m as createGenerator, n as createReactGenerator, l as isKeyword, s as schemaKeywords } from './OperationGenerator-ppGaBdAB.js';
3
3
  import * as _kubb_core from '@kubb/core';
4
4
  import '@kubb/fs/types';
5
5
  import '@kubb/oas';
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
- import { jsonGenerator } from './chunk-EMSV6TX2.js';
2
- export { createGenerator, createReactGenerator } from './chunk-EMSV6TX2.js';
3
- import { parseFromConfig } from './chunk-3DX5ALTN.js';
1
+ import { jsonGenerator } from './chunk-ZES2YNPN.js';
2
+ export { createGenerator, createReactGenerator } from './chunk-ZES2YNPN.js';
3
+ import { parseFromConfig } from './chunk-H2YYMZPN.js';
4
4
  import './chunk-R47XMJ32.js';
5
- import { SchemaGenerator } from './chunk-Z2353AWG.js';
6
- export { SchemaGenerator, isKeyword, schemaKeywords } from './chunk-Z2353AWG.js';
5
+ import { SchemaGenerator } from './chunk-CJECBBBT.js';
6
+ export { SchemaGenerator, isKeyword, schemaKeywords } from './chunk-CJECBBBT.js';
7
7
  import './chunk-3Y4QGY6D.js';
8
8
  import './chunk-BAU7PO7T.js';
9
9
  import { createPlugin, FileManager, BaseGenerator } from '@kubb/core';
package/dist/utils.cjs CHANGED
@@ -1,37 +1,37 @@
1
1
  'use strict';
2
2
 
3
- var chunkTKFFW62C_cjs = require('./chunk-TKFFW62C.cjs');
3
+ var chunk3BPYMOH5_cjs = require('./chunk-3BPYMOH5.cjs');
4
4
  var chunkB7KP5ZFA_cjs = require('./chunk-B7KP5ZFA.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "getASTParams", {
9
9
  enumerable: true,
10
- get: function () { return chunkTKFFW62C_cjs.getASTParams; }
10
+ get: function () { return chunk3BPYMOH5_cjs.getASTParams; }
11
11
  });
12
12
  Object.defineProperty(exports, "getBanner", {
13
13
  enumerable: true,
14
- get: function () { return chunkTKFFW62C_cjs.getBanner; }
14
+ get: function () { return chunk3BPYMOH5_cjs.getBanner; }
15
15
  });
16
16
  Object.defineProperty(exports, "getComments", {
17
17
  enumerable: true,
18
- get: function () { return chunkTKFFW62C_cjs.getComments; }
18
+ get: function () { return chunk3BPYMOH5_cjs.getComments; }
19
19
  });
20
20
  Object.defineProperty(exports, "getFooter", {
21
21
  enumerable: true,
22
- get: function () { return chunkTKFFW62C_cjs.getFooter; }
22
+ get: function () { return chunk3BPYMOH5_cjs.getFooter; }
23
23
  });
24
24
  Object.defineProperty(exports, "getPathParams", {
25
25
  enumerable: true,
26
- get: function () { return chunkTKFFW62C_cjs.getPathParams; }
26
+ get: function () { return chunk3BPYMOH5_cjs.getPathParams; }
27
27
  });
28
28
  Object.defineProperty(exports, "isOptional", {
29
29
  enumerable: true,
30
- get: function () { return chunkTKFFW62C_cjs.isOptional; }
30
+ get: function () { return chunk3BPYMOH5_cjs.isOptional; }
31
31
  });
32
32
  Object.defineProperty(exports, "parseFromConfig", {
33
33
  enumerable: true,
34
- get: function () { return chunkTKFFW62C_cjs.parseFromConfig; }
34
+ get: function () { return chunk3BPYMOH5_cjs.parseFromConfig; }
35
35
  });
36
36
  Object.defineProperty(exports, "getSchemaFactory", {
37
37
  enumerable: true,
package/dist/utils.d.cts CHANGED
@@ -2,7 +2,7 @@ import { Operation, Oas, SchemaObject, OpenAPIV3, OpenAPIV3_1, contentType, OasT
2
2
  export { isOptional } from '@kubb/oas';
3
3
  import { FunctionParamsAST } from '@kubb/core/utils';
4
4
  import { Params } from '@kubb/react/types';
5
- import { v as OperationSchema } from './OperationGenerator-DkfVl11s.cjs';
5
+ import { v as OperationSchema } from './OperationGenerator-ppGaBdAB.cjs';
6
6
  import { Config, Output } from '@kubb/core';
7
7
  import '@kubb/fs/types';
8
8
 
@@ -54,8 +54,9 @@ declare function parseFromConfig(config: Config, oasClass?: typeof Oas): Promise
54
54
  type Props$1 = {
55
55
  oas: Oas;
56
56
  output: Output<Oas>;
57
+ config?: Config;
57
58
  };
58
- declare function getBanner({ output, oas }: Props$1): string | undefined;
59
+ declare function getBanner({ output, oas, config }: Props$1): string;
59
60
 
60
61
  type Props = {
61
62
  oas: Oas;
package/dist/utils.d.ts CHANGED
@@ -2,7 +2,7 @@ import { Operation, Oas, SchemaObject, OpenAPIV3, OpenAPIV3_1, contentType, OasT
2
2
  export { isOptional } from '@kubb/oas';
3
3
  import { FunctionParamsAST } from '@kubb/core/utils';
4
4
  import { Params } from '@kubb/react/types';
5
- import { v as OperationSchema } from './OperationGenerator-DkfVl11s.js';
5
+ import { v as OperationSchema } from './OperationGenerator-ppGaBdAB.js';
6
6
  import { Config, Output } from '@kubb/core';
7
7
  import '@kubb/fs/types';
8
8
 
@@ -54,8 +54,9 @@ declare function parseFromConfig(config: Config, oasClass?: typeof Oas): Promise
54
54
  type Props$1 = {
55
55
  oas: Oas;
56
56
  output: Output<Oas>;
57
+ config?: Config;
57
58
  };
58
- declare function getBanner({ output, oas }: Props$1): string | undefined;
59
+ declare function getBanner({ output, oas, config }: Props$1): string;
59
60
 
60
61
  type Props = {
61
62
  oas: Oas;
package/dist/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- export { getASTParams, getBanner, getComments, getFooter, getPathParams, isOptional, parseFromConfig } from './chunk-3DX5ALTN.js';
1
+ export { getASTParams, getBanner, getComments, getFooter, getPathParams, isOptional, parseFromConfig } from './chunk-H2YYMZPN.js';
2
2
  export { getSchemaFactory, getSchemas } from './chunk-3Y4QGY6D.js';
3
3
  //# sourceMappingURL=utils.js.map
4
4
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/plugin-oas",
3
- "version": "3.8.0",
3
+ "version": "3.9.0",
4
4
  "description": "Generator swagger",
5
5
  "keywords": [
6
6
  "typescript",
@@ -76,18 +76,18 @@
76
76
  "dependencies": {
77
77
  "@stoplight/yaml": "^4.3.0",
78
78
  "remeda": "^2.21.2",
79
- "@kubb/core": "3.8.0",
80
- "@kubb/fs": "3.8.0",
81
- "@kubb/oas": "3.8.0",
82
- "@kubb/react": "3.8.0"
79
+ "@kubb/core": "3.9.0",
80
+ "@kubb/fs": "3.9.0",
81
+ "@kubb/oas": "3.9.0",
82
+ "@kubb/react": "3.9.0"
83
83
  },
84
84
  "devDependencies": {
85
85
  "@types/react": "^18.3.20",
86
86
  "react": "^18.3.1",
87
87
  "tsup": "^8.4.0",
88
88
  "typescript": "^5.8.3",
89
- "@kubb/config-ts": "3.8.0",
90
- "@kubb/config-tsup": "3.8.0"
89
+ "@kubb/config-ts": "3.9.0",
90
+ "@kubb/config-tsup": "3.9.0"
91
91
  },
92
92
  "peerDependencies": {
93
93
  "@kubb/react": "^3.0.0"
@@ -89,7 +89,7 @@ export class SchemaGenerator<
89
89
  return uniqueWith(schemas, isDeepEqual)
90
90
  }
91
91
 
92
- deepSearch<T extends keyof SchemaKeywordMapper>(tree: Schema[] | undefined, keyword: T): SchemaKeywordMapper[T][] {
92
+ deepSearch<T extends keyof SchemaKeywordMapper>(tree: Schema[] | undefined, keyword: T): Array<SchemaKeywordMapper[T]> {
93
93
  return SchemaGenerator.deepSearch<T>(tree, keyword)
94
94
  }
95
95
 
@@ -97,7 +97,7 @@ export class SchemaGenerator<
97
97
  return SchemaGenerator.find<T>(tree, keyword)
98
98
  }
99
99
 
100
- static deepSearch<T extends keyof SchemaKeywordMapper>(tree: Schema[] | undefined, keyword: T): SchemaKeywordMapper[T][] {
100
+ static deepSearch<T extends keyof SchemaKeywordMapper>(tree: Schema[] | undefined, keyword: T): Array<SchemaKeywordMapper[T]> {
101
101
  const foundItems: SchemaKeywordMapper[T][] = []
102
102
 
103
103
  tree?.forEach((schema) => {
@@ -9,7 +9,6 @@ export type SchemaKeywordMapper = {
9
9
  strict?: boolean
10
10
  }
11
11
  }
12
- strict: { keyword: 'strict' }
13
12
  url: { keyword: 'url' }
14
13
  readOnly: { keyword: 'readOnly' }
15
14
  writeOnly: { keyword: 'writeOnly' }
@@ -88,11 +87,11 @@ export type SchemaKeywordMapper = {
88
87
  schema: { keyword: 'schema'; args: { type: 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object'; format?: string } }
89
88
  name: { keyword: 'name'; args: string }
90
89
  catchall: { keyword: 'catchall' }
90
+ interface: { keyword: 'interface' }
91
91
  }
92
92
 
93
93
  export const schemaKeywords = {
94
94
  any: 'any',
95
- strict: 'strict',
96
95
  unknown: 'unknown',
97
96
  number: 'number',
98
97
  integer: 'integer',
@@ -138,6 +137,7 @@ export const schemaKeywords = {
138
137
  catchall: 'catchall',
139
138
  time: 'time',
140
139
  name: 'name',
140
+ interface: 'interface',
141
141
  } satisfies {
142
142
  [K in keyof SchemaKeywordMapper]: SchemaKeywordMapper[K]['keyword']
143
143
  }
@@ -25,7 +25,11 @@ export const jsonGenerator = createGenerator<PluginOas>({
25
25
  value: JSON.stringify(schema.value),
26
26
  },
27
27
  ],
28
- banner: getBanner({ oas: instance.context.oas, output: plugin.options.output }),
28
+ banner: getBanner({
29
+ oas: instance.context.oas,
30
+ output: plugin.options.output,
31
+ config: pluginManager.config,
32
+ }),
29
33
  format: getFooter({ oas: instance.context.oas, output: plugin.options.output }),
30
34
  },
31
35
  ]
@@ -1,20 +1,28 @@
1
- import type { Output } from '@kubb/core'
1
+ import { getDefaultBanner, type Config, type Output } from '@kubb/core'
2
2
  import type { Oas } from '@kubb/oas'
3
3
  import { isFunction } from 'remeda'
4
4
 
5
5
  type Props = {
6
6
  oas: Oas
7
7
  output: Output<Oas>
8
+ config?: Config
8
9
  }
9
10
 
10
- export function getBanner({ output, oas }: Props) {
11
+ export function getBanner({ output, oas, config }: Props) {
12
+ let banner = ''
13
+ if (config?.output?.defaultBanner !== false && config) {
14
+ const { title, description, version } = oas.api?.info || {}
15
+
16
+ banner = getDefaultBanner({ title, description, version, config })
17
+ }
18
+
11
19
  if (!output.banner) {
12
- return undefined
20
+ return banner
13
21
  }
14
22
 
15
23
  if (isFunction(output.banner)) {
16
- return output.banner(oas)
24
+ return `${output.banner(oas)}\n${banner}`
17
25
  }
18
26
 
19
- return output.banner
27
+ return `${output.banner}\n${banner}`
20
28
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/getComments.ts","../src/utils/getParams.ts","../src/utils/parseFromConfig.ts","../src/utils/getBanner.ts","../src/utils/getFooter.ts"],"names":["api","URLPath","isFunction"],"mappings":"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","file":"chunk-3DX5ALTN.js","sourcesContent":["import transformers from '@kubb/core/transformers'\nimport { URLPath } from '@kubb/core/utils'\n\nimport type { Operation } from '@kubb/oas'\n\nexport function getComments(operation: Operation): string[] {\n return [\n operation.getDescription() && `@description ${operation.getDescription()}`,\n operation.getSummary() && `@summary ${operation.getSummary()}`,\n operation.path && `{@link ${new URLPath(operation.path).URL}}`,\n operation.isDeprecated() && '@deprecated',\n ]\n .filter(Boolean)\n .map((text) => transformers.trim(text))\n}\n","import { isParameterObject } from '@kubb/oas'\n\nimport { camelCase, isValidVarName } from '@kubb/core/transformers'\nimport type { FunctionParamsAST } from '@kubb/core/utils'\nimport type { OasTypes } from '@kubb/oas'\nimport type { Params } from '@kubb/react/types'\nimport type { OperationSchema } from '../types.ts'\n/**\n *\n * @deprecated\n * TODO move to operationManager hook\n */\nexport function getASTParams(\n operationSchema: OperationSchema | undefined,\n {\n typed = false,\n override,\n }: {\n typed?: boolean\n override?: (data: FunctionParamsAST) => FunctionParamsAST\n } = {},\n): FunctionParamsAST[] {\n if (!operationSchema || !operationSchema.schema.properties || !operationSchema.name) {\n return []\n }\n\n return Object.entries(operationSchema.schema.properties).map(([name, schema]: [string, OasTypes.SchemaObject]) => {\n const isParam = isParameterObject(schema)\n const data: FunctionParamsAST = {\n name,\n enabled: !!name,\n required: isParam ? schema.required : true,\n type: typed ? `${operationSchema.name}[\"${name}\"]` : undefined,\n }\n\n return override ? override(data) : data\n })\n}\n\nexport function getPathParams(\n operationSchema: OperationSchema | undefined,\n options: {\n typed?: boolean\n casing?: 'camelcase'\n override?: (data: FunctionParamsAST) => FunctionParamsAST\n } = {},\n) {\n return getASTParams(operationSchema, options).reduce((acc, curr) => {\n if (curr.name && curr.enabled) {\n let name = isValidVarName(curr.name) ? curr.name : camelCase(curr.name)\n\n if (options.casing === 'camelcase') {\n name = camelCase(name)\n }\n\n acc[name] = {\n default: curr.default,\n type: curr.type,\n optional: !curr.required,\n }\n }\n\n return acc\n }, {} as Params)\n}\n","import { resolve } from 'node:path'\n\nimport { URLPath } from '@kubb/core/utils'\n\nimport { parse } from '@kubb/oas'\n\nimport type { Config } from '@kubb/core'\nimport { Oas, type OasTypes } from '@kubb/oas'\nimport yaml from '@stoplight/yaml'\n\nexport function parseFromConfig(config: Config, oasClass: typeof Oas = Oas): Promise<Oas> {\n if ('data' in config.input) {\n if (typeof config.input.data === 'object') {\n const api: OasTypes.OASDocument = JSON.parse(JSON.stringify(config.input.data)) as OasTypes.OASDocument\n return parse(api, oasClass)\n }\n\n try {\n const api: string = yaml.parse(config.input.data as string) as string\n\n return parse(api, oasClass)\n } catch (e) {\n /* empty */\n }\n\n const api: OasTypes.OASDocument = JSON.parse(JSON.stringify(config.input.data)) as OasTypes.OASDocument\n\n return parse(api, oasClass)\n }\n\n if (new URLPath(config.input.path).isURL) {\n return parse(config.input.path, oasClass)\n }\n\n return parse(resolve(config.root, config.input.path), oasClass)\n}\n","import type { Output } from '@kubb/core'\nimport type { Oas } from '@kubb/oas'\nimport { isFunction } from 'remeda'\n\ntype Props = {\n oas: Oas\n output: Output<Oas>\n}\n\nexport function getBanner({ output, oas }: Props) {\n if (!output.banner) {\n return undefined\n }\n\n if (isFunction(output.banner)) {\n return output.banner(oas)\n }\n\n return output.banner\n}\n","import type { Output } from '@kubb/core'\nimport type { Oas } from '@kubb/oas'\nimport { isFunction } from 'remeda'\n\ntype Props = {\n oas: Oas\n output: Output<Oas>\n}\n\nexport function getFooter({ output, oas }: Props) {\n if (!output.footer) {\n return undefined\n }\n\n if (isFunction(output.footer)) {\n return output.footer(oas)\n }\n\n return output.footer\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/generator.tsx","../src/generators/jsonGenerator.ts"],"names":[],"mappings":"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","file":"chunk-EMSV6TX2.js","sourcesContent":["import type { PluginFactoryOptions } from '@kubb/core'\nimport type * as KubbFile from '@kubb/fs/types'\nimport type { Operation, SchemaObject } from '@kubb/oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { App, createRoot } from '@kubb/react'\nimport type { KubbNode } from '@kubb/react/types'\nimport type { OperationGenerator } from './OperationGenerator.ts'\nimport type { SchemaGenerator, SchemaGeneratorOptions } from './SchemaGenerator.ts'\nimport type { Schema } from './SchemaMapper.ts'\nimport type { OperationsByMethod } from './types.ts'\n\ntype OperationsProps<TOptions extends PluginFactoryOptions> = {\n instance: Omit<OperationGenerator<TOptions>, 'build'>\n options: TOptions['resolvedOptions']\n operations: Array<Operation>\n operationsByMethod: OperationsByMethod\n}\n\ntype OperationProps<TOptions extends PluginFactoryOptions> = {\n instance: Omit<OperationGenerator<TOptions>, 'build'>\n options: TOptions['resolvedOptions']\n operation: Operation\n}\n\ntype SchemaProps<TOptions extends PluginFactoryOptions> = {\n instance: Omit<SchemaGenerator<SchemaGeneratorOptions, TOptions>, 'build'>\n options: TOptions['resolvedOptions']\n schema: {\n name: string\n tree: Array<Schema>\n value: SchemaObject\n }\n}\n\nexport type GeneratorOptions<TOptions extends PluginFactoryOptions> = {\n name: string\n operations?: (this: GeneratorOptions<TOptions>, props: OperationsProps<TOptions>) => Promise<KubbFile.File[]>\n operation?: (this: GeneratorOptions<TOptions>, props: OperationProps<TOptions>) => Promise<KubbFile.File[]>\n schema?: (this: GeneratorOptions<TOptions>, props: SchemaProps<TOptions>) => Promise<KubbFile.File[]>\n}\n\nexport type Generator<TOptions extends PluginFactoryOptions> = GeneratorOptions<TOptions>\n\nexport function createGenerator<TOptions extends PluginFactoryOptions>(parseOptions: GeneratorOptions<TOptions>): Generator<TOptions> {\n return parseOptions\n}\n\nexport type ReactGeneratorOptions<TOptions extends PluginFactoryOptions> = {\n name: string\n Operations?: (this: ReactGeneratorOptions<TOptions>, props: OperationsProps<TOptions>) => KubbNode\n Operation?: (this: ReactGeneratorOptions<TOptions>, props: OperationProps<TOptions>) => KubbNode\n Schema?: (this: ReactGeneratorOptions<TOptions>, props: SchemaProps<TOptions>) => KubbNode\n}\n\nexport function createReactGenerator<TOptions extends PluginFactoryOptions>(parseOptions: ReactGeneratorOptions<TOptions>): Generator<TOptions> {\n return {\n ...parseOptions,\n async operations({ instance, options, operations, operationsByMethod }) {\n if (!parseOptions.Operations) {\n return []\n }\n\n const { pluginManager, oas, plugin, mode } = instance.context\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const Component = parseOptions.Operations.bind(this)\n\n root.render(\n <App pluginManager={pluginManager} plugin={plugin} mode={mode}>\n <Oas oas={oas} operations={operations} generator={instance}>\n <Component operations={operations} instance={instance} operationsByMethod={operationsByMethod} options={options} />\n </Oas>\n </App>,\n )\n\n return root.files\n },\n async operation({ instance, operation, options }) {\n if (!parseOptions.Operation) {\n return []\n }\n\n const { pluginManager, oas, plugin, mode } = instance.context\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const Component = parseOptions.Operation.bind(this)\n\n root.render(\n <App pluginManager={pluginManager} plugin={{ ...plugin, options }} mode={mode}>\n <Oas oas={oas} operations={[operation]} generator={instance}>\n <Oas.Operation operation={operation}>\n <Component operation={operation} options={options} instance={instance} />\n </Oas.Operation>\n </Oas>\n </App>,\n )\n\n return root.files\n },\n async schema({ instance, schema, options }) {\n if (!parseOptions.Schema) {\n return []\n }\n\n const { pluginManager, oas, plugin, mode } = instance.context\n const root = createRoot({\n logger: pluginManager.logger,\n })\n\n const Component = parseOptions.Schema.bind(this)\n\n root.render(\n <App pluginManager={pluginManager} plugin={{ ...plugin, options }} mode={mode}>\n <Oas oas={oas}>\n <Oas.Schema name={schema.name} value={schema.value} tree={schema.tree}>\n <Component schema={schema} options={options} instance={instance} />\n </Oas.Schema>\n </Oas>\n </App>,\n )\n\n return root.files\n },\n }\n}\n","import { camelCase } from '@kubb/core/transformers'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { createGenerator } from '../generator.tsx'\nimport type { PluginOas } from '../types.ts'\n\nexport const jsonGenerator = createGenerator<PluginOas>({\n name: 'plugin-oas',\n async schema({ schema, instance }) {\n const { pluginManager, plugin } = instance.context\n const file = pluginManager.getFile({\n name: camelCase(schema.name),\n extname: '.json',\n mode: 'split',\n pluginKey: plugin.key,\n })\n\n return [\n {\n ...file,\n sources: [\n {\n name: camelCase(schema.name),\n isExportable: false,\n isIndexable: false,\n value: JSON.stringify(schema.value),\n },\n ],\n banner: getBanner({ oas: instance.context.oas, output: plugin.options.output }),\n format: getFooter({ oas: instance.context.oas, output: plugin.options.output }),\n },\n ]\n },\n})\n"]}