UNPKG

t-comm

Version:

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

55 lines (52 loc) 2.16 kB
import { _ as __assign } from '../tslib.es6-096fffdd.js'; import { safeJsonParse } from '../json/json-parse.mjs'; 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 = __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 = 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 () {}); }); } export { fetchRainbowConfigFromSdk };