@cloudbase/utilities 1.4.2-alpha.0 → 1.8.1

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 (34) hide show
  1. package/dist/cjs/adapters/index.js +55 -0
  2. package/dist/cjs/adapters/platforms/web.js +212 -0
  3. package/dist/cjs/constants/common.js +26 -0
  4. package/dist/cjs/constants/errors.js +12 -0
  5. package/dist/{constants → cjs/constants}/index.d.ts +0 -1
  6. package/dist/cjs/constants/index.js +19 -0
  7. package/dist/cjs/helpers/decorators.js +206 -0
  8. package/dist/cjs/helpers/index.js +18 -0
  9. package/dist/{index.d.ts → cjs/index.d.ts} +1 -5
  10. package/dist/cjs/index.js +39 -0
  11. package/dist/cjs/libs/cache.js +338 -0
  12. package/dist/cjs/libs/events.js +108 -0
  13. package/dist/cjs/libs/util.js +223 -0
  14. package/package.json +9 -26
  15. package/dist/adapters/index.js +0 -51
  16. package/dist/adapters/platforms/web.js +0 -210
  17. package/dist/constants/common.js +0 -26
  18. package/dist/constants/errors.js +0 -12
  19. package/dist/constants/index.js +0 -17
  20. package/dist/helpers/decorators.js +0 -212
  21. package/dist/helpers/index.js +0 -14
  22. package/dist/index.js +0 -43
  23. package/dist/libs/cache.js +0 -338
  24. package/dist/libs/events.js +0 -104
  25. package/dist/libs/util.js +0 -223
  26. /package/dist/{adapters → cjs/adapters}/index.d.ts +0 -0
  27. /package/dist/{adapters → cjs/adapters}/platforms/web.d.ts +0 -0
  28. /package/dist/{constants → cjs/constants}/common.d.ts +0 -0
  29. /package/dist/{constants → cjs/constants}/errors.d.ts +0 -0
  30. /package/dist/{helpers → cjs/helpers}/decorators.d.ts +0 -0
  31. /package/dist/{helpers → cjs/helpers}/index.d.ts +0 -0
  32. /package/dist/{libs → cjs/libs}/cache.d.ts +0 -0
  33. /package/dist/{libs → cjs/libs}/events.d.ts +0 -0
  34. /package/dist/{libs → cjs/libs}/util.d.ts +0 -0
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.transformPhone = exports.sleep = exports.printGroupLog = exports.throwError = exports.printInfo = exports.printError = exports.printWarn = exports.execCallback = exports.createPromiseCallback = exports.removeParam = exports.getHash = exports.getQuery = exports.toQueryString = exports.createSign = exports.formatUrl = exports.genSeqId = exports.isFormData = exports.isInstanceOf = exports.isNull = exports.isPalinObject = exports.isUndefined = exports.isString = exports.isArray = void 0;
7
+ var hmac_sha256_1 = __importDefault(require("crypto-js/hmac-sha256"));
8
+ var enc_base64_1 = __importDefault(require("crypto-js/enc-base64"));
9
+ var enc_utf8_1 = __importDefault(require("crypto-js/enc-utf8"));
10
+ var constants_1 = require("../constants");
11
+ function isArray(val) {
12
+ return Object.prototype.toString.call(val) === '[object Array]';
13
+ }
14
+ exports.isArray = isArray;
15
+ function isString(val) {
16
+ return typeof val === 'string';
17
+ }
18
+ exports.isString = isString;
19
+ function isUndefined(val) {
20
+ return typeof val === 'undefined';
21
+ }
22
+ exports.isUndefined = isUndefined;
23
+ function isPalinObject(val) {
24
+ return Object.prototype.toString.call(val) === '[object Object]';
25
+ }
26
+ exports.isPalinObject = isPalinObject;
27
+ function isNull(val) {
28
+ return Object.prototype.toString.call(val) === '[object Null]';
29
+ }
30
+ exports.isNull = isNull;
31
+ function isInstanceOf(instance, construct) {
32
+ return instance instanceof construct;
33
+ }
34
+ exports.isInstanceOf = isInstanceOf;
35
+ function isFormData(val) {
36
+ return Object.prototype.toString.call(val) === '[object FormData]';
37
+ }
38
+ exports.isFormData = isFormData;
39
+ function genSeqId() {
40
+ return Math.random().toString(16)
41
+ .slice(2);
42
+ }
43
+ exports.genSeqId = genSeqId;
44
+ function formatUrl(PROTOCOL, url, query) {
45
+ if (query === void 0) { query = {}; }
46
+ var urlHasQuery = /\?/.test(url);
47
+ var queryString = '';
48
+ for (var key in query) {
49
+ if (queryString === '') {
50
+ !urlHasQuery && (url += '?');
51
+ }
52
+ else {
53
+ queryString += '&';
54
+ }
55
+ queryString += "".concat(key, "=").concat(encodeURIComponent(query[key]));
56
+ }
57
+ url += queryString;
58
+ if (/^http(s)?\:\/\//.test(url)) {
59
+ return url;
60
+ }
61
+ return "".concat(PROTOCOL).concat(url);
62
+ }
63
+ exports.formatUrl = formatUrl;
64
+ function base64url(source) {
65
+ var encodedSource = enc_base64_1.default.stringify(source);
66
+ encodedSource = encodedSource.replace(/=+$/, '');
67
+ encodedSource = encodedSource.replace(/\+/g, '-');
68
+ encodedSource = encodedSource.replace(/\//g, '_');
69
+ return encodedSource;
70
+ }
71
+ function createSign(payload, secret) {
72
+ var header = {
73
+ alg: 'HS256',
74
+ typ: 'JWT',
75
+ };
76
+ var headerStr = base64url(enc_utf8_1.default.parse(JSON.stringify(header)));
77
+ var payloadStr = base64url(enc_utf8_1.default.parse(JSON.stringify(payload)));
78
+ var token = "".concat(headerStr, ".").concat(payloadStr);
79
+ var sign = base64url((0, hmac_sha256_1.default)(token, secret));
80
+ return "".concat(token, ".").concat(sign);
81
+ }
82
+ exports.createSign = createSign;
83
+ function toQueryString(query) {
84
+ if (query === void 0) { query = {}; }
85
+ var queryString = [];
86
+ for (var key in query) {
87
+ queryString.push("".concat(key, "=").concat(encodeURIComponent(query[key])));
88
+ }
89
+ return queryString.join('&');
90
+ }
91
+ exports.toQueryString = toQueryString;
92
+ function getQuery(name, url) {
93
+ if (typeof window === 'undefined') {
94
+ return false;
95
+ }
96
+ var u = url || window.location.search;
97
+ var reg = new RegExp("(^|&)".concat(name, "=([^&]*)(&|$)"));
98
+ var r = u.substr(u.indexOf('?') + 1).match(reg);
99
+ return r != null ? r[2] : '';
100
+ }
101
+ exports.getQuery = getQuery;
102
+ var getHash = function (name) {
103
+ if (typeof window === 'undefined') {
104
+ return '';
105
+ }
106
+ var matches = window.location.hash.match(new RegExp("[#?&/]".concat(name, "=([^&#]*)")));
107
+ return matches ? matches[1] : '';
108
+ };
109
+ exports.getHash = getHash;
110
+ function removeParam(key, sourceURL) {
111
+ var rtn = sourceURL.split('?')[0];
112
+ var param;
113
+ var params_arr = [];
114
+ var queryString = sourceURL.indexOf('?') !== -1 ? sourceURL.split('?')[1] : '';
115
+ if (queryString !== '') {
116
+ params_arr = queryString.split('&');
117
+ for (var i = params_arr.length - 1; i >= 0; i -= 1) {
118
+ param = params_arr[i].split('=')[0];
119
+ if (param === key) {
120
+ params_arr.splice(i, 1);
121
+ }
122
+ }
123
+ rtn = "".concat(rtn, "?").concat(params_arr.join('&'));
124
+ }
125
+ return rtn;
126
+ }
127
+ exports.removeParam = removeParam;
128
+ function createPromiseCallback() {
129
+ var cb;
130
+ if (!Promise) {
131
+ cb = function () { };
132
+ cb.promise = {};
133
+ var throwPromiseNotDefined = function () {
134
+ throw new Error('Your Node runtime does support ES6 Promises. '
135
+ + 'Set "global.Promise" to your preferred implementation of promises.');
136
+ };
137
+ Object.defineProperty(cb.promise, 'then', { get: throwPromiseNotDefined });
138
+ Object.defineProperty(cb.promise, 'catch', { get: throwPromiseNotDefined });
139
+ return cb;
140
+ }
141
+ var promise = new Promise(function (resolve, reject) {
142
+ cb = function (err, data) {
143
+ if (err)
144
+ return reject(err);
145
+ return resolve(data);
146
+ };
147
+ });
148
+ cb.promise = promise;
149
+ return cb;
150
+ }
151
+ exports.createPromiseCallback = createPromiseCallback;
152
+ function execCallback(fn, err, data) {
153
+ if (data === void 0) { data = null; }
154
+ if (fn && typeof fn === 'function') {
155
+ return fn(err, data);
156
+ }
157
+ if (err) {
158
+ throw err;
159
+ }
160
+ return data;
161
+ }
162
+ exports.execCallback = execCallback;
163
+ function printWarn(error, msg) {
164
+ console.warn("[".concat((0, constants_1.getSdkName)(), "][").concat(error, "]:").concat(msg));
165
+ }
166
+ exports.printWarn = printWarn;
167
+ function printError(error, msg) {
168
+ console.error({
169
+ code: error,
170
+ msg: "[".concat((0, constants_1.getSdkName)(), "][").concat(error, "]:").concat(msg),
171
+ });
172
+ }
173
+ exports.printError = printError;
174
+ function printInfo(error, msg) {
175
+ console.log("[".concat((0, constants_1.getSdkName)(), "][").concat(error, "]:").concat(msg));
176
+ }
177
+ exports.printInfo = printInfo;
178
+ function throwError(error, msg) {
179
+ throw new Error(JSON.stringify({
180
+ code: error,
181
+ msg: "[".concat((0, constants_1.getSdkName)(), "][").concat(error, "]:").concat(msg),
182
+ }));
183
+ }
184
+ exports.throwError = throwError;
185
+ function printGroupLog(options) {
186
+ var title = options.title, _a = options.subtitle, subtitle = _a === void 0 ? '' : _a, _b = options.content, content = _b === void 0 ? [] : _b, _c = options.printTrace, printTrace = _c === void 0 ? false : _c, _d = options.collapsed, collapsed = _d === void 0 ? false : _d;
187
+ if (collapsed) {
188
+ console.groupCollapsed(title, subtitle);
189
+ }
190
+ else {
191
+ console.group(title, subtitle);
192
+ }
193
+ for (var _i = 0, content_1 = content; _i < content_1.length; _i++) {
194
+ var tip = content_1[_i];
195
+ var type = tip.type, body = tip.body;
196
+ switch (type) {
197
+ case 'info':
198
+ console.log(body);
199
+ break;
200
+ case 'warn':
201
+ console.warn(body);
202
+ break;
203
+ case 'error':
204
+ console.error(body);
205
+ break;
206
+ }
207
+ }
208
+ if (printTrace) {
209
+ console.trace('stack trace:');
210
+ }
211
+ console.groupEnd();
212
+ }
213
+ exports.printGroupLog = printGroupLog;
214
+ var sleep = function (ms) {
215
+ if (ms === void 0) { ms = 0; }
216
+ return new Promise(function (r) { return setTimeout(r, ms); });
217
+ };
218
+ exports.sleep = sleep;
219
+ function transformPhone(phoneNumber) {
220
+ return "+86".concat(phoneNumber);
221
+ }
222
+ exports.transformPhone = transformPhone;
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWJzL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0Esc0VBQTBDO0FBQzFDLG9FQUEwQztBQUMxQyxnRUFBc0M7QUFFdEMsMENBQTBDO0FBRTFDLFNBQWdCLE9BQU8sQ0FBQyxHQUFRO0lBQzlCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGdCQUFnQixDQUFDO0FBQ2xFLENBQUM7QUFGRCwwQkFFQztBQUNELFNBQWdCLFFBQVEsQ0FBQyxHQUFRO0lBQy9CLE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDO0FBQ2pDLENBQUM7QUFGRCw0QkFFQztBQUNELFNBQWdCLFdBQVcsQ0FBQyxHQUFRO0lBQ2xDLE9BQU8sT0FBTyxHQUFHLEtBQUssV0FBVyxDQUFDO0FBQ3BDLENBQUM7QUFGRCxrQ0FFQztBQUNELFNBQWdCLGFBQWEsQ0FBQyxHQUFRO0lBQ3BDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGlCQUFpQixDQUFDO0FBQ25FLENBQUM7QUFGRCxzQ0FFQztBQUNELFNBQWdCLE1BQU0sQ0FBQyxHQUFRO0lBQzdCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGVBQWUsQ0FBQztBQUNqRSxDQUFDO0FBRkQsd0JBRUM7QUFDRCxTQUFnQixZQUFZLENBQUMsUUFBYSxFQUFFLFNBQWM7SUFDeEQsT0FBTyxRQUFRLFlBQVksU0FBUyxDQUFDO0FBQ3ZDLENBQUM7QUFGRCxvQ0FFQztBQUNELFNBQWdCLFVBQVUsQ0FBQyxHQUFRO0lBQ2pDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLG1CQUFtQixD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QUFPLEVBQVAsSUFBTyxFQUFFO1FBQXRCLElBQU0sR0FBRyxnQkFBQTtRQUNKLElBQUEsSUFBSSxHQUFXLEdBQUcsS0FBZCxFQUFFLElBQUksR0FBSyxHQUFHLEtBQVIsQ0FBUztRQUMzQixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssTUFBTTtnQkFDVCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNsQixNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25CLE1BQU07WUFDUixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDcEIsTUFBTTtTQUNUO0tBQ0Y7SUFDRCxJQUFJLFVBQVUsRUFBRTtRQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDL0I7SUFDRCxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDckIsQ0FBQztBQXpCRCxzQ0F5QkM7QUFFTSxJQUFNLEtBQUssR0FBRyxVQUFDLEVBQU07SUFBTixtQkFBQSxFQUFBLE1BQU07SUFBSyxPQUFBLElBQUksT0FBTyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsVUFBVSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBakIsQ0FBaUIsQ0FBQztBQUFuQyxDQUFtQyxDQUFDO0FBQXhELFFBQUEsS0FBSyxTQUFtRDtBQUVyRSxTQUFnQixjQUFjLENBQUMsV0FBbUI7SUFDaEQsT0FBTyxhQUFNLFdBQVcsQ0FBRSxDQUFDO0FBQzdCLENBQUM7QUFGRCx3Q0FFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZWxlc3MtZXNjYXBlICovXG5pbXBvcnQgaHMyNTYgZnJvbSAnY3J5cHRvLWpzL2htYWMtc2hhMjU2JztcbmltcG9ydCBiYXNlNjQgZnJvbSAnY3J5cHRvLWpzL2VuYy1iYXNlNjQnO1xuaW1wb3J0IHV0ZjggZnJvbSAnY3J5cHRvLWpzL2VuYy11dGY4JztcbmltcG9ydCB7IEtWIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcyc7XG5pbXBvcnQgeyBnZXRTZGtOYW1lIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXkodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBBcnJheV0nO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nKHZhbDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAnc3RyaW5nJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ3VuZGVmaW5lZCc7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNQYWxpbk9iamVjdCh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IE9iamVjdF0nO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVsbCh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IE51bGxdJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0luc3RhbmNlT2YoaW5zdGFuY2U6IGFueSwgY29uc3RydWN0OiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIGluc3RhbmNlIGluc3RhbmNlb2YgY29uc3RydWN0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9ybURhdGEodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBGb3JtRGF0YV0nO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdlblNlcUlkKCk6IHN0cmluZyB7XG4gIHJldHVybiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDE2KVxuICAgIC5zbGljZSgyKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRVcmwoUFJPVE9DT0w6IHN0cmluZywgdXJsOiBzdHJpbmcsIHF1ZXJ5OiBLVjxhbnk+ID0ge30pOiBzdHJpbmcge1xuICBjb25zdCB1cmxIYXNRdWVyeSA9IC9cXD8vLnRlc3QodXJsKTtcbiAgbGV0IHF1ZXJ5U3RyaW5nID0gJyc7XG4gIGZvciAoY29uc3Qga2V5IGluIHF1ZXJ5KSB7XG4gICAgaWYgKHF1ZXJ5U3RyaW5nID09PSAnJykge1xuICAgICAgIXVybEhhc1F1ZXJ5ICYmICh1cmwgKz0gJz8nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcXVlcnlTdHJpbmcgKz0gJyYnO1xuICAgIH1cbiAgICBxdWVyeVN0cmluZyArPSBgJHtrZXl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHF1ZXJ5W2tleV0pfWA7XG4gIH1cbiAgdXJsICs9IHF1ZXJ5U3RyaW5nO1xuICBpZiAoL15odHRwKHMpP1xcOlxcL1xcLy8udGVzdCh1cmwpKSB7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuICByZXR1cm4gYCR7UFJPVE9DT0x9JHt1cmx9YDtcbn1cblxuZnVuY3Rpb24gYmFzZTY0dXJsKHNvdXJjZTogS1Y8YW55Pik6IHN0cmluZyB7XG4gIGxldCBlbmNvZGVkU291cmNlID0gYmFzZTY0LnN0cmluZ2lmeShzb3VyY2UpO1xuXG4gIGVuY29kZWRTb3VyY2UgPSBlbmNvZGVkU291cmNlLnJlcGxhY2UoLz0rJC8sICcnKTtcbiAgZW5jb2RlZFNvdXJjZSA9IGVuY29kZWRTb3VyY2UucmVwbGFjZSgvXFwrL2csICctJyk7XG4gIGVuY29kZWRTb3VyY2UgPSBlbmNvZGVkU291cmNlLnJlcGxhY2UoL1xcLy9nLCAnXycpO1xuXG4gIHJldHVybiBlbmNvZGVkU291cmNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2lnbihwYXlsb2FkOiBLVjxhbnk+LCBzZWNyZXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGhlYWRlciA9IHtcbiAgICBhbGc6ICdIUzI1NicsXG4gICAgdHlwOiAnSldUJyxcbiAgfTtcbiAgY29uc3QgaGVhZGVyU3RyID0gYmFzZTY0dXJsKHV0ZjgucGFyc2UoSlNPTi5zdHJpbmdpZnkoaGVhZGVyKSkpO1xuICBjb25zdCBwYXlsb2FkU3RyID0gYmFzZTY0dXJsKHV0ZjgucGFyc2UoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpKTtcblxuICBjb25zdCB0b2tlbiA9IGAke2hlYWRlclN0cn0uJHtwYXlsb2FkU3RyfWA7XG4gIGNvbnN0IHNpZ24gPSBiYXNlNjR1cmwoaHMyNTYodG9rZW4sIHNlY3JldCkpO1xuICByZXR1cm4gYCR7dG9rZW59LiR7c2lnbn1gO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRvUXVlcnlTdHJpbmcocXVlcnk6IEtWPGFueT4gPSB7fSkge1xuICBjb25zdCBxdWVyeVN0cmluZyA9IFtdO1xuICBmb3IgKGNvbnN0IGtleSBpbiBxdWVyeSkge1xuICAgIHF1ZXJ5U3RyaW5nLnB1c2goYCR7a2V5fT0ke2VuY29kZVVSSUNvbXBvbmVudChxdWVyeVtrZXldKX1gKTtcbiAgfVxuICByZXR1cm4gcXVlcnlTdHJpbmcuam9pbignJicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlcnkobmFtZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIC8vIOWPguaVsO+8muWPmOmHj+WQje+8jHVybOS4uuepuuWImeihqOS7juW9k+WJjemhtemdoueahHVybOS4reWPllxuICBjb25zdCB1ID0gdXJsIHx8IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2g7XG4gIGNvbnN0IHJlZyA9IG5ldyBSZWdFeHAoYChefCYpJHtuYW1lfT0oW14mXSopKCZ8JClgKTtcbiAgY29uc3QgciA9IHUuc3Vic3RyKHUuaW5kZXhPZignPycpICsgMSkubWF0Y2gocmVnKTtcbiAgcmV0dXJuIHIgIT0gbnVsbCA/IHJbMl0gOiAnJztcbn1cblxuZXhwb3J0IGNvbnN0IGdldEhhc2ggPSBmdW5jdGlvbiAobmFtZTogc3RyaW5nKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBjb25zdCBtYXRjaGVzID0gd2luZG93LmxvY2F0aW9uLmhhc2gubWF0Y2gobmV3IFJlZ0V4cChgWyNcXD8mXFwvXSR7bmFtZX09KFteJiNdKilgKSk7XG4gIHJldHVybiBtYXRjaGVzID8gbWF0Y2hlc1sxXSA6ICcnO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVBhcmFtKGtleTogc3RyaW5nLCBzb3VyY2VVUkw6IHN0cmluZykge1xuICBsZXQgcnRuID0gc291cmNlVVJMLnNwbGl0KCc/JylbMF07XG4gIGxldCBwYXJhbTtcbiAgbGV0IHBhcmFtc19hcnIgPSBbXTtcbiAgY29uc3QgcXVlcnlTdHJpbmcgPSAgICBzb3VyY2VVUkwuaW5kZXhPZignPycpICE9PSAtMSA/IHNvdXJjZVVSTC5zcGxpdCgnPycpWzFdIDogJyc7XG4gIGlmIChxdWVyeVN0cmluZyAhPT0gJycpIHtcbiAgICBwYXJhbXNfYXJyID0gcXVlcnlTdHJpbmcuc3BsaXQoJyYnKTtcbiAgICBmb3IgKGxldCBpID0gcGFyYW1zX2Fyci5sZW5ndGggLSAxOyBpID49IDA7IGkgLT0gMSkge1xuICAgICAgcGFyYW0gPSBwYXJhbXNfYXJyW2ldLnNwbGl0KCc9JylbMF07XG4gICAgICBpZiAocGFyYW0gPT09IGtleSkge1xuICAgICAgICBwYXJhbXNfYXJyLnNwbGljZShpLCAxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcnRuID0gYCR7cnRufT8ke3BhcmFtc19hcnIuam9pbignJicpfWA7XG4gIH1cbiAgcmV0dXJuIHJ0bjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb21pc2VDYWxsYmFjaygpIHtcbiAgbGV0IGNiOiBhbnk7XG4gIGlmICghUHJvbWlzZSkge1xuICAgIGNiID0gKCkgPT4geyB9O1xuICAgIGNiLnByb21pc2UgPSB7fTtcblxuICAgIGNvbnN0IHRocm93UHJvbWlzZU5vdERlZmluZWQgPSAoKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdXIgTm9kZSBydW50aW1lIGRvZXMgc3VwcG9ydCBFUzYgUHJvbWlzZXMuICdcbiAgICAgICAgKyAnU2V0IFwiZ2xvYmFsLlByb21pc2VcIiB0byB5b3VyIHByZWZlcnJlZCBpbXBsZW1lbnRhdGlvbiBvZiBwcm9taXNlcy4nKTtcbiAgICB9O1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNiLnByb21pc2UsICd0aGVuJywgeyBnZXQ6IHRocm93UHJvbWlzZU5vdERlZmluZWQgfSk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNiLnByb21pc2UsICdjYXRjaCcsIHsgZ2V0OiB0aHJvd1Byb21pc2VOb3REZWZpbmVkIH0pO1xuICAgIHJldHVybiBjYjtcbiAgfVxuXG4gIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY2IgPSAoZXJyLCBkYXRhKSA9PiB7XG4gICAgICBpZiAoZXJyKSByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICByZXR1cm4gcmVzb2x2ZShkYXRhKTtcbiAgICB9O1xuICB9KTtcbiAgY2IucHJvbWlzZSA9IHByb21pc2U7XG4gIHJldHVybiBjYjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4ZWNDYWxsYmFjayhmbjogRnVuY3Rpb24gfCBudWxsIHwgdW5kZWZpbmVkLCBlcnI6IGFueSwgZGF0YSA9IG51bGwpIHtcbiAgaWYgKGZuICYmIHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBmbihlcnIsIGRhdGEpO1xuICB9XG4gIGlmIChlcnIpIHtcbiAgICB0aHJvdyBlcnI7XG4gIH1cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludFdhcm4oZXJyb3I6IHN0cmluZywgbXNnOiBzdHJpbmcpIHtcbiAgY29uc29sZS53YXJuKGBbJHtnZXRTZGtOYW1lKCl9XVske2Vycm9yfV06JHttc2d9YCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludEVycm9yKGVycm9yOiBzdHJpbmcsIG1zZzogc3RyaW5nKSB7XG4gIGNvbnNvbGUuZXJyb3Ioe1xuICAgIGNvZGU6IGVycm9yLFxuICAgIG1zZzogYFske2dldFNka05hbWUoKX1dWyR7ZXJyb3J9XToke21zZ31gLFxuICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBwcmludEluZm8oZXJyb3I6IHN0cmluZywgbXNnOiBzdHJpbmcpIHtcbiAgY29uc29sZS5sb2coYFske2dldFNka05hbWUoKX1dWyR7ZXJyb3J9XToke21zZ31gKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd0Vycm9yKGVycm9yOiBzdHJpbmcsIG1zZzogc3RyaW5nKSB7XG4gIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeSh7XG4gICAgY29kZTogZXJyb3IsXG4gICAgbXNnOiBgWyR7Z2V0U2RrTmFtZSgpfV1bJHtlcnJvcn1dOiR7bXNnfWAsXG4gIH0pKTtcbn1cblxuaW50ZXJmYWNlIElQcmludEdyb3VwTG9nT3B0aW9ucyB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlOiBzdHJpbmcgfCBvYmplY3Q7XG4gIGNvbnRlbnQ6IHtcbiAgICB0eXBlOiAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InLFxuICAgIGJvZHk6IHN0cmluZyB8IEVycm9yO1xuICB9W107XG4gIHByaW50VHJhY2U/OiBib29sZWFuO1xuICBjb2xsYXBzZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHByaW50R3JvdXBMb2cob3B0aW9uczogSVByaW50R3JvdXBMb2dPcHRpb25zKSB7XG4gIGNvbnN0IHsgdGl0bGUsIHN1YnRpdGxlID0gJycsIGNvbnRlbnQgPSBbXSwgcHJpbnRUcmFjZSA9IGZhbHNlLCBjb2xsYXBzZWQgPSBmYWxzZSB9ID0gb3B0aW9ucztcbiAgaWYgKGNvbGxhcHNlZCkge1xuICAgIGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQodGl0bGUsIHN1YnRpdGxlKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmdyb3VwKHRpdGxlLCBzdWJ0aXRsZSk7XG4gIH1cbiAgZm9yIChjb25zdCB0aXAgb2YgY29udGVudCkge1xuICAgIGNvbnN0IHsgdHlwZSwgYm9keSB9ID0gdGlwO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgIGNvbnNvbGUubG9nKGJvZHkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgICBjb25zb2xlLndhcm4oYm9keSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICBjb25zb2xlLmVycm9yKGJvZHkpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKHByaW50VHJhY2UpIHtcbiAgICBjb25zb2xlLnRyYWNlKCdzdGFjayB0cmFjZTonKTtcbiAgfVxuICBjb25zb2xlLmdyb3VwRW5kKCk7XG59XG5cbmV4cG9ydCBjb25zdCBzbGVlcCA9IChtcyA9IDApID0+IG5ldyBQcm9taXNlKHIgPT4gc2V0VGltZW91dChyLCBtcykpO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtUGhvbmUocGhvbmVOdW1iZXI6IHN0cmluZykge1xuICByZXR1cm4gYCs4NiR7cGhvbmVOdW1iZXJ9YDtcbn1cblxuIl19
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@cloudbase/utilities",
3
- "version": "1.4.2-alpha.0",
3
+ "version": "1.8.1",
4
4
  "description": "cloudbase javascript sdk utilities",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
5
+ "main": "dist/cjs/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/cjs/index.d.ts",
7
8
  "files": [
8
9
  "dist/**"
9
10
  ],
@@ -23,31 +24,13 @@
23
24
  ],
