t-comm
Version:
专业、稳定、纯粹的工具库
109 lines (104 loc) • 3.31 kB
JavaScript
;
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;