UNPKG

t-comm

Version:

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

109 lines (104 loc) 3.31 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib_es6 = require('../tslib.es6-01322ba9.js'); var rainbowToCos_api = require('../rainbow-to-cos/api.js'); require('../node/fs-util.js'); require('fs'); require('path'); require('../fs/fs.js'); require('../time/time.js'); require('../rainbow/rainbow-admin.js'); require('../rainbow/helper/helper.js'); require('../rainbow/helper/rainbow-base-request.js'); require('axios'); require('../rainbow/helper/rainbow-signature.js'); require('../rainbow/rainbow-user.js'); require('../rainbow/sdk.js'); require('../json/json-parse.js'); require('../list/flat.js'); require('../rainbow-to-cos/helper/helper.js'); require('../tencent-cloud/cos/link.js'); require('../rainbow-to-cos/helper/value-type.js'); require('../string/string.js'); function getHistoryModeConfigDiff(_a) { var secretInfo = _a.secretInfo, appName = _a.appName, key = _a.key, fetchRainbowConfigOptions = _a.fetchRainbowConfigOptions; return new Promise(function (resolve, reject) { rainbowToCos_api.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 = tslib_es6.__assign(tslib_es6.__assign({}, targetMap), (_a = {}, _a[domain] = tslib_es6.__spreadArray(tslib_es6.__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 }; } exports.getHistoryModeConfigDiff = getHistoryModeConfigDiff;