UNPKG

t-comm

Version:

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

118 lines (111 loc) 3.89 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _defineProperty = require('@babel/runtime/helpers/defineProperty'); var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray'); var rainbowToCos_api = require('../rainbow-to-cos/api.js'); require('../rainbow/rainbow-admin.js'); require('@babel/runtime/regenerator'); require('../tslib.es6-0d92ef81.js'); require('../rainbow/helper/helper.js'); require('../rainbow/helper/rainbow-base-request.js'); require('axios'); require('../rainbow/helper/rainbow-signature.js'); require('../nodejs/crypto.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('../nodejs/path.js'); require('../tencent-cloud/cos/link.js'); require('../rainbow-to-cos/helper/value-type.js'); require('../string/string.js'); require('../fs/fs-util.js'); require('../fs/fs.js'); require('../nodejs/fs.js'); require('../nodejs/os.js'); require('../time/time.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty); var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray); function getHistoryModeConfigDiff(_ref) { var secretInfo = _ref.secretInfo, appName = _ref.appName, key = _ref.key, fetchRainbowConfigOptions = _ref.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 _findDiff = findDiff(config, originConfig), addedMap = _findDiff.addedMap, deletedMap = _findDiff.deletedMap, parsed = _findDiff.parsed, originParsed = _findDiff.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 exist = (_a = another[domain]) === null || _a === void 0 ? void 0 : _a.includes(name); if (!exist) { targetMap = Object.assign(Object.assign({}, targetMap), _defineProperty__default["default"]({}, domain, [].concat(_toConsumableArray__default["default"](targetMap[domain] || []), [name]))); } }); }); 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;