t-comm
Version:
专业、稳定、纯粹的工具库
59 lines (54 loc) • 2.28 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../tslib.es6-01322ba9.js');
var json_jsonParse = require('../json/json-parse.js');
function fetchRainbowConfigFromSdk(_a) {
var secretInfo = _a.secretInfo,
sdk = _a.sdk,
initOptions = _a.initOptions,
key = _a.key,
_b = _a.isFetchGroup,
isFetchGroup = _b === void 0 ? false : _b,
_c = _a.tryJsonParse,
tryJsonParse = _c === void 0 ? true : _c,
rainbow = _a.rainbow;
return new Promise(function (resolve, reject) {
var Rainbow = sdk.Rainbow,
AccessType = sdk.AccessType,
AddrType = sdk.AddrType;
var httpOptions = tslib_es6.__assign({
accessType: AccessType.Default,
// 一次性脚本时,防止 exit 不生效
addrType: rainbow ? undefined : AddrType.Domain,
// 0.4.0 及以上版本默认开启缓存
// //【可选】使用内存缓存,无特殊情况都要开启。业务需严格按照规范打开本地内存缓存,保证当七彩石后端出现异常后,线上业务服务还可以正常运行。若用户强制关闭本地缓存,将实时强依赖七彩石,业务需自己做好兜底措施,否则会有风险隐患。
isUsingLocalCache: true,
// //【可选】使用文件缓存,无特殊情况都要开启。原因同上
isUsingFileCache: true
}, initOptions || {});
var innerRainbow = rainbow || new Rainbow(httpOptions);
var api = isFetchGroup ? 'v3GetGroup' : 'v3Get';
innerRainbow[api]({
appID: secretInfo.appId || secretInfo.appID,
userID: secretInfo.userId || secretInfo.userID,
secretKey: secretInfo.secretKey,
group: secretInfo.groupName,
envName: secretInfo.envName || 'Default'
}, key).then(function (res) {
if (tryJsonParse) {
var result = json_jsonParse.safeJsonParse(res, res);
resolve(result);
return;
}
resolve(res);
})["catch"](function (err) {
reject(err);
})["finally"](function () {
var _a;
if (!rainbow) {
(_a = innerRainbow.exit) === null || _a === void 0 ? void 0 : _a.call(innerRainbow);
}
})["catch"](function () {});
});
}
exports.fetchRainbowConfigFromSdk = fetchRainbowConfigFromSdk;