@kubb/plugin-oas 3.0.0-alpha.14 → 3.0.0-alpha.16

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 (77) hide show
  1. package/dist/{OperationGenerator-BqfyX5-8.d.cts → OperationGenerator-B5CoXmjA.d.cts} +22 -20
  2. package/dist/{OperationGenerator-BqfyX5-8.d.ts → OperationGenerator-B5CoXmjA.d.ts} +22 -20
  3. package/dist/{Schema-BgpIlA79.d.cts → Schema-BsgDay0E.d.cts} +1 -12
  4. package/dist/{Schema-ExMIJOhD.d.ts → Schema-Dvt6i_X3.d.ts} +1 -12
  5. package/dist/chunk-2QECZEUD.js +76 -0
  6. package/dist/chunk-2QECZEUD.js.map +1 -0
  7. package/dist/chunk-4OQEPWOG.js +38 -0
  8. package/dist/chunk-4OQEPWOG.js.map +1 -0
  9. package/dist/chunk-7Q5B67MW.cjs +1110 -0
  10. package/dist/chunk-7Q5B67MW.cjs.map +1 -0
  11. package/dist/chunk-7XBQZ7AX.js +1098 -0
  12. package/dist/chunk-7XBQZ7AX.js.map +1 -0
  13. package/dist/{chunk-YSPJF26N.cjs → chunk-CQDZGAA6.cjs} +28 -798
  14. package/dist/chunk-CQDZGAA6.cjs.map +1 -0
  15. package/dist/{chunk-B4WIB7UG.js → chunk-CYF724QJ.js} +11 -773
  16. package/dist/chunk-CYF724QJ.js.map +1 -0
  17. package/dist/{chunk-A2T3ZQOU.js → chunk-D2N6LDLT.js} +15 -13
  18. package/dist/chunk-D2N6LDLT.js.map +1 -0
  19. package/dist/{chunk-6BDSF64V.cjs → chunk-LCPCIS3S.cjs} +19 -17
  20. package/dist/chunk-LCPCIS3S.cjs.map +1 -0
  21. package/dist/chunk-PUFCST25.cjs +84 -0
  22. package/dist/chunk-PUFCST25.cjs.map +1 -0
  23. package/dist/chunk-TYQZ2BD7.cjs +42 -0
  24. package/dist/chunk-TYQZ2BD7.cjs.map +1 -0
  25. package/dist/components.cjs +5 -6
  26. package/dist/components.d.cts +2 -2
  27. package/dist/components.d.ts +2 -2
  28. package/dist/components.js +2 -3
  29. package/dist/generators.cjs +4 -5
  30. package/dist/generators.d.cts +1 -1
  31. package/dist/generators.d.ts +1 -1
  32. package/dist/generators.js +3 -4
  33. package/dist/hooks.cjs +102 -31
  34. package/dist/hooks.cjs.map +1 -1
  35. package/dist/hooks.d.cts +39 -6
  36. package/dist/hooks.d.ts +39 -6
  37. package/dist/hooks.js +92 -20
  38. package/dist/hooks.js.map +1 -1
  39. package/dist/index.cjs +25 -410
  40. package/dist/index.cjs.map +1 -1
  41. package/dist/index.d.cts +2 -2
  42. package/dist/index.d.ts +2 -2
  43. package/dist/index.js +5 -400
  44. package/dist/index.js.map +1 -1
  45. package/dist/utils.cjs +12 -12
  46. package/dist/utils.cjs.map +1 -1
  47. package/dist/utils.d.cts +2 -2
  48. package/dist/utils.d.ts +2 -2
  49. package/dist/utils.js +2 -3
  50. package/dist/utils.js.map +1 -1
  51. package/package.json +10 -10
  52. package/src/OperationGenerator.ts +11 -15
  53. package/src/SchemaGenerator.ts +14 -5
  54. package/src/components/Schema.tsx +1 -98
  55. package/src/generator.tsx +22 -14
  56. package/src/generators/jsonGenerator.ts +4 -4
  57. package/src/hooks/index.ts +2 -0
  58. package/src/hooks/useOperationManager.ts +76 -29
  59. package/src/hooks/useSchemaManager.ts +76 -0
  60. package/src/types.ts +5 -0
  61. package/src/utils/getParams.ts +1 -1
  62. package/dist/chunk-2S2QRJPN.cjs +0 -38
  63. package/dist/chunk-2S2QRJPN.cjs.map +0 -1
  64. package/dist/chunk-6BDSF64V.cjs.map +0 -1
  65. package/dist/chunk-A2T3ZQOU.js.map +0 -1
  66. package/dist/chunk-B4WIB7UG.js.map +0 -1
  67. package/dist/chunk-E2Z4IRAI.js +0 -84
  68. package/dist/chunk-E2Z4IRAI.js.map +0 -1
  69. package/dist/chunk-EJHTGW4H.js +0 -6
  70. package/dist/chunk-EJHTGW4H.js.map +0 -1
  71. package/dist/chunk-OSKSFHO2.js +0 -32
  72. package/dist/chunk-OSKSFHO2.js.map +0 -1
  73. package/dist/chunk-SMB4EG6V.cjs +0 -8
  74. package/dist/chunk-SMB4EG6V.cjs.map +0 -1
  75. package/dist/chunk-XELSZPJC.cjs +0 -90
  76. package/dist/chunk-XELSZPJC.cjs.map +0 -1
  77. package/dist/chunk-YSPJF26N.cjs.map +0 -1
