UNPKG

openapi-client-sdk-loader

Version:
55 lines (41 loc) 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = loader; exports.raw = void 0; var _path = _interopRequireDefault(require("path")); var _loaderUtils = require("loader-utils"); var _options = require("./options"); var _format = _interopRequireDefault(require("./format")); var _templates = _interopRequireDefault(require("./templates")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const raw = true; exports.raw = raw; function loader(source) { const callback = this.async(); const options = (0, _options.normalize)((0, _loaderUtils.getOptions)(this)); const validExts = ['.yml', '.yaml']; if (!validExts.includes(_path.default.extname(this.resourcePath))) { return callback(null, source); } try { (0, _options.validate)(options); } catch (error) { return callback(error); } return options.parser.bundle(this.resourcePath, (error, api) => { if (error) { if (options.skipInvalid) { return callback(null, source); } return callback(error); } options.parser.$refs.paths().forEach(filePath => { if (filePath !== this.resourcePath) { this.addDependency(filePath); } }); return options.compiler(api, options).then(result => (0, _templates.default)(result, options)).then(result => callback(null, (0, _format.default)(result, options))).catch(compilationError => callback(compilationError)); }); }