UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

106 lines (103 loc) 3.21 kB
import { _ as __assign, a as __spreadArray } from '../tslib.es6-096fffdd.js'; import { fetchLatestOneRainbowData } from '../rainbow-to-cos/api.mjs'; import '../node/fs-util.mjs'; import 'fs'; import 'path'; import '../fs/fs.mjs'; import '../time/time.mjs'; import '../rainbow/rainbow-admin.mjs'; import '../rainbow/helper/helper.mjs'; import '../rainbow/helper/rainbow-base-request.mjs'; import 'axios'; import '../rainbow/helper/rainbow-signature.mjs'; import '../rainbow/rainbow-user.mjs'; import '../list/flat.mjs'; import '@babel/runtime/helpers/typeof'; import '../rainbow/sdk.mjs'; import '../json/json-parse.mjs'; import '../rainbow-to-cos/helper/helper.mjs'; import '../string/string.mjs'; import '../tencent-cloud/cos/link.mjs'; import '../rainbow-to-cos/helper/value-type.mjs'; function getHistoryModeConfigDiff(_a) { var secretInfo = _a.secretInfo, appName = _a.appName, key = _a.key, fetchRainbowConfigOptions = _a.fetchRainbowConfigOptions; return new Promise(function (resolve, reject) { fetchLatestOneRainbowData({ secretInfo: secretInfo, appName: appName, key: key, fetchRainbowConfigOptions: fetchRainbowConfigOptions }).then(function (res) { var equal = res.equal, config = res.config, originConfig = res.originConfig; var _a = findDiff(config, originConfig), addedMap = _a.addedMap, deletedMap = _a.deletedMap, parsed = _a.parsed, originParsed = _a.originParsed; if (equal) { resolve({ equal: equal, addedMap: addedMap, deletedMap: deletedMap, parsed: parsed, originParsed: originParsed }); return; } resolve({ equal: equal, addedMap: addedMap, deletedMap: deletedMap, parsed: parsed, originParsed: originParsed }); })["catch"](function (err) { reject(err); }); }); } var parsedConfig = function parsedConfig(obj) { return Object.keys(obj).reduce(function (acc, domain) { var list = obj[domain]; var names = list.map(function (item) { return item.packageName; }).filter(function (item) { return item; }); acc[domain] = names; return acc; }, {}); }; var getDiff = function getDiff(current, another) { var targetMap = {}; Object.keys(current).forEach(function (domain) { var list = current[domain]; list.forEach(function (name) { var _a; var _b; var exist = (_b = another[domain]) === null || _b === void 0 ? void 0 : _b.includes(name); if (!exist) { targetMap = __assign(__assign({}, targetMap), (_a = {}, _a[domain] = __spreadArray(__spreadArray([], targetMap[domain] || [], true), [name], false), _a)); } }); }); return targetMap; }; function findDiff(config, originConfig) { var parsed = parsedConfig(config.data); var originParsed = parsedConfig(originConfig.data); var addedMap = getDiff(parsed, originParsed); var deletedMap = getDiff(originParsed, parsed); return { addedMap: addedMap, deletedMap: deletedMap, parsed: parsed, originParsed: originParsed }; } export { getHistoryModeConfigDiff };