@@ -1,10 +1,10 @@
1
1
  import { isParameterObject } from '@kubb/oas'
2
2
 
3
+ import { camelCase } from '@kubb/core/transformers'
3
4
  import type { FunctionParamsAST } from '@kubb/core/utils'
4
5
  import type { OasTypes } from '@kubb/oas'
5
6
  import type { Params } from '@kubb/react/types'
6
7
  import type { OperationSchema } from '../types.ts'
7
- import { camelCase } from '@kubb/core/transformers'
8
8
  /**
9
9
  *
10
10
  * @deprecated
@@ -1,38 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkXELSZPJC_cjs = require('./chunk-XELSZPJC.cjs');
4
- var path = require('path');
5
- var utils = require('@kubb/core/utils');
6
- var parser = require('@kubb/oas/parser');
7
- var oas = require('@kubb/oas');
8
- var yaml = require('@stoplight/yaml');
9
-
10
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
-
12
- var yaml__default = /*#__PURE__*/_interopDefault(yaml);
13
-
14
- // src/utils/parseFromConfig.ts
15
- chunkXELSZPJC_cjs.init_cjs_shims();
16
- function parseFromConfig(config, options = {}, oasClass = oas.Oas) {
17
- if ("data" in config.input) {
18
- if (typeof config.input.data === "object") {
19
- const api2 = JSON.parse(JSON.stringify(config.input.data));
20
- return parser.parse(api2, options, oasClass);
21
- }
22
- try {
23
- const api2 = yaml__default.default.parse(config.input.data);
24
- return parser.parse(api2, options, oasClass);
25
- } catch (e) {
26
- }
27
- const api = JSON.parse(JSON.stringify(config.input.data));
28
- return parser.parse(api, options, oasClass);
29
- }
30
- if (new utils.URLPath(config.input.path).isURL) {
31
- return parser.parse(config.input.path, options, oasClass);
32
- }
33
- return parser.parse(path.resolve(config.root, config.input.path), options, oasClass);
34
- }
35
-
36
- exports.parseFromConfig = parseFromConfig;
37
- //# sourceMappingURL=chunk-2S2QRJPN.cjs.map
38
- //# sourceMappingURL=chunk-2S2QRJPN.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/parseFromConfig.ts"],"names":["init_cjs_shims","Oas","api","parse","yaml","URLPath","resolve"],"mappings":";;;;;;;;;;;;;;AAAAA,gCAAA,EAAA,CAAA;AAUO,SAAS,gBAAgB,MAAgB,EAAA,OAAA,GAAyB,EAAC,EAAG,WAAuBC,OAAmB,EAAA;AACrH,EAAI,IAAA,MAAA,IAAU,OAAO,KAAO,EAAA;AAC1B,IAAA,IAAI,OAAO,MAAA,CAAO,KAAM,CAAA,IAAA,KAAS,QAAU,EAAA;AACzC,MAAMC,MAAAA,IAAAA,GAA4B,KAAK,KAAM,CAAA,IAAA,CAAK,UAAU,MAAO,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;AAC9E,MAAO,OAAAC,YAAA,CAAMD,IAAK,EAAA,OAAA,EAAS,QAAQ,CAAA,CAAA;AAAA,KACrC;AAEA,IAAI,IAAA;AACF,MAAA,MAAMA,IAAc,GAAAE,qBAAA,CAAK,KAAM,CAAA,MAAA,CAAO,MAAM,IAAc,CAAA,CAAA;AAE1D,MAAO,OAAAD,YAAA,CAAMD,IAAK,EAAA,OAAA,EAAS,QAAQ,CAAA,CAAA;AAAA,aAC5B,CAAG,EAAA;AAAA,KAEZ;AAEA,IAAM,MAAA,GAAA,GAA4B,KAAK,KAAM,CAAA,IAAA,CAAK,UAAU,MAAO,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;AAE9E,IAAO,OAAAC,YAAA,CAAM,GAAK,EAAA,OAAA,EAAS,QAAQ,CAAA,CAAA;AAAA,GACrC;AAEA,EAAA,IAAI,IAAIE,aAAQ,CAAA,MAAA,CAAO,KAAM,CAAA,IAAI,EAAE,KAAO,EAAA;AACxC,IAAA,OAAOF,YAAM,CAAA,MAAA,CAAO,KAAM,CAAA,IAAA,EAAM,SAAS,QAAQ,CAAA,CAAA;AAAA,GACnD;AAEA,EAAO,OAAAA,YAAA,CAAMG,aAAQ,MAAO,CAAA,IAAA,EAAM,OAAO,KAAM,CAAA,IAAI,CAAG,EAAA,OAAA,EAAS,QAAQ,CAAA,CAAA;AACzE","file":"chunk-2S2QRJPN.cjs","sourcesContent":["import { resolve } from 'node:path'\n\nimport { URLPath } from '@kubb/core/utils'\n\nimport { type FormatOptions, parse } from '@kubb/oas/parser'\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, options: FormatOptions = {}, 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, options, oasClass)\n }\n\n try {\n const api: string = yaml.parse(config.input.data as string) as string\n\n return parse(api, options, 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, options, oasClass)\n }\n\n if (new URLPath(config.input.path).isURL) {\n return parse(config.input.path, options, oasClass)\n }\n\n return parse(resolve(config.root, config.input.path), options, oasClass)\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/generators/index.ts","../src/generators/jsonGenerator.ts","../src/generator.tsx"],"names":["init_cjs_shims","__toESM","require_jsx_runtime","createRoot","App","Oas","camelCase"],"mappings":";;;;;;;;AAAAA,gCAAA,EAAA,CAAA;;;ACAAA,gCAAA,EAAA,CAAA;;;ACAAA,gCAAA,EAAA,CAAA;AAsEY,IAAA,kBAAA,GAAAC,yBAAA,CAAAC,qCAAA,EAAA,EAAA,CAAA,CAAA,CAAA;AA/BL,SAAS,gBAAuD,YAA+D,EAAA;AACpI,EAAO,OAAA,YAAA,CAAA;AACT,CAAA;AAaO,SAAS,qBAA4D,YAAoE,EAAA;AAC9I,EAAO,OAAA;AAAA,IACL,GAAG,YAAA;AAAA,IACH,MAAM,UAAW,CAAA,EAAE,UAAU,OAAS,EAAA,UAAA,EAAY,oBAAsB,EAAA;AACtE,MAAI,IAAA,CAAC,aAAa,UAAY,EAAA;AAC5B,QAAA,OAAO,EAAC,CAAA;AAAA,OACV;AAEA,MAAA,MAAM,EAAE,aAAe,EAAA,GAAA,EAAK,MAAQ,EAAA,IAAA,KAAS,QAAS,CAAA,OAAA,CAAA;AACtD,MAAA,MAAM,OAAOC,gBAAW,CAAA;AAAA,QACtB,QAAQ,aAAc,CAAA,MAAA;AAAA,OACvB,CAAA,CAAA;AAED,MAAK,IAAA,CAAA,MAAA;AAAA,wBACH,IAAA,kBAAA,CAAA,GAAA,EAACC,aAAI,aAA8B,EAAA,MAAA,EAAgB,MACjD,QAAC,kBAAA,IAAA,kBAAA,CAAA,GAAA,EAAAC,qBAAA,EAAA,EAAI,KAAU,UAAwB,EAAA,SAAA,EAAW,UAChD,QAAC,kBAAA,IAAA,kBAAA,CAAA,GAAA,EAAA,YAAA,CAAa,YAAb,EAAwB,UAAA,EAAwB,UAAoB,kBAAwC,EAAA,OAAA,EAAkB,GACjI,CACF,EAAA,CAAA;AAAA,OACF,CAAA;AAEA,MAAA,OAAO,IAAK,CAAA,KAAA,CAAA;AAAA,KACd;AAAA,IACA,MAAM,SAAU,CAAA,EAAE,QAAU,EAAA,SAAA,EAAW,SAAW,EAAA;AAChD,MAAI,IAAA,CAAC,aAAa,SAAW,EAAA;AAC3B,QAAA,OAAO,EAAC,CAAA;AAAA,OACV;AAEA,MAAA,MAAM,EAAE,aAAe,EAAA,GAAA,EAAK,MAAQ,EAAA,IAAA,KAAS,QAAS,CAAA,OAAA,CAAA;AACtD,MAAA,MAAM,OAAOF,gBAAW,CAAA;AAAA,QACtB,QAAQ,aAAc,CAAA,MAAA;AAAA,OACvB,CAAA,CAAA;AAED,MAAK,IAAA,CAAA,MAAA;AAAA,wBACF,IAAA,kBAAA,CAAA,GAAA,EAAAC,SAAA,EAAA,EAAI,aAA8B,EAAA,MAAA,EAAQ,EAAE,GAAG,MAAA,EAAQ,OAAQ,EAAA,EAAG,IACjE,EAAA,QAAA,kBAAA,IAAA,kBAAA,CAAA,GAAA,EAACC,qBAAI,EAAA,EAAA,GAAA,EAAU,YAAY,CAAC,SAAS,CAAG,EAAA,SAAA,EAAW,QACjD,EAAA,QAAA,kBAAA,IAAA,kBAAA,CAAA,GAAA,EAACA,qBAAI,CAAA,SAAA,EAAJ,EAAc,SACb,EAAA,QAAA,kBAAA,IAAA,kBAAA,CAAA,GAAA,EAAC,YAAa,CAAA,SAAA,EAAb,EAAuB,SAAsB,EAAA,OAAA,EAAkB,QAAoB,EAAA,CAAA,EACtF,GACF,CACF,EAAA,CAAA;AAAA,OACF,CAAA;AAEA,MAAA,OAAO,IAAK,CAAA,KAAA,CAAA;AAAA,KACd;AAAA,IACA,MAAM,MAAO,CAAA,EAAE,UAAU,MAAQ,EAAA,IAAA,EAAM,SAAW,EAAA;AAChD,MAAI,IAAA,CAAC,aAAa,MAAQ,EAAA;AACxB,QAAA,OAAO,EAAC,CAAA;AAAA,OACV;AAEA,MAAA,MAAM,EAAE,aAAe,EAAA,GAAA,EAAK,MAAQ,EAAA,IAAA,KAAS,QAAS,CAAA,OAAA,CAAA;AACtD,MAAA,MAAM,OAAOF,gBAAW,CAAA;AAAA,QACtB,QAAQ,aAAc,CAAA,MAAA;AAAA,OACvB,CAAA,CAAA;AAED,MAAA,MAAM,OAAO,QAAS,CAAA,KAAA,CAAM,EAAE,MAAA,EAAQ,MAAM,CAAA,CAAA;AAE5C,MAAK,IAAA,CAAA,MAAA;AAAA,wBACF,IAAA,kBAAA,CAAA,GAAA,EAAAC,SAAA,EAAA,EAAI,aAA8B,EAAA,MAAA,EAAQ,EAAE,GAAG,MAAQ,EAAA,OAAA,EAAW,EAAA,IAAA,EACjE,QAAC,kBAAA,IAAA,kBAAA,CAAA,GAAA,EAAAC,qBAAA,EAAA,EAAI,KACH,QAAC,kBAAA,IAAA,kBAAA,CAAA,GAAA,EAAAA,qBAAA,CAAI,MAAJ,EAAA,EAAW,IAAY,EAAA,KAAA,EAAO,MAAQ,EAAA,IAAA,EACrC,sDAAC,YAAa,CAAA,MAAA,EAAb,EAAoB,MAAA,EAAgB,OAAkB,EAAA,QAAA,EAAoB,IAAY,EAAA,CAAA,EACzF,GACF,CACF,EAAA,CAAA;AAAA,OACF,CAAA;AAEA,MAAA,OAAO,IAAK,CAAA,KAAA,CAAA;AAAA,KACd;AAAA,GACF,CAAA;AACF,CAAA;;;ADxHO,IAAM,gBAAgB,eAA2B,CAAA;AAAA,EACtD,IAAM,EAAA,YAAA;AAAA,EACN,MAAM,MAAO,CAAA,EAAE,MAAQ,EAAA,IAAA,EAAM,UAAY,EAAA;AACvC,IAAA,MAAM,EAAE,aAAA,EAAe,MAAO,EAAA,GAAI,QAAS,CAAA,OAAA,CAAA;AAC3C,IAAM,MAAA,IAAA,GAAO,cAAc,OAAQ,CAAA;AAAA,MACjC,IAAA,EAAMC,uBAAU,IAAI,CAAA;AAAA,MACpB,OAAS,EAAA,OAAA;AAAA,MACT,IAAM,EAAA,OAAA;AAAA,MACN,WAAW,MAAO,CAAA,GAAA;AAAA,KACnB,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL;AAAA,QACE,GAAG,IAAA;AAAA,QACH,OAAS,EAAA;AAAA,UACP;AAAA,YACE,IAAA,EAAMA,uBAAU,IAAI,CAAA;AAAA,YACpB,YAAc,EAAA,KAAA;AAAA,YACd,WAAa,EAAA,KAAA;AAAA,YACb,KAAA,EAAO,IAAK,CAAA,SAAA,CAAU,MAAM,CAAA;AAAA,WAC9B;AAAA,SACF;AAAA,OACF;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC","file":"chunk-6BDSF64V.cjs","sourcesContent":["export { jsonGenerator } from './jsonGenerator.ts'\n","import { camelCase } from '@kubb/core/transformers'\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, name, instance }) {\n const { pluginManager, plugin } = instance.context\n const file = pluginManager.getFile({\n name: camelCase(name),\n extName: '.json',\n mode: 'split',\n pluginKey: plugin.key,\n })\n\n return [\n {\n ...file,\n sources: [\n {\n name: camelCase(name),\n isExportable: false,\n isIndexable: false,\n value: JSON.stringify(schema),\n },\n ],\n },\n ]\n },\n})\n","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 { 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 name: string\n schema: SchemaObject\n options: TOptions['resolvedOptions']\n}\n\nexport type GeneratorOptions<TOptions extends PluginFactoryOptions> = {\n name: string\n operations?: (props: OperationsProps<TOptions>) => Promise<KubbFile.File[]>\n operation?: (props: OperationProps<TOptions>) => Promise<KubbFile.File[]>\n schema?: (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?: (props: OperationsProps<TOptions>) => KubbNode\n Operation?: (props: OperationProps<TOptions>) => KubbNode\n Schema?: (props: SchemaProps<TOptions>) => KubbNode\n /**\n * Combine all react nodes and only render ones(to string or render)\n */\n render?: () => any\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 root.render(\n <App pluginManager={pluginManager} plugin={plugin} mode={mode}>\n <Oas oas={oas} operations={operations} generator={instance}>\n <parseOptions.Operations 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 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 <parseOptions.Operation 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, name, 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 tree = instance.parse({ schema, name })\n\n root.render(\n <App pluginManager={pluginManager} plugin={{ ...plugin, options }} mode={mode}>\n <Oas oas={oas}>\n <Oas.Schema name={name} value={schema} tree={tree}>\n <parseOptions.Schema schema={schema} options={options} instance={instance} name={name} />\n </Oas.Schema>\n </Oas>\n </App>,\n )\n\n return root.files\n },\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/generators/index.ts","../src/generators/jsonGenerator.ts","../src/generator.tsx"],"names":[],"mappings":"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","file":"chunk-A2T3ZQOU.js","sourcesContent":["export { jsonGenerator } from './jsonGenerator.ts'\n","import { camelCase } from '@kubb/core/transformers'\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, name, instance }) {\n const { pluginManager, plugin } = instance.context\n const file = pluginManager.getFile({\n name: camelCase(name),\n extName: '.json',\n mode: 'split',\n pluginKey: plugin.key,\n })\n\n return [\n {\n ...file,\n sources: [\n {\n name: camelCase(name),\n isExportable: false,\n isIndexable: false,\n value: JSON.stringify(schema),\n },\n ],\n },\n ]\n },\n})\n","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 { 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 name: string\n schema: SchemaObject\n options: TOptions['resolvedOptions']\n}\n\nexport type GeneratorOptions<TOptions extends PluginFactoryOptions> = {\n name: string\n operations?: (props: OperationsProps<TOptions>) => Promise<KubbFile.File[]>\n operation?: (props: OperationProps<TOptions>) => Promise<KubbFile.File[]>\n schema?: (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?: (props: OperationsProps<TOptions>) => KubbNode\n Operation?: (props: OperationProps<TOptions>) => KubbNode\n Schema?: (props: SchemaProps<TOptions>) => KubbNode\n /**\n * Combine all react nodes and only render ones(to string or render)\n */\n render?: () => any\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 root.render(\n <App pluginManager={pluginManager} plugin={plugin} mode={mode}>\n <Oas oas={oas} operations={operations} generator={instance}>\n <parseOptions.Operations 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 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 <parseOptions.Operation 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, name, 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 tree = instance.parse({ schema, name })\n\n root.render(\n <App pluginManager={pluginManager} plugin={{ ...plugin, options }} mode={mode}>\n <Oas oas={oas}>\n <Oas.Schema name={name} value={schema} tree={tree}>\n <parseOptions.Schema schema={schema} options={options} instance={instance} name={name} />\n </Oas.Schema>\n </Oas>\n </App>,\n )\n\n return root.files\n },\n }\n}\n"]}