UNPKG

@kubb/plugin-oas

Version:

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

41 lines (36 loc) 1.29 kB
'use strict'; var path = require('path'); var utils = require('@kubb/core/utils'); var oas = require('@kubb/oas'); var yaml = require('@stoplight/yaml'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var yaml__default = /*#__PURE__*/_interopDefault(yaml); // src/utils/parseFromConfig.ts function parseFromConfig(config, oasClass = oas.Oas) { if ("data" in config.input) { if (typeof config.input.data === "object") { const api2 = JSON.parse(JSON.stringify(config.input.data)); return oas.parse(api2, { oasClass }); } try { const api2 = yaml__default.default.parse(config.input.data); return oas.parse(api2, { oasClass }); } catch (_e) { } const api = JSON.parse(JSON.stringify(config.input.data)); return oas.parse(api, { oasClass }); } if (Array.isArray(config.input)) { return oas.merge( config.input.map((input) => input.path), { oasClass } ); } if (new utils.URLPath(config.input.path).isURL) { return oas.parse(config.input.path, { oasClass }); } return oas.parse(path.resolve(config.root, config.input.path), { oasClass }); } exports.parseFromConfig = parseFromConfig; //# sourceMappingURL=chunk-7RFNM43R.cjs.map //# sourceMappingURL=chunk-7RFNM43R.cjs.map