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