@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
JavaScript
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