UNPKG

@kubb/plugin-oas

Version:

OpenAPI Specification (OAS) plugin for Kubb, providing core functionality for parsing and processing OpenAPI/Swagger schemas for code generation.

98 lines (94 loc) 2.46 kB
const require_chunk = require('./chunk-CbDLau6x.cjs'); const require_getFooter = require('./getFooter-BWck5e2D.cjs'); let __kubb_core_transformers = require("@kubb/core/transformers"); //#region src/generators/createGenerator.ts function createGenerator(generator) { return { type: "core", async operations() { return []; }, async operation() { return []; }, async schema() { return []; }, ...generator }; } //#endregion //#region src/generators/createReactGenerator.ts /**** * Creates a generator that uses React component functions to generate files for OpenAPI operations and schemas. * * The returned generator exposes async methods for generating files from operations, a single operation, or a schema, using the corresponding React components if provided. If a component is not defined, the method returns an empty array. * * @returns A generator object with async methods for operations, operation, and schema file generation. */ function createReactGenerator(generator) { return { type: "react", Operations() { return null; }, Operation() { return null; }, Schema() { return null; }, ...generator }; } //#endregion //#region src/generators/jsonGenerator.ts const jsonGenerator = createGenerator({ name: "plugin-oas", async schema({ schema, generator }) { const { pluginManager, plugin } = generator.context; return [{ ...pluginManager.getFile({ name: (0, __kubb_core_transformers.camelCase)(schema.name), extname: ".json", mode: "split", pluginKey: plugin.key }), sources: [{ name: (0, __kubb_core_transformers.camelCase)(schema.name), isExportable: false, isIndexable: false, value: JSON.stringify(schema.value) }], banner: require_getFooter.getBanner({ oas: generator.context.oas, output: plugin.options.output, config: pluginManager.config }), format: require_getFooter.getFooter({ oas: generator.context.oas, output: plugin.options.output }) }]; } }); //#endregion Object.defineProperty(exports, 'createGenerator', { enumerable: true, get: function () { return createGenerator; } }); Object.defineProperty(exports, 'createReactGenerator', { enumerable: true, get: function () { return createReactGenerator; } }); Object.defineProperty(exports, 'jsonGenerator', { enumerable: true, get: function () { return jsonGenerator; } }); //# sourceMappingURL=generators--9_lTBjl.cjs.map