@cloudbase/oauth 0.1.1-alpha.12 → 0.1.1-alpha.14

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.
Files changed (70) hide show
  1. package/dist/app/index.d.ts +4 -4
  2. package/dist/app/openuri.d.ts +1 -1
  3. package/dist/app/request.d.ts +1 -1
  4. package/dist/auth/consts.d.ts +3 -2
  5. package/dist/auth/consts.js +3 -2
  6. package/dist/auth/index.d.ts +15 -4
  7. package/dist/auth/index.js +15 -4
  8. package/dist/auth/models.d.ts +5 -5
  9. package/dist/oauthclient/index.d.ts +4 -4
  10. package/dist/oauthclient/interface.d.ts +1 -1
  11. package/dist/oauthclient/oauthclient.js +1 -1
  12. package/dist/package.json +1 -1
  13. package/package.json +1 -1
  14. package/packages/app/dist/cjs/constants/common.d.ts +24 -0
  15. package/packages/app/dist/cjs/constants/common.js +68 -0
  16. package/packages/app/dist/cjs/index.d.ts +4 -0
  17. package/packages/app/dist/cjs/index.js +248 -0
  18. package/packages/app/dist/cjs/libs/adapter.d.ts +2 -0
  19. package/packages/app/dist/cjs/libs/adapter.js +5 -0
  20. package/packages/app/dist/cjs/libs/cache.d.ts +6 -0
  21. package/packages/app/dist/cjs/libs/cache.js +38 -0
  22. package/packages/app/dist/cjs/libs/component.d.ts +3 -0
  23. package/packages/app/dist/cjs/libs/component.js +126 -0
  24. package/packages/app/dist/cjs/libs/request.d.ts +28 -0
  25. package/packages/app/dist/cjs/libs/request.js +297 -0
  26. package/packages/app/dist/esm/constants/common.d.ts +24 -0
  27. package/packages/app/dist/esm/constants/common.js +57 -0
  28. package/packages/app/dist/esm/index.d.ts +4 -0
  29. package/packages/app/dist/esm/index.js +241 -0
  30. package/packages/app/dist/esm/libs/adapter.d.ts +2 -0
  31. package/packages/app/dist/esm/libs/adapter.js +2 -0
  32. package/packages/app/dist/esm/libs/cache.d.ts +6 -0
  33. package/packages/app/dist/esm/libs/cache.js +32 -0
  34. package/packages/app/dist/esm/libs/component.d.ts +3 -0
  35. package/packages/app/dist/esm/libs/component.js +121 -0
  36. package/packages/app/dist/esm/libs/request.d.ts +28 -0
  37. package/packages/app/dist/esm/libs/request.js +292 -0
  38. package/packages/auth/dist/cjs/index.d.ts +118 -0
  39. package/packages/auth/dist/cjs/index.js +1088 -0
  40. package/packages/auth/dist/esm/index.d.ts +118 -0
  41. package/packages/auth/dist/esm/index.js +1084 -0
  42. package/packages/cloudbase/app/dist/index.esm.js +10 -0
  43. package/packages/cloudbase/auth/dist/index.esm.js +4 -0
  44. package/packages/cloudbase/dist/index.cjs.js +31 -0
  45. package/packages/cloudbase/dist/index.esm.js +26 -0
  46. package/packages/cloudbase/functions/dist/index.esm.js +4 -0
  47. package/packages/cloudbase/storage/dist/index.esm.js +4 -0
  48. package/packages/functions/dist/cjs/index.d.ts +2 -0
  49. package/packages/functions/dist/cjs/index.js +165 -0
  50. package/packages/functions/dist/esm/index.d.ts +2 -0
  51. package/packages/functions/dist/esm/index.js +161 -0
  52. package/packages/oauth/dist/cjs/auth/apis.d.ts +5 -1
  53. package/packages/oauth/dist/cjs/auth/apis.js +52 -1
  54. package/packages/oauth/dist/cjs/auth/consts.d.ts +5 -1
  55. package/packages/oauth/dist/cjs/auth/consts.js +5 -1
  56. package/packages/oauth/dist/cjs/auth/models.d.ts +26 -0
  57. package/packages/oauth/dist/cjs/auth/models.js +1 -1
  58. package/packages/oauth/dist/esm/auth/apis.d.ts +5 -1
  59. package/packages/oauth/dist/esm/auth/apis.js +52 -1
  60. package/packages/oauth/dist/esm/auth/consts.d.ts +5 -1
  61. package/packages/oauth/dist/esm/auth/consts.js +5 -1
  62. package/packages/oauth/dist/esm/auth/models.d.ts +26 -0
  63. package/packages/oauth/dist/esm/auth/models.js +1 -1
  64. package/packages/storage/dist/cjs/index.d.ts +2 -0
  65. package/packages/storage/dist/cjs/index.js +426 -0
  66. package/packages/storage/dist/esm/index.d.ts +2 -0
  67. package/packages/storage/dist/esm/index.js +422 -0
  68. package/src/auth/consts.ts +3 -2
  69. package/src/auth/index.ts +26 -8
  70. package/src/auth/models.ts +5 -5