24
25
  "author": "",
25
26
  "license": "ISC",
26
- "devDependencies": {
27
- "@types/node": "^13.13.2",
28
- "@typescript-eslint/eslint-plugin": "^2.30.0",
29
- "@typescript-eslint/parser": "^2.30.0",
30
- "eslint": "^6.8.0",
31
- "eslint-config-alloy": "^3.7.1",
32
- "husky": "^4.2.5",
33
- "lint-staged": "^10.1.7",
34
- "typescript": "^3.8.3"
35
- },
36
27
  "dependencies": {
37
28
  "@cloudbase/adapter-interface": "^0.4.0",
38
- "@cloudbase/types": "^1.2.2-alpha.0",
39
- "crypto-js": "3",
40
- "jwt-decode": "^3.1.2"
29
+ "@cloudbase/types": "^1.8.1",
30
+ "crypto-js": "4.2.0"
41
31
  },
42
- "husky": {
43
- "hooks": {
44
- "pre-commit": "lint-staged"
45
- }
46
- },
47
- "lint-staged": {
48
- "*.ts": [
49
- "eslint --fix"
50
- ]
32
+ "devDependencies": {
33
+ "@types/node": "^22.5.4"
51
34
  },
52
- "gitHead": "d158e30a395d8fcd6b7c7e78a66006b194a3eddb"
35
+ "gitHead": "1becff3801c6dda6e3cd45127d2881aef987c7bf"
53
36
  }
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.useDefaultAdapter = exports.useAdapters = exports.RUNTIME = void 0;
23
- var Web = __importStar(require("./platforms/web"));
24
- var util_1 = require("../libs/util");
25
- var RUNTIME;
26
- (function (RUNTIME) {
27
- RUNTIME["WEB"] = "web";
28
- RUNTIME["WX_MP"] = "wx_mp";
29
- })(RUNTIME = exports.RUNTIME || (exports.RUNTIME = {}));
30
- function useAdapters(adapters) {
31
- var adapterList = util_1.isArray(adapters) ? adapters : [adapters];
32
- for (var _i = 0, adapterList_1 = adapterList; _i < adapterList_1.length; _i++) {
33
- var adapter = adapterList_1[_i];
34
- var isMatch = adapter.isMatch, genAdapter = adapter.genAdapter, runtime = adapter.runtime;
35
- if (isMatch()) {
36
- return {
37
- adapter: genAdapter(),
38
- runtime: runtime
39
- };
40
- }
41
- }
42
- }
43
- exports.useAdapters = useAdapters;
44
- function useDefaultAdapter() {
45
- return {
46
- adapter: Web.genAdapter(),
47
- runtime: RUNTIME.WEB
48
- };
49
- }
50
- exports.useDefaultAdapter = useDefaultAdapter;
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRhcHRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLG1EQUF1QztBQUN2QyxxQ0FBdUM7QUFFdkMsSUFBWSxPQUdYO0FBSEQsV0FBWSxPQUFPO0lBQ2pCLHNCQUFXLENBQUE7SUFDWCwwQkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxPQUFPLEdBQVAsZUFBTyxLQUFQLGVBQU8sUUFHbEI7QUFFRCxTQUFnQixXQUFXLENBQUMsUUFBNkM7SUFDdkUsSUFBTSxXQUFXLEdBQXVCLGNBQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUE0QixDQUFDLENBQUM7SUFDNUgsS0FBc0IsVUFBVyxFQUFYLDJCQUFXLEVBQVgseUJBQVcsRUFBWCxJQUFXLEVBQUU7UUFBOUIsSUFBTSxPQUFPLG9CQUFBO1FBQ1IsSUFBQSxPQUFPLEdBQTBCLE9BQU8sUUFBakMsRUFBRSxVQUFVLEdBQWMsT0FBTyxXQUFyQixFQUFFLE9BQU8sR0FBSyxPQUFPLFFBQVosQ0FBYTtRQUNqRCxJQUFJLE9BQU8sRUFBRSxFQUFFO1lBQ2IsT0FBTztnQkFDTCxPQUFPLEVBQUUsVUFBVSxFQUFFO2dCQUNyQixPQUFPLFNBQUE7YUFDUixDQUFDO1NBQ0g7S0FDRjtBQUNILENBQUM7QUFYRCxrQ0FXQztBQUVELFNBQWdCLGlCQUFpQjtJQUMvQixPQUFPO1FBQ0wsT0FBTyxFQUFFLEdBQUcsQ0FBQyxVQUFVLEVBQUU7UUFDekIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHO0tBQ3JCLENBQUM7QUFDSixDQUFDO0FBTEQsOENBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbG91ZGJhc2VBZGFwdGVyIH0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSc7XG5pbXBvcnQgKiBhcyBXZWIgZnJvbSAnLi9wbGF0Zm9ybXMvd2ViJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi9saWJzL3V0aWwnO1xuXG5leHBvcnQgZW51bSBSVU5USU1FIHtcbiAgV0VCID0gJ3dlYicsXG4gIFdYX01QID0gJ3d4X21wJyAvLyDlvq7kv6HlsI/nqIvluo9cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUFkYXB0ZXJzKGFkYXB0ZXJzOiBDbG91ZGJhc2VBZGFwdGVyfENsb3VkYmFzZUFkYXB0ZXJbXSkge1xuICBjb25zdCBhZGFwdGVyTGlzdDogQ2xvdWRiYXNlQWRhcHRlcltdID0gaXNBcnJheShhZGFwdGVycykgPyBhZGFwdGVycyBhcyBDbG91ZGJhc2VBZGFwdGVyW10gOiBbYWRhcHRlcnMgYXMgQ2xvdWRiYXNlQWRhcHRlcl07XG4gIGZvciAoY29uc3QgYWRhcHRlciBvZiBhZGFwdGVyTGlzdCkge1xuICAgIGNvbnN0IHsgaXNNYXRjaCwgZ2VuQWRhcHRlciwgcnVudGltZSB9ID0gYWRhcHRlcjtcbiAgICBpZiAoaXNNYXRjaCgpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhZGFwdGVyOiBnZW5BZGFwdGVyKCksXG4gICAgICAgIHJ1bnRpbWVcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VEZWZhdWx0QWRhcHRlcigpIHtcbiAgcmV0dXJuIHtcbiAgICBhZGFwdGVyOiBXZWIuZ2VuQWRhcHRlcigpLFxuICAgIHJ1bnRpbWU6IFJVTlRJTUUuV0VCXG4gIH07XG59XG4iXX0=
@@ -1,210 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __assign = (this && this.__assign) || function () {
16
- __assign = Object.assign || function(t) {
17
- for (var s, i = 1, n = arguments.length; i < n; i++) {
18
- s = arguments[i];
19
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
- t[p] = s[p];
21
- }
22
- return t;
23
- };
24
- return __assign.apply(this, arguments);
25
- };
26
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
27
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28
- return new (P || (P = Promise))(function (resolve, reject) {
29
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
30
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
31
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
32
- step((generator = generator.apply(thisArg, _arguments || [])).next());
33
- });
34
- };
35
- var __generator = (this && this.__generator) || function (thisArg, body) {
36
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
37
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
38
- function verb(n) { return function (v) { return step([n, v]); }; }
39
- function step(op) {
40
- if (f) throw new TypeError("Generator is already executing.");
41
- while (_) try {
42
- 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;
43
- if (y = 0, t) op = [op[0] & 2, t.value];
44
- switch (op[0]) {
45
- case 0: case 1: t = op; break;
46
- case 4: _.label++; return { value: op[1], done: false };
47
- case 5: _.label++; y = op[1]; op = [0]; continue;
48
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
49
- default:
50
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
51
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
52
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
53
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
54
- if (t[2]) _.ops.pop();
55
- _.trys.pop(); continue;
56
- }
57
- op = body.call(thisArg, _);
58
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
59
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
60
- }
61
- };
62
- Object.defineProperty(exports, "__esModule", { value: true });
63
- exports.WebRequest = exports.genAdapter = void 0;
64
- var adapter_interface_1 = require("@cloudbase/adapter-interface");
65
- var util_1 = require("../../libs/util");
66
- var common_1 = require("../../constants/common");
67
- var WebRequest = (function (_super) {
68
- __extends(WebRequest, _super);
69
- function WebRequest(config) {
70
- var _this = _super.call(this) || this;
71
- var timeout = config.timeout, timeoutMsg = config.timeoutMsg, restrictedMethods = config.restrictedMethods;
72
- _this._timeout = timeout || 0;
73
- _this._timeoutMsg = timeoutMsg || '请求超时';
74
- _this._restrictedMethods = restrictedMethods || ['get', 'post', 'upload', 'download'];
75
- return _this;
76
- }
77
- WebRequest.prototype.get = function (options) {
78
- return this._request(__assign(__assign({}, options), { method: 'get' }), this._restrictedMethods.includes('get'));
79
- };
80
- WebRequest.prototype.post = function (options) {
81
- return this._request(__assign(__assign({}, options), { method: 'post' }), this._restrictedMethods.includes('post'));
82
- };
83
- WebRequest.prototype.put = function (options) {
84
- return this._request(__assign(__assign({}, options), { method: 'put' }));
85
- };
86
- WebRequest.prototype.upload = function (options) {
87
- var data = options.data, file = options.file, name = options.name;
88
- var formData = new FormData();
89
- for (var key in data) {
90
- formData.append(key, data[key]);
91
- }
92
- formData.append('key', name);
93
- formData.append('file', file);
94
- return this._request(__assign(__assign({}, options), { data: formData, method: 'post' }), this._restrictedMethods.includes('upload'));
95
- };
96
- WebRequest.prototype.download = function (options) {
97
- return __awaiter(this, void 0, void 0, function () {
98
- var data, url, fileName, link, e_1;
99
- return __generator(this, function (_a) {
100
- switch (_a.label) {
101
- case 0:
102
- _a.trys.push([0, 2, , 3]);
103
- return [4, this.get(__assign(__assign({}, options), { headers: {}, responseType: 'blob' }))];
104
- case 1:
105
- data = (_a.sent()).data;
106
- url = window.URL.createObjectURL(new Blob([data]));
107
- fileName = decodeURIComponent(new URL(options.url).pathname.split('/').pop() || '');
108
- link = document.createElement('a');
109
- link.href = url;
110
- link.setAttribute('download', fileName);
111
- link.style.display = 'none';
112
- document.body.appendChild(link);
113
- link.click();
114
- window.URL.revokeObjectURL(url);
115
- document.body.removeChild(link);
116
- return [3, 3];
117
- case 2:
118
- e_1 = _a.sent();
119
- return [3, 3];
120
- case 3: return [2, new Promise(function (resolve) {
121
- resolve({
122
- statusCode: 200,
123
- tempFilePath: options.url
124
- });
125
- })];
126
- }
127
- });
128
- });
129
- };
130
- WebRequest.prototype._request = function (options, enableAbort) {
131
- var _this = this;
132
- if (enableAbort === void 0) { enableAbort = false; }
133
- var method = (String(options.method)).toLowerCase() || 'get';
134
- return new Promise(function (resolve) {
135
- var url = options.url, _a = options.headers, headers = _a === void 0 ? {} : _a, data = options.data, responseType = options.responseType, withCredentials = options.withCredentials, body = options.body, onUploadProgress = options.onUploadProgress;
136
- var realUrl = util_1.formatUrl(common_1.getProtocol(), url, method === 'get' ? data : {});
137
- var ajax = new XMLHttpRequest();
138
- ajax.open(method, realUrl);
139
- responseType && (ajax.responseType = responseType);
140
- for (var key in headers) {
141
- ajax.setRequestHeader(key, headers[key]);
142
- }
143
- var timer;
144
- if (onUploadProgress) {
145
- ajax.upload.addEventListener('progress', onUploadProgress);
146
- }
147
- ajax.onreadystatechange = function () {
148
- var result = {};
149
- if (ajax.readyState === 4) {
150
- var headers_1 = ajax.getAllResponseHeaders();
151
- var arr = headers_1.trim().split(/[\r\n]+/);
152
- var headerMap_1 = {};
153
- arr.forEach(function (line) {
154
- var parts = line.split(': ');
155
- var header = parts.shift().toLowerCase();
156
- var value = parts.join(': ');
157
- headerMap_1[header] = value;
158
- });
159
- result.header = headerMap_1;
160
- result.statusCode = ajax.status;
161
- try {
162
- result.data = responseType === 'blob' ? ajax.response : JSON.parse(ajax.responseText);
163
- }
164
- catch (e) {
165
- result.data = responseType === 'blob' ? ajax.response : ajax.responseText;
166
- }
167
- clearTimeout(timer);
168
- resolve(result);
169
- }
170
- };
171
- if (enableAbort && _this._timeout) {
172
- timer = setTimeout(function () {
173
- console.warn(_this._timeoutMsg);
174
- ajax.abort();
175
- }, _this._timeout);
176
- }
177
- var payload;
178
- if (util_1.isFormData(data)) {
179
- payload = data;
180
- }
181
- else if (headers['content-type'] === 'application/x-www-form-urlencoded') {
182
- payload = util_1.toQueryString(data);
183
- }
184
- else if (body) {
185
- payload = body;
186
- }
187
- else {
188
- payload = data ? JSON.stringify(data) : undefined;
189
- }
190
- if (withCredentials) {
191
- ajax.withCredentials = true;
192
- }
193
- ajax.send(payload);
194
- });
195
- };
196
- return WebRequest;
197
- }(adapter_interface_1.AbstractSDKRequest));
198
- exports.WebRequest = WebRequest;
199
- function genAdapter() {
200
- var adapter = {
201
- root: window,
202
- reqClass: WebRequest,
203
- wsClass: WebSocket,
204
- localStorage: localStorage,
205
- sessionStorage: sessionStorage
206
- };
207
- return adapter;
208
- }
209
- exports.genAdapter = genAdapter;
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3BsYXRmb3Jtcy93ZWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0VBUXNDO0FBQ3RDLHdDQUFxRTtBQUNyRSxpREFBcUQ7QUFLckQ7SUFBeUIsOEJBQWtCO0lBT3pDLG9CQUFZLE1BQXNCO1FBQWxDLFlBQ0UsaUJBQU8sU0FLUjtRQUpTLElBQUEsT0FBTyxHQUFrQyxNQUFNLFFBQXhDLEVBQUMsVUFBVSxHQUF1QixNQUFNLFdBQTdCLEVBQUMsaUJBQWlCLEdBQUssTUFBTSxrQkFBWCxDQUFZO1FBQ3hELEtBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUM3QixLQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsSUFBSSxNQUFNLENBQUM7UUFDeEMsS0FBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixJQUFJLENBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsVUFBVSxDQUFDLENBQUM7O0lBQ3BGLENBQUM7SUFDTSx3QkFBRyxHQUFWLFVBQVcsT0FBd0I7UUFDakMsT0FBTyxJQUFJLENBQUMsUUFBUSx1QkFDZixPQUFPLEtBQ1YsTUFBTSxFQUFFLEtBQUssS0FDYixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNNLHlCQUFJLEdBQVgsVUFBWSxPQUF3QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxRQUFRLHVCQUNmLE9BQU8sS0FDVixNQUFNLEVBQUUsTUFBTSxLQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ00sd0JBQUcsR0FBVixVQUFXLE9BQXdCO1FB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QUM7YUFDbEI7WUFFRCxJQUFJLE9BQU8sQ0FBQztZQUNaLElBQUcsaUJBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFFbkIsT0FBTyxHQUFHLElBQUksQ0FBQzthQUNoQjtpQkFBTSxJQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxtQ0FBbUMsRUFBRTtnQkFDekUsT0FBTyxHQUFHLG9CQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0I7aUJBQU0sSUFBRyxJQUFJLEVBQUU7Z0JBQ2QsT0FBTyxHQUFHLElBQUksQ0FBQzthQUNoQjtpQkFBTTtnQkFFTCxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7YUFDbkQ7WUFFRCxJQUFHLGVBQWUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7YUFDN0I7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNILGlCQUFDO0FBQUQsQ0FBQyxBQWpKRCxDQUF5QixzQ0FBa0IsR0FpSjFDO0FBYW1CLGdDQUFVO0FBWDlCLFNBQVMsVUFBVTtJQUNqQixJQUFNLE9BQU8sR0FBd0I7UUFDbkMsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUsU0FBUztRQUNsQixZQUFZLEVBQUUsWUFBWTtRQUMxQixjQUFjLEVBQUUsY0FBYztLQUMvQixDQUFDO0lBQ0YsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVRLGdDQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU0RLQWRhcHRlckludGVyZmFjZSxcbiAgQWJzdHJhY3RTREtSZXF1ZXN0LFxuICBJUmVxdWVzdE9wdGlvbnMsXG4gIFJlc3BvbnNlT2JqZWN0LFxuICBJVXBsb2FkUmVxdWVzdE9wdGlvbnMsXG4gIElSZXF1ZXN0Q29uZmlnLFxuICBJUmVxdWVzdE1ldGhvZFxufSBmcm9tICdAY2xvdWRiYXNlL2FkYXB0ZXItaW50ZXJmYWNlJztcbmltcG9ydCB7IGlzRm9ybURhdGEsZm9ybWF0VXJsLHRvUXVlcnlTdHJpbmcgfSBmcm9tICcuLi8uLi9saWJzL3V0aWwnO1xuaW1wb3J0IHsgZ2V0UHJvdG9jb2wgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29tbW9uJztcblxuLyoqXG4gKiBAY2xhc3MgV2ViUmVxdWVzdFxuICovXG5jbGFzcyBXZWJSZXF1ZXN0IGV4dGVuZHMgQWJzdHJhY3RTREtSZXF1ZXN0IHtcbiAgLy8g6buY6K6k5LiN6ZmQ6LaF5pe2XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RpbWVvdXQ6IG51bWJlcjtcbiAgLy8g6LaF5pe25o+Q56S65paH5qGIXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RpbWVvdXRNc2c6IHN0cmluZztcbiAgLy8g6LaF5pe25Y+X6ZmQ6K+35rGC57G75Z6L77yM6buY6K6k5omA5pyJ6K+35rGC5Z2H5Y+X6ZmQXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc3RyaWN0ZWRNZXRob2RzOiBBcnJheTxJUmVxdWVzdE1ldGhvZD47XG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogSVJlcXVlc3RDb25maWcpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgdGltZW91dCx0aW1lb3V0TXNnLHJlc3RyaWN0ZWRNZXRob2RzIH0gPSBjb25maWc7XG4gICAgdGhpcy5fdGltZW91dCA9IHRpbWVvdXQgfHwgMDtcbiAgICB0aGlzLl90aW1lb3V0TXNnID0gdGltZW91dE1zZyB8fCAn6K+35rGC6LaF5pe2JztcbiAgICB0aGlzLl9yZXN0cmljdGVkTWV0aG9kcyA9IHJlc3RyaWN0ZWRNZXRob2RzIHx8IFsnZ2V0JywncG9zdCcsJ3VwbG9hZCcsJ2Rvd25sb2FkJ107XG4gIH1cbiAgcHVibGljIGdldChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3Qoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG1ldGhvZDogJ2dldCdcbiAgICB9LHRoaXMuX3Jlc3RyaWN0ZWRNZXRob2RzLmluY2x1ZGVzKCdnZXQnKSk7XG4gIH1cbiAgcHVibGljIHBvc3Qob3B0aW9uczogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxSZXNwb25zZU9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0KHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBtZXRob2Q6ICdwb3N0J1xuICAgIH0sdGhpcy5fcmVzdHJpY3RlZE1ldGhvZHMuaW5jbHVkZXMoJ3Bvc3QnKSk7XG4gIH1cbiAgcHVibGljIHB1dChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3Qoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG1ldGhvZDogJ3B1dCdcbiAgICB9KTtcbiAgfVxuICBwdWJsaWMgdXBsb2FkKG9wdGlvbnM6IElVcGxvYWRSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+IHtcbiAgICBjb25zdCB7IGRhdGEsZmlsZSxuYW1lIH0gPSBvcHRpb25zO1xuICAgIC8vIHVwbG9hZOiwg+eUqGRhdGHkuLpvYmplY3TnsbvlnovvvIzlnKjmraTlpITovazkuLpGb3JtRGF0YVxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9yKGNvbnN0IGtleSBpbiBkYXRhKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5LGRhdGFba2V5XSk7XG4gICAgfVxuICAgIGZvcm1EYXRhLmFwcGVuZCgna2V5JyxuYW1lKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLGZpbGUpO1xuICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0KHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBkYXRhOiBmb3JtRGF0YSxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnXG4gICAgfSx0aGlzLl9yZXN0cmljdGVkTWV0aG9kcy5pbmNsdWRlcygndXBsb2FkJykpO1xuICB9XG4gIHB1YmxpYyBhc3luYyBkb3dubG9hZChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMuZ2V0KHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgaGVhZGVyczoge30sIC8vIOS4i+i9vei1hOa6kOivt+axguS4jee7j+i/h3NlcnZpY2XvvIxoZWFkZXLmuIXnqbpcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcbiAgICAgIH0pO1xuICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW2RhdGFdKSk7XG4gICAgICBjb25zdCBmaWxlTmFtZSA9IGRlY29kZVVSSUNvbXBvbmVudChuZXcgVVJMKG9wdGlvbnMudXJsKS5wYXRobmFtZS5zcGxpdCgnLycpLnBvcCgpIHx8ICcnKTtcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG5cbiAgICAgIGxpbmsuaHJlZiA9IHVybDtcbiAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsZmlsZU5hbWUpO1xuICAgICAgbGluay5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgICAgbGluay5jbGljaygpO1xuICAgICAgLy8g5Zue5pS25YaF5a2YXG4gICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICB9IGNhdGNoKGUpIHsgfVxuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIHJlc29sdmUoe1xuICAgICAgICBzdGF0dXNDb2RlOiAyMDAsXG4gICAgICAgIHRlbXBGaWxlUGF0aDogb3B0aW9ucy51cmxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBAcGFyYW0ge0lSZXF1ZXN0T3B0aW9uc30gb3B0aW9uc1xuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVuYWJsZUFib3J0IOaYr+WQpui2heaXtuS4reaWreivt+axglxuICAgKi9cbiAgcHJvdGVjdGVkIF9yZXF1ZXN0KG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucyxlbmFibGVBYm9ydCA9IGZhbHNlKTogUHJvbWlzZTxSZXNwb25zZU9iamVjdD4ge1xuICAgIGNvbnN0IG1ldGhvZCA9IChTdHJpbmcob3B0aW9ucy5tZXRob2QpKS50b0xvd2VyQ2FzZSgpIHx8ICdnZXQnO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIGNvbnN0IHsgdXJsLGhlYWRlcnMgPSB7fSxkYXRhLHJlc3BvbnNlVHlwZSx3aXRoQ3JlZGVudGlhbHMsYm9keSxvblVwbG9hZFByb2dyZXNzIH0gPSBvcHRpb25zO1xuICAgICAgY29uc3QgcmVhbFVybCA9IGZvcm1hdFVybChnZXRQcm90b2NvbCgpLHVybCxtZXRob2QgPT09ICdnZXQnID8gZGF0YSA6IHt9KTtcbiAgICAgIGNvbnN0IGFqYXggPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICAgIGFqYXgub3BlbihtZXRob2QscmVhbFVybCk7XG4gICAgICByZXNwb25zZVR5cGUgJiYgKGFqYXgucmVzcG9uc2VUeXBlID0gcmVzcG9uc2VUeXBlKTtcbiAgICAgIGZvcihjb25zdCBrZXkgaW4gaGVhZGVycykge1xuICAgICAgICBhamF4LnNldFJlcXVlc3RIZWFkZXIoa2V5LGhlYWRlcnNba2V5XSk7XG4gICAgICB9XG4gICAgICBsZXQgdGltZXI7XG4gICAgICBpZihvblVwbG9hZFByb2dyZXNzKSB7XG4gICAgICAgIGFqYXgudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJyxvblVwbG9hZFByb2dyZXNzKTtcbiAgICAgIH1cbiAgICAgIGFqYXgub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IFJlc3BvbnNlT2JqZWN0ID0ge307XG4gICAgICAgIGlmKGFqYXgucmVhZHlTdGF0ZSA9PT0gNCkge1xuICAgICAgICAgIGxldCBoZWFkZXJzID0gYWpheC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKTtcbiAgICAgICAgICBsZXQgYXJyID0gaGVhZGVycy50cmltKCkuc3BsaXQoL1tcXHJcXG5dKy8pO1xuICAgICAgICAgIC8vIENyZWF0ZSBhIG1hcCBvZiBoZWFkZXIgbmFtZXMgdG8gdmFsdWVzXG4gICAgICAgICAgbGV0IGhlYWRlck1hcCA9IHt9O1xuICAgICAgICAgIGFyci5mb3JFYWNoKGZ1bmN0aW9uKGxpbmUpIHtcbiAgICAgICAgICAgIGxldCBwYXJ0cyA9IGxpbmUuc3BsaXQoJzogJyk7XG4gICAgICAgICAgICBsZXQgaGVhZGVyID0gcGFydHMuc2hpZnQoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgbGV0IHZhbHVlID0gcGFydHMuam9pbignOiAnKTtcbiAgICAgICAgICAgIGhlYWRlck1hcFtoZWFkZXJdID0gdmFsdWU7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmVzdWx0LmhlYWRlciA9IGhlYWRlck1hcDtcbiAgICAgICAgICByZXN1bHQuc3RhdHVzQ29kZSA9IGFqYXguc3RhdHVzO1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyDkuIrkvKBwb3N06K+35rGC6L+U5Zue5pWw5o2u5qC85byP5Li6eG1s77yM5q2k5aSE5a656ZSZXG4gICAgICAgICAgICByZXN1bHQuZGF0YSA9IHJlc3BvbnNlVHlwZSA9PT0gJ2Jsb2InID8gYWpheC5yZXNwb25zZSA6IEpTT04ucGFyc2UoYWpheC5yZXNwb25zZVRleHQpO1xuICAgICAgICAgIH0gY2F0Y2goZSkge1xuICAgICAgICAgICAgcmVzdWx0LmRhdGEgPSByZXNwb25zZVR5cGUgPT09ICdibG9iJyA/IGFqYXgucmVzcG9uc2UgOiBhamF4LnJlc3BvbnNlVGV4dDtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBpZihlbmFibGVBYm9ydCAmJiB0aGlzLl90aW1lb3V0KSB7XG4gICAgICAgIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY29uc29sZS53YXJuKHRoaXMuX3RpbWVvdXRNc2cpO1xuICAgICAgICAgIGFqYXguYWJvcnQoKTtcbiAgICAgICAgfSx0aGlzLl90aW1lb3V0KTtcbiAgICAgIH1cbiAgICAgIC8vIOWkhOeQhiBwYXlsb2FkXG4gICAgICBsZXQgcGF5bG9hZDtcbiAgICAgIGlmKGlzRm9ybURhdGEoZGF0YSkpIHtcbiAgICAgICAgLy8gRm9ybURhdGHvvIzkuI3lpITnkIZcbiAgICAgICAgcGF5bG9hZCA9IGRhdGE7XG4gICAgICB9IGVsc2UgaWYoaGVhZGVyc1snY29udGVudC10eXBlJ10gPT09ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKSB7XG4gICAgICAgIHBheWxvYWQgPSB0b1F1ZXJ5U3RyaW5nKGRhdGEpO1xuICAgICAgfSBlbHNlIGlmKGJvZHkpIHtcbiAgICAgICAgcGF5bG9hZCA9IGJvZHk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyDlhbblroPmg4XlhrVcbiAgICAgICAgcGF5bG9hZCA9IGRhdGEgPyBKU09OLnN0cmluZ2lmeShkYXRhKSA6IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgaWYod2l0aENyZWRlbnRpYWxzKSB7XG4gICAgICAgIGFqYXgud2l0aENyZWRlbnRpYWxzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGFqYXguc2VuZChwYXlsb2FkKTtcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5BZGFwdGVyKCkge1xuICBjb25zdCBhZGFwdGVyOiBTREtBZGFwdGVySW50ZXJmYWNlID0ge1xuICAgIHJvb3Q6IHdpbmRvdyxcbiAgICByZXFDbGFzczogV2ViUmVxdWVzdCxcbiAgICB3c0NsYXNzOiBXZWJTb2NrZXQsXG4gICAgbG9jYWxTdG9yYWdlOiBsb2NhbFN0b3JhZ2UsXG4gICAgc2Vzc2lvblN0b3JhZ2U6IHNlc3Npb25TdG9yYWdlXG4gIH07XG4gIHJldHVybiBhZGFwdGVyO1xufVxuXG5leHBvcnQgeyBnZW5BZGFwdGVyLFdlYlJlcXVlc3QgfTtcbiJdfQ==
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.COMMUNITY_SITE_URL = exports.IS_DEBUG_MODE = exports.getProtocol = exports.setProtocol = exports.getSdkName = exports.setSdkName = void 0;
4
- var sdk_name = '@cloudbase/js-sdk';
5
- function setSdkName(name) {
6
- sdk_name = name;
7
- }
8
- exports.setSdkName = setSdkName;
9
- function getSdkName() {
10
- return sdk_name;
11
- }
12
- exports.getSdkName = getSdkName;
13
- var PROTOCOL = typeof location !== 'undefined' && location.protocol === 'http:'
14
- ? 'http:'
15
- : 'https:';
16
- function setProtocol(protocol) {
17
- PROTOCOL = protocol;
18
- }
19
- exports.setProtocol = setProtocol;
20
- function getProtocol() {
21
- return PROTOCOL;
22
- }
23
- exports.getProtocol = getProtocol;
24
- exports.IS_DEBUG_MODE = process.env.NODE_ENV === 'development';
25
- exports.COMMUNITY_SITE_URL = 'https://support.qq.com/products/148793';
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxRQUFRLEdBQUcsbUJBQW1CLENBQUM7QUFDbkMsU0FBZ0IsVUFBVSxDQUFDLElBQVc7SUFDcEMsUUFBUSxHQUFHLElBQUksQ0FBQztBQUNsQixDQUFDO0FBRkQsZ0NBRUM7QUFDRCxTQUFnQixVQUFVO0lBQ3hCLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFGRCxnQ0FFQztBQUVELElBQUksUUFBUSxHQUFHLE9BQU8sUUFBUSxLQUFLLFdBQVcsSUFBSSxRQUFRLENBQUMsUUFBUSxLQUFLLE9BQU87SUFDN0UsQ0FBQyxDQUFDLE9BQU87SUFDVCxDQUFDLENBQUMsUUFBUSxDQUFDO0FBRWIsU0FBZ0IsV0FBVyxDQUFDLFFBQXVCO0lBQ2pELFFBQVEsR0FBRyxRQUFRLENBQUM7QUFDdEIsQ0FBQztBQUZELGtDQUVDO0FBRUQsU0FBZ0IsV0FBVztJQUN6QixPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRkQsa0NBRUM7QUFFWSxRQUFBLGFBQWEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxhQUFhLENBQUM7QUFFdkQsUUFBQSxrQkFBa0IsR0FBRyx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImxldCBzZGtfbmFtZSA9ICdAY2xvdWRiYXNlL2pzLXNkayc7XG5leHBvcnQgZnVuY3Rpb24gc2V0U2RrTmFtZShuYW1lOnN0cmluZyl7XG4gIHNka19uYW1lID0gbmFtZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZGtOYW1lKCl7XG4gIHJldHVybiBzZGtfbmFtZTtcbn1cblxubGV0IFBST1RPQ09MID0gdHlwZW9mIGxvY2F0aW9uICE9PSAndW5kZWZpbmVkJyAmJiBsb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2h0dHA6JyBcbiAgPyAnaHR0cDonIFxuICA6ICdodHRwczonO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0UHJvdG9jb2wocHJvdG9jb2w6J2h0dHAnfCdodHRwcycpe1xuICBQUk9UT0NPTCA9IHByb3RvY29sO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvdG9jb2woKXtcbiAgcmV0dXJuIFBST1RPQ09MO1xufVxuLy8g5piv5ZCm5Li65byA5Y+R5qih5byPXG5leHBvcnQgY29uc3QgSVNfREVCVUdfTU9ERSA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnO1xuLy8g6Zeu562U56S+5Yy66ZO+5o6lXG5leHBvcnQgY29uc3QgQ09NTVVOSVRZX1NJVEVfVVJMID0gJ2h0dHBzOi8vc3VwcG9ydC5xcS5jb20vcHJvZHVjdHMvMTQ4NzkzJzsiXX0=
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ERRORS = void 0;
4
- exports.ERRORS = {
5
- INVALID_PARAMS: 'INVALID_PARAMS',
6
- INVALID_SYNTAX: 'INVALID_SYNTAX',
7
- INVALID_OPERATION: 'INVALID_OPERATION',
8
- OPERATION_FAIL: 'OPERATION_FAIL',
9
- NETWORK_ERROR: 'NETWORK_ERROR',
10
- UNKOWN_ERROR: 'UNKOWN_ERROR'
11
- };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxNQUFNLEdBQUc7SUFDcEIsY0FBYyxFQUFLLGdCQUFnQjtJQUNuQyxjQUFjLEVBQUssZ0JBQWdCO0lBQ25DLGlCQUFpQixFQUFFLG1CQUFtQjtJQUN0QyxjQUFjLEVBQUssZ0JBQWdCO0lBQ25DLGFBQWEsRUFBTSxlQUFlO0lBQ2xDLFlBQVksRUFBTyxjQUFjO0NBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRVJST1JTID0ge1xuICBJTlZBTElEX1BBUkFNUyAgIDogJ0lOVkFMSURfUEFSQU1TJyxcbiAgSU5WQUxJRF9TWU5UQVggICA6ICdJTlZBTElEX1NZTlRBWCcsXG4gIElOVkFMSURfT1BFUkFUSU9OOiAnSU5WQUxJRF9PUEVSQVRJT04nLFxuICBPUEVSQVRJT05fRkFJTCAgIDogJ09QRVJBVElPTl9GQUlMJyxcbiAgTkVUV09SS19FUlJPUiAgICA6ICdORVRXT1JLX0VSUk9SJyxcbiAgVU5LT1dOX0VSUk9SICAgICA6ICdVTktPV05fRVJST1InXG59OyJdfQ==