{"version":3,"sources":["jsdelivr-header.js","/npm/sm2tsservice@3.4.2/lib/index.js"],"names":[],"mappings":"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","file":"/npm/sm2tsservice@3.4.2/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/sm2tsservice@3.4.2/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\n/* eslint-disable @typescript-eslint/no-var-requires */\nvar path = tslib_1.__importStar(require(\"path\"));\nvar fs = tslib_1.__importStar(require(\"fs\"));\nvar request = tslib_1.__importStar(require(\"request\"));\nvar chalk_1 = tslib_1.__importDefault(require(\"chalk\"));\nvar consts_1 = require(\"./consts\");\nvar swagger2ts_1 = tslib_1.__importDefault(require(\"./swagger2ts\"));\nvar serve_1 = tslib_1.__importDefault(require(\"./yapi/serve\"));\nvar init_1 = require(\"./init\");\nvar guard_1 = require(\"./guard\");\nvar serve_2 = require(\"./diff/serve\");\nvar defaultParseConfig = {\n    '-l': 'typescript-angularjs',\n    '-t': path.join(init_1.pluginsPath, 'typescript-tkit'),\n    '-o': path.join(process.cwd(), 'src', 'services')\n};\n/** CLI入口函数 */\nfunction gen(config, options) {\n    return tslib_1.__awaiter(this, void 0, void 0, function () {\n        var url, remoteUrl, _a, type, swaggerParser, _b, requestConfig, _c, swaggerConfig, localSwaggerUrl, remoteSwaggerUrl, yapiTMP, updateLocalSwagger, swagger2tsConfig, servicesPath, code, swaggerData, guardConfig, warnings, _d, w_1, errors_1, _e, errors, w, suggestions, swaggerFileName, swaggerPath, envs, apis, models, clear, typeScriptDataFile, res;\n        var _this = this;\n        return tslib_1.__generator(this, function (_f) {\n            switch (_f.label) {\n                case 0:\n                    url = config.url, remoteUrl = config.remoteUrl, _a = config.type, type = _a === void 0 ? 'swagger' : _a, swaggerParser = config.swaggerParser, _b = config.requestConfig, requestConfig = _b === void 0 ? {} : _b, _c = config.swaggerConfig, swaggerConfig = _c === void 0 ? {} : _c;\n                    if (!url || url.match(consts_1.RemoteUrlReg)) {\n                        console.log(chalk_1.default.red(\"[ERROR]: \\u81EA @3.1.* url \\u5FC5\\u987B\\u662F\\u672C\\u5730\\u5730\\u5740\"));\n                        throw 1;\n                    }\n                    localSwaggerUrl = path.join(consts_1.ProjectDir, url);\n                    remoteSwaggerUrl = (requestConfig.url = requestConfig.url || remoteUrl || '');\n                    if (remoteSwaggerUrl) {\n                        if (!remoteSwaggerUrl.match(consts_1.RemoteUrlReg)) {\n                            remoteSwaggerUrl = path.join(consts_1.ProjectDir, remoteSwaggerUrl);\n                            if (!fs.existsSync(remoteSwaggerUrl)) {\n                                console.log(chalk_1.default.red(\"[ERROR]: remoteUrl \\u6307\\u5B9A\\u7684\\u6587\\u4EF6 \" + remoteUrl + \" \\u4E0D\\u5B58\\u5728\"));\n                                throw 1;\n                            }\n                        }\n                    }\n                    if (!(type === 'yapi')) return [3 /*break*/, 2];\n                    return [4 /*yield*/, serve_1.default(remoteSwaggerUrl, config.yapiConfig)];\n                case 1:\n                    yapiTMP = _f.sent();\n                    if ('result' in yapiTMP && yapiTMP.result && !yapiTMP.code) {\n                        remoteSwaggerUrl = yapiTMP.result;\n                    }\n                    else {\n                        console.log(chalk_1.default.red(\"[ERROR]: \\u57FA\\u4E8E YAPI \\u751F\\u6210\\u5931\\u8D25: \" + yapiTMP.message));\n                        throw 1;\n                    }\n                    _f.label = 2;\n                case 2:\n                    updateLocalSwagger = function (data) {\n                        fs.writeFileSync(localSwaggerUrl, data ? JSON.stringify(data, null, 2) : data, {\n                            encoding: 'utf8'\n                        });\n                    };\n                    swagger2tsConfig = tslib_1.__assign(tslib_1.__assign({}, defaultParseConfig), swaggerParser);\n                    servicesPath = swagger2tsConfig['-o'] || '';\n                    return [4 /*yield*/, new Promise(function (rs) {\n                            var loader = function (cb) {\n                                remoteSwaggerUrl\n                                    ? remoteSwaggerUrl.match(consts_1.RemoteUrlReg)\n                                        ? request.get(tslib_1.__assign(tslib_1.__assign({}, requestConfig), { url: remoteSwaggerUrl }), function (err, res) { return cb(err, { body: JSON.parse(res.body) }); })\n                                        : cb(undefined, { body: require(remoteSwaggerUrl) })\n                                    : cb(undefined, {});\n                            };\n                            loader(function (err, _a) {\n                                var newSwagger = _a.body;\n                                return tslib_1.__awaiter(_this, void 0, void 0, function () {\n                                    var exclude_1, include_1, modifier, paths_1, localSwagger, merged;\n                                    return tslib_1.__generator(this, function (_b) {\n                                        switch (_b.label) {\n                                            case 0:\n                                                if (!err) return [3 /*break*/, 1];\n                                                console.log(chalk_1.default.red(\"[ERROR]: \\u4E0B\\u8F7D Swagger JSON \\u5931\\u8D25: \" + err));\n                                                rs(1);\n                                                return [3 /*break*/, 5];\n                                            case 1:\n                                                if (!fs.existsSync(servicesPath)) {\n                                                    fs.mkdirSync(servicesPath);\n                                                }\n                                                if (!newSwagger) return [3 /*break*/, 4];\n                                                exclude_1 = swaggerConfig.exclude, include_1 = swaggerConfig.include, modifier = swaggerConfig.modifier;\n                                                if (Array.isArray(exclude_1) || Array.isArray(include_1)) {\n                                                    paths_1 = newSwagger.paths;\n                                                    newSwagger.paths = Object.keys(paths_1).reduce(function (newPaths, url) {\n                                                        var _a, _b;\n                                                        var included = (_a = include_1) === null || _a === void 0 ? void 0 : _a.find(function (reg) { return url.match(reg); });\n                                                        var excluded = (_b = exclude_1) === null || _b === void 0 ? void 0 : _b.find(function (reg) { return url.match(reg); });\n                                                        // 未配置 exclude 但是配置配置了 include\n                                                        if (exclude_1 === undefined && include_1 !== undefined) {\n                                                            if (included) {\n                                                                newPaths[url] = paths_1[url];\n                                                            }\n                                                        }\n                                                        else {\n                                                            if (included || !excluded) {\n                                                                newPaths[url] = paths_1[url];\n                                                            }\n                                                        }\n                                                        return newPaths;\n                                                    }, {});\n                                                }\n                                                if (modifier) {\n                                                    newSwagger = modifier(newSwagger, config);\n                                                }\n                                                if (!(fs.existsSync(localSwaggerUrl) && !options.quiet)) return [3 /*break*/, 3];\n                                                localSwagger = require(localSwaggerUrl);\n                                                return [4 /*yield*/, serve_2.serveDiff(localSwagger, newSwagger)];\n                                            case 2:\n                                                merged = _b.sent();\n                                                merged && updateLocalSwagger(merged);\n                                                return [3 /*break*/, 4];\n                                            case 3:\n                                                updateLocalSwagger(newSwagger);\n                                                _b.label = 4;\n                                            case 4:\n                                                rs(0);\n                                                _b.label = 5;\n                                            case 5: return [2 /*return*/];\n                                        }\n                                    });\n                                });\n                            });\n                        })];\n                case 3:\n                    code = _f.sent();\n                    if (code) {\n                        throw code;\n                    }\n                    // 删除缓存\n                    delete require.cache[require.resolve(localSwaggerUrl)];\n                    swaggerData = require(localSwaggerUrl);\n                    guardConfig = config.guardConfig || {};\n                    warnings = Array();\n                    return [4 /*yield*/, guard_1.strictModeGuard(swaggerData, guardConfig)];\n                case 4:\n                    _d = _f.sent(), w_1 = _d.warnings, errors_1 = _d.errors;\n                    warnings.push.apply(warnings, w_1);\n                    if (errors_1.length) {\n                        throw errors_1.join('\\n');\n                    }\n                    return [4 /*yield*/, guard_1.operationIdGuard(swaggerData, guardConfig)];\n                case 5:\n                    _e = _f.sent(), errors = _e.errors, w = _e.warnings, suggestions = _e.suggestions;\n                    warnings.push.apply(warnings, w);\n                    if (warnings.length) {\n                        console.log(chalk_1.default.yellow(warnings.join('\\n')));\n                    }\n                    swaggerFileName = init_1.basePathToFileName((swaggerData.basePath || init_1.DefaultBasePath) + \".json\");\n                    swaggerPath = path.join(init_1.SmTmpDir, swaggerFileName);\n                    fs.writeFileSync(swaggerPath, JSON.stringify(swaggerData), {\n                        encoding: 'utf8'\n                    });\n                    if (errors.length) {\n                        if (suggestions.length) {\n                            console.log(chalk_1.default.green(JSON.stringify(suggestions, undefined, 2)));\n                        }\n                        throw errors.join('\\n');\n                    }\n                    else {\n                        if (suggestions.length) {\n                            console.log(chalk_1.default.green(JSON.stringify(suggestions, undefined, 2)));\n                        }\n                    }\n                    envs = [];\n                    apis = options.apis, models = options.models, clear = options.clear, typeScriptDataFile = options.typeScriptDataFile;\n                    if (typeScriptDataFile !== undefined && typeScriptDataFile !== false) {\n                        envs.push(typeScriptDataFile === true\n                            ? 'typeScriptDataFile'\n                            : \"typeScriptDataFile=\" + typeScriptDataFile, 'apis', 'models');\n                    }\n                    else {\n                        if (apis !== undefined) {\n                            envs.push(apis === true ? 'apis' : \"apis=\" + options.apis);\n                        }\n                        if (models !== undefined) {\n                            envs.push(models === true ? 'models' : \"models=\" + models);\n                        }\n                    }\n                    return [4 /*yield*/, swagger2ts_1.default(tslib_1.__assign(tslib_1.__assign({}, swagger2tsConfig), { '-i': swaggerPath }), clear, envs)];\n                case 6:\n                    res = _f.sent();\n                    if (res.code) {\n                        throw \"[ERROR]: gen failed with: \" + res.message;\n                    }\n                    else {\n                        console.log(chalk_1.default.green(\"[INFO]: gen success with: \" + localSwaggerUrl));\n                        console.log(chalk_1.default.yellowBright(\"[IMP] \\u8BF7\\u5C06\\u6587\\u4EF6 \" + localSwaggerUrl + \" \\u6DFB\\u52A0\\u5230\\u7248\\u672C\\u4ED3\\u5E93\"));\n                    }\n                    return [2 /*return*/, 0];\n            }\n        });\n    });\n}\nexports.default = gen;\n"]}