@@ -0,0 +1,38 @@
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.getLocalCache = exports.getCacheByEnvId = exports.initCache = void 0;
15
+ var utilities_1 = require("@cloudbase/utilities");
16
+ var USER_INFO_KEY = 'user_info';
17
+ var CloudbaseCache = utilities_1.cache.CloudbaseCache;
18
+ var cacheMap = {};
19
+ var localCacheMap = {};
20
+ function initCache(config) {
21
+ var env = config.env, platformInfo = config.platformInfo;
22
+ var userInfoKey = "".concat(USER_INFO_KEY, "_").concat(env);
23
+ var keys = {
24
+ userInfoKey: userInfoKey,
25
+ };
26
+ cacheMap[env] = cacheMap[env] || (new CloudbaseCache(__assign(__assign({}, config), { keys: keys, platformInfo: platformInfo })));
27
+ localCacheMap[env] = localCacheMap[env] || new CloudbaseCache(__assign(__assign({}, config), { keys: keys, platformInfo: platformInfo, persistence: 'local' }));
28
+ }
29
+ exports.initCache = initCache;
30
+ function getCacheByEnvId(env) {
31
+ return cacheMap[env];
32
+ }
33
+ exports.getCacheByEnvId = getCacheByEnvId;
34
+ function getLocalCache(env) {
35
+ return localCacheMap[env];
36
+ }
37
+ exports.getLocalCache = getLocalCache;
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGlicy9jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUNBLGtEQUE0QztBQUc1QyxJQUFNLGFBQWEsR0FBRyxXQUFXLENBQUE7QUFFekIsSUFBQSxjQUFjLEdBQUssaUJBQUssZUFBVixDQUFVO0FBRWhDLElBQU0sUUFBUSxHQUF3QixFQUFFLENBQUE7QUFFeEMsSUFBTSxhQUFhLEdBQXdCLEVBQUUsQ0FBQTtBQUU3QyxTQUFnQixTQUFTLENBQUMsTUFBc0M7SUFDdEQsSUFBQSxHQUFHLEdBQW1CLE1BQU0sSUFBekIsRUFBRSxZQUFZLEdBQUssTUFBTSxhQUFYLENBQVc7SUFFcEMsSUFBTSxXQUFXLEdBQUcsVUFBRyxhQUFhLGNBQUksR0FBRyxDQUFFLENBQUE7SUFFN0MsSUFBTSxJQUFJLEdBQUc7UUFDWCxXQUFXLGFBQUE7S0FDWixDQUFBO0lBRUQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyx1QkFDL0MsTUFBTSxLQUNULElBQUksTUFBQSxFQUNKLFlBQVksY0FBQSxJQUNaLENBQUMsQ0FBQTtJQUNILGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxjQUFjLHVCQUN4RCxNQUFNLEtBQ1QsSUFBSSxNQUFBLEVBQ0osWUFBWSxjQUFBLEVBQ1osV0FBVyxFQUFFLE9BQU8sSUFDcEIsQ0FBQTtBQUNKLENBQUM7QUFwQkQsOEJBb0JDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLEdBQVc7SUFDekMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDdEIsQ0FBQztBQUZELDBDQUVDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLEdBQVc7SUFDdkMsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDM0IsQ0FBQztBQUZELHNDQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS1YgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzJ1xuaW1wb3J0IHsgY2FjaGUgfSBmcm9tICdAY2xvdWRiYXNlL3V0aWxpdGllcydcbmltcG9ydCB7IElDbG91ZGJhc2VDYWNoZSwgSUNhY2hlQ29uZmlnIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9jYWNoZSdcblxuY29uc3QgVVNFUl9JTkZPX0tFWSA9ICd1c2VyX2luZm8nXG5cbmNvbnN0IHsgQ2xvdWRiYXNlQ2FjaGUgfSA9IGNhY2hlXG5cbmNvbnN0IGNhY2hlTWFwOiBLVjxJQ2xvdWRiYXNlQ2FjaGU+ID0ge31cbi8vIOacrOWcsOWtmOWCqFxuY29uc3QgbG9jYWxDYWNoZU1hcDogS1Y8SUNsb3VkYmFzZUNhY2hlPiA9IHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0Q2FjaGUoY29uZmlnOiBJQ2FjaGVDb25maWcgJiB7IGVudjogc3RyaW5nIH0pIHtcbiAgY29uc3QgeyBlbnYsIHBsYXRmb3JtSW5mbyB9ID0gY29uZmlnXG5cbiAgY29uc3QgdXNlckluZm9LZXkgPSBgJHtVU0VSX0lORk9fS0VZfV8ke2Vudn1gXG5cbiAgY29uc3Qga2V5cyA9IHtcbiAgICB1c2VySW5mb0tleSxcbiAgfVxuICAvLyDoi6XmjIflrpplbnblt7LlrZjlnKhjYWNoZeWImeWwneivleabtOaWsHBlcnNpc3RlbmNlXG4gIGNhY2hlTWFwW2Vudl0gPSBjYWNoZU1hcFtlbnZdIHx8IChuZXcgQ2xvdWRiYXNlQ2FjaGUoe1xuICAgIC4uLmNvbmZpZyxcbiAgICBrZXlzLFxuICAgIHBsYXRmb3JtSW5mbyxcbiAgfSkpXG4gIGxvY2FsQ2FjaGVNYXBbZW52XSA9IGxvY2FsQ2FjaGVNYXBbZW52XSB8fCBuZXcgQ2xvdWRiYXNlQ2FjaGUoe1xuICAgIC4uLmNvbmZpZyxcbiAgICBrZXlzLFxuICAgIHBsYXRmb3JtSW5mbyxcbiAgICBwZXJzaXN0ZW5jZTogJ2xvY2FsJyxcbiAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENhY2hlQnlFbnZJZChlbnY6IHN0cmluZyk6IElDbG91ZGJhc2VDYWNoZSB7XG4gIHJldHVybiBjYWNoZU1hcFtlbnZdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhbENhY2hlKGVudjogc3RyaW5nKTogSUNsb3VkYmFzZUNhY2hlIHtcbiAgcmV0dXJuIGxvY2FsQ2FjaGVNYXBbZW52XVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ import { ICloudbaseComponent, ICloudbaseHook } from '@cloudbase/types/component';
2
+ export declare function registerComponent(app: any, component: ICloudbaseComponent): void;
3
+ export declare function registerHook(app: any, hook: ICloudbaseHook): void;
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.registerHook = exports.registerComponent = void 0;
13
+ var utilities_1 = require("@cloudbase/utilities");
14
+ var ERRORS = utilities_1.constants.ERRORS;
15
+ var components = {};
16
+ function registerComponent(app, component) {
17
+ var name = component.name, namespace = component.namespace, entity = component.entity, injectEvents = component.injectEvents, _a = component.IIFE, IIFE = _a === void 0 ? false : _a;
18
+ if (components[name] || (namespace && app[namespace])) {
19
+ throw new Error(JSON.stringify({
20
+ code: ERRORS.INVALID_OPERATION,
21
+ msg: "Duplicate component ".concat(name),
22
+ }));
23
+ }
24
+ if (IIFE) {
25
+ if (!entity || typeof entity !== 'function') {
26
+ throw new Error(JSON.stringify({
27
+ code: ERRORS.INVALID_PARAMS,
28
+ msg: 'IIFE component\'s entity must be a function',
29
+ }));
30
+ }
31
+ entity.call(app);
32
+ }
33
+ components[name] = component;
34
+ if (namespace) {
35
+ app.prototype[namespace] = entity;
36
+ }
37
+ else {
38
+ deepExtend(app.prototype, entity);
39
+ }
40
+ if (injectEvents) {
41
+ var bus = injectEvents.bus, events = injectEvents.events;
42
+ if (!bus || !events || events.length === 0) {
43
+ return;
44
+ }
45
+ var originCallback_1 = app.prototype.fire || function () { };
46
+ if (!app.prototype.events) {
47
+ app.prototype.events = {};
48
+ }
49
+ var originEvents = app.prototype.events || {};
50
+ if (originEvents[name]) {
51
+ app.prototype.events[name].events = __spreadArray(__spreadArray([], app.prototype.events[name].events, true), events, true);
52
+ }
53
+ else {
54
+ app.prototype.events[name] = { bus: bus, events: events };
55
+ }
56
+ app.prototype.fire = function (eventName, data) {
57
+ originCallback_1(eventName, data);
58
+ var eventNames = Object.keys(this.events);
59
+ for (var _i = 0, eventNames_1 = eventNames; _i < eventNames_1.length; _i++) {
60
+ var name_1 = eventNames_1[_i];
61
+ var _a = this.events[name_1], bus_1 = _a.bus, eventList = _a.events;
62
+ if (eventList.includes(eventName)) {
63
+ bus_1.fire(eventName, data);
64
+ break;
65
+ }
66
+ }
67
+ };
68
+ }
69
+ }
70
+ exports.registerComponent = registerComponent;
71
+ function deepExtend(target, source) {
72
+ if (!(source instanceof Object)) {
73
+ return source;
74
+ }
75
+ switch (source.constructor) {
76
+ case Date: {
77
+ var dateValue = source;
78
+ return new Date(dateValue.getTime());
79
+ }
80
+ case Object:
81
+ if (target === undefined) {
82
+ target = {};
83
+ }
84
+ break;
85
+ case Array:
86
+ target = [];
87
+ break;
88
+ default:
89
+ return source;
90
+ }
91
+ var sourceKeys = Object.keys(source);
92
+ for (var _i = 0, sourceKeys_1 = sourceKeys; _i < sourceKeys_1.length; _i++) {
93
+ var key = sourceKeys_1[_i];
94
+ if (!Object.prototype.hasOwnProperty.call(source, key)) {
95
+ continue;
96
+ }
97
+ target[key] = deepExtend(target[key], source[key]);
98
+ }
99
+ return target;
100
+ }
101
+ function registerHook(app, hook) {
102
+ var entity = hook.entity, target = hook.target;
103
+ if (Object.prototype.hasOwnProperty.call(app, target)) {
104
+ throw new Error(JSON.stringify({
105
+ code: ERRORS.INVALID_OPERATION,
106
+ msg: "target:".concat(target, " is not exist"),
107
+ }));
108
+ }
109
+ var originMethod = app.prototype[target];
110
+ if (typeof originMethod !== 'function') {
111
+ throw new Error(JSON.stringify({
112
+ code: ERRORS.INVALID_OPERATION,
113
+ msg: "target:".concat(target, " is not a function which is the only type supports hook"),
114
+ }));
115
+ }
116
+ app.prototype[target] = function () {
117
+ var args = [];
118
+ for (var _i = 0; _i < arguments.length; _i++) {
119
+ args[_i] = arguments[_i];
120
+ }
121
+ entity.call.apply(entity, __spreadArray([this], args, false));
122
+ return originMethod.call.apply(originMethod, __spreadArray([this], args, false));
123
+ };
124
+ }
125
+ exports.registerHook = registerHook;
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYnMvY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVBLGtEQUFnRDtBQUV4QyxJQUFBLE1BQU0sR0FBSyxxQkFBUyxPQUFkLENBQWM7QUFFNUIsSUFBTSxVQUFVLEdBQTRCLEVBQUUsQ0FBQTtBQUU5QyxTQUFnQixpQkFBaUIsQ0FBQyxHQUFRLEVBQUUsU0FBOEI7SUFDaEUsSUFBQSxJQUFJLEdBQW9ELFNBQVMsS0FBN0QsRUFBRSxTQUFTLEdBQXlDLFNBQVMsVUFBbEQsRUFBRSxNQUFNLEdBQWlDLFNBQVMsT0FBMUMsRUFBRSxZQUFZLEdBQW1CLFNBQVMsYUFBNUIsRUFBRSxLQUFpQixTQUFTLEtBQWQsRUFBWixJQUFJLG1CQUFHLEtBQUssS0FBQSxDQUFjO0lBRXpFLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFO1FBQ3JELE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLGlCQUFpQjtZQUM5QixHQUFHLEVBQUUsOEJBQXVCLElBQUksQ0FBRTtTQUNuQyxDQUFDLENBQUMsQ0FBQTtLQUNKO0lBRUQsSUFBSSxJQUFJLEVBQUU7UUFDUixJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsRUFBRTtZQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQzdCLElBQUksRUFBRSxNQUFNLENBQUMsY0FBYztnQkFDM0IsR0FBRyxFQUFFLDZDQUE2QzthQUNuRCxDQUFDLENBQUMsQ0FBQTtTQUNKO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtLQUNqQjtJQUVELFVBQVUsQ0FBQyxJQUFJ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WSxFQUFaLHFCQUFZLEVBQVosSUFBWTtZQUFaLHlCQUFZOztRQUM1QyxNQUFNLENBQUMsSUFBSSxPQUFYLE1BQU0saUJBQU0sSUFBSSxHQUFLLElBQUksVUFBQztRQUMxQixPQUFPLFlBQVksQ0FBQyxJQUFJLE9BQWpCLFlBQVksaUJBQU0sSUFBSSxHQUFLLElBQUksVUFBQztJQUN6QyxDQUFDLENBQUE7QUFDSCxDQUFDO0FBbkJELG9DQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtWIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IElDbG91ZGJhc2VDb21wb25lbnQsIElDbG91ZGJhc2VIb29rIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9jb21wb25lbnQnXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICdAY2xvdWRiYXNlL3V0aWxpdGllcydcblxuY29uc3QgeyBFUlJPUlMgfSA9IGNvbnN0YW50c1xuXG5jb25zdCBjb21wb25lbnRzOiBLVjxJQ2xvdWRiYXNlQ29tcG9uZW50PiA9IHt9XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbXBvbmVudChhcHA6IGFueSwgY29tcG9uZW50OiBJQ2xvdWRiYXNlQ29tcG9uZW50KSB7XG4gIGNvbnN0IHsgbmFtZSwgbmFtZXNwYWNlLCBlbnRpdHksIGluamVjdEV2ZW50cywgSUlGRSA9IGZhbHNlIH0gPSBjb21wb25lbnRcbiAgLy8g5LiN5YWB6K646YeN5aSN5rOo5YaM5oiW5ZG95ZCN56m66Ze06YeN5ZCNXG4gIGlmIChjb21wb25lbnRzW25hbWVdIHx8IChuYW1lc3BhY2UgJiYgYXBwW25hbWVzcGFjZV0pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGNvZGU6IEVSUk9SUy5JTlZBTElEX09QRVJBVElPTixcbiAgICAgIG1zZzogYER1cGxpY2F0ZSBjb21wb25lbnQgJHtuYW1lfWAsXG4gICAgfSkpXG4gIH1cbiAgLy8gSUlGReexu+Wei+eahOe7hOS7tuS7pWFwcOS4unNjb3Bl5omn6KGMZW50aXR55Ye95pWw77yM5LiN5oyC6L295YiwYXBwLnByb3RvdHlwZeS4ilxuICBpZiAoSUlGRSkge1xuICAgIGlmICghZW50aXR5IHx8IHR5cGVvZiBlbnRpdHkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGNvZGU6IEVSUk9SUy5JTlZBTElEX1BBUkFNUyxcbiAgICAgICAgbXNnOiAnSUlGRSBjb21wb25lbnRcXCdzIGVudGl0eSBtdXN0IGJlIGEgZnVuY3Rpb24nLFxuICAgICAgfSkpXG4gICAgfVxuICAgIGVudGl0eS5jYWxsKGFwcClcbiAgfVxuXG4gIGNvbXBvbmVudHNbbmFtZV0gPSBjb21wb25lbnRcblxuICBpZiAobmFtZXNwYWNlKSB7XG4gICAgKGFwcCBhcyBhbnkpLnByb3RvdHlwZVtuYW1lc3BhY2VdID0gZW50aXR5XG4gIH0gZWxzZSB7XG4gICAgZGVlcEV4dGVuZCgoYXBwIGFzIGFueSkucHJvdG90eXBlLCBlbnRpdHkpXG4gIH1cbiAgaWYgKGluamVjdEV2ZW50cykge1xuICAgIGNvbnN0IHsgYnVzLCBldmVudHMgfSA9IGluamVjdEV2ZW50c1xuICAgIGlmICghYnVzIHx8ICFldmVudHMgfHwgZXZlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IG9yaWdpbkNhbGxiYWNrID0gKGFwcCBhcyBhbnkpLnByb3RvdHlwZS5maXJlIHx8IGZ1bmN0aW9uICgpIHt9XG4gICAgaWYgKCEoYXBwIGFzIGFueSkucHJvdG90eXBlLmV2ZW50cykge1xuICAgICAgKGFwcCBhcyBhbnkpLnByb3RvdHlwZS5ldmVudHMgPSB7fVxuICAgIH1cbiAgICBjb25zdCBvcmlnaW5FdmVudHM6IEtWPGFueT4gPSAoYXBwIGFzIGFueSkucHJvdG90eXBlLmV2ZW50cyB8fCB7fVxuICAgIGlmIChvcmlnaW5FdmVudHNbbmFtZV0pIHtcbiAgICAgIChhcHAgYXMgYW55KS5wcm90b3R5cGUuZXZlbnRzW25hbWVdLmV2ZW50cyA9IFsuLi4oYXBwIGFzIGFueSkucHJvdG90eXBlLmV2ZW50c1tuYW1lXS5ldmVudHMsIC4uLmV2ZW50c11cbiAgICB9IGVsc2Uge1xuICAgICAgKGFwcCBhcyBhbnkpLnByb3RvdHlwZS5ldmVudHNbbmFtZV0gPSB7IGJ1cywgZXZlbnRzIH1cbiAgICB9XG4gICAgKGFwcCBhcyBhbnkpLnByb3RvdHlwZS5maXJlID0gZnVuY3Rpb24gKGV2ZW50TmFtZTogc3RyaW5nLCBkYXRhPzogYW55KSB7XG4gICAgICBvcmlnaW5DYWxsYmFjayhldmVudE5hbWUsIGRhdGEpXG4gICAgICBjb25zdCBldmVudE5hbWVzID0gT2JqZWN0LmtleXModGhpcy5ldmVudHMpXG4gICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgZXZlbnROYW1lcykge1xuICAgICAgICBjb25zdCB7IGJ1cywgZXZlbnRzOiBldmVudExpc3QgfSA9IHRoaXMuZXZlbnRzW25hbWVdXG4gICAgICAgIGlmIChldmVudExpc3QuaW5jbHVkZXMoZXZlbnROYW1lKSkge1xuICAgICAgICAgIGJ1cy5maXJlKGV2ZW50TmFtZSwgZGF0YSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZXBFeHRlbmQodGFyZ2V0OiBhbnksIHNvdXJjZTogYW55KTogS1Y8YW55PiB7XG4gIGlmICghKHNvdXJjZSBpbnN0YW5jZW9mIE9iamVjdCkpIHtcbiAgICByZXR1cm4gc291cmNlXG4gIH1cblxuICBzd2l0Y2ggKHNvdXJjZS5jb25zdHJ1Y3Rvcikge1xuICAgIGNhc2UgRGF0ZToge1xuICAgICAgY29uc3QgZGF0ZVZhbHVlID0gc291cmNlIGFzIERhdGVcbiAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlVmFsdWUuZ2V0VGltZSgpKVxuICAgIH1cbiAgICBjYXNlIE9iamVjdDpcbiAgICAgIGlmICh0YXJnZXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0YXJnZXQgPSB7fVxuICAgICAgfVxuICAgICAgYnJlYWtcbiAgICBjYXNlIEFycmF5OlxuICAgICAgdGFyZ2V0ID0gW11cbiAgICAgIGJyZWFrXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBzb3VyY2VcbiAgfVxuICBjb25zdCBzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMoc291cmNlKVxuICBmb3IgKGNvbnN0IGtleSBvZiBzb3VyY2VLZXlzKSB7XG4gICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICB0YXJnZXRba2V5XSA9IGRlZXBFeHRlbmQodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldFxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJIb29rKGFwcDogYW55LCBob29rOiBJQ2xvdWRiYXNlSG9vaykge1xuICBjb25zdCB7IGVudGl0eSwgdGFyZ2V0IH0gPSBob29rXG4gIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYXBwLCB0YXJnZXQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGNvZGU6IEVSUk9SUy5JTlZBTElEX09QRVJBVElPTixcbiAgICAgIG1zZzogYHRhcmdldDoke3RhcmdldH0gaXMgbm90IGV4aXN0YCxcbiAgICB9KSlcbiAgfVxuICBjb25zdCBvcmlnaW5NZXRob2QgPSBhcHAucHJvdG90eXBlW3RhcmdldF1cbiAgaWYgKHR5cGVvZiBvcmlnaW5NZXRob2QgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgY29kZTogRVJST1JTLklOVkFMSURfT1BFUkFUSU9OLFxuICAgICAgbXNnOiBgdGFyZ2V0OiR7dGFyZ2V0fSBpcyBub3QgYSBmdW5jdGlvbiB3aGljaCBpcyB0aGUgb25seSB0eXBlIHN1cHBvcnRzIGhvb2tgLFxuICAgIH0pKVxuICB9XG4gIGFwcC5wcm90b3R5cGVbdGFyZ2V0XSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnkpIHtcbiAgICBlbnRpdHkuY2FsbCh0aGlzLCAuLi5hcmdzKVxuICAgIHJldHVybiBvcmlnaW5NZXRob2QuY2FsbCh0aGlzLCAuLi5hcmdzKVxuICB9XG59XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { IRequestOptions, ResponseObject, IUploadRequestOptions } from '@cloudbase/adapter-interface';
2
+ import { KV } from '@cloudbase/types';
3
+ import { IGetAccessTokenResult, ICloudbaseRequestConfig } from '@cloudbase/types/request';
4
+ export interface ICloudbaseRequest {
5
+ post: (options: IRequestOptions) => Promise<ResponseObject>;
6
+ upload: (options: IUploadRequestOptions) => Promise<ResponseObject>;
7
+ download: (options: IRequestOptions) => Promise<ResponseObject>;
8
+ request: (action: string, params: KV<any>, options?: KV<any>) => Promise<ResponseObject>;
9
+ send: (action: string, data: KV<any>) => Promise<any>;
10
+ }
11
+ export declare class CloudbaseRequest implements ICloudbaseRequest {
12
+ config: ICloudbaseRequestConfig;
13
+ private reqClass;
14
+ private throwWhenRequestFail;
15
+ private localCache;
16
+ constructor(config: ICloudbaseRequestConfig & {
17
+ throw?: boolean;
18
+ });
19
+ post(options: IRequestOptions): Promise<ResponseObject>;
20
+ upload(options: IUploadRequestOptions): Promise<ResponseObject>;
21
+ download(options: IRequestOptions): Promise<ResponseObject>;
22
+ getBaseEndPoint(): string;
23
+ getOauthAccessTokenV2(oauthClient: any): Promise<IGetAccessTokenResult>;
24
+ request(action: string, params: KV<any>, options?: KV<any>): Promise<ResponseObject>;
25
+ send(action: string, data?: KV<any>): Promise<any>;
26
+ }
27
+ export declare function initRequest(config: ICloudbaseRequestConfig): void;
28
+ export declare function getRequestByEnvId(env: string): CloudbaseRequest;
@@ -0,0 +1,297 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.getRequestByEnvId = exports.initRequest = exports.CloudbaseRequest = void 0;
51
+ var common_1 = require("../constants/common");
52
+ var utilities_1 = require("@cloudbase/utilities");
53
+ var cache_1 = require("./cache");
54
+ var adapter_1 = require("./adapter");
55
+ var ERRORS = utilities_1.constants.ERRORS;
56
+ var genSeqId = utilities_1.utils.genSeqId, isFormData = utilities_1.utils.isFormData, formatUrl = utilities_1.utils.formatUrl;
57
+ var ACTIONS_WITHOUT_ACCESSTOKEN = [
58
+ 'auth.getJwt',
59
+ 'auth.logout',
60
+ 'auth.signInWithTicket',
61
+ 'auth.signInAnonymously',
62
+ 'auth.signIn',
63
+ 'auth.fetchAccessTokenWithRefreshToken',
64
+ 'auth.signUpWithEmailAndPassword',
65
+ 'auth.activateEndUserMail',
66
+ 'auth.sendPasswordResetEmail',
67
+ 'auth.resetPasswordWithToken',
68
+ 'auth.isUsernameRegistered',
69
+ ];
70
+ function bindHooks(instance, name, hooks) {
71
+ var originMethod = instance[name];
72
+ instance[name] = function (options) {
73
+ var data = {};
74
+ var headers = {};
75
+ hooks.forEach(function (hook) {
76
+ var _a = hook.call(instance, options), appendedData = _a.data, appendedHeaders = _a.headers;
77
+ Object.assign(data, appendedData);
78
+ Object.assign(headers, appendedHeaders);
79
+ });
80
+ var originData = options.data;
81
+ originData && (function () {
82
+ if (isFormData(originData)) {
83
+ Object.keys(data).forEach(function (key) {
84
+ originData.append(key, data[key]);
85
+ });
86
+ return;
87
+ }
88
+ options.data = __assign(__assign({}, originData), data);
89
+ })();
90
+ options.headers = __assign(__assign({}, (options.headers || {})), headers);
91
+ return originMethod.call(instance, options);
92
+ };
93
+ }
94
+ function beforeEach() {
95
+ var seqId = genSeqId();
96
+ return {
97
+ data: {
98
+ seqId: seqId,
99
+ },
100
+ headers: {
101
+ 'X-SDK-Version': "@cloudbase/js-sdk/".concat((0, common_1.getSdkVersion)()),
102
+ 'x-seqid': seqId,
103
+ },
104
+ };
105
+ }
106
+ var CloudbaseRequest = (function () {
107
+ function CloudbaseRequest(config) {
108
+ this.throwWhenRequestFail = false;
109
+ this.config = config;
110
+ var reqConfig = {
111
+ timeout: this.config.timeout,
112
+ timeoutMsg: "[@cloudbase/js-sdk] \u8BF7\u6C42\u5728".concat(this.config.timeout / 1000, "s\u5185\u672A\u5B8C\u6210\uFF0C\u5DF2\u4E2D\u65AD"),
113
+ restrictedMethods: ['post', 'put'],
114
+ };
115
+ this.reqClass = new adapter_1.Platform.adapter.reqClass(reqConfig);
116
+ this.throwWhenRequestFail = config.throw || false;
117
+ this.localCache = (0, cache_1.getLocalCache)(this.config.env);
118
+ bindHooks(this.reqClass, 'post', [beforeEach]);
119
+ bindHooks(this.reqClass, 'upload', [beforeEach]);
120
+ bindHooks(this.reqClass, 'download', [beforeEach]);
121
+ }
122
+ CloudbaseRequest.prototype.post = function (options) {
123
+ return __awaiter(this, void 0, void 0, function () {
124
+ var res;
125
+ return __generator(this, function (_a) {
126
+ switch (_a.label) {
127
+ case 0: return [4, this.reqClass.post(options)];
128
+ case 1:
129
+ res = _a.sent();
130
+ return [2, res];
131
+ }
132
+ });
133
+ });
134
+ };
135
+ CloudbaseRequest.prototype.upload = function (options) {
136
+ return __awaiter(this, void 0, void 0, function () {
137
+ var res;
138
+ return __generator(this, function (_a) {
139
+ switch (_a.label) {
140
+ case 0: return [4, this.reqClass.upload(options)];
141
+ case 1:
142
+ res = _a.sent();
143
+ return [2, res];
144
+ }
145
+ });
146
+ });
147
+ };
148
+ CloudbaseRequest.prototype.download = function (options) {
149
+ return __awaiter(this, void 0, void 0, function () {
150
+ var res;
151
+ return __generator(this, function (_a) {
152
+ switch (_a.label) {
153
+ case 0: return [4, this.reqClass.download(options)];
154
+ case 1:
155
+ res = _a.sent();
156
+ return [2, res];
157
+ }
158
+ });
159
+ });
160
+ };
161
+ CloudbaseRequest.prototype.getBaseEndPoint = function () {
162
+ return (0, common_1.getBaseEndPoint)();
163
+ };
164
+ CloudbaseRequest.prototype.getOauthAccessTokenV2 = function (oauthClient) {
165
+ return __awaiter(this, void 0, void 0, function () {
166
+ var validAccessToken, credentials;
167
+ return __generator(this, function (_a) {
168
+ switch (_a.label) {
169
+ case 0: return [4, oauthClient.getAccessToken()];
170
+ case 1:
171
+ validAccessToken = _a.sent();
172
+ return [4, oauthClient.getCredentials()];
173
+ case 2:
174
+ credentials = _a.sent();
175
+ return [2, {
176
+ accessToken: validAccessToken,
177
+ accessTokenExpire: new Date(credentials.expires_at).getTime(),
178
+ }];
179
+ }
180
+ });
181
+ });
182
+ };
183
+ CloudbaseRequest.prototype.request = function (action, params, options) {
184
+ var _a;
185
+ return __awaiter(this, void 0, void 0, function () {
186
+ var tcbTraceKey, contentType, tmpObj, app, oauthInstance, oauthClient, _b, payload, opts, traceHeader, parse, inQuery, search, formatQuery, _c, BASE_URL, PROTOCOL, newUrl, res, resTraceHeader;
187
+ return __generator(this, function (_d) {
188
+ switch (_d.label) {
189
+ case 0:
190
+ tcbTraceKey = "x-tcb-trace_".concat(this.config.env);
191
+ contentType = 'application/x-www-form-urlencoded';
192
+ tmpObj = __assign({ action: action, dataVersion: common_1.DATA_VERSION, env: this.config.env }, params);
193
+ if (!(ACTIONS_WITHOUT_ACCESSTOKEN.indexOf(action) === -1)) return [3, 2];
194
+ app = this.config._fromApp;
195
+ if (!app.oauthInstance) {
196
+ throw new Error('you can\'t request without auth');
197
+ }
198
+ oauthInstance = app.oauthInstance;
199
+ oauthClient = oauthInstance.oauth2client;
200
+ _b = tmpObj;
201
+ return [4, this.getOauthAccessTokenV2(oauthClient)];
202
+ case 1:
203
+ _b.access_token = (_d.sent()).accessToken;
204
+ _d.label = 2;
205
+ case 2:
206
+ if (action === 'storage.uploadFile') {
207
+ payload = new FormData();
208
+ Object.keys(payload).forEach(function (key) {
209
+ if (Object.prototype.hasOwnProperty.call(payload, key) && payload[key] !== undefined) {
210
+ payload.append(key, tmpObj[key]);
211
+ }
212
+ });
213
+ contentType = 'multipart/form-data';
214
+ }
215
+ else {
216
+ contentType = 'application/json;charset=UTF-8';
217
+ payload = {};
218
+ Object.keys(tmpObj).forEach(function (key) {
219
+ if (tmpObj[key] !== undefined) {
220
+ payload[key] = tmpObj[key];
221
+ }
222
+ });
223
+ }
224
+ opts = {
225
+ headers: {
226
+ 'content-type': contentType,
227
+ },
228
+ };
229
+ if (options === null || options === void 0 ? void 0 : options.onUploadProgress) {
230
+ opts.onUploadProgress = options.onUploadProgress;
231
+ }
232
+ if (this.config.region) {
233
+ opts.headers['X-TCB-Region'] = this.config.region;
234
+ }
235
+ traceHeader = this.localCache.getStore(tcbTraceKey);
236
+ if (traceHeader) {
237
+ opts.headers['X-TCB-Trace'] = traceHeader;
238
+ }
239
+ parse = params.parse, inQuery = params.inQuery, search = params.search;
240
+ formatQuery = {
241
+ env: this.config.env,
242
+ };
243
+ parse && (formatQuery.parse = true);
244
+ inQuery && (formatQuery = __assign(__assign({}, inQuery), formatQuery));
245
+ _c = (0, common_1.getEndPoint)(), BASE_URL = _c.BASE_URL, PROTOCOL = _c.PROTOCOL;
246
+ newUrl = formatUrl(PROTOCOL, BASE_URL, formatQuery);
247
+ if (search) {
248
+ newUrl += search;
249
+ }
250
+ return [4, this.post(__assign({ url: newUrl, data: payload }, opts))];
251
+ case 3:
252
+ res = _d.sent();
253
+ resTraceHeader = (_a = res.header) === null || _a === void 0 ? void 0 : _a['x-tcb-trace'];
254
+ if (resTraceHeader) {
255
+ this.localCache.setStore(tcbTraceKey, resTraceHeader);
256
+ }
257
+ if ((Number(res.status) !== 200 && Number(res.statusCode) !== 200) || !res.data) {
258
+ throw new Error('network request error');
259
+ }
260
+ return [2, res];
261
+ }
262
+ });
263
+ });
264
+ };
265
+ CloudbaseRequest.prototype.send = function (action, data) {
266
+ if (data === void 0) { data = {}; }
267
+ return __awaiter(this, void 0, void 0, function () {
268
+ var response;
269
+ return __generator(this, function (_a) {
270
+ switch (_a.label) {
271
+ case 0: return [4, this.request(action, data, { onUploadProgress: data.onUploadProgress })];
272
+ case 1:
273
+ response = _a.sent();
274
+ if (response.data.code && this.throwWhenRequestFail) {
275
+ throw new Error(JSON.stringify({
276
+ code: ERRORS.OPERATION_FAIL,
277
+ msg: "[".concat(response.data.code, "] ").concat(response.data.message),
278
+ }));
279
+ }
280
+ return [2, response.data];
281
+ }
282
+ });
283
+ });
284
+ };
285
+ return CloudbaseRequest;
286
+ }());
287
+ exports.CloudbaseRequest = CloudbaseRequest;
288
+ var requestMap = {};
289
+ function initRequest(config) {
290
+ requestMap[config.env] = new CloudbaseRequest(__assign(__assign({}, config), { throw: true }));
291
+ }
292
+ exports.initRequest = initRequest;
293
+ function getRequestByEnvId(env) {
294
+ return requestMap[env];
295
+ }
296
+ exports.getRequestByEnvId = getRequestByEnvId;
297
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWJzL3JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FLNEI7QUFRNUIsa0RBQXVEO0FBSXZELGlDQUF1QztBQUN2QyxxQ0FBb0M7QUFDNUIsSUFBQSxNQUFNLEdBQUsscUJBQVMsT0FBZCxDQUFjO0FBQ3BCLElBQUEsUUFBUSxHQUE0QixpQkFBSyxTQUFqQyxFQUFFLFVBQVUsR0FBZ0IsaUJBQUssV0FBckIsRUFBRSxTQUFTLEdBQUssaUJBQUssVUFBVixDQUFVO0FBR2pELElBQU0sMkJBQTJCLEdBQUc7SUFDbEMsYUFBYTtJQUNiLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLGFBQWE7SUFDYix1Q0FBdUM7SUFDdkMsaUNBQWlDO0lBQ2pDLDBCQUEwQjtJQUMxQiw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLDJCQUEyQjtDQUM1QixDQUFBO0FBRUQsU0FBUyxTQUFTLENBQUMsUUFBNkIsRUFBRSxJQUFZLEVBQUUsS0FBMkI7SUFDekYsSUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ25DLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLE9BQXdCO1FBQ2pELElBQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQTtRQUNmLElBQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQTtRQUNsQixLQUFLLENBQUMsT0FBTyxDQUFDLFVBQUMsSUFBSTtZQUNYLElBQUEsS0FBbUQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQXZFLFlBQVksVUFBQSxFQUFXLGVBQWUsYUFBaUMsQ0FBQTtZQUNyRixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQTtZQUNqQyxNQUFN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Q0gsdUJBQUM7QUFBRCxDQUFDLEFBcktELElBcUtDO0FBcktZLDRDQUFnQjtBQXVLN0IsSUFBTSxVQUFVLEdBQXlCLEVBQUUsQ0FBQTtBQUUzQyxTQUFnQixXQUFXLENBQUMsTUFBK0I7SUFDekQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGdCQUFnQix1QkFDeEMsTUFBTSxLQUNULEtBQUssRUFBRSxJQUFJLElBQ1gsQ0FBQTtBQUNKLENBQUM7QUFMRCxrQ0FLQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLEdBQVc7SUFDM0MsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDeEIsQ0FBQztBQUZELDhDQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgREFUQV9WRVJTSU9OLFxuICBnZXRTZGtWZXJzaW9uLFxuICBnZXRFbmRQb2ludCxcbiAgZ2V0QmFzZUVuZFBvaW50LFxufSBmcm9tICcuLi9jb25zdGFudHMvY29tbW9uJ1xuaW1wb3J0IHtcbiAgSVJlcXVlc3RPcHRpb25zLFxuICBTREtSZXF1ZXN0SW50ZXJmYWNlLFxuICBSZXNwb25zZU9iamVjdCxcbiAgSVVwbG9hZFJlcXVlc3RPcHRpb25zLFxuICBJUmVxdWVzdENvbmZpZyxcbn0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCB7IHV0aWxzLCBjb25zdGFudHMgfSBmcm9tICdAY2xvdWRiYXNlL3V0aWxpdGllcydcbmltcG9ydCB7IEtWIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IElHZXRBY2Nlc3NUb2tlblJlc3VsdCwgSUNsb3VkYmFzZVJlcXVlc3RDb25maWcsIElBcHBlbmRlZFJlcXVlc3RJbmZvLCBJUmVxdWVzdEJlZm9yZUhvb2sgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL3JlcXVlc3QnXG5pbXBvcnQgeyBJQ2xvdWRiYXNlQ2FjaGUgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NhY2hlJ1xuaW1wb3J0IHsgZ2V0TG9jYWxDYWNoZSB9IGZyb20gJy4vY2FjaGUnXG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJy4vYWRhcHRlcidcbmNvbnN0IHsgRVJST1JTIH0gPSBjb25zdGFudHNcbmNvbnN0IHsgZ2VuU2VxSWQsIGlzRm9ybURhdGEsIGZvcm1hdFVybCB9ID0gdXRpbHNcblxuLy8g5LiL6Z2i5Yeg56eNIGFjdGlvbiDkuI3pnIDopoEgYWNjZXNzIHRva2VuXG5jb25zdCBBQ1RJT05TX1dJVEhPVVRfQUNDRVNTVE9LRU4gPSBbXG4gICdhdXRoLmdldEp3dCcsXG4gICdhdXRoLmxvZ291dCcsXG4gICdhdXRoLnNpZ25JbldpdGhUaWNrZXQnLFxuICAnYXV0aC5zaWduSW5Bbm9ueW1vdXNseScsXG4gICdhdXRoLnNpZ25JbicsXG4gICdhdXRoLmZldGNoQWNjZXNzVG9rZW5XaXRoUmVmcmVzaFRva2VuJyxcbiAgJ2F1dGguc2lnblVwV2l0aEVtYWlsQW5kUGFzc3dvcmQnLFxuICAnYXV0aC5hY3RpdmF0ZUVuZFVzZXJNYWlsJyxcbiAgJ2F1dGguc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCcsXG4gICdhdXRoLnJlc2V0UGFzc3dvcmRXaXRoVG9rZW4nLFxuICAnYXV0aC5pc1VzZXJuYW1lUmVnaXN0ZXJlZCcsXG5dXG5cbmZ1bmN0aW9uIGJpbmRIb29rcyhpbnN0YW5jZTogU0RLUmVxdWVzdEludGVyZmFjZSwgbmFtZTogc3RyaW5nLCBob29rczogSVJlcXVlc3RCZWZvcmVIb29rW10pIHtcbiAgY29uc3Qgb3JpZ2luTWV0aG9kID0gaW5zdGFuY2VbbmFtZV1cbiAgaW5zdGFuY2VbbmFtZV0gPSBmdW5jdGlvbiAob3B0aW9uczogSVJlcXVlc3RPcHRpb25zKSB7XG4gICAgY29uc3QgZGF0YSA9IHt9XG4gICAgY29uc3QgaGVhZGVycyA9IHt9XG4gICAgaG9va3MuZm9yRWFjaCgoaG9vaykgPT4ge1xuICAgICAgY29uc3QgeyBkYXRhOiBhcHBlbmRlZERhdGEsIGhlYWRlcnM6IGFwcGVuZGVkSGVhZGVycyB9ID0gaG9vay5jYWxsKGluc3RhbmNlLCBvcHRpb25zKVxuICAgICAgT2JqZWN0LmFzc2lnbihkYXRhLCBhcHBlbmRlZERhdGEpXG4gICAgICBPYmplY3QuYXNzaWduKGhlYWRlcnMsIGFwcGVuZGVkSGVhZGVycylcbiAgICB9KVxuICAgIGNvbnN0IG9yaWdpbkRhdGEgPSBvcHRpb25zLmRhdGFcbiAgICBvcmlnaW5EYXRhICYmICgoKSA9PiB7XG4gICAgICBpZiAoaXNGb3JtRGF0YShvcmlnaW5EYXRhKSkge1xuICAgICAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAob3JpZ2luRGF0YSBhcyBGb3JtRGF0YSkuYXBwZW5kKGtleSwgZGF0YVtrZXldKVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIG9wdGlvbnMuZGF0YSA9IHtcbiAgICAgICAgLi4ub3JpZ2luRGF0YSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgIH1cbiAgICB9KSgpXG4gICAgb3B0aW9ucy5oZWFkZXJzID0ge1xuICAgICAgLi4uKG9wdGlvbnMuaGVhZGVycyB8fCB7fSksXG4gICAgICAuLi5oZWFkZXJzLFxuICAgIH1cbiAgICByZXR1cm4gKG9yaWdpbk1ldGhvZCBhcyBGdW5jdGlvbikuY2FsbChpbnN0YW5jZSwgb3B0aW9ucylcbiAgfVxufVxuZnVuY3Rpb24gYmVmb3JlRWFjaCgpOiBJQXBwZW5kZWRSZXF1ZXN0SW5mbyB7XG4gIGNvbnN0IHNlcUlkID0gZ2VuU2VxSWQoKVxuICByZXR1cm4ge1xuICAgIGRhdGE6IHtcbiAgICAgIHNlcUlkLFxuICAgIH0sXG4gICAgaGVhZGVyczoge1xuICAgICAgJ1gtU0RLLVZlcnNpb24nOiBgQGNsb3VkYmFzZS9qcy1zZGsvJHtnZXRTZGtWZXJzaW9uKCl9YCxcbiAgICAgICd4LXNlcWlkJzogc2VxSWQsXG4gICAgfSxcbiAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBJQ2xvdWRiYXNlUmVxdWVzdCB7XG4gIHBvc3Q6IChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpID0+IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+O1xuICB1cGxvYWQ6IChvcHRpb25zOiBJVXBsb2FkUmVxdWVzdE9wdGlvbnMpID0+IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+O1xuICBkb3dubG9hZDogKG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucykgPT4gUHJvbWlzZTxSZXNwb25zZU9iamVjdD47XG4gIHJlcXVlc3Q6IChhY3Rpb246IHN0cmluZywgcGFyYW1zOiBLVjxhbnk+LCBvcHRpb25zPzogS1Y8YW55PikgPT4gUHJvbWlzZTxSZXNwb25zZU9iamVjdD47XG4gIHNlbmQ6IChhY3Rpb246IHN0cmluZywgZGF0YTogS1Y8YW55PikgPT4gUHJvbWlzZTxhbnk+O1xufVxuXG4vKipcbiAqIEBjbGFzcyBDbG91ZGJhc2VSZXF1ZXN0XG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZGJhc2VSZXF1ZXN0IGltcGxlbWVudHMgSUNsb3VkYmFzZVJlcXVlc3Qge1xuICBjb25maWc6IElDbG91ZGJhc2VSZXF1ZXN0Q29uZmlnXG4gIHByaXZhdGUgcmVxQ2xhc3M6IFNES1JlcXVlc3RJbnRlcmZhY2VcbiAgLy8g6K+35rGC5aSx6LSl5piv5ZCm5oqb5Ye6RXJyb3JcbiAgcHJpdmF0ZSB0aHJvd1doZW5SZXF1ZXN0RmFpbCA9IGZhbHNlXG4gIC8vIOaMgeS5heWMluacrOWcsOWtmOWCqFxuICBwcml2YXRlIGxvY2FsQ2FjaGU6IElDbG91ZGJhc2VDYWNoZVxuICAvKipcbiAgICog5Yid5aeL5YyWXG4gICAqIEBwYXJhbSBjb25maWdcbiAgICovXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogSUNsb3VkYmFzZVJlcXVlc3RDb25maWcgJiB7IHRocm93PzogYm9vbGVhbiB9KSB7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWdcbiAgICBjb25zdCByZXFDb25maWc6IElSZXF1ZXN0Q29uZmlnID0ge1xuICAgICAgdGltZW91dDogdGhpcy5jb25maWcudGltZW91dCxcbiAgICAgIHRpbWVvdXRNc2c6IGBbQGNsb3VkYmFzZS9qcy1zZGtdIOivt+axguWcqCR7dGhpcy5jb25maWcudGltZW91dCAvIDEwMDB9c+WGheacquWujOaIkO+8jOW3suS4reaWrWAsXG4gICAgICByZXN0cmljdGVkTWV0aG9kczogWydwb3N0JywgJ3B1dCddLFxuICAgIH1cbiAgICB0aGlzLnJlcUNsYXNzID0gbmV3IFBsYXRmb3JtLmFkYXB0ZXIucmVxQ2xhc3MocmVxQ29uZmlnKVxuICAgIHRoaXMudGhyb3dXaGVuUmVxdWVzdEZhaWwgPSBjb25maWcudGhyb3cgfHwgZmFsc2VcbiAgICB0aGlzLmxvY2FsQ2FjaGUgPSBnZXRMb2NhbENhY2hlKHRoaXMuY29uZmlnLmVudilcbiAgICBiaW5kSG9va3ModGhpcy5yZXFDbGFzcywgJ3Bvc3QnLCBbYmVmb3JlRWFjaF0pXG4gICAgYmluZEhvb2tzKHRoaXMucmVxQ2xhc3MsICd1cGxvYWQnLCBbYmVmb3JlRWFjaF0pXG4gICAgYmluZEhvb2tzKHRoaXMucmVxQ2xhc3MsICdkb3dubG9hZCcsIFtiZWZvcmVFYWNoXSlcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwb3N0KG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+IHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcUNsYXNzLnBvc3Qob3B0aW9ucylcbiAgICByZXR1cm4gcmVzXG4gIH1cbiAgcHVibGljIGFzeW5jIHVwbG9hZChvcHRpb25zOiBJVXBsb2FkUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5yZXFDbGFzcy51cGxvYWQob3B0aW9ucylcbiAgICByZXR1cm4gcmVzXG4gIH1cbiAgcHVibGljIGFzeW5jIGRvd25sb2FkKG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+IHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJlcUNsYXNzLmRvd25sb2FkKG9wdGlvbnMpXG4gICAgcmV0dXJuIHJlc1xuICB9XG5cbiAgcHVibGljIGdldEJhc2VFbmRQb2ludCgpIHtcbiAgICByZXR1cm4gZ2V0QmFzZUVuZFBvaW50KClcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRPYXV0aEFjY2Vzc1Rva2VuVjIob2F1dGhDbGllbnQ6IGFueSk6IFByb21pc2U8SUdldEFjY2Vzc1Rva2VuUmVzdWx0PiB7XG4gICAgY29uc3QgdmFsaWRBY2Nlc3NUb2tlbiA9IGF3YWl0IG9hdXRoQ2xpZW50LmdldEFjY2Vzc1Rva2VuKClcbiAgICBjb25zdCBjcmVkZW50aWFscyA9IGF3YWl0IG9hdXRoQ2xpZW50LmdldENyZWRlbnRpYWxzKClcbiAgICByZXR1cm4ge1xuICAgICAgYWNjZXNzVG9rZW46IHZhbGlkQWNjZXNzVG9rZW4sXG4gICAgICBhY2Nlc3NUb2tlbkV4cGlyZTogbmV3IERhdGUoY3JlZGVudGlhbHMuZXhwaXJlc19hdCkuZ2V0VGltZSgpLFxuICAgIH1cbiAgfVxuXG5cbiAgLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuICBwdWJsaWMgYXN5bmMgcmVxdWVzdChhY3Rpb246IHN0cmluZywgcGFyYW1zOiBLVjxhbnk+LCBvcHRpb25zPzogS1Y8YW55Pik6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+IHtcbiAgICBjb25zdCB0Y2JUcmFjZUtleSA9IGB4LXRjYi10cmFjZV8ke3RoaXMuY29uZmlnLmVudn1gXG4gICAgbGV0IGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcbiAgICBjb25zdCB0bXBPYmo6IEtWPGFueT4gPSB7XG4gICAgICBhY3Rpb24sXG4gICAgICBkYXRhVmVyc2lvbjogREFUQV9WRVJTSU9OLFxuICAgICAgZW52OiB0aGlzLmNvbmZpZy5lbnYsXG4gICAgICAuLi5wYXJhbXMsXG4gICAgfVxuXG4gICAgaWYgKEFDVElPTlNfV0lUSE9VVF9BQ0NFU1NUT0tFTi5pbmRleE9mKGFjdGlvbikgPT09IC0xKSB7XG4gICAgICBjb25zdCBhcHAgPSB0aGlzLmNvbmZpZy5fZnJvbUFwcFxuXG4gICAgICBpZiAoIWFwcC5vYXV0aEluc3RhbmNlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigneW91IGNhblxcJ3QgcmVxdWVzdCB3aXRob3V0IGF1dGgnKVxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IG9hdXRoSW5zdGFuY2UgfSA9IGFwcFxuICAgICAgY29uc3Qgb2F1dGhDbGllbnQgPSBvYXV0aEluc3RhbmNlLm9hdXRoMmNsaWVudFxuICAgICAgdG1wT2JqLmFjY2Vzc190b2tlbiA9IChhd2FpdCB0aGlzLmdldE9hdXRoQWNjZXNzVG9rZW5WMihvYXV0aENsaWVudCkpLmFjY2Vzc1Rva2VuXG4gICAgfVxuXG4gICAgLy8g5ou8Ym9keeWSjGNvbnRlbnQtdHlwZVxuICAgIGxldCBwYXlsb2FkXG4gICAgaWYgKGFjdGlvbiA9PT0gJ3N0b3JhZ2UudXBsb2FkRmlsZScpIHtcbiAgICAgIHBheWxvYWQgPSBuZXcgRm9ybURhdGEoKVxuICAgICAgT2JqZWN0LmtleXMocGF5bG9hZCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGF5bG9hZCwga2V5KSAmJiBwYXlsb2FkW2tleV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHBheWxvYWQuYXBwZW5kKGtleSwgdG1wT2JqW2tleV0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICBjb250ZW50VHlwZSA9ICdtdWx0aXBhcnQvZm9ybS1kYXRhJ1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZW50VHlwZSA9ICdhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9VVRGLTgnXG4gICAgICBwYXlsb2FkID0ge31cbiAgICAgIE9iamVjdC5rZXlzKHRtcE9iaikuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGlmICh0bXBPYmpba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcGF5bG9hZFtrZXldID0gdG1wT2JqW2tleV1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gICAgY29uc3Qgb3B0czogYW55ID0ge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnY29udGVudC10eXBlJzogY29udGVudFR5cGUsXG4gICAgICB9LFxuICAgIH1cbiAgICBpZiAob3B0aW9ucz8ub25VcGxvYWRQcm9ncmVzcykge1xuICAgICAgb3B0cy5vblVwbG9hZFByb2dyZXNzID0gb3B0aW9ucy5vblVwbG9hZFByb2dyZXNzXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29uZmlnLnJlZ2lvbikge1xuICAgICAgb3B0cy5oZWFkZXJzWydYLVRDQi1SZWdpb24nXSA9IHRoaXMuY29uZmlnLnJlZ2lvblxuICAgIH1cblxuICAgIGNvbnN0IHRyYWNlSGVhZGVyID0gdGhpcy5sb2NhbENhY2hlLmdldFN0b3JlKHRjYlRyYWNlS2V5KVxuICAgIGlmICh0cmFjZUhlYWRlcikge1xuICAgICAgb3B0cy5oZWFkZXJzWydYLVRDQi1UcmFjZSddID0gdHJhY2VIZWFkZXJcbiAgICB9XG5cbiAgICAvLyDlj5Hlh7ror7fmsYJcbiAgICAvLyDmlrDnmoQgdXJsIOmcgOimgeaQuuW4piBlbnYg5Y+C5pWw6L+b6KGMIENPUlMg5qCh6aqMXG4gICAgLy8g6K+35rGC6ZO+5o6l5pSv5oyB5re75Yqg5Yqo5oCBIHF1ZXJ5IOWPguaVsO+8jOaWueS+v+eUqOaIt+iwg+ivleWumuS9jeivt+axglxuICAgIGNvbnN0IHsgcGFyc2UsIGluUXVlcnksIHNlYXJjaCB9ID0gcGFyYW1zXG4gICAgbGV0IGZvcm1hdFF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge1xuICAgICAgZW52OiB0aGlzLmNvbmZpZy5lbnYsXG4gICAgfVxuICAgIC8vIOWwneivleino+aekOWTjeW6lOaVsOaNruS4uiBKU09OXG4gICAgcGFyc2UgJiYgKGZvcm1hdFF1ZXJ5LnBhcnNlID0gdHJ1ZSlcbiAgICBpblF1ZXJ5ICYmIChmb3JtYXRRdWVyeSA9IHtcbiAgICAgIC4uLmluUXVlcnksXG4gICAgICAuLi5mb3JtYXRRdWVyeSxcbiAgICB9KVxuICAgIGNvbnN0IHsgQkFTRV9VUkwsIFBST1RPQ09MIH0gPSBnZXRFbmRQb2ludCgpXG4gICAgLy8g55Sf5oiQ6K+35rGCIHVybFxuICAgIGxldCBuZXdVcmwgPSBmb3JtYXRVcmwoUFJPVE9DT0wsIEJBU0VfVVJMLCBmb3JtYXRRdWVyeSlcblxuICAgIGlmIChzZWFyY2gpIHtcbiAgICAgIG5ld1VybCArPSBzZWFyY2hcbiAgICB9XG5cbiAgICBjb25zdCByZXM6IFJlc3BvbnNlT2JqZWN0ID0gYXdhaXQgdGhpcy5wb3N0KHtcbiAgICAgIHVybDogbmV3VXJsLFxuICAgICAgZGF0YTogcGF5bG9hZCxcbiAgICAgIC4uLm9wdHMsXG4gICAgfSlcblxuICAgIC8vIOS/neWtmCB0cmFjZSBoZWFkZXJcbiAgICBjb25zdCByZXNUcmFjZUhlYWRlciA9IHJlcy5oZWFkZXI/LlsneC10Y2ItdHJhY2UnXVxuICAgIGlmIChyZXNUcmFjZUhlYWRlcikge1xuICAgICAgdGhpcy5sb2NhbENhY2hlLnNldFN0b3JlKHRjYlRyYWNlS2V5LCByZXNUcmFjZUhlYWRlcilcbiAgICB9XG5cbiAgICBpZiAoKE51bWJlcihyZXMuc3RhdHVzKSAhPT0gMjAwICYmIE51bWJlcihyZXMuc3RhdHVzQ29kZSkgIT09IDIwMCkgfHwgIXJlcy5kYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ25ldHdvcmsgcmVxdWVzdCBlcnJvcicpXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlbmQoYWN0aW9uOiBzdHJpbmcsIGRhdGE6IEtWPGFueT4gPSB7fSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoYWN0aW9uLCBkYXRhLCB7IG9uVXBsb2FkUHJvZ3Jlc3M6IGRhdGEub25VcGxvYWRQcm9ncmVzcyB9KVxuXG4gICAgaWYgKHJlc3BvbnNlLmRhdGEuY29kZSAmJiB0aGlzLnRocm93V2hlblJlcXVlc3RGYWlsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBjb2RlOiBFUlJPUlMuT1BFUkFUSU9OX0ZBSUwsXG4gICAgICAgIG1zZzogYFske3Jlc3BvbnNlLmRhdGEuY29kZX1dICR7cmVzcG9uc2UuZGF0YS5tZXNzYWdlfWAsXG4gICAgICB9KSlcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YVxuICB9XG59XG5cbmNvbnN0IHJlcXVlc3RNYXA6IEtWPENsb3VkYmFzZVJlcXVlc3Q+ID0ge31cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRSZXF1ZXN0KGNvbmZpZzogSUNsb3VkYmFzZVJlcXVlc3RDb25maWcpIHtcbiAgcmVxdWVzdE1hcFtjb25maWcuZW52XSA9IG5ldyBDbG91ZGJhc2VSZXF1ZXN0KHtcbiAgICAuLi5jb25maWcsXG4gICAgdGhyb3c6IHRydWUsXG4gIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXF1ZXN0QnlFbnZJZChlbnY6IHN0cmluZyk6IENsb3VkYmFzZVJlcXVlc3Qge1xuICByZXR1cm4gcmVxdWVzdE1hcFtlbnZdXG59XG4iXX0=
@@ -0,0 +1,24 @@
1
+ export declare function setSdkVersion(version: string): void;
2
+ export declare function getSdkVersion(): string;
3
+ export declare function setSdkName(name: string): void;
4
+ export declare function getSdkName(): string;
5
+ export declare const DATA_VERSION = "2020-01-10";
6
+ export declare function setEndPoint(url: string, protocol?: 'http' | 'https'): void;
7
+ export declare function setRegionLevelEndpoint(env: string, region: string, protocol?: 'http' | 'https'): void;
8
+ export declare function getEndPoint(): {
9
+ BASE_URL: string;
10
+ PROTOCOL: string;
11
+ };
12
+ export declare function getBaseEndPoint(): string;
13
+ export declare enum LOGINTYPE {
14
+ NULL = "NULL",
15
+ ANONYMOUS = "ANONYMOUS",
16
+ WECHAT = "WECHAT",
17
+ WECHAT_PUBLIC = "WECHAT-PUBLIC",
18
+ WECHAT_OPEN = "WECHAT-OPEN",
19
+ CUSTOM = "CUSTOM",
20
+ EMAIL = "EMAIL",
21
+ USERNAME = "USERNAME",
22
+ PHONE = "PHONE"
23
+ }
24
+ export declare const OAUTH2_LOGINTYPE_PREFIX = "OAUTH2";
@@ -0,0 +1,57 @@
1
+ import { constants } from '@cloudbase/utilities';
2
+ var setUtilitiesSdkName = constants.setSdkName, setUtilitiesProtocol = constants.setProtocol;
3
+ var sdkVersion = '';
4
+ var sdkName = '@cloudbase/js-sdk';
5
+ export function setSdkVersion(version) {
6
+ sdkVersion = version;
7
+ }
8
+ export function getSdkVersion() {
9
+ return sdkVersion;
10
+ }
11
+ export function setSdkName(name) {
12
+ sdkName = name;
13
+ setUtilitiesSdkName(name);
14
+ }
15
+ export function getSdkName() {
16
+ return sdkName;
17
+ }
18
+ export var DATA_VERSION = '2020-01-10';
19
+ var PROTOCOL = 'https:';
20
+ var BASE_URL = typeof process !== 'undefined' && process.env.NODE_ENV === 'e2e' && process.env.END_POINT === 'pre'
21
+ ? '//tcb-pre.tencentcloudapi.com/web'
22
+ : '//tcb-api.tencentcloudapi.com/web';
23
+ export function setEndPoint(url, protocol) {
24
+ BASE_URL = url;
25
+ if (protocol) {
26
+ PROTOCOL = protocol;
27
+ setUtilitiesProtocol(protocol);
28
+ }
29
+ }
30
+ export function setRegionLevelEndpoint(env, region, protocol) {
31
+ var endpoiont = region
32
+ ? "//".concat(env, ".").concat(region, ".tcb-api.tencentcloudapi.com/web")
33
+ : "//".concat(env, ".ap-shanghai.tcb-api.tencentcloudapi.com/web");
34
+ setEndPoint(endpoiont, protocol);
35
+ }
36
+ export function getEndPoint() {
37
+ return { BASE_URL: BASE_URL, PROTOCOL: PROTOCOL };
38
+ }
39
+ export function getBaseEndPoint() {
40
+ var _a = getEndPoint(), PROTOCOL = _a.PROTOCOL, BASE_URL = _a.BASE_URL;
41
+ var webEndpoint = "".concat(PROTOCOL).concat(BASE_URL);
42
+ return webEndpoint.match(/(http(s)?:)?\/\/([^/?#]*)/)[0];
43
+ }
44
+ export var LOGINTYPE;
45
+ (function (LOGINTYPE) {
46
+ LOGINTYPE["NULL"] = "NULL";
47
+ LOGINTYPE["ANONYMOUS"] = "ANONYMOUS";
48
+ LOGINTYPE["WECHAT"] = "WECHAT";
49
+ LOGINTYPE["WECHAT_PUBLIC"] = "WECHAT-PUBLIC";
50
+ LOGINTYPE["WECHAT_OPEN"] = "WECHAT-OPEN";
51
+ LOGINTYPE["CUSTOM"] = "CUSTOM";
52
+ LOGINTYPE["EMAIL"] = "EMAIL";
53
+ LOGINTYPE["USERNAME"] = "USERNAME";
54
+ LOGINTYPE["PHONE"] = "PHONE";
55
+ })(LOGINTYPE || (LOGINTYPE = {}));
56
+ export var OAUTH2_LOGINTYPE_PREFIX = 'OAUTH2';
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnN0YW50cy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBR3hDLElBQVksbUJBQW1CLEdBQXdDLFNBQVMsV0FBakQsRUFBZSxvQkFBb0IsR0FBSyxTQUFTLFlBQWQsQ0FBYztBQUl4RixJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUE7QUFDbkIsSUFBSSxPQUFPLEdBQUcsbUJBQW1CLENBQUE7QUFFakMsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFlO0lBQzNDLFVBQVUsR0FBRyxPQUFPLENBQUE7QUFDdEIsQ0FBQztBQUNELE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sVUFBVSxDQUFBO0FBQ25CLENBQUM7QUFDRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVk7SUFDckMsT0FBTyxHQUFHLElBQUksQ0FBQTtJQUNkLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzNCLENBQUM7QUFDRCxNQUFNLFVBQVUsVUFBVTtJQUN4QixPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDO0FBQ0QsTUFBTSxDQUFDLElBQU0sWUFBWSxHQUFHLFlBQVksQ0FBQTtBQUV4QyxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUE7QUFFdkIsSUFBSSxRQUFRLEdBQUcsT0FBTyxPQUFPLEtBQUssV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsS0FBSyxLQUFLO0lBQ2hILENBQUMsQ0FBQyxtQ0FBbUM7SUFDckMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFBO0FBQ3ZDLE1BQU0sVUFBVSxXQUFXLENBQUMsR0FBVyxFQUFFLFFBQTJCO0lBQ2xFLFFBQVEsR0FBRyxHQUFHLENBQUE7SUFDZCxJQUFJLFFBQVEsRUFBRTtRQUNaLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDbkIsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUE7S0FDL0I7QUFDSCxDQUFDO0FBQ0QsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEdBQVcsRUFBRSxNQUFjLEVBQUUsUUFBMkI7SUFDN0YsSUFBTSxTQUFTLEdBQUcsTUFBTTtRQUN0QixDQUFDLENBQUMsWUFBSyxHQUFHLGNBQUksTUFBTSxxQ0FBa0M7UUFDdEQsQ0FBQyxDQUFDLFlBQUssR0FBRyxpREFBOEMsQ0FBQTtJQUMxRCxXQUFXLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0FBQ2xDLENBQUM7QUFDRCxNQUFNLFVBQVUsV0FBVztJQUN6QixPQUFPLEVBQUUsUUFBUSxVQUFBLEVBQUUsUUFBUSxVQUFBLEVBQUUsQ0FBQTtBQUMvQixDQUFDO0FBR0QsTUFBTSxVQUFVLGVBQWU7SUFDdkIsSUFBQSxLQUF5QixXQUFXLEVBQUUsRUFBcEMsUUFBUSxjQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFBO0lBQzVDLElBQU0sV0FBVyxHQUFHLFVBQUcsUUFBUSxTQUFHLFFBQVEsQ0FBRSxDQUFBO0lBRTVDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRTFELENBQUM7QUFFRCxNQUFNLENBQU4sSUFBWSxTQVVYO0FBVkQsV0FBWSxTQUFTO0lBQ25CLDBCQUFhLENBQUE7SUFDYixvQ0FBdUIsQ0FBQTtJQUN2Qiw4QkFBaUIsQ0FBQTtJQUNqQiw0Q0FBK0IsQ0FBQTtJQUMvQix3Q0FBMkIsQ0FBQTtJQUMzQiw4QkFBaUIsQ0FBQTtJQUNqQiw0QkFBZSxDQUFBO0lBQ2Ysa0NBQXFCLENBQUE7SUFDckIsNEJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBVlcsU0FBUyxLQUFULFNBQVMsUUFVcEI7QUFFRCxNQUFNLENBQUMsSUFBTSx1QkFBdUIsR0FBRyxRQUFRLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICdAY2xvdWRiYXNlL3V0aWxpdGllcydcblxuLy8gQHRzLWlnbm9yZVxuY29uc3QgeyBzZXRTZGtOYW1lOiBzZXRVdGlsaXRpZXNTZGtOYW1lLCBzZXRQcm90b2NvbDogc2V0VXRpbGl0aWVzUHJvdG9jb2wgfSA9IGNvbnN0YW50c1xuLyoqXG4gKiBTREtcbiAqL1xubGV0IHNka1ZlcnNpb24gPSAnJ1xubGV0IHNka05hbWUgPSAnQGNsb3VkYmFzZS9qcy1zZGsnXG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRTZGtWZXJzaW9uKHZlcnNpb246IHN0cmluZykge1xuICBzZGtWZXJzaW9uID0gdmVyc2lvblxufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFNka1ZlcnNpb24oKSB7XG4gIHJldHVybiBzZGtWZXJzaW9uXG59XG5leHBvcnQgZnVuY3Rpb24gc2V0U2RrTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgc2RrTmFtZSA9IG5hbWVcbiAgc2V0VXRpbGl0aWVzU2RrTmFtZShuYW1lKVxufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFNka05hbWUoKSB7XG4gIHJldHVybiBzZGtOYW1lXG59XG5leHBvcnQgY29uc3QgREFUQV9WRVJTSU9OID0gJzIwMjAtMDEtMTAnXG5cbmxldCBQUk9UT0NPTCA9ICdodHRwczonXG5cbmxldCBCQVNFX1VSTCA9IHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2UyZScgJiYgcHJvY2Vzcy5lbnYuRU5EX1BPSU5UID09PSAncHJlJ1xuICA/ICcvL3RjYi1wcmUudGVuY2VudGNsb3VkYXBpLmNvbS93ZWInXG4gIDogJy8vdGNiLWFwaS50ZW5jZW50Y2xvdWRhcGkuY29tL3dlYidcbmV4cG9ydCBmdW5jdGlvbiBzZXRFbmRQb2ludCh1cmw6IHN0cmluZywgcHJvdG9jb2w/OiAnaHR0cCcgfCAnaHR0cHMnKSB7XG4gIEJBU0VfVVJMID0gdXJsXG4gIGlmIChwcm90b2NvbCkge1xuICAgIFBST1RPQ09MID0gcHJvdG9jb2xcbiAgICBzZXRVdGlsaXRpZXNQcm90b2NvbChwcm90b2NvbClcbiAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIHNldFJlZ2lvbkxldmVsRW5kcG9pbnQoZW52OiBzdHJpbmcsIHJlZ2lvbjogc3RyaW5nLCBwcm90b2NvbD86ICdodHRwJyB8ICdodHRwcycpIHtcbiAgY29uc3QgZW5kcG9pb250ID0gcmVnaW9uXG4gICAgPyBgLy8ke2Vudn0uJHtyZWdpb259LnRjYi1hcGkudGVuY2VudGNsb3VkYXBpLmNvbS93ZWJgXG4gICAgOiBgLy8ke2Vudn0uYXAtc2hhbmdoYWkudGNiLWFwaS50ZW5jZW50Y2xvdWRhcGkuY29tL3dlYmBcbiAgc2V0RW5kUG9pbnQoZW5kcG9pb250LCBwcm90b2NvbClcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbmRQb2ludCgpIHtcbiAgcmV0dXJuIHsgQkFTRV9VUkwsIFBST1RPQ09MIH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFzZUVuZFBvaW50KCkge1xuICBjb25zdCB7IFBST1RPQ09MLCBCQVNFX1VSTCB9ID0gZ2V0RW5kUG9pbnQoKVxuICBjb25zdCB3ZWJFbmRwb2ludCA9IGAke1BST1RPQ09MfSR7QkFTRV9VUkx9YFxuICAvLyBAdG9kbyDkuLTml7blhbzlrrnlsI/nqIvluo9cbiAgcmV0dXJuIHdlYkVuZHBvaW50Lm1hdGNoKC8oaHR0cChzKT86KT9cXC9cXC8oW14vPyNdKikvKVswXVxuICAvLyByZXR1cm4gYCR7bmV3IFVSTCh3ZWJFbmRwb2ludCkub3JpZ2lufWBcbn1cblxuZXhwb3J0IGVudW0gTE9HSU5UWVBFIHtcbiAgTlVMTCA9ICdOVUxMJyxcbiAgQU5PTllNT1VTID0gJ0FOT05ZTU9VUycsXG4gIFdFQ0hBVCA9ICdXRUNIQVQnLFxuICBXRUNIQVRfUFVCTElDID0gJ1dFQ0hBVC1QVUJMSUMnLFxuICBXRUNIQVRfT1BFTiA9ICdXRUNIQVQtT1BFTicsXG4gIENVU1RPTSA9ICdDVVNUT00nLFxuICBFTUFJTCA9ICdFTUFJTCcsXG4gIFVTRVJOQU1FID0gJ1VTRVJOQU1FJyxcbiAgUEhPTkUgPSAnUEhPTkUnXG59XG5cbmV4cG9ydCBjb25zdCBPQVVUSDJfTE9HSU5UWVBFX1BSRUZJWCA9ICdPQVVUSDInXG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { ICloudbase } from '@cloudbase/types';
2
+ export { getBaseEndPoint } from './constants/common';
3
+ export declare const cloudbase: ICloudbase;
4
+ export default cloudbase;