@cloudbase/app 3.0.4 → 3.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +12 -8
- package/dist/cjs/libs/adapter-node/constants.d.ts +33 -0
- package/dist/cjs/libs/adapter-node/constants.js +38 -0
- package/dist/cjs/libs/adapter-node/context.d.ts +13 -0
- package/dist/cjs/libs/adapter-node/context.js +162 -0
- package/dist/cjs/libs/adapter-node/index.d.ts +23 -0
- package/dist/cjs/libs/adapter-node/index.js +124 -0
- package/dist/cjs/libs/adapter-node/metadata.d.ts +14 -0
- package/dist/cjs/libs/adapter-node/metadata.js +130 -0
- package/dist/cjs/libs/adapter-node/request.d.ts +38 -0
- package/dist/cjs/libs/adapter-node/request.js +432 -0
- package/dist/cjs/libs/adapter-node/tool.d.ts +2 -0
- package/dist/cjs/libs/adapter-node/tool.js +227 -0
- package/dist/cjs/libs/adapter-node/types.d.ts +78 -0
- package/dist/cjs/libs/adapter-node/types.js +3 -0
- package/dist/cjs/libs/adapter-node/utils.d.ts +17 -0
- package/dist/cjs/libs/adapter-node/utils.js +221 -0
- package/dist/esm/index.js +12 -8
- package/dist/esm/libs/adapter-node/constants.d.ts +33 -0
- package/dist/esm/libs/adapter-node/constants.js +35 -0
- package/dist/esm/libs/adapter-node/context.d.ts +13 -0
- package/dist/esm/libs/adapter-node/context.js +156 -0
- package/dist/esm/libs/adapter-node/index.d.ts +23 -0
- package/dist/esm/libs/adapter-node/index.js +118 -0
- package/dist/esm/libs/adapter-node/metadata.d.ts +14 -0
- package/dist/esm/libs/adapter-node/metadata.js +123 -0
- package/dist/esm/libs/adapter-node/request.d.ts +38 -0
- package/dist/esm/libs/adapter-node/request.js +429 -0
- package/dist/esm/libs/adapter-node/tool.d.ts +2 -0
- package/dist/esm/libs/adapter-node/tool.js +223 -0
- package/dist/esm/libs/adapter-node/types.d.ts +78 -0
- package/dist/esm/libs/adapter-node/types.js +2 -0
- package/dist/esm/libs/adapter-node/utils.d.ts +17 -0
- package/dist/esm/libs/adapter-node/utils.js +205 -0
- package/dist/miniprogram/index.js +1 -1
- package/package.json +20 -4
- package/src/index.ts +13 -1
- package/src/libs/adapter-node/constants.ts +42 -0
- package/src/libs/adapter-node/context.ts +238 -0
- package/src/libs/adapter-node/index.ts +166 -0
- package/src/libs/adapter-node/metadata.ts +69 -0
- package/src/libs/adapter-node/request.ts +480 -0
- package/src/libs/adapter-node/tool.ts +223 -0
- package/src/libs/adapter-node/types.ts +116 -0
- package/src/libs/adapter-node/utils.ts +182 -0
- package/webpack/web.prod.js +13 -13
- package/webpack/webpack.miniprogram.js +9 -3
package/dist/cjs/index.js
CHANGED
|
@@ -266,14 +266,9 @@ var Cloudbase = (function () {
|
|
|
266
266
|
};
|
|
267
267
|
Cloudbase.prototype.dealNodeAdapterConfig = function (config) {
|
|
268
268
|
var _a, _b;
|
|
269
|
-
if ((_a = adapter_1.Platform.adapter) === null || _a === void 0 ? void 0 : _a.getSecretInfo) {
|
|
269
|
+
if (!process.env.IS_BROWSER_BUILD && ((_a = adapter_1.Platform.adapter) === null || _a === void 0 ? void 0 : _a.getSecretInfo)) {
|
|
270
270
|
var secretInfo = (_b = adapter_1.Platform.adapter) === null || _b === void 0 ? void 0 : _b.getSecretInfo(config);
|
|
271
|
-
config.auth = {
|
|
272
|
-
secretId: secretInfo.secretId,
|
|
273
|
-
secretKey: secretInfo.secretKey,
|
|
274
|
-
sessionToken: secretInfo.sessionToken,
|
|
275
|
-
secretType: secretInfo.secretType,
|
|
276
|
-
};
|
|
271
|
+
config.auth = __assign(__assign({}, config.auth), { secretId: secretInfo.secretId, secretKey: secretInfo.secretKey, sessionToken: secretInfo.sessionToken, secretType: secretInfo.secretType });
|
|
277
272
|
if (!config.env) {
|
|
278
273
|
config.env = secretInfo.env;
|
|
279
274
|
}
|
|
@@ -316,5 +311,14 @@ var Cloudbase = (function () {
|
|
|
316
311
|
}());
|
|
317
312
|
exports.cloudbase = new Cloudbase();
|
|
318
313
|
exports.cloudbase.useAdapters((0, adapter_1.getWxDefaultAdapter)());
|
|
314
|
+
if (!process.env.IS_BROWSER_BUILD) {
|
|
315
|
+
try {
|
|
316
|
+
var nodeAdapter = require('./libs/adapter-node').default;
|
|
317
|
+
exports.cloudbase.useAdapters(nodeAdapter);
|
|
318
|
+
}
|
|
319
|
+
catch (error) {
|
|
320
|
+
throw error;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
319
323
|
exports.default = exports.cloudbase;
|
|
320
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBMEU7QUFhMUUsOENBQWtFO0FBQ2xFLDBDQUE4RDtBQUc5RCxzQ0FBd0U7QUFFeEUsMENBQStEO0FBQy9ELDZDQVcyQjtBQUMzQixvQ0FBOEM7QUFDOUMsNkNBQW9EO0FBQTNDLHlHQUFBLGVBQWUsT0FBQTtBQUN4QixvQ0FBbUM7QUFBMUIsNkZBQUEsS0FBSyxPQUFBO0FBQ04sSUFBQSxXQUFXLEdBQXdCLG9CQUFRLFlBQWhDLEVBQUUsaUJBQWlCLEdBQUssb0JBQVEsa0JBQWIsQ0FBYTtBQUMzQyxJQUFBLE1BQU0sR0FBeUIscUJBQVMsT0FBbEMsRUFBRSxrQkFBa0IsR0FBSyxxQkFBUyxtQkFBZCxDQUFjO0FBQ3hDLElBQUEsU0FBUyxHQUFLLGlCQUFLLFVBQVYsQ0FBVTtBQUNuQixJQUFBLG9CQUFvQixHQUFLLG1CQUFPLHFCQUFaLENBQVk7QUFLeEMsSUFBTSxtQkFBbUIsR0FBOEI7SUFDckQsT0FBTyxFQUFFLEtBQUs7SUFDZCxXQUFXLEVBQUUsT0FBTztDQUNyQixDQUFBO0FBR0QsSUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUE7QUFFbEMsSUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFBO0FBRXZCLElBQU0sWUFBWSxHQUE0QixFQUFFLENBQUE7QUFFaEQ7SUFVRSxtQkFBWSxNQUF5QjtRQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFBO1FBQzdELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxD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QUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRhcHRlcnMsIGNvbnN0YW50cywgdXRpbHMsIGhlbHBlcnMgfSBmcm9tICdAY2xvdWRiYXNlL3V0aWxpdGllcydcbmltcG9ydCB7IFNES0FkYXB0ZXJJbnRlcmZhY2UsIENsb3VkYmFzZUFkYXB0ZXIsIElSZXF1ZXN0Q29uZmlnIH0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCB7XG4gIElDbG91ZGJhc2VDb25maWcsXG4gIElDbG91ZGJhc2VVcGdyYWRlZENvbmZpZyxcbiAgSUNsb3VkYmFzZSxcbiAgSUNsb3VkYmFzZUV4dGVuc2lvbixcbiAgS1YsXG4gIElDbG91ZGJhc2VQbGF0Zm9ybUluZm8sXG4gIEVuZFBvaW50S2V5LFxuICBJQ2xvdWRiYXNlQXBpcyxcbn0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IElDbG91ZGJhc2VBdXRoIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9hdXRoJ1xuaW1wb3J0IHsgcmVnaXN0ZXJDb21wb25lbnQsIHJlZ2lzdGVySG9vayB9IGZyb20gJy4vbGlicy9jb21wb25lbnQnXG5pbXBvcnQgeyBnZXRXeERlZmF1bHRBZGFwdGVyLCBQbGF0Zm9ybSB9IGZyb20gJy4vbGlicy9hZGFwdGVyJ1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNvbXBvbmVudCwgSUNsb3VkYmFzZUhvb2sgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NvbXBvbmVudCdcbmltcG9ydCB7IElDbG91ZGJhc2VDYWNoZSB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY2FjaGUnXG5pbXBvcnQgeyBpbml0Q2FjaGUsIGdldENhY2hlQnlFbnZJZCwgZ2V0TG9jYWxDYWNoZSB9IGZyb20gJy4vbGlicy9jYWNoZSdcbmltcG9ydCB7IElDbG91ZGJhc2VSZXF1ZXN0IH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9yZXF1ZXN0J1xuaW1wb3J0IHsgaW5pdFJlcXVlc3QsIGdldFJlcXVlc3RCeUVudklkIH0gZnJvbSAnLi9saWJzL3JlcXVlc3QnXG5pbXBvcnQge1xuICBnZXRTZGtOYW1lLFxuICBzZXRTZGtWZXJzaW9uLFxuICBzZXRSZWdpb25MZXZlbEVuZHBvaW50LFxuICBzZXRTZGtOYW1lLFxuICBzZXRHYXRld2F5RW5kUG9pbnRXaXRoRW52LFxuICB0eXBlIElTZXRFbmRQb2ludFdpdGhLZXksXG4gIHNldEVuZFBvaW50SW5mbyxcbiAgZ2V0RW5kUG9pbnRJbmZvLFxuICBnZXRTZGtWZXJzaW9uLFxuICBERUZBVUxUX1BST1RPQ09MLFxufSBmcm9tICcuL2NvbnN0YW50cy9jb21tb24nXG5pbXBvcnQgeyBpMThuUHJveHksIExBTkdTIH0gZnJvbSAnLi9saWJzL2xhbmcnXG5leHBvcnQgeyBnZXRCYXNlRW5kUG9pbnQgfSBmcm9tICcuL2NvbnN0YW50cy9jb21tb24nXG5leHBvcnQgeyBMQU5HUyB9IGZyb20gJy4vbGlicy9sYW5nJ1xuY29uc3QgeyB1c2VBZGFwdGVycywgdXNlRGVmYXVsdEFkYXB0ZXIgfSA9IGFkYXB0ZXJzXG5jb25zdCB7IEVSUk9SUywgQ09NTVVOSVRZX1NJVEVfVVJMIH0gPSBjb25zdGFudHNcbmNvbnN0IHsgcHJpbnRXYXJuIH0gPSB1dGlsc1xuY29uc3QgeyBjYXRjaEVycm9yc0RlY29yYXRvciB9ID0gaGVscGVyc1xuXG4vKipcbiAqIEBjb25zdGFudCDpu5jorqTphY3nva5cbiAqL1xuY29uc3QgREVGQVVMVF9JTklUX0NPTkZJRzogUGFydGlhbDxJQ2xvdWRiYXNlQ29uZmlnPiA9IHtcbiAgdGltZW91dDogMTUwMDAsXG4gIHBlcnNpc3RlbmNlOiAnbG9jYWwnLCAvLyDmjIHkuYXljJblrZjlgqjnsbvlnotcbn1cblxuLy8gdGltZW91dOS4iumZkDEw5YiG6ZKfXG5jb25zdCBNQVhfVElNRU9VVCA9IDEwMDAgKiA2MCAqIDEwXG4vLyB0aW1lb3V05LiL6ZmQMTAwbXNcbmNvbnN0IE1JTl9USU1FT1VUID0gMTAwXG5cbmNvbnN0IGV4dGVuc2lvbk1hcDogS1Y8SUNsb3VkYmFzZUV4dGVuc2lvbj4gPSB7fVxuXG5jbGFzcyBDbG91ZGJhc2UgaW1wbGVtZW50cyBJQ2xvdWRiYXNlIHtcbiAgcHVibGljIGF1dGhJbnN0YW5jZTogSUNsb3VkYmFzZUF1dGhcbiAgcHVibGljIG9hdXRoSW5zdGFuY2U6IGFueVxuICBwdWJsaWMgcmVxdWVzdENsaWVudDogYW55XG4gIHB1YmxpYyBvYXV0aENsaWVudDogYW55XG4gIHB1YmxpYyB2ZXJzaW9uOiBzdHJpbmdcbiAgcHVibGljIGF1dGg6IElDbG91ZGJhc2VbJ2F1dGgnXSAmIElDbG91ZGJhc2VBdXRoXG4gIHB1YmxpYyBhcGlzOiBJQ2xvdWRiYXNlQXBpc1xuICBwcml2YXRlIGNsb3VkYmFzZUNvbmZpZzogSUNsb3VkYmFzZUNvbmZpZ1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZz86IElDbG91ZGJhc2VDb25maWcpIHtcbiAgICB0aGlzLmNsb3VkYmFzZUNvbmZpZyA9IGNvbmZpZyA/IGNvbmZpZyA6IHRoaXMuY2xvdWRiYXNlQ29uZmlnXG4gICAgdGhpcy5hdXRoSW5zdGFuY2UgPSBudWxsXG4gICAgdGhpcy5vYXV0aEluc3RhbmNlID0gbnVsbFxuICAgIHRoaXMudmVyc2lvbiA9IGdldFNka1ZlcnNpb24oKVxuICB9XG5cbiAgZ2V0IGNvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5jbG91ZGJhc2VDb25maWdcbiAgfVxuXG4gIGdldCBwbGF0Zm9ybSgpOiBJQ2xvdWRiYXNlUGxhdGZvcm1JbmZvIHtcbiAgICByZXR1cm4gUGxhdGZvcm1cbiAgfVxuXG4gIGdldCBjYWNoZSgpOiBJQ2xvdWRiYXNlQ2FjaGUge1xuICAgIHJldHVybiBnZXRDYWNoZUJ5RW52SWQodGhpcy5jbG91ZGJhc2VDb25maWcuZW52KVxuICB9XG5cbiAgZ2V0IGxvY2FsQ2FjaGUoKTogSUNsb3VkYmFzZUNhY2hlIHtcbiAgICByZXR1cm4gZ2V0TG9jYWxDYWNoZSh0aGlzLmNsb3VkYmFzZUNvbmZpZy5lbnYpXG4gIH1cblxuICBnZXQgcmVxdWVzdCgpOiBJQ2xvdWRiYXNlUmVxdWVzdCB7XG4gICAgcmV0dXJuIGdldFJlcXVlc3RCeUVudklkKHRoaXMuY2xvdWRiYXNlQ29uZmlnLmVudilcbiAgfVxuXG4gIEBjYXRjaEVycm9yc0RlY29yYXRvcih7XG4gICAgbW9kZTogJ3N5bmMnLFxuICAgIHRpdGxlOiAnQ2xvdWRiYXNlIOWIneWni+WMluWksei0pScsXG4gICAgbWVzc2FnZXM6IFtcbiAgICAgICfor7fnoa7orqTku6XkuIvlkITpobnvvJonLFxuICAgICAgJyAgMSAtIOiwg+eUqCBjbG91ZGJhc2UuaW5pdCgpIOeahOivreazleaIluWPguaVsOaYr+WQpuato+ehricsXG4gICAgICAnICAyIC0g5aaC5p6c5piv6Z2e5rWP6KeI5Zmo546v5aKD77yM5piv5ZCm6YWN572u5LqG5a6J5YWo5bqU55So5p2l5rqQ77yIaHR0cHM6Ly9kb2NzLmNsb3VkYmFzZS5uZXQvYXBpLXJlZmVyZW5jZS93ZWJ2My9hZGFwdGVyIyVFNyVBQyVBQy0yLSVFNiVBRCVBNSVFOSU4NSU4RCVFNyVCRCVBRSVFNSVBRSU4OSVFNSU4NSVBOCVFNSVCQSU5NCVFNyU5NCVBOCVFNiU5RCVBNSVFNiVCQSU5MO+8iScsXG4gICAgICBg5aaC5p6c6Zeu6aKY5L6d54S25a2Y5Zyo77yM5bu66K6u5Yiw5a6Y5pa56Zeu562U56S+5Yy65o+Q6Zeu5oiW5a+75om+5biu5Yqp77yaJHtDT01NVU5JVFlfU0lURV9VUkx9YCxcbiAgICBdLFxuICB9KVxuICBwdWJsaWMgaW5pdChjb25maWc6IElDbG91ZGJhc2VDb25maWcgJiB7IGxhbmc/OiBMQU5HUyB9KTogQ2xvdWRiYXNlIHtcbiAgICBjb25maWcuZW5kUG9pbnRNb2RlID0gY29uZmlnLmVuZFBvaW50TW9kZSB8fCAnR0FURVdBWSdcblxuICAgIC8vIOWIneWni+WMluaXtuiLpeacquWFvOWuueW5s+WPsO+8jOWImeS9v+eUqOm7mOiupGFkYXB0ZXJcbiAgICBpZiAoIVBsYXRmb3JtLmFkYXB0ZXIpIHtcbiAgICAgIHRoaXMudXNlRGVmYXVsdEFkYXB0ZXIoKVxuICAgIH1cblxuICAgIC8vIOWcqOWIpOaWrWNvbmZpZy5lbnbkuYvliY3vvIzlhYjlpITnkIZub2Rl546v5aKD55qE6YWN572uXG4gICAgY29uZmlnID0gdGhpcy5kZWFsTm9kZUFkYXB0ZXJDb25maWcoY29uZmlnKVxuXG4gICAgaWYgKCFjb25maWcuZW52KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBjb2RlOiBFUlJPUlMuSU5WQUxJRF9QQVJBTVMsXG4gICAgICAgIG1zZzogJ2VudiBtdXN0IG5vdCBiZSBzcGVjaWZpZWQnLFxuICAgICAgfSksKVxuICAgIH1cblxuICAgIGNvbnN0IHJlcUNvbmZpZzogSVJlcXVlc3RDb25maWcgJiB7IGF1dGg6IElDbG91ZGJhc2VDb25maWdbJ2F1dGgnXSB9ID0ge1xuICAgICAgdGltZW91dDogY29uZmlnLnRpbWVvdXQgfHwgNTAwMCxcbiAgICAgIHRpbWVvdXRNc2c6IGBbJHtnZXRTZGtOYW1lKCl9XVtSRVFVRVNUIFRJTUVPVVRdIHJlcXVlc3QgaGFkIGJlZW4gYWJvcnQgc2luY2UgZGlkbid0IGZpbmlzaGVkIHdpdGhpbiR7XG4gICAgICAgIGNvbmZpZy50aW1lb3V0IC8gMTAwMFxuICAgICAgfXNgLFxuICAgICAgYXV0aDogY29uZmlnLmF1dGgsXG4gICAgfVxuXG4gICAgdGhpcy5yZXF1ZXN0Q2xpZW50ID0gbmV3IFBsYXRmb3JtLmFkYXB0ZXIucmVxQ2xhc3MocmVxQ29uZmlnKVxuXG4gICAgdGhpcy5jbG91ZGJhc2VDb25maWcgPSB7XG4gICAgICAuLi5ERUZBVUxUX0lOSVRfQ09ORklHLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgaTE4bjogaTE4blByb3h5KFBsYXRmb3JtLCBjb25maWcpLFxuICAgIH1cblxuICAgIGRlbGV0ZSAodGhpcy5jbG91ZGJhc2VDb25maWcgYXMgYW55KS5sYW5nXG4gICAgLy8g5L+u5q2jdGltZW91dOWPluWAvFxuICAgIHRoaXMuY2xvdWRiYXNlQ29uZmlnLnRpbWVvdXQgPSB0aGlzLmZvcm1hdFRpbWVvdXQodGhpcy5jbG91ZGJhc2VDb25maWcudGltZW91dClcbiAgICAvLyDliJ3lp4vljJZjYWNoZeWSjHJlcXVlc3RcbiAgICBjb25zdCB7IGVudiwgcGVyc2lzdGVuY2UsIGRlYnVnLCB0aW1lb3V0LCBvYXV0aENsaWVudCwgaTE4biB9ID0gdGhpcy5jbG91ZGJhc2VDb25maWdcbiAgICBpbml0Q2FjaGUoeyBlbnYsIHBlcnNpc3RlbmNlLCBkZWJ1ZywgcGxhdGZvcm1JbmZvOiB0aGlzLnBsYXRmb3JtIH0pXG5cbiAgICBzZXRSZWdpb25MZXZlbEVuZHBvaW50KGVudiwgY29uZmlnLnJlZ2lvbiB8fCAnJylcbiAgICBzZXRHYXRld2F5RW5kUG9pbnRXaXRoRW52KGVudiwgREVGQVVMVF9QUk9UT0NPTCwgY29uZmlnLnJlZ2lvbiB8fCAnJylcblxuICAgIGNvbnN0IGFwcCA9IG5ldyBDbG91ZGJhc2UodGhpcy5jbG91ZGJhc2VDb25maWcpXG4gICAgaW5pdFJlcXVlc3Qoe1xuICAgICAgZW52LFxuICAgICAgcmVnaW9uOiBjb25maWcucmVnaW9uIHx8ICcnLFxuICAgICAgdGltZW91dCxcbiAgICAgIG9hdXRoQ2xpZW50LFxuICAgICAgX2Zyb21BcHA6IGFwcCxcbiAgICAgIGkxOG4sXG4gICAgICBlbmRQb2ludE1vZGU6IGNvbmZpZy5lbmRQb2ludE1vZGUsXG4gICAgICBhdXRoOiBjb25maWcuYXV0aCxcbiAgICB9KVxuICAgIGFwcC5yZXF1ZXN0Q2xpZW50ID0gdGhpcy5yZXF1ZXN0Q2xpZW50XG4gICAgOyh0aGlzIGFzIGFueSk/LmZpcmU/LignY2xvdWRiYXNlX2luaXQnLCBhcHApXG5cbiAgICB0aGlzLnRyeTJJbml0QXV0aChhcHApXG5cbiAgICAvLyBub2Rl546v5aKD5Y+v5Lul5LuOYWRhcHRlcuiOt+WPlm5vZGVUb29s55qE5pa55rOVXG4gICAgaWYgKFBsYXRmb3JtLmFkYXB0ZXI/Lm5vZGVUb29sKSB7XG4gICAgICBQbGF0Zm9ybS5hZGFwdGVyPy5ub2RlVG9vbChhcHAsIHRoaXMuY2xvdWRiYXNlQ29uZmlnKVxuICAgIH1cblxuICAgIHJldHVybiBhcHBcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDb25maWcoY29uZmlnOiBJQ2xvdWRiYXNlVXBncmFkZWRDb25maWcpIHtcbiAgICBjb25zdCB7IHBlcnNpc3RlbmNlLCBkZWJ1ZyB9ID0gY29uZmlnXG4gICAgdGhpcy5jbG91ZGJhc2VDb25maWcucGVyc2lzdGVuY2UgPSBwZXJzaXN0ZW5jZVxuICAgIHRoaXMuY2xvdWRiYXNlQ29uZmlnLmRlYnVnID0gZGVidWdcbiAgICAvLyBwZXJzaXN0ZW5jZeaUueWKqOW9seWTjWNhY2hlXG4gICAgaW5pdENhY2hlKHsgZW52OiB0aGlzLmNsb3VkYmFzZUNvbmZpZy5lbnYsIHBlcnNpc3RlbmNlLCBkZWJ1ZywgcGxhdGZvcm1JbmZvOiB0aGlzLnBsYXRmb3JtIH0pXG4gIH1cblxuICBwdWJsaWMgdXBkYXRlTGFuZyhsYW5nOiBMQU5HUykge1xuICAgIGlmICghbGFuZyB8fCBsYW5nID09PSB0aGlzLmNsb3VkYmFzZUNvbmZpZy5pMThuPy5sYW5nKSByZXR1cm5cblxuICAgIHRoaXMuY2xvdWRiYXNlQ29uZmlnLmkxOG4ubGFuZyA9IGxhbmdcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3RlckV4dGVuc2lvbihleHQ6IElDbG91ZGJhc2VFeHRlbnNpb24pIHtcbiAgICBleHRlbnNpb25NYXBbZXh0Lm5hbWVdID0gZXh0XG4gIH1cbiAgQGNhdGNoRXJyb3JzRGVjb3JhdG9yKHtcbiAgICB0aXRsZTogJ+iwg+eUqOaJqeWxleiDveWKm+Wksei0pScsXG4gICAgbWVzc2FnZXM6IFtcbiAgICAgICfor7fnoa7orqTku6XkuIvlkITpobnvvJonLFxuICAgICAgJyAgMSAtIOiwg+eUqCBpbnZva2VFeHRlbnNpb24oKSDnmoTor63ms5XmiJblj4LmlbDmmK/lkKbmraPnoa4nLFxuICAgICAgJyAgMiAtIOiiq+iwg+eUqOeahOaJqeWxleiDveWKm+aYr+WQpuW3sue7j+WuieijheW5tumAmui/hyByZWdpc3RlckV4dGVuc2lvbigpIOazqOWGjCcsXG4gICAgICBg5aaC5p6c6Zeu6aKY5L6d54S25a2Y5Zyo77yM5bu66K6u5Yiw5a6Y5pa56Zeu562U56S+5Yy65o+Q6Zeu5oiW5a+75om+5biu5Yqp77yaJHtDT01NVU5JVFlfU0lURV9VUkx9YCxcbiAgICBdLFxuICB9KVxuICBwdWJsaWMgYXN5bmMgaW52b2tlRXh0ZW5zaW9uKG5hbWU6IHN0cmluZywgb3B0czogYW55KSB7XG4gICAgY29uc3QgZXh0ID0gZXh0ZW5zaW9uTWFwW25hbWVdXG4gICAgaWYgKCFleHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGNvZGU6IEVSUk9SUy5JTlZBTElEX1BBUkFNUyxcbiAgICAgICAgbXNnOiBgZXh0ZW5zaW9uOiR7bmFtZX0gbXVzdCBiZSByZWdpc3RlcmVkIGJlZm9yZSBpbnZva2VgLFxuICAgICAgfSksKVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCBleHQuaW52b2tlKG9wdHMsIHRoaXMpXG4gIH1cblxuICBwdWJsaWMgdXNlQWRhcHRlcnMoYWRhcHRlcnM6IENsb3VkYmFzZUFkYXB0ZXIgfCBDbG91ZGJhc2VBZGFwdGVyW10sIG9wdGlvbnM/OiBhbnkpIHtcbiAgICBjb25zdCB7IGFkYXB0ZXIsIHJ1bnRpbWUgfSA9IHVzZUFkYXB0ZXJzKGFkYXB0ZXJzLCBvcHRpb25zKSB8fCB7fVxuICAgIGFkYXB0ZXIgJiYgKFBsYXRmb3JtLmFkYXB0ZXIgPSBhZGFwdGVyIGFzIFNES0FkYXB0ZXJJbnRlcmZhY2UpXG4gICAgcnVudGltZSAmJiAoUGxhdGZvcm0ucnVudGltZSA9IHJ1bnRpbWUgYXMgc3RyaW5nKVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVySG9vayhob29rOiBJQ2xvdWRiYXNlSG9vaykge1xuICAgIHJlZ2lzdGVySG9vayhDbG91ZGJhc2UsIGhvb2spXG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJDb21wb25lbnQoY29tcG9uZW50OiBJQ2xvdWRiYXNlQ29tcG9uZW50KSB7XG4gICAgcmVnaXN0ZXJDb21wb25lbnQoQ2xvdWRiYXNlLCBjb21wb25lbnQpXG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJWZXJzaW9uKHZlcnNpb246IHN0cmluZykge1xuICAgIHNldFNka1ZlcnNpb24odmVyc2lvbilcbiAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uXG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJTZGtOYW1lKG5hbWU6IHN0cmluZykge1xuICAgIHNldFNka05hbWUobmFtZSlcbiAgfVxuXG4gIC8qKiDorr7nva4gdGNiIGFwaSDnmoQgZW5kcG9pbnQgKi9cbiAgcHVibGljIHJlZ2lzdGVyRW5kUG9pbnQodXJsOiBzdHJpbmcsIHByb3RvY29sPzogJ2h0dHAnIHwgJ2h0dHBzJykge1xuICAgIHNldEVuZFBvaW50SW5mbyh7IGJhc2VVcmw6IHVybCwgcHJvdG9jb2wsIGVudjogdGhpcy5jb25maWcuZW52LCBlbmRQb2ludEtleTogJ0NMT1VEX0FQSScgfSlcbiAgfVxuXG4gIC8qKiDorr7nva7nvZHlhbMvdGNiIGFwaeeahCBlbmRQb2ludO+8jOmAmui/hyBrZXkg5oyH5a6aICovXG4gIHB1YmxpYyByZWdpc3RlckVuZFBvaW50V2l0aEtleShwcm9wczogSVNldEVuZFBvaW50V2l0aEtleSkge1xuICAgIHNldEVuZFBvaW50SW5mbyh7XG4gICAgICBlbnY6IHRoaXMuY29uZmlnLmVudixcbiAgICAgIGVuZFBvaW50S2V5OiBwcm9wcy5rZXksXG4gICAgICBiYXNlVXJsOiBwcm9wcy51cmwsXG4gICAgICBwcm90b2NvbDogcHJvcHMucHJvdG9jb2wsXG4gICAgfSlcbiAgfVxuXG4gIC8qKiDmi7/nvZHlhbMvdGNiIGFwaeeahCBlbmRQb2ludO+8jOmAmui/hyBrZXkg5oyH5a6aICovXG4gIHB1YmxpYyBnZXRFbmRQb2ludFdpdGhLZXkoa2V5OiBFbmRQb2ludEtleSkge1xuICAgIGNvbnN0IGluZm8gPSBnZXRFbmRQb2ludEluZm8odGhpcy5jb25maWcuZW52LCBrZXkpXG4gICAgcmV0dXJuIHtcbiAgICAgIEJBU0VfVVJMOiBpbmZvLmJhc2VVcmwsXG4gICAgICBQUk9UT0NPTDogaW5mby5wcm90b2NvbCxcbiAgICB9XG4gIH1cblxuICAvLyDop6PmnpBVUkzlj4LmlbBcbiAgcHVibGljIHBhcnNlQ2FwdGNoYSh1cmwpIHtcbiAgICByZXR1cm4gdXRpbHMucGFyc2VDYXB0Y2hhKHVybClcbiAgfVxuXG4gIHByaXZhdGUgdXNlRGVmYXVsdEFkYXB0ZXIoKSB7XG4gICAgY29uc3QgeyBhZGFwdGVyLCBydW50aW1lIH0gPSB1c2VEZWZhdWx0QWRhcHRlci5iaW5kKHRoaXMpKClcbiAgICBQbGF0Zm9ybS5hZGFwdGVyID0gYWRhcHRlciBhcyBTREtBZGFwdGVySW50ZXJmYWNlXG4gICAgUGxhdGZvcm0ucnVudGltZSA9IHJ1bnRpbWUgYXMgc3RyaW5nXG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFRpbWVvdXQodGltZW91dDogbnVtYmVyKSB7XG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRpbWVvdXQgPiBNQVhfVElNRU9VVDpcbiAgICAgICAgcHJpbnRXYXJuKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3RpbWVvdXQgaXMgZ3JlYXRlciB0aGFuIG1heGltdW0gdmFsdWVbMTBtaW5dJylcbiAgICAgICAgcmV0dXJuIE1BWF9USU1FT1VUXG4gICAgICBjYXNlIHRpbWVvdXQgPCBNSU5fVElNRU9VVDpcbiAgICAgICAgcHJpbnRXYXJuKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3RpbWVvdXQgaXMgbGVzcyB0aGFuIG1heGltdW0gdmFsdWVbMTAwbXNdJylcbiAgICAgICAgcmV0dXJuIE1JTl9USU1FT1VUXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGltZW91dFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJ5MkluaXRBdXRoKGFwcCkge1xuICAgIHRyeSB7XG4gICAgICBhcHAuYXV0aCgpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCd0cnkySW5pdEF1dGggZXJyb3I6JywgZXJyb3IpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIOWkhOeQhiBOb2RlIOeOr+Wig+S4iyBhZGFwdGVyIOeahOmFjee9ruS/oeaBr1xuICAgKiDlnKggTm9kZSDnjq/looPkuK3vvIzpgJrov4cgYWRhcHRlciDoh6rliqjojrflj5blr4bpkqXjgIHnjq/looNJROOAgWFjY2Vzc0tleSDnrYnphY3nva7vvIxcbiAgICog5YeP5bCR55So5oi35omL5Yqo5Lyg5YWl6YWN572u55qE6LSf5ouFXG4gICAqIEBwYXJhbSBjb25maWcgLSDkupHlvIDlj5HliJ3lp4vljJbphY3nva7lr7nosaFcbiAgICogQHJldHVybnMg6KGl5YWF5LqGIE5vZGUgYWRhcHRlciDkv6Hmga/lkI7nmoTphY3nva7lr7nosaFcbiAgICovXG4gIHByaXZhdGUgZGVhbE5vZGVBZGFwdGVyQ29uZmlnKGNvbmZpZzogSUNsb3VkYmFzZUNvbmZpZykge1xuICAgIC8vIG5vZGXnjq/looPlj6/ku6Xku45hZGFwdGVy6I635Y+W6buY6K6k55qEc2VjcmV0SWTlkoxzZWNyZXRLZXlcbiAgICBpZiAoUGxhdGZvcm0uYWRhcHRlcj8uZ2V0U2VjcmV0SW5mbykge1xuICAgICAgY29uc3Qgc2VjcmV0SW5mbyA9IFBsYXRmb3JtLmFkYXB0ZXI/LmdldFNlY3JldEluZm8oY29uZmlnKVxuICAgICAgLy8g5bCGIGFkYXB0ZXIg5o+Q5L6b55qE5a+G6ZKl5L+h5oGv5YaZ5YWlIGNvbmZpZy5hdXRoXG4gICAgICBjb25maWcuYXV0aCA9IHtcbiAgICAgICAgc2VjcmV0SWQ6IHNlY3JldEluZm8uc2VjcmV0SWQsXG4gICAgICAgIHNlY3JldEtleTogc2VjcmV0SW5mby5zZWNyZXRLZXksXG4gICAgICAgIHNlc3Npb25Ub2tlbjogc2VjcmV0SW5mby5zZXNzaW9uVG9rZW4sXG4gICAgICAgIHNlY3JldFR5cGU6IHNlY3JldEluZm8uc2VjcmV0VHlwZSBhcyBhbnksXG4gICAgICB9XG5cbiAgICAgIC8vIG5vZGUg546v5aKD5Y+v6IO95Y+v5Lul5LuO5LiK5LiL5paH6I635Y+WZW5277yM55So5oi35pyq5pi+5byP5oyH5a6a5pe26Ieq5Yqo5aGr5YWFXG4gICAgICBpZiAoIWNvbmZpZy5lbnYpIHtcbiAgICAgICAgY29uZmlnLmVudiA9IHNlY3JldEluZm8uZW52XG4gICAgICB9XG5cbiAgICAgIC8vIG5vZGUgYWRhcHRlcueOr+Wig+iDveivu+WPluWIsCBwcm9jZXNzLmVudi5DTE9VREJBU0VfQVBJS0VZIOaXtu+8jOWcqOayoeacieS8oOWFpWFjY2Vzc0tleeaXtu+8jOS9v+eUqCBub2RlIGFkYXB0ZXIg5o+Q5L6b55qEIGFjY2Vzc0tlee+8iHByb2Nlc3MuZW52LkNMT1VEQkFTRV9BUElLRVnvvIlcbiAgICAgIGlmICghY29uZmlnLmFjY2Vzc0tleSAmJiBzZWNyZXRJbmZvLmFjY2Vzc0tleSkge1xuICAgICAgICBjb25maWcuYWNjZXNzS2V5ID0gc2VjcmV0SW5mby5hY2Nlc3NLZXlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cblxuLy8g57G75Z6L5a+85Ye6XG5leHBvcnQgdHlwZSB7IENsb3VkYmFzZSB9XG5cbi8vIOWAvOWvvOWHulxuZXhwb3J0IGNvbnN0IGNsb3VkYmFzZTogSUNsb3VkYmFzZSA9IG5ldyBDbG91ZGJhc2UoKVxuXG5jbG91ZGJhc2UudXNlQWRhcHRlcnMoZ2V0V3hEZWZhdWx0QWRhcHRlcigpKVxuXG4vLyDpu5jorqTlr7zlh7rlrp7kvotcbmV4cG9ydCBkZWZhdWx0IGNsb3VkYmFzZVxuIl19
|
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBMEU7QUFhMUUsOENBQWtFO0FBQ2xFLDBDQUE4RDtBQUc5RCxzQ0FBd0U7QUFFeEUsMENBQStEO0FBQy9ELDZDQVcyQjtBQUMzQixvQ0FBOEM7QUFDOUMsNkNBQW9EO0FBQTNDLHlHQUFBLGVBQWUsT0FBQTtBQUN4QixvQ0FBbUM7QUFBMUIsNkZBQUEsS0FBSyxPQUFBO0FBQ04sSUFBQSxXQUFXLEdBQXdCLG9CQUFRLFlBQWhDLEVBQUUsaUJBQWlCLEdBQUssb0JBQVEsa0JBQWIsQ0FBYTtBQUMzQyxJQUFBLE1BQU0sR0FBeUIscUJBQVMsT0FBbEMsRUFBRSxrQkFBa0IsR0FBSyxxQkFBUyxtQkFBZCxDQUFjO0FBQ3hDLElBQUEsU0FBUyxHQUFLLGlCQUFLLFVBQVYsQ0FBVTtBQUNuQixJQUFBLG9CQUFvQixHQUFLLG1CQUFPLHFCQUFaLENBQVk7QUFLeEMsSUFBTSxtQkFBbUIsR0FBOEI7SUFDckQsT0FBTyxFQUFFLEtBQUs7SUFDZCxXQUFXLEVBQUUsT0FBTztDQUNyQixDQUFBO0FBR0QsSUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUE7QUFFbEMsSUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFBO0FBRXZCLElBQU0sWUFBWSxHQUE0QixFQUFFLENBQUE7QUFFaEQ7SUFVRSxtQkFBWSxNQUF5QjtRQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFBO1FBQzdELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxD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QVcsQ0FBQyxJQUFBLDZCQUFtQixHQUFFLENBQUMsQ0FBQTtBQUc1QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRTtJQUNqQyxJQUFJO1FBRUYsSUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMsT0FBTyxDQUFBO1FBQzFELGlCQUFTLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0tBQ25DO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxNQUFNLEtBQUssQ0FBQTtLQUNaO0NBQ0Y7QUFHRCxrQkFBZSxpQkFBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRhcHRlcnMsIGNvbnN0YW50cywgdXRpbHMsIGhlbHBlcnMgfSBmcm9tICdAY2xvdWRiYXNlL3V0aWxpdGllcydcbmltcG9ydCB7IFNES0FkYXB0ZXJJbnRlcmZhY2UsIENsb3VkYmFzZUFkYXB0ZXIsIElSZXF1ZXN0Q29uZmlnIH0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCB7XG4gIElDbG91ZGJhc2VDb25maWcsXG4gIElDbG91ZGJhc2VVcGdyYWRlZENvbmZpZyxcbiAgSUNsb3VkYmFzZSxcbiAgSUNsb3VkYmFzZUV4dGVuc2lvbixcbiAgS1YsXG4gIElDbG91ZGJhc2VQbGF0Zm9ybUluZm8sXG4gIEVuZFBvaW50S2V5LFxuICBJQ2xvdWRiYXNlQXBpcyxcbn0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IElDbG91ZGJhc2VBdXRoIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9hdXRoJ1xuaW1wb3J0IHsgcmVnaXN0ZXJDb21wb25lbnQsIHJlZ2lzdGVySG9vayB9IGZyb20gJy4vbGlicy9jb21wb25lbnQnXG5pbXBvcnQgeyBnZXRXeERlZmF1bHRBZGFwdGVyLCBQbGF0Zm9ybSB9IGZyb20gJy4vbGlicy9hZGFwdGVyJ1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNvbXBvbmVudCwgSUNsb3VkYmFzZUhvb2sgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NvbXBvbmVudCdcbmltcG9ydCB7IElDbG91ZGJhc2VDYWNoZSB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY2FjaGUnXG5pbXBvcnQgeyBpbml0Q2FjaGUsIGdldENhY2hlQnlFbnZJZCwgZ2V0TG9jYWxDYWNoZSB9IGZyb20gJy4vbGlicy9jYWNoZSdcbmltcG9ydCB7IElDbG91ZGJhc2VSZXF1ZXN0IH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9yZXF1ZXN0J1xuaW1wb3J0IHsgaW5pdFJlcXVlc3QsIGdldFJlcXVlc3RCeUVudklkIH0gZnJvbSAnLi9saWJzL3JlcXVlc3QnXG5pbXBvcnQge1xuICBnZXRTZGtOYW1lLFxuICBzZXRTZGtWZXJzaW9uLFxuICBzZXRSZWdpb25MZXZlbEVuZHBvaW50LFxuICBzZXRTZGtOYW1lLFxuICBzZXRHYXRld2F5RW5kUG9pbnRXaXRoRW52LFxuICB0eXBlIElTZXRFbmRQb2ludFdpdGhLZXksXG4gIHNldEVuZFBvaW50SW5mbyxcbiAgZ2V0RW5kUG9pbnRJbmZvLFxuICBnZXRTZGtWZXJzaW9uLFxuICBERUZBVUxUX1BST1RPQ09MLFxufSBmcm9tICcuL2NvbnN0YW50cy9jb21tb24nXG5pbXBvcnQgeyBpMThuUHJveHksIExBTkdTIH0gZnJvbSAnLi9saWJzL2xhbmcnXG5leHBvcnQgeyBnZXRCYXNlRW5kUG9pbnQgfSBmcm9tICcuL2NvbnN0YW50cy9jb21tb24nXG5leHBvcnQgeyBMQU5HUyB9IGZyb20gJy4vbGlicy9sYW5nJ1xuY29uc3QgeyB1c2VBZGFwdGVycywgdXNlRGVmYXVsdEFkYXB0ZXIgfSA9IGFkYXB0ZXJzXG5jb25zdCB7IEVSUk9SUywgQ09NTVVOSVRZX1NJVEVfVVJMIH0gPSBjb25zdGFudHNcbmNvbnN0IHsgcHJpbnRXYXJuIH0gPSB1dGlsc1xuY29uc3QgeyBjYXRjaEVycm9yc0RlY29yYXRvciB9ID0gaGVscGVyc1xuXG4vKipcbiAqIEBjb25zdGFudCDpu5jorqTphY3nva5cbiAqL1xuY29uc3QgREVGQVVMVF9JTklUX0NPTkZJRzogUGFydGlhbDxJQ2xvdWRiYXNlQ29uZmlnPiA9IHtcbiAgdGltZW91dDogMTUwMDAsXG4gIHBlcnNpc3RlbmNlOiAnbG9jYWwnLCAvLyDmjIHkuYXljJblrZjlgqjnsbvlnotcbn1cblxuLy8gdGltZW91dOS4iumZkDEw5YiG6ZKfXG5jb25zdCBNQVhfVElNRU9VVCA9IDEwMDAgKiA2MCAqIDEwXG4vLyB0aW1lb3V05LiL6ZmQMTAwbXNcbmNvbnN0IE1JTl9USU1FT1VUID0gMTAwXG5cbmNvbnN0IGV4dGVuc2lvbk1hcDogS1Y8SUNsb3VkYmFzZUV4dGVuc2lvbj4gPSB7fVxuXG5jbGFzcyBDbG91ZGJhc2UgaW1wbGVtZW50cyBJQ2xvdWRiYXNlIHtcbiAgcHVibGljIGF1dGhJbnN0YW5jZTogSUNsb3VkYmFzZUF1dGhcbiAgcHVibGljIG9hdXRoSW5zdGFuY2U6IGFueVxuICBwdWJsaWMgcmVxdWVzdENsaWVudDogYW55XG4gIHB1YmxpYyBvYXV0aENsaWVudDogYW55XG4gIHB1YmxpYyB2ZXJzaW9uOiBzdHJpbmdcbiAgcHVibGljIGF1dGg6IElDbG91ZGJhc2VbJ2F1dGgnXSAmIElDbG91ZGJhc2VBdXRoXG4gIHB1YmxpYyBhcGlzOiBJQ2xvdWRiYXNlQXBpc1xuICBwcml2YXRlIGNsb3VkYmFzZUNvbmZpZzogSUNsb3VkYmFzZUNvbmZpZ1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZz86IElDbG91ZGJhc2VDb25maWcpIHtcbiAgICB0aGlzLmNsb3VkYmFzZUNvbmZpZyA9IGNvbmZpZyA/IGNvbmZpZyA6IHRoaXMuY2xvdWRiYXNlQ29uZmlnXG4gICAgdGhpcy5hdXRoSW5zdGFuY2UgPSBudWxsXG4gICAgdGhpcy5vYXV0aEluc3RhbmNlID0gbnVsbFxuICAgIHRoaXMudmVyc2lvbiA9IGdldFNka1ZlcnNpb24oKVxuICB9XG5cbiAgZ2V0IGNvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5jbG91ZGJhc2VDb25maWdcbiAgfVxuXG4gIGdldCBwbGF0Zm9ybSgpOiBJQ2xvdWRiYXNlUGxhdGZvcm1JbmZvIHtcbiAgICByZXR1cm4gUGxhdGZvcm1cbiAgfVxuXG4gIGdldCBjYWNoZSgpOiBJQ2xvdWRiYXNlQ2FjaGUge1xuICAgIHJldHVybiBnZXRDYWNoZUJ5RW52SWQodGhpcy5jbG91ZGJhc2VDb25maWcuZW52KVxuICB9XG5cbiAgZ2V0IGxvY2FsQ2FjaGUoKTogSUNsb3VkYmFzZUNhY2hlIHtcbiAgICByZXR1cm4gZ2V0TG9jYWxDYWNoZSh0aGlzLmNsb3VkYmFzZUNvbmZpZy5lbnYpXG4gIH1cblxuICBnZXQgcmVxdWVzdCgpOiBJQ2xvdWRiYXNlUmVxdWVzdCB7XG4gICAgcmV0dXJuIGdldFJlcXVlc3RCeUVudklkKHRoaXMuY2xvdWRiYXNlQ29uZmlnLmVudilcbiAgfVxuXG4gIEBjYXRjaEVycm9yc0RlY29yYXRvcih7XG4gICAgbW9kZTogJ3N5bmMnLFxuICAgIHRpdGxlOiAnQ2xvdWRiYXNlIOWIneWni+WMluWksei0pScsXG4gICAgbWVzc2FnZXM6IFtcbiAgICAgICfor7fnoa7orqTku6XkuIvlkITpobnvvJonLFxuICAgICAgJyAgMSAtIOiwg+eUqCBjbG91ZGJhc2UuaW5pdCgpIOeahOivreazleaIluWPguaVsOaYr+WQpuato+ehricsXG4gICAgICAnICAyIC0g5aaC5p6c5piv6Z2e5rWP6KeI5Zmo546v5aKD77yM5piv5ZCm6YWN572u5LqG5a6J5YWo5bqU55So5p2l5rqQ77yIaHR0cHM6Ly9kb2NzLmNsb3VkYmFzZS5uZXQvYXBpLXJlZmVyZW5jZS93ZWJ2My9hZGFwdGVyIyVFNyVBQyVBQy0yLSVFNiVBRCVBNSVFOSU4NSU4RCVFNyVCRCVBRSVFNSVBRSU4OSVFNSU4NSVBOCVFNSVCQSU5NCVFNyU5NCVBOCVFNiU5RCVBNSVFNiVCQSU5MO+8iScsXG4gICAgICBg5aaC5p6c6Zeu6aKY5L6d54S25a2Y5Zyo77yM5bu66K6u5Yiw5a6Y5pa56Zeu562U56S+5Yy65o+Q6Zeu5oiW5a+75om+5biu5Yqp77yaJHtDT01NVU5JVFlfU0lURV9VUkx9YCxcbiAgICBdLFxuICB9KVxuICBwdWJsaWMgaW5pdChjb25maWc6IElDbG91ZGJhc2VDb25maWcgJiB7IGxhbmc/OiBMQU5HUyB9KTogQ2xvdWRiYXNlIHtcbiAgICBjb25maWcuZW5kUG9pbnRNb2RlID0gY29uZmlnLmVuZFBvaW50TW9kZSB8fCAnR0FURVdBWSdcblxuICAgIC8vIOWIneWni+WMluaXtuiLpeacquWFvOWuueW5s+WPsO+8jOWImeS9v+eUqOm7mOiupGFkYXB0ZXJcbiAgICBpZiAoIVBsYXRmb3JtLmFkYXB0ZXIpIHtcbiAgICAgIHRoaXMudXNlRGVmYXVsdEFkYXB0ZXIoKVxuICAgIH1cblxuICAgIC8vIOWcqOWIpOaWrWNvbmZpZy5lbnbkuYvliY3vvIzlhYjlpITnkIZub2Rl546v5aKD55qE6YWN572uXG4gICAgY29uZmlnID0gdGhpcy5kZWFsTm9kZUFkYXB0ZXJDb25maWcoY29uZmlnKVxuXG4gICAgaWYgKCFjb25maWcuZW52KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBjb2RlOiBFUlJPUlMuSU5WQUxJRF9QQVJBTVMsXG4gICAgICAgIG1zZzogJ2VudiBtdXN0IG5vdCBiZSBzcGVjaWZpZWQnLFxuICAgICAgfSksKVxuICAgIH1cblxuICAgIGNvbnN0IHJlcUNvbmZpZzogSVJlcXVlc3RDb25maWcgJiB7IGF1dGg6IElDbG91ZGJhc2VDb25maWdbJ2F1dGgnXSB9ID0ge1xuICAgICAgdGltZW91dDogY29uZmlnLnRpbWVvdXQgfHwgNTAwMCxcbiAgICAgIHRpbWVvdXRNc2c6IGBbJHtnZXRTZGtOYW1lKCl9XVtSRVFVRVNUIFRJTUVPVVRdIHJlcXVlc3QgaGFkIGJlZW4gYWJvcnQgc2luY2UgZGlkbid0IGZpbmlzaGVkIHdpdGhpbiR7XG4gICAgICAgIGNvbmZpZy50aW1lb3V0IC8gMTAwMFxuICAgICAgfXNgLFxuICAgICAgYXV0aDogY29uZmlnLmF1dGgsXG4gICAgfVxuXG4gICAgdGhpcy5yZXF1ZXN0Q2xpZW50ID0gbmV3IFBsYXRmb3JtLmFkYXB0ZXIucmVxQ2xhc3MocmVxQ29uZmlnKVxuXG4gICAgdGhpcy5jbG91ZGJhc2VDb25maWcgPSB7XG4gICAgICAuLi5ERUZBVUxUX0lOSVRfQ09ORklHLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgaTE4bjogaTE4blByb3h5KFBsYXRmb3JtLCBjb25maWcpLFxuICAgIH1cblxuICAgIGRlbGV0ZSAodGhpcy5jbG91ZGJhc2VDb25maWcgYXMgYW55KS5sYW5nXG4gICAgLy8g5L+u5q2jdGltZW91dOWPluWAvFxuICAgIHRoaXMuY2xvdWRiYXNlQ29uZmlnLnRpbWVvdXQgPSB0aGlzLmZvcm1hdFRpbWVvdXQodGhpcy5jbG91ZGJhc2VDb25maWcudGltZW91dClcbiAgICAvLyDliJ3lp4vljJZjYWNoZeWSjHJlcXVlc3RcbiAgICBjb25zdCB7IGVudiwgcGVyc2lzdGVuY2UsIGRlYnVnLCB0aW1lb3V0LCBvYXV0aENsaWVudCwgaTE4biB9ID0gdGhpcy5jbG91ZGJhc2VDb25maWdcbiAgICBpbml0Q2FjaGUoeyBlbnYsIHBlcnNpc3RlbmNlLCBkZWJ1ZywgcGxhdGZvcm1JbmZvOiB0aGlzLnBsYXRmb3JtIH0pXG5cbiAgICBzZXRSZWdpb25MZXZlbEVuZHBvaW50KGVudiwgY29uZmlnLnJlZ2lvbiB8fCAnJylcbiAgICBzZXRHYXRld2F5RW5kUG9pbnRXaXRoRW52KGVudiwgREVGQVVMVF9QUk9UT0NPTCwgY29uZmlnLnJlZ2lvbiB8fCAnJylcblxuICAgIGNvbnN0IGFwcCA9IG5ldyBDbG91ZGJhc2UodGhpcy5jbG91ZGJhc2VDb25maWcpXG4gICAgaW5pdFJlcXVlc3Qoe1xuICAgICAgZW52LFxuICAgICAgcmVnaW9uOiBjb25maWcucmVnaW9uIHx8ICcnLFxuICAgICAgdGltZW91dCxcbiAgICAgIG9hdXRoQ2xpZW50LFxuICAgICAgX2Zyb21BcHA6IGFwcCxcbiAgICAgIGkxOG4sXG4gICAgICBlbmRQb2ludE1vZGU6IGNvbmZpZy5lbmRQb2ludE1vZGUsXG4gICAgICBhdXRoOiBjb25maWcuYXV0aCxcbiAgICB9KVxuICAgIGFwcC5yZXF1ZXN0Q2xpZW50ID0gdGhpcy5yZXF1ZXN0Q2xpZW50XG4gICAgOyh0aGlzIGFzIGFueSk/LmZpcmU/LignY2xvdWRiYXNlX2luaXQnLCBhcHApXG5cbiAgICB0aGlzLnRyeTJJbml0QXV0aChhcHApXG5cbiAgICAvLyBub2Rl546v5aKD5Y+v5Lul5LuOYWRhcHRlcuiOt+WPlm5vZGVUb29s55qE5pa55rOVXG4gICAgaWYgKFBsYXRmb3JtLmFkYXB0ZXI/Lm5vZGVUb29sKSB7XG4gICAgICBQbGF0Zm9ybS5hZGFwdGVyPy5ub2RlVG9vbChhcHAsIHRoaXMuY2xvdWRiYXNlQ29uZmlnKVxuICAgIH1cblxuICAgIHJldHVybiBhcHBcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDb25maWcoY29uZmlnOiBJQ2xvdWRiYXNlVXBncmFkZWRDb25maWcpIHtcbiAgICBjb25zdCB7IHBlcnNpc3RlbmNlLCBkZWJ1ZyB9ID0gY29uZmlnXG4gICAgdGhpcy5jbG91ZGJhc2VDb25maWcucGVyc2lzdGVuY2UgPSBwZXJzaXN0ZW5jZVxuICAgIHRoaXMuY2xvdWRiYXNlQ29uZmlnLmRlYnVnID0gZGVidWdcbiAgICAvLyBwZXJzaXN0ZW5jZeaUueWKqOW9seWTjWNhY2hlXG4gICAgaW5pdENhY2hlKHsgZW52OiB0aGlzLmNsb3VkYmFzZUNvbmZpZy5lbnYsIHBlcnNpc3RlbmNlLCBkZWJ1ZywgcGxhdGZvcm1JbmZvOiB0aGlzLnBsYXRmb3JtIH0pXG4gIH1cblxuICBwdWJsaWMgdXBkYXRlTGFuZyhsYW5nOiBMQU5HUykge1xuICAgIGlmICghbGFuZyB8fCBsYW5nID09PSB0aGlzLmNsb3VkYmFzZUNvbmZpZy5pMThuPy5sYW5nKSByZXR1cm5cblxuICAgIHRoaXMuY2xvdWRiYXNlQ29uZmlnLmkxOG4ubGFuZyA9IGxhbmdcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3RlckV4dGVuc2lvbihleHQ6IElDbG91ZGJhc2VFeHRlbnNpb24pIHtcbiAgICBleHRlbnNpb25NYXBbZXh0Lm5hbWVdID0gZXh0XG4gIH1cbiAgQGNhdGNoRXJyb3JzRGVjb3JhdG9yKHtcbiAgICB0aXRsZTogJ+iwg+eUqOaJqeWxleiDveWKm+Wksei0pScsXG4gICAgbWVzc2FnZXM6IFtcbiAgICAgICfor7fnoa7orqTku6XkuIvlkITpobnvvJonLFxuICAgICAgJyAgMSAtIOiwg+eUqCBpbnZva2VFeHRlbnNpb24oKSDnmoTor63ms5XmiJblj4LmlbDmmK/lkKbmraPnoa4nLFxuICAgICAgJyAgMiAtIOiiq+iwg+eUqOeahOaJqeWxleiDveWKm+aYr+WQpuW3sue7j+WuieijheW5tumAmui/hyByZWdpc3RlckV4dGVuc2lvbigpIOazqOWGjCcsXG4gICAgICBg5aaC5p6c6Zeu6aKY5L6d54S25a2Y5Zyo77yM5bu66K6u5Yiw5a6Y5pa56Zeu562U56S+5Yy65o+Q6Zeu5oiW5a+75om+5biu5Yqp77yaJHtDT01NVU5JVFlfU0lURV9VUkx9YCxcbiAgICBdLFxuICB9KVxuICBwdWJsaWMgYXN5bmMgaW52b2tlRXh0ZW5zaW9uKG5hbWU6IHN0cmluZywgb3B0czogYW55KSB7XG4gICAgY29uc3QgZXh0ID0gZXh0ZW5zaW9uTWFwW25hbWVdXG4gICAgaWYgKCFleHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGNvZGU6IEVSUk9SUy5JTlZBTElEX1BBUkFNUyxcbiAgICAgICAgbXNnOiBgZXh0ZW5zaW9uOiR7bmFtZX0gbXVzdCBiZSByZWdpc3RlcmVkIGJlZm9yZSBpbnZva2VgLFxuICAgICAgfSksKVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCBleHQuaW52b2tlKG9wdHMsIHRoaXMpXG4gIH1cblxuICBwdWJsaWMgdXNlQWRhcHRlcnMoYWRhcHRlcnM6IENsb3VkYmFzZUFkYXB0ZXIgfCBDbG91ZGJhc2VBZGFwdGVyW10sIG9wdGlvbnM/OiBhbnkpIHtcbiAgICBjb25zdCB7IGFkYXB0ZXIsIHJ1bnRpbWUgfSA9IHVzZUFkYXB0ZXJzKGFkYXB0ZXJzLCBvcHRpb25zKSB8fCB7fVxuICAgIGFkYXB0ZXIgJiYgKFBsYXRmb3JtLmFkYXB0ZXIgPSBhZGFwdGVyIGFzIFNES0FkYXB0ZXJJbnRlcmZhY2UpXG4gICAgcnVudGltZSAmJiAoUGxhdGZvcm0ucnVudGltZSA9IHJ1bnRpbWUgYXMgc3RyaW5nKVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVySG9vayhob29rOiBJQ2xvdWRiYXNlSG9vaykge1xuICAgIHJlZ2lzdGVySG9vayhDbG91ZGJhc2UsIGhvb2spXG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJDb21wb25lbnQoY29tcG9uZW50OiBJQ2xvdWRiYXNlQ29tcG9uZW50KSB7XG4gICAgcmVnaXN0ZXJDb21wb25lbnQoQ2xvdWRiYXNlLCBjb21wb25lbnQpXG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJWZXJzaW9uKHZlcnNpb246IHN0cmluZykge1xuICAgIHNldFNka1ZlcnNpb24odmVyc2lvbilcbiAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uXG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJTZGtOYW1lKG5hbWU6IHN0cmluZykge1xuICAgIHNldFNka05hbWUobmFtZSlcbiAgfVxuXG4gIC8qKiDorr7nva4gdGNiIGFwaSDnmoQgZW5kcG9pbnQgKi9cbiAgcHVibGljIHJlZ2lzdGVyRW5kUG9pbnQodXJsOiBzdHJpbmcsIHByb3RvY29sPzogJ2h0dHAnIHwgJ2h0dHBzJykge1xuICAgIHNldEVuZFBvaW50SW5mbyh7IGJhc2VVcmw6IHVybCwgcHJvdG9jb2wsIGVudjogdGhpcy5jb25maWcuZW52LCBlbmRQb2ludEtleTogJ0NMT1VEX0FQSScgfSlcbiAgfVxuXG4gIC8qKiDorr7nva7nvZHlhbMvdGNiIGFwaeeahCBlbmRQb2ludO+8jOmAmui/hyBrZXkg5oyH5a6aICovXG4gIHB1YmxpYyByZWdpc3RlckVuZFBvaW50V2l0aEtleShwcm9wczogSVNldEVuZFBvaW50V2l0aEtleSkge1xuICAgIHNldEVuZFBvaW50SW5mbyh7XG4gICAgICBlbnY6IHRoaXMuY29uZmlnLmVudixcbiAgICAgIGVuZFBvaW50S2V5OiBwcm9wcy5rZXksXG4gICAgICBiYXNlVXJsOiBwcm9wcy51cmwsXG4gICAgICBwcm90b2NvbDogcHJvcHMucHJvdG9jb2wsXG4gICAgfSlcbiAgfVxuXG4gIC8qKiDmi7/nvZHlhbMvdGNiIGFwaeeahCBlbmRQb2ludO+8jOmAmui/hyBrZXkg5oyH5a6aICovXG4gIHB1YmxpYyBnZXRFbmRQb2ludFdpdGhLZXkoa2V5OiBFbmRQb2ludEtleSkge1xuICAgIGNvbnN0IGluZm8gPSBnZXRFbmRQb2ludEluZm8odGhpcy5jb25maWcuZW52LCBrZXkpXG4gICAgcmV0dXJuIHtcbiAgICAgIEJBU0VfVVJMOiBpbmZvLmJhc2VVcmwsXG4gICAgICBQUk9UT0NPTDogaW5mby5wcm90b2NvbCxcbiAgICB9XG4gIH1cblxuICAvLyDop6PmnpBVUkzlj4LmlbBcbiAgcHVibGljIHBhcnNlQ2FwdGNoYSh1cmwpIHtcbiAgICByZXR1cm4gdXRpbHMucGFyc2VDYXB0Y2hhKHVybClcbiAgfVxuXG4gIHByaXZhdGUgdXNlRGVmYXVsdEFkYXB0ZXIoKSB7XG4gICAgY29uc3QgeyBhZGFwdGVyLCBydW50aW1lIH0gPSB1c2VEZWZhdWx0QWRhcHRlci5iaW5kKHRoaXMpKClcbiAgICBQbGF0Zm9ybS5hZGFwdGVyID0gYWRhcHRlciBhcyBTREtBZGFwdGVySW50ZXJmYWNlXG4gICAgUGxhdGZvcm0ucnVudGltZSA9IHJ1bnRpbWUgYXMgc3RyaW5nXG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFRpbWVvdXQodGltZW91dDogbnVtYmVyKSB7XG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRpbWVvdXQgPiBNQVhfVElNRU9VVDpcbiAgICAgICAgcHJpbnRXYXJuKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3RpbWVvdXQgaXMgZ3JlYXRlciB0aGFuIG1heGltdW0gdmFsdWVbMTBtaW5dJylcbiAgICAgICAgcmV0dXJuIE1BWF9USU1FT1VUXG4gICAgICBjYXNlIHRpbWVvdXQgPCBNSU5fVElNRU9VVDpcbiAgICAgICAgcHJpbnRXYXJuKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3RpbWVvdXQgaXMgbGVzcyB0aGFuIG1heGltdW0gdmFsdWVbMTAwbXNdJylcbiAgICAgICAgcmV0dXJuIE1JTl9USU1FT1VUXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGltZW91dFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJ5MkluaXRBdXRoKGFwcCkge1xuICAgIHRyeSB7XG4gICAgICBhcHAuYXV0aCgpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCd0cnkySW5pdEF1dGggZXJyb3I6JywgZXJyb3IpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIOWkhOeQhiBOb2RlIOeOr+Wig+S4iyBhZGFwdGVyIOeahOmFjee9ruS/oeaBr1xuICAgKiDlnKggTm9kZSDnjq/looPkuK3vvIzpgJrov4cgYWRhcHRlciDoh6rliqjojrflj5blr4bpkqXjgIHnjq/looNJROOAgWFjY2Vzc0tleSDnrYnphY3nva7vvIxcbiAgICog5YeP5bCR55So5oi35omL5Yqo5Lyg5YWl6YWN572u55qE6LSf5ouFXG4gICAqIEBwYXJhbSBjb25maWcgLSDkupHlvIDlj5HliJ3lp4vljJbphY3nva7lr7nosaFcbiAgICogQHJldHVybnMg6KGl5YWF5LqGIE5vZGUgYWRhcHRlciDkv6Hmga/lkI7nmoTphY3nva7lr7nosaFcbiAgICovXG4gIHByaXZhdGUgZGVhbE5vZGVBZGFwdGVyQ29uZmlnKGNvbmZpZzogSUNsb3VkYmFzZUNvbmZpZykge1xuICAgIC8vIG5vZGXnjq/looPlj6/ku6Xku45hZGFwdGVy6I635Y+W6buY6K6k55qEc2VjcmV0SWTlkoxzZWNyZXRLZXlcbiAgICBpZiAoIXByb2Nlc3MuZW52LklTX0JST1dTRVJfQlVJTEQgJiYgUGxhdGZvcm0uYWRhcHRlcj8uZ2V0U2VjcmV0SW5mbykge1xuICAgICAgY29uc3Qgc2VjcmV0SW5mbyA9IFBsYXRmb3JtLmFkYXB0ZXI/LmdldFNlY3JldEluZm8oY29uZmlnKVxuICAgICAgLy8g5bCGIGFkYXB0ZXIg5o+Q5L6b55qE5a+G6ZKl5L+h5oGv5YaZ5YWlIGNvbmZpZy5hdXRoXG4gICAgICBjb25maWcuYXV0aCA9IHtcbiAgICAgICAgLi4uY29uZmlnLmF1dGgsXG4gICAgICAgIHNlY3JldElkOiBzZWNyZXRJbmZvLnNlY3JldElkLFxuICAgICAgICBzZWNyZXRLZXk6IHNlY3JldEluZm8uc2VjcmV0S2V5LFxuICAgICAgICBzZXNzaW9uVG9rZW46IHNlY3JldEluZm8uc2Vzc2lvblRva2VuLFxuICAgICAgICBzZWNyZXRUeXBlOiBzZWNyZXRJbmZvLnNlY3JldFR5cGUgYXMgYW55LFxuICAgICAgfVxuXG4gICAgICAvLyBub2RlIOeOr+Wig+WPr+iDveWPr+S7peS7juS4iuS4i+aWh+iOt+WPlmVudu+8jOeUqOaIt+acquaYvuW8j+aMh+WumuaXtuiHquWKqOWhq+WFhVxuICAgICAgaWYgKCFjb25maWcuZW52KSB7XG4gICAgICAgIGNvbmZpZy5lbnYgPSBzZWNyZXRJbmZvLmVudlxuICAgICAgfVxuXG4gICAgICAvLyBub2RlIGFkYXB0ZXLnjq/looPog73or7vlj5bliLAgcHJvY2Vzcy5lbnYuQ0xPVURCQVNFX0FQSUtFWSDml7bvvIzlnKjmsqHmnInkvKDlhaVhY2Nlc3NLZXnml7bvvIzkvb/nlKggbm9kZSBhZGFwdGVyIOaPkOS+m+eahCBhY2Nlc3NLZXnvvIhwcm9jZXNzLmVudi5DTE9VREJBU0VfQVBJS0VZ77yJXG4gICAgICBpZiAoIWNvbmZpZy5hY2Nlc3NLZXkgJiYgc2VjcmV0SW5mby5hY2Nlc3NLZXkpIHtcbiAgICAgICAgY29uZmlnLmFjY2Vzc0tleSA9IHNlY3JldEluZm8uYWNjZXNzS2V5XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG5cbi8vIOexu+Wei+WvvOWHulxuZXhwb3J0IHR5cGUgeyBDbG91ZGJhc2UgfVxuXG4vLyDlgLzlr7zlh7pcbmV4cG9ydCBjb25zdCBjbG91ZGJhc2U6IElDbG91ZGJhc2UgPSBuZXcgQ2xvdWRiYXNlKClcblxuY2xvdWRiYXNlLnVzZUFkYXB0ZXJzKGdldFd4RGVmYXVsdEFkYXB0ZXIoKSlcblxuLy8gTm9kZSDnjq/looPkuIvliqjmgIHlvJXlhaUgYWRhcHRlcu+8jOa1j+iniOWZqC/lsI/nqIvluo/miZPljIXml7YgSVNfQlJPV1NFUl9CVUlMRD10cnVl77yM5q2k5YiG5pSv5Lya6KKrIHRyZWUtc2hha2luZyDnp7vpmaRcbmlmICghcHJvY2Vzcy5lbnYuSVNfQlJPV1NFUl9CVUlMRCkge1xuICB0cnkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgY29uc3Qgbm9kZUFkYXB0ZXIgPSByZXF1aXJlKCcuL2xpYnMvYWRhcHRlci1ub2RlJykuZGVmYXVsdFxuICAgIGNsb3VkYmFzZS51c2VBZGFwdGVycyhub2RlQWRhcHRlcilcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBlcnJvclxuICB9XG59XG5cbi8vIOm7mOiupOWvvOWHuuWunuS+i1xuZXhwb3J0IGRlZmF1bHQgY2xvdWRiYXNlXG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare const ERROR: {
|
|
2
|
+
INVALID_PARAM: {
|
|
3
|
+
code: string;
|
|
4
|
+
message: string;
|
|
5
|
+
};
|
|
6
|
+
SYS_ERR: {
|
|
7
|
+
code: string;
|
|
8
|
+
message: string;
|
|
9
|
+
};
|
|
10
|
+
STORAGE_REQUEST_FAIL: {
|
|
11
|
+
code: string;
|
|
12
|
+
message: string;
|
|
13
|
+
};
|
|
14
|
+
STORAGE_FILE_NONEXIST: {
|
|
15
|
+
code: string;
|
|
16
|
+
message: string;
|
|
17
|
+
};
|
|
18
|
+
TCB_CLS_UNOPEN: {
|
|
19
|
+
code: string;
|
|
20
|
+
message: string;
|
|
21
|
+
};
|
|
22
|
+
INVALID_CONTEXT: {
|
|
23
|
+
code: string;
|
|
24
|
+
message: string;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export declare const ADMIN_PATH = "/admin";
|
|
28
|
+
export declare const CLIENT_AUTH_PATH = "/auth/v1/token/clientCredential";
|
|
29
|
+
export declare const checkCustomUserIdRegex: RegExp;
|
|
30
|
+
export declare enum SECRET_TYPE {
|
|
31
|
+
'SECRET' = "SECRET",
|
|
32
|
+
'SESSION_SECRET' = "SESSION_SECRET"
|
|
33
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SECRET_TYPE = exports.checkCustomUserIdRegex = exports.CLIENT_AUTH_PATH = exports.ADMIN_PATH = exports.ERROR = void 0;
|
|
4
|
+
exports.ERROR = {
|
|
5
|
+
INVALID_PARAM: {
|
|
6
|
+
code: 'INVALID_PARAM',
|
|
7
|
+
message: 'invalid param',
|
|
8
|
+
},
|
|
9
|
+
SYS_ERR: {
|
|
10
|
+
code: 'SYS_ERR',
|
|
11
|
+
message: 'system error',
|
|
12
|
+
},
|
|
13
|
+
STORAGE_REQUEST_FAIL: {
|
|
14
|
+
code: 'STORAGE_REQUEST_FAIL',
|
|
15
|
+
message: 'storage request fail',
|
|
16
|
+
},
|
|
17
|
+
STORAGE_FILE_NONEXIST: {
|
|
18
|
+
code: 'STORAGE_FILE_NONEXIST',
|
|
19
|
+
message: 'storage file not exist',
|
|
20
|
+
},
|
|
21
|
+
TCB_CLS_UNOPEN: {
|
|
22
|
+
code: 'TCB_CLS_UNOPEN',
|
|
23
|
+
message: '需要先开通日志检索功能',
|
|
24
|
+
},
|
|
25
|
+
INVALID_CONTEXT: {
|
|
26
|
+
code: 'INVALID_CONTEXT',
|
|
27
|
+
message: '无效的context对象,请使用 云函数入口的context参数',
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
exports.ADMIN_PATH = '/admin';
|
|
31
|
+
exports.CLIENT_AUTH_PATH = '/auth/v1/token/clientCredential';
|
|
32
|
+
exports.checkCustomUserIdRegex = /^[a-zA-Z0-9_\-#@~=*(){}[\]:.,<>+]{4,32}$/;
|
|
33
|
+
var SECRET_TYPE;
|
|
34
|
+
(function (SECRET_TYPE) {
|
|
35
|
+
SECRET_TYPE["SECRET"] = "SECRET";
|
|
36
|
+
SECRET_TYPE["SESSION_SECRET"] = "SESSION_SECRET";
|
|
37
|
+
})(SECRET_TYPE = exports.SECRET_TYPE || (exports.SECRET_TYPE = {}));
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYnMvYWRhcHRlci1ub2RlL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLEtBQUssR0FBRztJQUNuQixhQUFhLEVBQUU7UUFDYixJQUFJLEVBQUUsZUFBZTtRQUNyQixPQUFPLEVBQUUsZUFBZTtLQUN6QjtJQUNELE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLGNBQWM7S0FDeEI7SUFDRCxvQkFBb0IsRUFBRTtRQUNwQixJQUFJLEVBQUUsc0JBQXNCO1FBQzVCLE9BQU8sRUFBRSxzQkFBc0I7S0FDaEM7SUFDRCxxQkFBcUIsRUFBRTtRQUNyQixJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLE9BQU8sRUFBRSx3QkFBd0I7S0FDbEM7SUFDRCxjQUFjLEVBQUU7UUFDZCxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRSxhQUFhO0tBQ3ZCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixPQUFPLEVBQUUsa0NBQWtDO0tBQzVDO0NBQ0YsQ0FBQTtBQUdZLFFBQUEsVUFBVSxHQUFHLFFBQVEsQ0FBQTtBQUdyQixRQUFBLGdCQUFnQixHQUFHLGlDQUFpQyxDQUFBO0FBR3BELFFBQUEsc0JBQXNCLEdBQUcsMENBQTBDLENBQUE7QUFFaEYsSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLGdDQUFtQixDQUFBO0lBQ25CLGdEQUFtQyxDQUFBO0FBQ3JDLENBQUMsRUFIVyxXQUFXLEdBQVgsbUJBQVcsS0FBWCxtQkFBVyxRQUd0QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuLyoqIOe7n+S4gOmUmeivr+eggeWumuS5iSAqL1xuZXhwb3J0IGNvbnN0IEVSUk9SID0ge1xuICBJTlZBTElEX1BBUkFNOiB7XG4gICAgY29kZTogJ0lOVkFMSURfUEFSQU0nLFxuICAgIG1lc3NhZ2U6ICdpbnZhbGlkIHBhcmFtJyxcbiAgfSxcbiAgU1lTX0VSUjoge1xuICAgIGNvZGU6ICdTWVNfRVJSJyxcbiAgICBtZXNzYWdlOiAnc3lzdGVtIGVycm9yJyxcbiAgfSxcbiAgU1RPUkFHRV9SRVFVRVNUX0ZBSUw6IHtcbiAgICBjb2RlOiAnU1RPUkFHRV9SRVFVRVNUX0ZBSUwnLFxuICAgIG1lc3NhZ2U6ICdzdG9yYWdlIHJlcXVlc3QgZmFpbCcsXG4gIH0sXG4gIFNUT1JBR0VfRklMRV9OT05FWElTVDoge1xuICAgIGNvZGU6ICdTVE9SQUdFX0ZJTEVfTk9ORVhJU1QnLFxuICAgIG1lc3NhZ2U6ICdzdG9yYWdlIGZpbGUgbm90IGV4aXN0JyxcbiAgfSxcbiAgVENCX0NMU19VTk9QRU46IHtcbiAgICBjb2RlOiAnVENCX0NMU19VTk9QRU4nLFxuICAgIG1lc3NhZ2U6ICfpnIDopoHlhYjlvIDpgJrml6Xlv5fmo4DntKLlip/og70nLFxuICB9LFxuICBJTlZBTElEX0NPTlRFWFQ6IHtcbiAgICBjb2RlOiAnSU5WQUxJRF9DT05URVhUJyxcbiAgICBtZXNzYWdlOiAn5peg5pWI55qEY29udGV4dOWvueixoe+8jOivt+S9v+eUqCDkupHlh73mlbDlhaXlj6PnmoRjb250ZXh05Y+C5pWwJyxcbiAgfSxcbn1cblxuLyoqIOeuoeeQhuerryBBUEkg6Lev5b6E77yM55So5LqO5pu/5o2iIC93ZWIg6Lev5b6E77yI6ZyA6KaB5a+G6ZKl562+5ZCN5pe277yJICovXG5leHBvcnQgY29uc3QgQURNSU5fUEFUSCA9ICcvYWRtaW4nXG5cbi8qKiDnrqHnkIbnq6/ojrflj5blrqLmiLfnq6/lh63or4EgYWNjZXNzX3Rva2Vu77yM5Li6566h55CG5ZGY5p2D6ZmQICovXG5leHBvcnQgY29uc3QgQ0xJRU5UX0FVVEhfUEFUSCA9ICcvYXV0aC92MS90b2tlbi9jbGllbnRDcmVkZW50aWFsJ1xuXG4vKiog6Ieq5a6a5LmJ55So5oi3IElEIOagoemqjOinhOWIme+8mjR+MzIg5L2N77yM5YWB6K645a2X5q+N44CB5pWw5a2X5Y+K6YOo5YiG54m55q6K5a2X56ymICovXG5leHBvcnQgY29uc3QgY2hlY2tDdXN0b21Vc2VySWRSZWdleCA9IC9eW2EtekEtWjAtOV9cXC0jQH49Kigpe31bXFxdOi4sPD4rXXs0LDMyfSQvXG5cbmV4cG9ydCBlbnVtIFNFQ1JFVF9UWVBFIHtcbiAgJ1NFQ1JFVCcgPSAnU0VDUkVUJyxcbiAgJ1NFU1NJT05fU0VDUkVUJyA9ICdTRVNTSU9OX1NFQ1JFVCcsXG59XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IContextParam, ICompleteCloudbaseContext } from './types';
|
|
2
|
+
import { ICloudbaseConfig } from '@cloudbase/types';
|
|
3
|
+
export declare function parseContext(context: IContextParam): any;
|
|
4
|
+
export declare const getCloudbaseContext: (context?: IContextParam) => ICompleteCloudbaseContext;
|
|
5
|
+
export declare let INIT_CONFIG: ICloudbaseConfig;
|
|
6
|
+
export declare const getSecretInfo: (config?: ICloudbaseConfig) => {
|
|
7
|
+
env: string;
|
|
8
|
+
secretId: string;
|
|
9
|
+
secretKey: string;
|
|
10
|
+
sessionToken: string;
|
|
11
|
+
accessKey: string;
|
|
12
|
+
secretType: string;
|
|
13
|
+
};
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.getSecretInfo = exports.INIT_CONFIG = exports.getCloudbaseContext = exports.parseContext = void 0;
|
|
15
|
+
var constants_1 = require("./constants");
|
|
16
|
+
var utils_1 = require("./utils");
|
|
17
|
+
function parseContext(context) {
|
|
18
|
+
if (typeof context !== 'object') {
|
|
19
|
+
throw __assign(__assign({}, constants_1.ERROR.INVALID_CONTEXT), { message: 'context 必须为对象类型' });
|
|
20
|
+
}
|
|
21
|
+
var parseResult = {};
|
|
22
|
+
var memory_limit_in_mb = context.memory_limit_in_mb, time_limit_in_ms = context.time_limit_in_ms, request_id = context.request_id, function_version = context.function_version, namespace = context.namespace, function_name = context.function_name, environ = context.environ, environment = context.environment;
|
|
23
|
+
try {
|
|
24
|
+
parseResult.memoryLimitInMb = memory_limit_in_mb;
|
|
25
|
+
parseResult.timeLimitIns = time_limit_in_ms;
|
|
26
|
+
parseResult.requestId = request_id;
|
|
27
|
+
parseResult.functionVersion = function_version;
|
|
28
|
+
parseResult.namespace = namespace;
|
|
29
|
+
parseResult.functionName = function_name;
|
|
30
|
+
if (environment) {
|
|
31
|
+
parseResult.environment = JSON.parse(environment);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
var parseEnviron = environ === null || environ === void 0 ? void 0 : environ.split(';');
|
|
35
|
+
var parseEnvironObj = {};
|
|
36
|
+
for (var i in parseEnviron) {
|
|
37
|
+
if (parseEnviron[i].includes('=')) {
|
|
38
|
+
var equalIndex = parseEnviron[i].indexOf('=');
|
|
39
|
+
var key = parseEnviron[i].slice(0, equalIndex);
|
|
40
|
+
var value = parseEnviron[i].slice(equalIndex + 1);
|
|
41
|
+
if (value.indexOf(',') >= 0) {
|
|
42
|
+
value = value.split(',');
|
|
43
|
+
}
|
|
44
|
+
parseEnvironObj[key] = value;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
parseResult.environ = parseEnvironObj;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (_err) {
|
|
51
|
+
throw __assign({}, constants_1.ERROR.INVALID_CONTEXT);
|
|
52
|
+
}
|
|
53
|
+
return parseResult;
|
|
54
|
+
}
|
|
55
|
+
exports.parseContext = parseContext;
|
|
56
|
+
var getCloudbaseContext = function (context) {
|
|
57
|
+
if ((0, utils_1.checkIsInScf)()) {
|
|
58
|
+
if (!(0, utils_1.getEnv)('TENCENTCLOUD_REGION')) {
|
|
59
|
+
console.error('[TCB][ERROR] missing `TENCENTCLOUD_REGION` environment');
|
|
60
|
+
}
|
|
61
|
+
if (!(0, utils_1.getEnv)('SCF_NAMESPACE')) {
|
|
62
|
+
console.error('[TCB][ERROR] missing `SCF_NAMESPACE` environment');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
var envObj = (0, utils_1.getEnv)();
|
|
66
|
+
var envFromProcessEnv = {
|
|
67
|
+
TRIGGER_SRC: envObj.TRIGGER_SRC,
|
|
68
|
+
_SCF_TCB_LOG: envObj._SCF_TCB_LOG,
|
|
69
|
+
SCF_NAMESPACE: envObj.SCF_NAMESPACE,
|
|
70
|
+
TENCENTCLOUD_RUNENV: envObj.TENCENTCLOUD_RUNENV,
|
|
71
|
+
TENCENTCLOUD_SECRETID: envObj.TENCENTCLOUD_SECRETID,
|
|
72
|
+
TENCENTCLOUD_SECRETKEY: envObj.TENCENTCLOUD_SECRETKEY,
|
|
73
|
+
TENCENTCLOUD_SESSIONTOKEN: envObj.TENCENTCLOUD_SESSIONTOKEN,
|
|
74
|
+
WX_CONTEXT_KEYS: envObj.WX_CONTEXT_KEYS,
|
|
75
|
+
WX_TRIGGER_API_TOKEN_V0: envObj.WX_TRIGGER_API_TOKEN_V0,
|
|
76
|
+
WX_CLIENTIP: envObj.WX_CLIENTIP,
|
|
77
|
+
WX_CLIENTIPV6: envObj.WX_CLIENTIPV6,
|
|
78
|
+
TCB_CONTEXT_KEYS: envObj.TCB_CONTEXT_KEYS,
|
|
79
|
+
TCB_CONTEXT_CNFG: envObj.TCB_CONTEXT_CNFG,
|
|
80
|
+
LOGINTYPE: envObj.LOGINTYPE,
|
|
81
|
+
};
|
|
82
|
+
var envFromContext = {};
|
|
83
|
+
if (context) {
|
|
84
|
+
var _a = parseContext(context), environment = _a.environment, environ = _a.environ;
|
|
85
|
+
envFromContext = environment || environ || {};
|
|
86
|
+
}
|
|
87
|
+
var tcbContextKeys = envFromContext.TCB_CONTEXT_KEYS || envObj.TCB_CONTEXT_KEYS;
|
|
88
|
+
var wxContextKeys = envFromContext.WX_CONTEXT_KEYS || envObj.WX_CONTEXT_KEYS;
|
|
89
|
+
if (tcbContextKeys) {
|
|
90
|
+
try {
|
|
91
|
+
var tcbKeysList = tcbContextKeys.split(',');
|
|
92
|
+
for (var _i = 0, tcbKeysList_1 = tcbKeysList; _i < tcbKeysList_1.length; _i++) {
|
|
93
|
+
var item = tcbKeysList_1[_i];
|
|
94
|
+
envFromProcessEnv[item] = envFromContext[item] || (0, utils_1.getEnv)(item);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (_e) {
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (wxContextKeys) {
|
|
101
|
+
try {
|
|
102
|
+
var wxKeysList = wxContextKeys.split(',');
|
|
103
|
+
for (var _b = 0, wxKeysList_1 = wxKeysList; _b < wxKeysList_1.length; _b++) {
|
|
104
|
+
var item = wxKeysList_1[_b];
|
|
105
|
+
envFromProcessEnv[item] = envFromContext[item] || (0, utils_1.getEnv)(item);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch (_e) {
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
var allContext = __assign(__assign({}, envFromProcessEnv), envFromContext);
|
|
112
|
+
var finalContext = {};
|
|
113
|
+
for (var key in allContext) {
|
|
114
|
+
if (allContext[key] !== undefined) {
|
|
115
|
+
finalContext[key] = allContext[key];
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return finalContext;
|
|
119
|
+
};
|
|
120
|
+
exports.getCloudbaseContext = getCloudbaseContext;
|
|
121
|
+
exports.INIT_CONFIG = {};
|
|
122
|
+
var getSecretInfo = function (config) {
|
|
123
|
+
var _a, _b, _c, _d, _f, _g;
|
|
124
|
+
exports.INIT_CONFIG = JSON.parse(JSON.stringify(config || {}));
|
|
125
|
+
var _h = (0, exports.getCloudbaseContext)(), TCB_ENV = _h.TCB_ENV, SCF_NAMESPACE = _h.SCF_NAMESPACE;
|
|
126
|
+
var env = (config === null || config === void 0 ? void 0 : config.env) || TCB_ENV || SCF_NAMESPACE || '';
|
|
127
|
+
var defaultInfo = {
|
|
128
|
+
env: env,
|
|
129
|
+
secretId: '',
|
|
130
|
+
secretKey: '',
|
|
131
|
+
sessionToken: '',
|
|
132
|
+
accessKey: '',
|
|
133
|
+
secretType: '',
|
|
134
|
+
};
|
|
135
|
+
if (config === null || config === void 0 ? void 0 : config.accessKey) {
|
|
136
|
+
return defaultInfo;
|
|
137
|
+
}
|
|
138
|
+
if (((_a = config === null || config === void 0 ? void 0 : config.auth) === null || _a === void 0 ? void 0 : _a.secretId) && ((_b = config === null || config === void 0 ? void 0 : config.auth) === null || _b === void 0 ? void 0 : _b.secretKey)) {
|
|
139
|
+
return __assign(__assign({}, defaultInfo), { secretId: config.auth.secretId, secretKey: config.auth.secretKey, secretType: constants_1.SECRET_TYPE.SECRET });
|
|
140
|
+
}
|
|
141
|
+
var secretEnv = (0, utils_1.getEnv)();
|
|
142
|
+
var TENCENTCLOUD_SECRETID = secretEnv.TENCENTCLOUD_SECRETID;
|
|
143
|
+
var TENCENTCLOUD_SECRETKEY = secretEnv.TENCENTCLOUD_SECRETKEY;
|
|
144
|
+
var TENCENTCLOUD_SESSIONTOKEN = secretEnv.TENCENTCLOUD_SESSIONTOKEN;
|
|
145
|
+
var CLOUDBASE_APIKEY = secretEnv.CLOUDBASE_APIKEY;
|
|
146
|
+
if (CLOUDBASE_APIKEY) {
|
|
147
|
+
return __assign(__assign({}, defaultInfo), { accessKey: CLOUDBASE_APIKEY });
|
|
148
|
+
}
|
|
149
|
+
if (TENCENTCLOUD_SECRETID && TENCENTCLOUD_SECRETKEY) {
|
|
150
|
+
return __assign(__assign({}, defaultInfo), { secretId: TENCENTCLOUD_SECRETID, secretKey: TENCENTCLOUD_SECRETKEY, sessionToken: TENCENTCLOUD_SESSIONTOKEN || '', secretType: constants_1.SECRET_TYPE.SESSION_SECRET });
|
|
151
|
+
}
|
|
152
|
+
if ((_c = config === null || config === void 0 ? void 0 : config.context) === null || _c === void 0 ? void 0 : _c.extendedContext) {
|
|
153
|
+
var extendedContext = config.context.extendedContext;
|
|
154
|
+
if (!env) {
|
|
155
|
+
env = extendedContext.envId || '';
|
|
156
|
+
}
|
|
157
|
+
return __assign(__assign({}, defaultInfo), { secretId: ((_d = extendedContext === null || extendedContext === void 0 ? void 0 : extendedContext.tmpSecret) === null || _d === void 0 ? void 0 : _d.secretId) || '', secretKey: ((_f = extendedContext === null || extendedContext === void 0 ? void 0 : extendedContext.tmpSecret) === null || _f === void 0 ? void 0 : _f.secretKey) || '', sessionToken: ((_g = extendedContext === null || extendedContext === void 0 ? void 0 : extendedContext.tmpSecret) === null || _g === void 0 ? void 0 : _g.token) || '' });
|
|
158
|
+
}
|
|
159
|
+
return __assign({}, defaultInfo);
|
|
160
|
+
};
|
|
161
|
+
exports.getSecretInfo = getSecretInfo;
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWJzL2FkYXB0ZXItbm9kZS9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBR0EseUNBQWdEO0FBQ2hELGlDQUE4QztBQVk5QyxTQUFnQixZQUFZLENBQUMsT0FBc0I7SUFDakQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7UUFDL0IsNEJBQVcsaUJBQUssQ0FBQyxlQUFlLEtBQUUsT0FBTyxFQUFFLGlCQUFpQixJQUFFO0tBQy9EO0lBRUQsSUFBTSxXQUFXLEdBQVEsRUFBRSxDQUFBO0lBR3pCLElBQUEsa0JBQWtCLEdBU2hCLE9BQU8sbUJBVFMsRUFDbEIsZ0JBQWdCLEdBUWQsT0FBTyxpQkFSTyxFQUNoQixVQUFVLEdBT1IsT0FBTyxXQVBDLEVBQ1YsZ0JBQWdCLEdBTWQsT0FBTyxpQkFOTyxFQUNoQixTQUFTLEdBS1AsT0FBTyxVQUxBLEVBQ1QsYUFBYSxHQUlYLE9BQU8sY0FKSSxFQUViLE9BQU8sR0FFTCxPQUFPLFFBRkYsRUFDUCxXQUFXLEdBQ1QsT0FBTyxZQURFLENBQ0Y7SUFFWCxJQUFJO1FBQ0YsV0FBVyxDQUFDLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQTtRQUNoRCxXQUFXLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFBO1FBQzNDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFBO1FBQ2xDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsZ0JBQWdCLENBQUE7UUFDOUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDakMsV0FBVyxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUE7UUFFeEMsSUFBSSxXQUFXLEVBQUU7WUFFZixXQUFXLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7U0FDbEQ7YUFBTTtZQUlMLElBQU0sWUFBWSxHQUFRLE9BQU8sYUFB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b3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvbm8tbXV0YWJsZS1leHBvcnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4ICovXG5pbXBvcnQgeyBFUlJPUiwgU0VDUkVUX1RZUEUgfSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7IGNoZWNrSXNJblNjZiwgZ2V0RW52IH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB0eXBlIHsgSUNvbnRleHRQYXJhbSwgSUNvbXBsZXRlQ2xvdWRiYXNlQ29udGV4dCB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBJQ2xvdWRiYXNlQ29uZmlnIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcblxuLyoqXG4gKiDop6PmnpDlubbmoKHpqozkupHlh73mlbDlhaXlj6PnmoQgQ29udGV4dCDlj4LmlbBcbiAqIOWwhuS4i+WIkue6v+WRveWQjeeahOWtl+autei9rOS4uumpvOWzsOagvOW8j++8jOW5tuino+aekOeOr+Wig+WPmOmHj1xuICpcbiAqIEBwYXJhbSBjb250ZXh0IC0g5LqR5Ye95pWw5YWl5Y+j5Lyg5YWl55qEIGNvbnRleHQg5a+56LGhXG4gKiBAcmV0dXJucyDop6PmnpDlkI7nmoTkuIrkuIvmloflr7nosaHvvIzljIXlkKsgZW52aXJvbm1lbnTvvIjmlrDmnrbmnoTvvInmiJYgZW52aXJvbu+8iOiAgeaetuaehO+8iVxuICogQHRocm93cyBJTlZBTElEX0NPTlRFWFQgLSBjb250ZXh0IOS4jeaYr+WvueixoeaIluino+aekOWksei0peaXtlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb250ZXh0KGNvbnRleHQ6IElDb250ZXh0UGFyYW0pIHtcbiAgaWYgKHR5cGVvZiBjb250ZXh0ICE9PSAnb2JqZWN0Jykge1xuICAgIHRocm93IHsgLi4uRVJST1IuSU5WQUxJRF9DT05URVhULCBtZXNzYWdlOiAnY29udGV4dCDlv4XpobvkuLrlr7nosaHnsbvlnosnIH1cbiAgfVxuXG4gIGNvbnN0IHBhcnNlUmVzdWx0OiBhbnkgPSB7fVxuXG4gIGNvbnN0IHtcbiAgICBtZW1vcnlfbGltaXRfaW5fbWIsXG4gICAgdGltZV9saW1pdF9pbl9tcyxcbiAgICByZXF1ZXN0X2lkLFxuICAgIGZ1bmN0aW9uX3ZlcnNpb24sXG4gICAgbmFtZXNwYWNlLFxuICAgIGZ1bmN0aW9uX25hbWUsXG5cbiAgICBlbnZpcm9uLFxuICAgIGVudmlyb25tZW50LFxuICB9ID0gY29udGV4dFxuXG4gIHRyeSB7XG4gICAgcGFyc2VSZXN1bHQubWVtb3J5TGltaXRJbk1iID0gbWVtb3J5X2xpbWl0X2luX21iXG4gICAgcGFyc2VSZXN1bHQudGltZUxpbWl0SW5zID0gdGltZV9saW1pdF9pbl9tc1xuICAgIHBhcnNlUmVzdWx0LnJlcXVlc3RJZCA9IHJlcXVlc3RfaWRcbiAgICBwYXJzZVJlc3VsdC5mdW5jdGlvblZlcnNpb24gPSBmdW5jdGlvbl92ZXJzaW9uXG4gICAgcGFyc2VSZXN1bHQubmFtZXNwYWNlID0gbmFtZXNwYWNlXG4gICAgcGFyc2VSZXN1bHQuZnVuY3Rpb25OYW1lID0gZnVuY3Rpb25fbmFtZVxuXG4gICAgaWYgKGVudmlyb25tZW50KSB7XG4gICAgICAvLyDmlrDmnrbmnoTvvJplbnZpcm9ubWVudCDkuLogSlNPTiDlrZfnrKbkuLLvvIznm7TmjqXop6PmnpBcbiAgICAgIHBhcnNlUmVzdWx0LmVudmlyb25tZW50ID0gSlNPTi5wYXJzZShlbnZpcm9ubWVudClcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVE9ETzog6ICD6JmR56e76Zmk6ICB5p625p6E55qE5YW85a656YC76L6RXG4gICAgICAvLyDogIHmnrbmnoTvvJplbnZpcm9uIOS4uuWIhuWPt+WIhumalOeahCBrZXk9dmFsdWUg5a2X56ym5LiyXG4gICAgICAvLyDlrZjlnKggYnVn77yadmFsdWUg5ZCr54m55q6K5a2X56ym5pe25Y+v6IO95b2x5ZON6Kej5p6QXG4gICAgICBjb25zdCBwYXJzZUVudmlyb246IGFueSA9IGVudmlyb24/LnNwbGl0KCc7JylcbiAgICAgIGNvbnN0IHBhcnNlRW52aXJvbk9iajogYW55ID0ge31cblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1mb3ItaW4tYXJyYXlcbiAgICAgIGZvciAoY29uc3QgaSBpbiBwYXJzZUVudmlyb24pIHtcbiAgICAgICAgaWYgKHBhcnNlRW52aXJvbltpXS5pbmNsdWRlcygnPScpKSB7XG4gICAgICAgICAgLy8g5Y+q5oyJ56ys5LiA5LiqID0g5YiH5Ymy77yM5L+d55WZIHZhbHVlIOS4reeahCA9XG4gICAgICAgICAgY29uc3QgZXF1YWxJbmRleCA9IHBhcnNlRW52aXJvbltpXS5pbmRleE9mKCc9JylcbiAgICAgICAgICBjb25zdCBrZXkgPSBwYXJzZUVudmlyb25baV0uc2xpY2UoMCwgZXF1YWxJbmRleClcbiAgICAgICAgICBsZXQgdmFsdWU6IGFueSA9IHBhcnNlRW52aXJvbltpXS5zbGljZShlcXVhbEluZGV4ICsgMSlcblxuICAgICAgICAgIC8vIHZhbHVlIOWQq+mAl+WPt+aXtuinhuS4uuaVsOe7hFxuICAgICAgICAgIGlmICh2YWx1ZS5pbmRleE9mKCcsJykgPj0gMCkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5zcGxpdCgnLCcpXG4gICAgICAgICAgfVxuICAgICAgICAgIHBhcnNlRW52aXJvbk9ialtrZXldID0gdmFsdWVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwYXJzZVJlc3VsdC5lbnZpcm9uID0gcGFyc2VFbnZpcm9uT2JqXG4gICAgfVxuICB9IGNhdGNoIChfZXJyOiBhbnkpIHtcbiAgICB0aHJvdyB7IC4uLkVSUk9SLklOVkFMSURfQ09OVEVYVCB9XG4gIH1cblxuICByZXR1cm4gcGFyc2VSZXN1bHRcbn1cblxuLyoqXG4gKiDojrflj5blvZPliY3kupHlh73mlbDlhoXnmoTmiYDmnInnjq/looPlj5jph49cbiAqIOe7n+S4gOS7jiBwcm9jZXNzLmVudiDlkowgY29udGV4dCDkuKTkuKrmnaXmupDlkIjlubblj5blgLxcbiAqXG4gKiDlj5blgLzkvJjlhYjnuqfvvJpjb250ZXh0ID4gcHJvY2Vzcy5lbnZcbiAqIOmAmui/hyBUQ0JfQ09OVEVYVF9LRVlTIC8gV1hfQ09OVEVYVF9LRVlTIOWKqOaAgeaJqeWxlemcgOimgeivu+WPlueahOeOr+Wig+WPmOmHj+WIl+ihqFxuICpcbiAqIEBwYXJhbSBjb250ZXh0IC0g5Y+v6YCJ77yM5LqR5Ye95pWw5YWl5Y+j55qEIGNvbnRleHQg5Y+C5pWwXG4gKiBAcmV0dXJucyDlkIjlubblkI7nmoTlrozmlbTnjq/looPlj5jph4/kuIrkuIvmlodcbiAqL1xuZXhwb3J0IGNvbnN0IGdldENsb3VkYmFzZUNvbnRleHQgPSAoY29udGV4dD86IElDb250ZXh0UGFyYW0pOiBJQ29tcGxldGVDbG91ZGJhc2VDb250ZXh0ID0+IHtcbiAgLy8g5LqR5Ye95pWw546v5aKD5LiL5qCh6aqM5b+F6KaB546v5aKD5Y+Y6YePXG4gIGlmIChjaGVja0lzSW5TY2YoKSkge1xuICAgIGlmICghZ2V0RW52KCdURU5DRU5UQ0xPVURfUkVHSU9OJykpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tUQ0JdW0VSUk9SXSBtaXNzaW5nIGBURU5DRU5UQ0xPVURfUkVHSU9OYCBlbnZpcm9ubWVudCcpXG4gICAgfVxuICAgIGlmICghZ2V0RW52KCdTQ0ZfTkFNRVNQQUNFJykpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tUQ0JdW0VSUk9SXSBtaXNzaW5nIGBTQ0ZfTkFNRVNQQUNFYCBlbnZpcm9ubWVudCcpXG4gICAgfVxuICB9XG5cbiAgLy8g56ys5LiA5q2l77ya5LuOIHByb2Nlc3MuZW52IOivu+WPluWfuuehgOeOr+Wig+WPmOmHj1xuICBjb25zdCBlbnZPYmogPSBnZXRFbnYoKVxuICBjb25zdCBlbnZGcm9tUHJvY2Vzc0VudjogYW55ID0ge1xuICAgIFRSSUdHRVJfU1JDOiBlbnZPYmouVFJJR0dFUl9TUkMsXG4gICAgX1NDRl9UQ0JfTE9HOiBlbnZPYmouX1NDRl9UQ0JfTE9HLFxuICAgIFNDRl9OQU1FU1BBQ0U6IGVudk9iai5TQ0ZfTkFNRVNQQUNFLFxuICAgIFRFTkNFTlRDTE9VRF9SVU5FTlY6IGVudk9iai5URU5DRU5UQ0xPVURfUlVORU5WLFxuICAgIFRFTkNFTlRDTE9VRF9TRUNSRVRJRDogZW52T2JqLlRFTkNFTlRDTE9VRF9TRUNSRVRJRCxcbiAgICBURU5DRU5UQ0xPVURfU0VDUkVUS0VZOiBlbnZPYmouVEVOQ0VOVENMT1VEX1NFQ1JFVEtFWSxcbiAgICBURU5DRU5UQ0xPVURfU0VTU0lPTlRPS0VOOiBlbnZPYmouVEVOQ0VOVENMT1VEX1NFU1NJT05UT0tFTixcbiAgICBXWF9DT05URVhUX0tFWVM6IGVudk9iai5XWF9DT05URVhUX0tFWVMsXG4gICAgV1hfVFJJR0dFUl9BUElfVE9LRU5fVjA6IGVudk9iai5XWF9UUklHR0VSX0FQSV9UT0tFTl9WMCxcbiAgICBXWF9DTElFTlRJUDogZW52T2JqLldYX0NMSUVOVElQLFxuICAgIFdYX0NMSUVOVElQVjY6IGVudk9iai5XWF9DTElFTlRJUFY2LFxuICAgIFRDQl9DT05URVhUX0tFWVM6IGVudk9iai5UQ0JfQ09OVEVYVF9LRVlTLFxuICAgIFRDQl9DT05URVhUX0NORkc6IGVudk9iai5UQ0JfQ09OVEVYVF9DTkZHLFxuICAgIExPR0lOVFlQRTogZW52T2JqLkxPR0lOVFlQRSxcbiAgfVxuXG4gIC8vIOesrOS6jOatpe+8muS7jiBjb250ZXh0IOS4reino+aekOeOr+Wig+WPmOmHj1xuICBsZXQgZW52RnJvbUNvbnRleHQ6IGFueSA9IHt9XG4gIGlmIChjb250ZXh0KSB7XG4gICAgY29uc3QgeyBlbnZpcm9ubWVudCwgZW52aXJvbiB9ID0gcGFyc2VDb250ZXh0KGNvbnRleHQpXG4gICAgZW52RnJvbUNvbnRleHQgPSBlbnZpcm9ubWVudCB8fCBlbnZpcm9uIHx8IHt9XG4gIH1cblxuICAvLyDnrKzkuInmraXvvJrmoLnmja4gQ09OVEVYVF9LRVlTIOWKqOaAgeaJqeWxleWPmOmHj+WIl+ihqO+8iOS8mOWFiOWPliBjb250ZXh0IOS4reeahOWAvO+8iVxuICBjb25zdCB0Y2JDb250ZXh0S2V5cyA9IGVudkZyb21Db250ZXh0LlRDQl9DT05URVhUX0tFWVMgfHwgZW52T2JqLlRDQl9DT05URVhUX0tFWVNcbiAgY29uc3Qgd3hDb250ZXh0S2V5cyA9IGVudkZyb21Db250ZXh0LldYX0NPTlRFWFRfS0VZUyB8fCBlbnZPYmouV1hfQ09OVEVYVF9LRVlTXG5cbiAgaWYgKHRjYkNvbnRleHRLZXlzKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRjYktleXNMaXN0ID0gdGNiQ29udGV4dEtleXMuc3BsaXQoJywnKVxuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRjYktleXNMaXN0KSB7XG4gICAgICAgIGVudkZyb21Qcm9jZXNzRW52W2l0ZW1dID0gZW52RnJvbUNvbnRleHRbaXRlbV0gfHwgZ2V0RW52KGl0ZW0pXG4gICAgICB9XG4gICAgfSBjYXRjaCAoX2UpIHtcbiAgICAgIC8vXG4gICAgfVxuICB9XG5cbiAgaWYgKHd4Q29udGV4dEtleXMpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgd3hLZXlzTGlzdCA9IHd4Q29udGV4dEtleXMuc3BsaXQoJywnKVxuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHd4S2V5c0xpc3QpIHtcbiAgICAgICAgZW52RnJvbVByb2Nlc3NFbnZbaXRlbV0gPSBlbnZGcm9tQ29udGV4dFtpdGVtXSB8fCBnZXRFbnYoaXRlbSlcbiAgICAgIH1cbiAgICB9IGNhdGNoIChfZSkge1xuICAgICAgLy9cbiAgICB9XG4gIH1cblxuICAvLyDnrKzlm5vmraXvvJrlkIjlubbmiYDmnInmnaXmupDvvIxjb250ZXh0IOeahOWAvOimhuebliBwcm9jZXNzLmVudu+8jOi/h+a7pCB1bmRlZmluZWRcbiAgY29uc3QgYWxsQ29udGV4dCA9IHsgLi4uZW52RnJvbVByb2Nlc3NFbnYsIC4uLmVudkZyb21Db250ZXh0IH1cblxuICBjb25zdCBmaW5hbENvbnRleHQ6IGFueSA9IHt9XG4gIGZvciAoY29uc3Qga2V5IGluIGFsbENvbnRleHQpIHtcbiAgICBpZiAoYWxsQ29udGV4dFtrZXldICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGZpbmFsQ29udGV4dFtrZXldID0gYWxsQ29udGV4dFtrZXldXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZpbmFsQ29udGV4dFxufVxuXG4vKiog57yT5a2YIGV4dGVuZGVkQ29udGV4dO+8jOS+m+WFtuS7luaooeWdl+ivu+WPlu+8iOWmgiB0b29sLnRzIOS4reiOt+WPliB1c2VySWTvvIkgKi9cbmV4cG9ydCBsZXQgSU5JVF9DT05GSUc6IElDbG91ZGJhc2VDb25maWcgPSB7fSBhcyB1bmtub3duIGFzIElDbG91ZGJhc2VDb25maWdcblxuLyoqXG4gKiDku47njq/looPlj5jph4/kuK3ojrflj5bohb7orq/kupHkuLTml7blr4bpkqXkv6Hmga9cbiAqIOeUqOS6jiBBUEkg6K+35rGC562+5ZCNXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRTZWNyZXRJbmZvID0gKGNvbmZpZz86IElDbG91ZGJhc2VDb25maWcpID0+IHtcbiAgSU5JVF9DT05GSUcgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGNvbmZpZyB8fCB7fSkpXG5cbiAgY29uc3QgeyBUQ0JfRU5WLCBTQ0ZfTkFNRVNQQUNFIH0gPSBnZXRDbG91ZGJhc2VDb250ZXh0KClcblxuICBsZXQgZW52ID0gY29uZmlnPy5lbnYgfHwgVENCX0VOViB8fCBTQ0ZfTkFNRVNQQUNFIHx8ICcnXG4gIGNvbnN0IGRlZmF1bHRJbmZvID0ge1xuICAgIGVudixcbiAgICBzZWNyZXRJZDogJycsXG4gICAgc2VjcmV0S2V5OiAnJyxcbiAgICBzZXNzaW9uVG9rZW46ICcnLFxuICAgIGFjY2Vzc0tleTogJycsXG4gICAgc2VjcmV0VHlwZTogJycsXG4gIH1cblxuICBpZiAoY29uZmlnPy5hY2Nlc3NLZXkpIHtcbiAgICByZXR1cm4gZGVmYXVsdEluZm9cbiAgfVxuXG4gIGlmIChjb25maWc/LmF1dGg/LnNlY3JldElkICYmIGNvbmZpZz8uYXV0aD8uc2VjcmV0S2V5KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRlZmF1bHRJbmZvLFxuICAgICAgc2VjcmV0SWQ6IGNvbmZpZy5hdXRoLnNlY3JldElkLFxuICAgICAgc2VjcmV0S2V5OiBjb25maWcuYXV0aC5zZWNyZXRLZXksXG4gICAgICBzZWNyZXRUeXBlOiBTRUNSRVRfVFlQRS5TRUNSRVQsXG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc2VjcmV0RW52ID0gZ2V0RW52KClcbiAgY29uc3QgeyBURU5DRU5UQ0xPVURfU0VDUkVUSUQgfSA9IHNlY3JldEVudlxuICBjb25zdCB7IFRFTkNFTlRDTE9VRF9TRUNSRVRLRVkgfSA9IHNlY3JldEVudlxuICBjb25zdCB7IFRFTkNFTlRDTE9VRF9TRVNTSU9OVE9LRU4gfSA9IHNlY3JldEVudlxuICBjb25zdCB7IENMT1VEQkFTRV9BUElLRVkgfSA9IHNlY3JldEVudlxuXG4gIGlmIChDTE9VREJBU0VfQVBJS0VZKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRlZmF1bHRJbmZvLFxuICAgICAgYWNjZXNzS2V5OiBDTE9VREJBU0VfQVBJS0VZLFxuICAgIH1cbiAgfVxuXG4gIGlmIChURU5DRU5UQ0xPVURfU0VDUkVUSUQgJiYgVEVOQ0VOVENMT1VEX1NFQ1JFVEtFWSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5kZWZhdWx0SW5mbyxcbiAgICAgIHNlY3JldElkOiBURU5DRU5UQ0xPVURfU0VDUkVUSUQsXG4gICAgICBzZWNyZXRLZXk6IFRFTkNFTlRDTE9VRF9TRUNSRVRLRVksXG4gICAgICBzZXNzaW9uVG9rZW46IFRFTkNFTlRDTE9VRF9TRVNTSU9OVE9LRU4gfHwgJycsXG4gICAgICBzZWNyZXRUeXBlOiBTRUNSRVRfVFlQRS5TRVNTSU9OX1NFQ1JFVCxcbiAgICB9XG4gIH1cblxuICBpZiAoY29uZmlnPy5jb250ZXh0Py5leHRlbmRlZENvbnRleHQpIHtcbiAgICBjb25zdCB7IGV4dGVuZGVkQ29udGV4dCB9ID0gY29uZmlnLmNvbnRleHRcbiAgICBpZiAoIWVudikge1xuICAgICAgZW52ID0gZXh0ZW5kZWRDb250ZXh0LmVudklkIHx8ICcnXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRlZmF1bHRJbmZvLFxuICAgICAgc2VjcmV0SWQ6IGV4dGVuZGVkQ29udGV4dD8udG1wU2VjcmV0Py5zZWNyZXRJZCB8fCAnJyxcbiAgICAgIHNlY3JldEtleTogZXh0ZW5kZWRDb250ZXh0Py50bXBTZWNyZXQ/LnNlY3JldEtleSB8fCAnJyxcbiAgICAgIHNlc3Npb25Ub2tlbjogZXh0ZW5kZWRDb250ZXh0Py50bXBTZWNyZXQ/LnRva2VuIHx8ICcnLFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IC4uLmRlZmF1bHRJbmZvIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SDKAdapterInterface } from '@cloudbase/adapter-interface';
|
|
2
|
+
import { ICloudbaseConfig } from '@cloudbase/types';
|
|
3
|
+
export { NodeRequest } from './request';
|
|
4
|
+
export { parseQueryString, createWebStreamFromNodeReadableStream } from './utils';
|
|
5
|
+
export type { ICreateTicketOpts, IGetUserInfoResult, IGetEndUserInfoResult, IUserInfoQuery, IContextParam, ICompleteCloudbaseContext, } from './types';
|
|
6
|
+
declare function isMatch(): boolean;
|
|
7
|
+
declare function genAdapter(options: any): SDKAdapterInterface & {
|
|
8
|
+
getSecretInfo: (config?: ICloudbaseConfig) => {
|
|
9
|
+
env: string;
|
|
10
|
+
secretId: string;
|
|
11
|
+
secretKey: string;
|
|
12
|
+
sessionToken: string;
|
|
13
|
+
accessKey: string;
|
|
14
|
+
secretType: string;
|
|
15
|
+
};
|
|
16
|
+
nodeTool: (app: any, config: ICloudbaseConfig) => void;
|
|
17
|
+
};
|
|
18
|
+
declare const adapter: {
|
|
19
|
+
genAdapter: typeof genAdapter;
|
|
20
|
+
isMatch: typeof isMatch;
|
|
21
|
+
runtime: string;
|
|
22
|
+
};
|
|
23
|
+
export default adapter;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.createWebStreamFromNodeReadableStream = exports.parseQueryString = exports.NodeRequest = void 0;
|
|
26
|
+
var adapter_interface_1 = require("@cloudbase/adapter-interface");
|
|
27
|
+
var request_1 = require("./request");
|
|
28
|
+
var tool_1 = require("./tool");
|
|
29
|
+
var context_1 = require("./context");
|
|
30
|
+
var utils_1 = require("./utils");
|
|
31
|
+
var _WS = null;
|
|
32
|
+
function getWS() {
|
|
33
|
+
if (!_WS) {
|
|
34
|
+
try {
|
|
35
|
+
_WS = require('ws');
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
throw new Error('缺少依赖 ws,请执行以下命令安装:\n\n'
|
|
39
|
+
+ ' npm install ws\n\n'
|
|
40
|
+
+ '该依赖用于 Node 环境下的 WebSocket 连接。');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return _WS;
|
|
44
|
+
}
|
|
45
|
+
var request_2 = require("./request");
|
|
46
|
+
Object.defineProperty(exports, "NodeRequest", { enumerable: true, get: function () { return request_2.NodeRequest; } });
|
|
47
|
+
var utils_2 = require("./utils");
|
|
48
|
+
Object.defineProperty(exports, "parseQueryString", { enumerable: true, get: function () { return utils_2.parseQueryString; } });
|
|
49
|
+
Object.defineProperty(exports, "createWebStreamFromNodeReadableStream", { enumerable: true, get: function () { return utils_2.createWebStreamFromNodeReadableStream; } });
|
|
50
|
+
function isMatch() {
|
|
51
|
+
return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
|
|
52
|
+
}
|
|
53
|
+
var storage = (function () {
|
|
54
|
+
var db = new Map();
|
|
55
|
+
return {
|
|
56
|
+
mode: 'sync',
|
|
57
|
+
setItem: function (key, value) {
|
|
58
|
+
db.set(key, value);
|
|
59
|
+
},
|
|
60
|
+
getItem: function (key) {
|
|
61
|
+
return db.get(key);
|
|
62
|
+
},
|
|
63
|
+
removeItem: function (key) {
|
|
64
|
+
db.delete(key);
|
|
65
|
+
},
|
|
66
|
+
clear: function () {
|
|
67
|
+
db.clear();
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
})();
|
|
71
|
+
function genAdapter(options) {
|
|
72
|
+
var adapter = {
|
|
73
|
+
nodeTool: tool_1.nodeTool,
|
|
74
|
+
getSecretInfo: context_1.getSecretInfo,
|
|
75
|
+
root: { globalThis: {} },
|
|
76
|
+
reqClass: request_1.NodeRequest,
|
|
77
|
+
wsClass: getWS(),
|
|
78
|
+
sessionStorage: storage,
|
|
79
|
+
localStorage: storage,
|
|
80
|
+
primaryStorage: adapter_interface_1.StorageType.session,
|
|
81
|
+
captchaOptions: {
|
|
82
|
+
openURIWithCallback: function (_url) {
|
|
83
|
+
var EventBus = options.EventBus;
|
|
84
|
+
var queryObj = {};
|
|
85
|
+
var url = _url;
|
|
86
|
+
var matched = _url.match(/^(data:.*?)(\?[^#\s]*)?$/);
|
|
87
|
+
if (matched) {
|
|
88
|
+
url = matched[1];
|
|
89
|
+
var search = matched[2];
|
|
90
|
+
if (search) {
|
|
91
|
+
queryObj = (0, utils_1.parseQueryString)(search);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
var token = queryObj.token, restQueryObj = __rest(queryObj, ["token"]);
|
|
95
|
+
if (/^data:/.test(url) && !token) {
|
|
96
|
+
return Promise.reject({
|
|
97
|
+
error: 'invalid_argument',
|
|
98
|
+
error_description: "invalie captcha data: ".concat(_url),
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
if (!token) {
|
|
102
|
+
return Promise.reject({
|
|
103
|
+
error: 'unimplemented',
|
|
104
|
+
error_description: 'need to impl captcha data',
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
return new Promise(function (resolve) {
|
|
108
|
+
EventBus.$emit('CAPTCHA_DATA_CHANGE', __assign(__assign({}, restQueryObj), { token: token, url: url }));
|
|
109
|
+
EventBus.$once('RESOLVE_CAPTCHA_DATA', function (res) {
|
|
110
|
+
resolve(res);
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
return adapter;
|
|
117
|
+
}
|
|
118
|
+
var adapter = {
|
|
119
|
+
genAdapter: genAdapter,
|
|
120
|
+
isMatch: isMatch,
|
|
121
|
+
runtime: 'node-adapter',
|
|
122
|
+
};
|
|
123
|
+
exports.default = adapter;
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGlicy9hZGFwdGVyLW5vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLGtFQUtxQztBQUVyQyxxQ0FBdUM7QUFDdkMsK0JBQWlDO0FBQ2pDLHFDQUF5QztBQUN6QyxpQ0FBMEM7QUFJMUMsSUFBSSxHQUFHLEdBQVEsSUFBSSxDQUFBO0FBQ25CLFNBQVMsS0FBSztJQUNaLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixJQUFJO1lBRUYsR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtTQUNwQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0I7a0JBQ3BDLHNCQUFzQjtrQkFDdEIsK0JBQStCLENBQUUsQ0FBQTtTQUN0QztLQUNGO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDO0FBR0QscUNBQXVDO0FBQTlCLHNHQUFBLFdBQVcsT0FBQTtBQUNwQixpQ0FBaUY7QUFBeEUseUdBQUEsZ0JBQWdCLE9BQUE7QUFBRSw4SEFBQSxxQ0FBcUMsT0FBQTtBQWNoRSxTQUFTLE9BQU87SUFFZCxPQUFPLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUE7QUFDcEcsQ0FBQztBQU1ELElBQU0sT0FBTyxHQUFxQixDQUFDO0lBQ2pDLElBQU0sRUFBRSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFDcEIsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxZQUFDLEdBQUcsRUFBRSxLQUFLO1lBQ2hCLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3BCLENBQUM7UUFDRCxPQUFPLFlBQUMsR0FBRztZQUNULE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNwQixDQUFDO1FBQ0QsVUFBVSxZQUFDLEdBQUc7WUFDWixFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2hCLENBQUM7UUFDRCxLQUFLO1lBQ0gsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ1osQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDLENBQUMsRUFBRSxDQUFBO0FBU0osU0FBUyxVQUFVLENBQUMsT0FBWTtJQUM5QixJQUFNLE9BQU8sR0FVVDtRQUNGLFFBQVEsaUJBQUE7UUFDUixhQUFhLHlCQUFBO1FBQ2IsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtRQUN4QixRQUFRLEVBQUUscUJBQVc7UUFDckIsT0FBTyxFQUFFLEtBQUssRUFBMEI7UUFDeEMsY0FBYyxFQUFFLE9BQU87UUFDdkIsWUFBWSxFQUFFLE9BQU87UUFDckIsY0FBYyxFQUFFLCtCQUFXLENBQUMsT0FBTztRQUNuQyxjQUFjLEVBQUU7WUFNZCxtQkFBbUIsRUFBRSxVQUFDLElBQVk7Z0JBQ3hCLElBQUEsUUFBUSxHQUFLLE9BQU8sU0FBWixDQUFZO2dCQUM1QixJQUFJLFFBQVEsR0FBc0MsRUFBRSxDQUFBO2dCQUNwRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUE7Z0JBR2QsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO2dCQUN0RCxJQUFJLE9BQU8sRUFBRTtvQkFDWCxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUNoQixJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ3pCLElBQUksTUFBTSxFQUFFO3dCQUNWLFFBQVEsR0FBRyxJQUFBLHdCQUFnQixFQUFDLE1BQU0sQ0FBQyxDQUFBO3FCQUNwQztpQkFDRjtnQkFFTyxJQUFBLEtBQUssR0FBc0IsUUFBUSxNQUE5QixFQUFLLFlBQVksVUFBSyxRQUFRLEVBQXJDLFNBQTBCLENBQUYsQ0FBYTtnQkFHM0MsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNoQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ3BCLEtBQUssRUFBRSxrQkFBa0I7d0JBQ3pCLGlCQUFpQixFQUFFLGdDQUF5QixJQUFJLENBQUU7cUJBQ25ELENBQUMsQ0FBQTtpQkFDSDtnQkFDRCxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNWLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQzt3QkFDcEIsS0FBSyxFQUFFLGVBQWU7d0JBQ3RCLGlCQUFpQixFQUFFLDJCQUEyQjtxQkFDL0MsQ0FBQyxDQUFBO2lCQUNIO2dCQUVELE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPO29CQUV6QixRQUFRLENBQUMsS0FBSyxDQUFDLHFCQUFxQix3QkFDL0IsWUFBWSxLQUNmLEtBQUssT0FBQSxFQUNMLEdBQUcsS0FBQSxJQUNILENBQUE7b0JBR0YsUUFBUSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxVQUFDLEdBQWtEO3dCQUN4RixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7b0JBQ2QsQ0FBQyxDQUFDLENBQUE7Z0JBQ0osQ0FBQyxDQUFDLENBQUE7WUFDSixDQUFDO1NBQ0Y7S0FDRixDQUFBO0lBQ0QsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQztBQUdELElBQU0sT0FBTyxHQUFHO0lBQ2QsVUFBVSxZQUFBO0lBQ1YsT0FBTyxTQUFBO0lBQ1AsT0FBTyxFQUFFLGNBQWM7Q0FDeEIsQ0FBQTtBQUVELGtCQUFlLE9BQU8sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHByZWZlci1kZXN0cnVjdHVyaW5nICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmltcG9ydCB7XG4gIFNES0FkYXB0ZXJJbnRlcmZhY2UsXG4gIFN0b3JhZ2VJbnRlcmZhY2UsXG4gIFN0b3JhZ2VUeXBlLFxuICBXZWJTb2NrZXRDb250cnVjdG9yIGFzIFdlYlNvY2tldENvbnN0cnVjdG9yLFxufSBmcm9tICdAY2xvdWRiYXNlL2FkYXB0ZXItaW50ZXJmYWNlJ1xuXG5pbXBvcnQgeyBOb2RlUmVxdWVzdCB9IGZyb20gJy4vcmVxdWVzdCdcbmltcG9ydCB7IG5vZGVUb29sIH0gZnJvbSAnLi90b29sJ1xuaW1wb3J0IHsgZ2V0U2VjcmV0SW5mbyB9IGZyb20gJy4vY29udGV4dCdcbmltcG9ydCB7IHBhcnNlUXVlcnlTdHJpbmcgfSBmcm9tICcuL3V0aWxzJ1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNvbmZpZyB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMnXG5cbi8vIHdzIOW7tui/n+WKoOi9ve+8jOmBv+WFjemdniBOb2RlIOeOr+Wig+aJk+WMheaXtuW8leWFpVxubGV0IF9XUzogYW55ID0gbnVsbFxuZnVuY3Rpb24gZ2V0V1MoKSB7XG4gIGlmICghX1dTKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgICBfV1MgPSByZXF1aXJlKCd3cycpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCfnvLrlsJHkvp3otZYgd3PvvIzor7fmiafooYzku6XkuIvlkb3ku6Tlronoo4XvvJpcXG5cXG4nXG4gICAgICAgICsgJyAgbnBtIGluc3RhbGwgd3NcXG5cXG4nXG4gICAgICAgICsgJ+ivpeS+nei1lueUqOS6jiBOb2RlIOeOr+Wig+S4i+eahCBXZWJTb2NrZXQg6L+e5o6l44CCJywpXG4gICAgfVxuICB9XG4gIHJldHVybiBfV1Ncbn1cblxuLy8gUmUtZXhwb3J0IGZvciBleHRlcm5hbCBjb25zdW1lcnNcbmV4cG9ydCB7IE5vZGVSZXF1ZXN0IH0gZnJvbSAnLi9yZXF1ZXN0J1xuZXhwb3J0IHsgcGFyc2VRdWVyeVN0cmluZywgY3JlYXRlV2ViU3RyZWFtRnJvbU5vZGVSZWFkYWJsZVN0cmVhbSB9IGZyb20gJy4vdXRpbHMnXG5leHBvcnQgdHlwZSB7XG4gIElDcmVhdGVUaWNrZXRPcHRzLFxuICBJR2V0VXNlckluZm9SZXN1bHQsXG4gIElHZXRFbmRVc2VySW5mb1Jlc3VsdCxcbiAgSVVzZXJJbmZvUXVlcnksXG4gIElDb250ZXh0UGFyYW0sXG4gIElDb21wbGV0ZUNsb3VkYmFzZUNvbnRleHQsXG59IGZyb20gJy4vdHlwZXMnXG5cbi8qKlxuICog546v5aKD5Yy56YWN5qOA5rWL77ya5Yik5pat5b2T5YmN6L+Q6KGM546v5aKD5piv5ZCm5Li6IE5vZGUuanNcbiAqIFNESyDpgJrov4fmraTmlrnms5XlhrPlrprmmK/lkKbkvb/nlKjlvZPliY0gYWRhcHRlclxuICovXG5mdW5jdGlvbiBpc01hdGNoKCk6IGJvb2xlYW4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXFlcWVxXG4gIHJldHVybiB0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvY2Vzcy52ZXJzaW9ucyAhPSBudWxsICYmIHByb2Nlc3MudmVyc2lvbnMubm9kZSAhPSBudWxsXG59XG5cbi8qKlxuICog5Z+65LqOIE1hcCDnmoTlhoXlrZjlrZjlgqjlrp7njrBcbiAqIE5vZGUuanMg546v5aKD5LiL5peg5rWP6KeI5ZmoIFN0b3JhZ2UgQVBJ77yM5L2/55So5YaF5a2YIE1hcCDmqKHmi59cbiAqL1xuY29uc3Qgc3RvcmFnZTogU3RvcmFnZUludGVyZmFjZSA9ICgoKSA9PiB7XG4gIGNvbnN0IGRiID0gbmV3IE1hcCgpXG4gIHJldHVybiB7XG4gICAgbW9kZTogJ3N5bmMnLFxuICAgIHNldEl0ZW0oa2V5LCB2YWx1ZSkge1xuICAgICAgZGIuc2V0KGtleSwgdmFsdWUpXG4gICAgfSxcbiAgICBnZXRJdGVtKGtleSkge1xuICAgICAgcmV0dXJuIGRiLmdldChrZXkpXG4gICAgfSxcbiAgICByZW1vdmVJdGVtKGtleSkge1xuICAgICAgZGIuZGVsZXRlKGtleSlcbiAgICB9LFxuICAgIGNsZWFyKCkge1xuICAgICAgZGIuY2xlYXIoKVxuICAgIH0sXG4gIH1cbn0pKClcblxuLyoqXG4gKiDnlJ/miJAgTm9kZS5qcyDnjq/looPnmoQgU0RLIEFkYXB0ZXJcbiAqIOe7hOijheivt+axguexu+OAgeWtmOWCqOOAgVdlYlNvY2tldOOAgeiupOivgeetieiDveWKm1xuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0g6YWN572u6aG577yM5YyF5ZCrIEV2ZW50QnVz77yI55So5LqO6aqM6K+B56CB5Zue6LCD77yJXG4gKiBAcmV0dXJucyBTREsgQWRhcHRlciDlrp7kvotcbiAqL1xuZnVuY3Rpb24gZ2VuQWRhcHRlcihvcHRpb25zOiBhbnkpIHtcbiAgY29uc3QgYWRhcHRlcjogU0RLQWRhcHRlckludGVyZmFjZSAmIHtcbiAgICBnZXRTZWNyZXRJbmZvOiAoY29uZmlnPzogSUNsb3VkYmFzZUNvbmZpZykgPT4ge1xuICAgICAgZW52OiBzdHJpbmdcbiAgICAgIHNlY3JldElkOiBzdHJpbmdcbiAgICAgIHNlY3JldEtleTogc3RyaW5nXG4gICAgICBzZXNzaW9uVG9rZW46IHN0cmluZ1xuICAgICAgYWNjZXNzS2V5OiBzdHJpbmdcbiAgICAgIHNlY3JldFR5cGU6IHN0cmluZ1xuICAgIH1cbiAgICBub2RlVG9vbDogKGFwcDogYW55LCBjb25maWc6IElDbG91ZGJhc2VDb25maWcpID0+IHZvaWRcbiAgfSA9IHtcbiAgICBub2RlVG9vbCxcbiAgICBnZXRTZWNyZXRJbmZvLFxuICAgIHJvb3Q6IHsgZ2xvYmFsVGhpczoge30gfSxcbiAgICByZXFDbGFzczogTm9kZVJlcXVlc3QsXG4gICAgd3NDbGFzczogZ2V0V1MoKSBhcyBXZWJTb2NrZXRDb25zdHJ1Y3RvcixcbiAgICBzZXNzaW9uU3RvcmFnZTogc3RvcmFnZSxcbiAgICBsb2NhbFN0b3JhZ2U6IHN0b3JhZ2UsXG4gICAgcHJpbWFyeVN0b3JhZ2U6IFN0b3JhZ2VUeXBlLnNlc3Npb24sXG4gICAgY2FwdGNoYU9wdGlvbnM6IHtcbiAgICAgIC8qKlxuICAgICAgICog6aqM6K+B56CB5aSE55CG5Zue6LCDXG4gICAgICAgKiDop6PmnpAgZGF0YTogVVJJIOS4reeahOmqjOivgeeggeWPguaVsO+8jOmAmui/hyBFdmVudEJ1cyDpgJrnn6XkuJrliqHlsYJcbiAgICAgICAqIOetieW+heS4muWKoeWxgui/lOWbnumqjOivgee7k+aenOWQjiByZXNvbHZlXG4gICAgICAgKi9cbiAgICAgIG9wZW5VUklXaXRoQ2FsbGJhY2s6IChfdXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgeyBFdmVudEJ1cyB9ID0gb3B0aW9uc1xuICAgICAgICBsZXQgcXVlcnlPYmo6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPiA9IHt9XG4gICAgICAgIGxldCB1cmwgPSBfdXJsXG5cbiAgICAgICAgLy8g5LuOIGRhdGE6IFVSSSDkuK3mj5Dlj5bmn6Xor6Llj4LmlbBcbiAgICAgICAgY29uc3QgbWF0Y2hlZCA9IF91cmwubWF0Y2goL14oZGF0YTouKj8pKFxcP1teI1xcc10qKT8kLylcbiAgICAgICAgaWYgKG1hdGNoZWQpIHtcbiAgICAgICAgICB1cmwgPSBtYXRjaGVkWzFdXG4gICAgICAgICAgY29uc3Qgc2VhcmNoID0gbWF0Y2hlZFsyXVxuICAgICAgICAgIGlmIChzZWFyY2gpIHtcbiAgICAgICAgICAgIHF1ZXJ5T2JqID0gcGFyc2VRdWVyeVN0cmluZyhzZWFyY2gpXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyB0b2tlbiwgLi4ucmVzdFF1ZXJ5T2JqIH0gPSBxdWVyeU9ialxuXG4gICAgICAgIC8vIGRhdGE6IOWNj+iuruS9huaXoCB0b2tlbu+8jOinhuS4uuaXoOaViOmqjOivgeeggeaVsOaNrlxuICAgICAgICBpZiAoL15kYXRhOi8udGVzdCh1cmwpICYmICF0b2tlbikge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCh7XG4gICAgICAgICAgICBlcnJvcjogJ2ludmFsaWRfYXJndW1lbnQnLFxuICAgICAgICAgICAgZXJyb3JfZGVzY3JpcHRpb246IGBpbnZhbGllIGNhcHRjaGEgZGF0YTogJHtfdXJsfWAsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHtcbiAgICAgICAgICAgIGVycm9yOiAndW5pbXBsZW1lbnRlZCcsXG4gICAgICAgICAgICBlcnJvcl9kZXNjcmlwdGlvbjogJ25lZWQgdG8gaW1wbCBjYXB0Y2hhIGRhdGEnLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAvLyDpgJrnn6XkuJrliqHlsYLlsZXnpLrpqozor4HnoIFcbiAgICAgICAgICBFdmVudEJ1cy4kZW1pdCgnQ0FQVENIQV9EQVRBX0NIQU5HRScsIHtcbiAgICAgICAgICAgIC4uLnJlc3RRdWVyeU9iaixcbiAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICAvLyDnrYnlvoXkuJrliqHlsYLov5Tlm57pqozor4Hnu5PmnpxcbiAgICAgICAgICBFdmVudEJ1cy4kb25jZSgnUkVTT0xWRV9DQVBUQ0hBX0RBVEEnLCAocmVzOiB7IGNhcHRjaGFfdG9rZW46IHN0cmluZzsgZXhwaXJlc19pbjogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUocmVzKVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgIH0sXG4gIH1cbiAgcmV0dXJuIGFkYXB0ZXJcbn1cblxuLyoqIE5vZGUuanMgQWRhcHRlciDlhaXlj6Plr7zlh7ogKi9cbmNvbnN0IGFkYXB0ZXIgPSB7XG4gIGdlbkFkYXB0ZXIsXG4gIGlzTWF0Y2gsXG4gIHJ1bnRpbWU6ICdub2RlLWFkYXB0ZXInLFxufVxuXG5leHBvcnQgZGVmYXVsdCBhZGFwdGVyXG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const kMetadataBaseUrl = "http://metadata.tencentyun.com";
|
|
2
|
+
export declare const kAppIdPath = "meta-data/app-id";
|
|
3
|
+
export declare const kSecurityCredentialsPath = "meta-data/cam/security-credentials";
|
|
4
|
+
export declare enum kMetadataVersions {
|
|
5
|
+
'v20170919' = "2017-09-19",
|
|
6
|
+
'v1.0' = "1.0",
|
|
7
|
+
'latest' = "latest"
|
|
8
|
+
}
|
|
9
|
+
export declare function isAppId(appIdStr: string): boolean;
|
|
10
|
+
export declare function lookup(path: string, options?: {
|
|
11
|
+
timeout?: number;
|
|
12
|
+
}): Promise<string>;
|
|
13
|
+
export declare function lookupAppId(): Promise<string>;
|
|
14
|
+
export declare function lookupCredentials(ruleName: string): Promise<string>;
|