UNPKG

@kubb/plugin-oas

Version:

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

67 lines (64 loc) 2.49 kB
const require_chunk = require('./chunk-CbDLau6x.cjs'); const require_getFooter = require('./getFooter-BWck5e2D.cjs'); const require_getSchemas = require('./getSchemas-BTCpbjet.cjs'); let __kubb_core_transformers = require("@kubb/core/transformers"); __kubb_core_transformers = require_chunk.__toESM(__kubb_core_transformers); let __kubb_oas = require("@kubb/oas"); let __kubb_core_utils = require("@kubb/core/utils"); //#region src/utils/getComments.ts function getComments(operation) { return [ operation.getDescription() && `@description ${operation.getDescription()}`, operation.getSummary() && `@summary ${operation.getSummary()}`, operation.path && `{@link ${new __kubb_core_utils.URLPath(operation.path).URL}}`, operation.isDeprecated() && "@deprecated" ].filter(Boolean).map((text) => __kubb_core_transformers.default.trim(text)).filter(Boolean); } //#endregion //#region src/utils/getParams.ts /** * * @deprecated * TODO move to operationManager hook */ 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 = (0, __kubb_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 = (0, __kubb_core_transformers.isValidVarName)(curr.name) ? curr.name : (0, __kubb_core_transformers.camelCase)(curr.name); if (options.casing === "camelcase") name = (0, __kubb_core_transformers.camelCase)(name); acc[name] = { default: curr.default, type: curr.type, optional: !curr.required }; } return acc; }, {}); } //#endregion exports.getBanner = require_getFooter.getBanner; exports.getComments = getComments; exports.getFooter = require_getFooter.getFooter; exports.getPathParams = getPathParams; exports.getSchemaFactory = require_getSchemas.getSchemaFactory; exports.getSchemas = require_getSchemas.getSchemas; Object.defineProperty(exports, 'isOptional', { enumerable: true, get: function () { return __kubb_oas.isOptional; } }); //# sourceMappingURL=utils.cjs.map