@kubb/plugin-oas
Version:
OpenAPI Specification (OAS) plugin for Kubb, providing core functionality for parsing and processing OpenAPI/Swagger schemas for code generation.
84 lines (79 loc) • 2.87 kB
JavaScript
;
var chunk7RFNM43R_cjs = require('./chunk-7RFNM43R.cjs');
var chunkDTD4ZUDA_cjs = require('./chunk-DTD4ZUDA.cjs');
var chunkZVFL3NXX_cjs = require('./chunk-ZVFL3NXX.cjs');
var transformers = require('@kubb/core/transformers');
var utils = require('@kubb/core/utils');
var oas = require('@kubb/oas');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var transformers__default = /*#__PURE__*/_interopDefault(transformers);
function getComments(operation) {
return [
operation.getDescription() && `@description ${operation.getDescription()}`,
operation.getSummary() && `@summary ${operation.getSummary()}`,
operation.path && `{@link ${new utils.URLPath(operation.path).URL}}`,
operation.isDeprecated() && "@deprecated"
].filter(Boolean).map((text) => transformers__default.default.trim(text));
}
function getASTParams(operationSchema, {
typed = false,
override
} = {}) {
if (!operationSchema || !operationSchema.schema.properties || !operationSchema.name) {
return [];
}
return Object.entries(operationSchema.schema.properties).map(([name, schema]) => {
const isParam = oas.isParameterObject(schema);
const data = {
name,
enabled: !!name,
required: isParam ? schema.required : true,
type: typed ? `${operationSchema.name}["${name}"]` : void 0
};
return override ? override(data) : data;
});
}
function getPathParams(operationSchema, options = {}) {
return getASTParams(operationSchema, options).reduce((acc, curr) => {
if (curr.name && curr.enabled) {
let name = transformers.isValidVarName(curr.name) ? curr.name : transformers.camelCase(curr.name);
if (options.casing === "camelcase") {
name = transformers.camelCase(name);
}
acc[name] = {
default: curr.default,
type: curr.type,
optional: !curr.required
};
}
return acc;
}, {});
}
Object.defineProperty(exports, "parseFromConfig", {
enumerable: true,
get: function () { return chunk7RFNM43R_cjs.parseFromConfig; }
});
Object.defineProperty(exports, "getBanner", {
enumerable: true,
get: function () { return chunkDTD4ZUDA_cjs.getBanner; }
});
Object.defineProperty(exports, "getFooter", {
enumerable: true,
get: function () { return chunkDTD4ZUDA_cjs.getFooter; }
});
Object.defineProperty(exports, "getSchemaFactory", {
enumerable: true,
get: function () { return chunkZVFL3NXX_cjs.getSchemaFactory; }
});
Object.defineProperty(exports, "getSchemas", {
enumerable: true,
get: function () { return chunkZVFL3NXX_cjs.getSchemas; }
});
Object.defineProperty(exports, "isOptional", {
enumerable: true,
get: function () { return oas.isOptional; }
});
exports.getComments = getComments;
exports.getPathParams = getPathParams;
//# sourceMappingURL=utils.cjs.map
//# sourceMappingURL=utils.cjs.map