utils-lib-js 1.4.6 → 1.5.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.
- package/dist/common/types.d.ts +47 -47
- package/dist/esm/array.js +8 -18
- package/dist/esm/base.js +41 -47
- package/dist/esm/element.js +9 -16
- package/dist/esm/event.js +38 -34
- package/dist/esm/function.js +53 -58
- package/dist/esm/index.js +10 -10
- package/dist/esm/index.mjs +692 -0
- package/dist/esm/object.js +159 -168
- package/dist/esm/request.js +235 -299
- package/dist/esm/static.js +14 -14
- package/dist/esm/storage.js +30 -27
- package/dist/esm/types.d.ts +47 -47
- package/dist/esm/types.js +1 -1
- package/package.json +42 -43
- package/pnpm-lock.yaml +0 -1536
|
@@ -0,0 +1,692 @@
|
|
|
1
|
+
import { getType } from "./index.js";
|
|
2
|
+
export var arrayRandom = function (arr) {
|
|
3
|
+
return arr.sort(function () {
|
|
4
|
+
return Math.random() - 0.5;
|
|
5
|
+
});
|
|
6
|
+
};
|
|
7
|
+
export var arrayUniq = function (arr) {
|
|
8
|
+
return Array.from(new Set(arr));
|
|
9
|
+
};
|
|
10
|
+
export var arrayDemote = function (arr, result) {
|
|
11
|
+
if (result === void 0) {
|
|
12
|
+
result = [];
|
|
13
|
+
}
|
|
14
|
+
arr.forEach(function (i) {
|
|
15
|
+
return getType(i) === "array" ? arrayDemote(i, result) : result.push(i);
|
|
16
|
+
});
|
|
17
|
+
return result;
|
|
18
|
+
};
|
|
19
|
+
import { types } from "./index.js";
|
|
20
|
+
export var randomNum = function (min, max, bool) {
|
|
21
|
+
if (bool === void 0) {
|
|
22
|
+
bool = false;
|
|
23
|
+
}
|
|
24
|
+
return Math.floor(Math.random() * (max - min + (bool ? 1 : 0)) + min);
|
|
25
|
+
};
|
|
26
|
+
export var urlSplit = function (url) {
|
|
27
|
+
var result = {};
|
|
28
|
+
if (!url.includes("?")) {
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
var params = url.split("?")[1].split("&");
|
|
32
|
+
params.forEach(function (i) {
|
|
33
|
+
var key = i.split("=")[0];
|
|
34
|
+
result[key] = i.split("=")[1];
|
|
35
|
+
});
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
export var urlJoin = function (url, query) {
|
|
39
|
+
if (query === void 0) {
|
|
40
|
+
query = {};
|
|
41
|
+
}
|
|
42
|
+
var queryObject = Object.keys(query);
|
|
43
|
+
if (queryObject.length === 0) return url;
|
|
44
|
+
var params = queryObject.map(function (i) {
|
|
45
|
+
return "".concat(i, "=").concat(query[i]);
|
|
46
|
+
});
|
|
47
|
+
return "".concat(url).concat(url.includes("?") ? "&" : '?').concat(params.join("&"));
|
|
48
|
+
};
|
|
49
|
+
export var getType = function (data) {
|
|
50
|
+
var type = typeof data;
|
|
51
|
+
if (data === null) {
|
|
52
|
+
return "null";
|
|
53
|
+
} else if (type === "object") {
|
|
54
|
+
var key = Object.prototype.toString.call(data);
|
|
55
|
+
return types[key];
|
|
56
|
+
}
|
|
57
|
+
return type;
|
|
58
|
+
};
|
|
59
|
+
export var getTypeByList = function (data, whiteList) {
|
|
60
|
+
if (whiteList === void 0) {
|
|
61
|
+
whiteList = [];
|
|
62
|
+
}
|
|
63
|
+
var __type = getType(data);
|
|
64
|
+
return whiteList.indexOf(__type) > 0;
|
|
65
|
+
};
|
|
66
|
+
export var createElement = function (_a) {
|
|
67
|
+
var _b, _c;
|
|
68
|
+
var ele = _a.ele,
|
|
69
|
+
style = _a.style,
|
|
70
|
+
attr = _a.attr,
|
|
71
|
+
parent = _a.parent;
|
|
72
|
+
var element = ele instanceof HTMLElement ? ele : document.createElement(ele !== null && ele !== void 0 ? ele : 'div');
|
|
73
|
+
style && ((_b = Object.keys(style)) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {
|
|
74
|
+
return element.style[key] = style[key];
|
|
75
|
+
}));
|
|
76
|
+
attr && ((_c = Object.keys(style)) === null || _c === void 0 ? void 0 : _c.forEach(function (key) {
|
|
77
|
+
return element[key] = attr[key];
|
|
78
|
+
}));
|
|
79
|
+
parent && parent.appendChild(element);
|
|
80
|
+
return element;
|
|
81
|
+
};
|
|
82
|
+
export var addHandler = function (ele, type, handler) {
|
|
83
|
+
if (ele.addEventListener) {
|
|
84
|
+
ele.addEventListener(type, handler, false);
|
|
85
|
+
} else {
|
|
86
|
+
ele["on" + type] = handler;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
export var stopBubble = function (event) {
|
|
90
|
+
event = event || window.event;
|
|
91
|
+
if (event.stopPropagation) {
|
|
92
|
+
event.stopPropagation();
|
|
93
|
+
} else {
|
|
94
|
+
event.cancelBubble = false;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
export var stopDefault = function (event) {
|
|
98
|
+
event = event || window.event;
|
|
99
|
+
if (event.preventDefault) {
|
|
100
|
+
event.preventDefault();
|
|
101
|
+
} else {
|
|
102
|
+
event.returnValue = false;
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
export var removeHandler = function (ele, type, handler) {
|
|
106
|
+
if (ele.removeEventListener) {
|
|
107
|
+
ele.removeEventListener(type, handler, false);
|
|
108
|
+
} else {
|
|
109
|
+
ele["on" + type] = null;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
export var dispatchEvent = function (ele, data) {
|
|
113
|
+
var evts = new Event(data);
|
|
114
|
+
ele.dispatchEvent(evts);
|
|
115
|
+
};
|
|
116
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
117
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
118
|
+
if (ar || !(i in from)) {
|
|
119
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
120
|
+
ar[i] = from[i];
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
124
|
+
};
|
|
125
|
+
var _this = this;
|
|
126
|
+
export var throttle = function (fn, time) {
|
|
127
|
+
var _timer = null;
|
|
128
|
+
return function () {
|
|
129
|
+
var args = [];
|
|
130
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
131
|
+
args[_i] = arguments[_i];
|
|
132
|
+
}
|
|
133
|
+
if (_timer) return;
|
|
134
|
+
_timer = setTimeout(function () {
|
|
135
|
+
fn.call.apply(fn, __spreadArray([_this], args, false));
|
|
136
|
+
_timer = null;
|
|
137
|
+
}, time);
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
export var debounce = function (fn, time) {
|
|
141
|
+
var _timer = null;
|
|
142
|
+
return function () {
|
|
143
|
+
var args = [];
|
|
144
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
145
|
+
args[_i] = arguments[_i];
|
|
146
|
+
}
|
|
147
|
+
if (_timer) {
|
|
148
|
+
clearTimeout(_timer);
|
|
149
|
+
_timer = null;
|
|
150
|
+
}
|
|
151
|
+
_timer = setTimeout(function () {
|
|
152
|
+
fn.call.apply(fn, __spreadArray([_this], args, false));
|
|
153
|
+
}, time);
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
export var defer = function () {
|
|
157
|
+
var resolve, reject;
|
|
158
|
+
return {
|
|
159
|
+
promise: new Promise(function (_resolve, _reject) {
|
|
160
|
+
resolve = _resolve;
|
|
161
|
+
reject = _reject;
|
|
162
|
+
}),
|
|
163
|
+
resolve: resolve,
|
|
164
|
+
reject: reject
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
export var catchAwait = function (defer) {
|
|
168
|
+
return defer.then(function (res) {
|
|
169
|
+
return [null, res];
|
|
170
|
+
}).catch(function (err) {
|
|
171
|
+
return [err];
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
export * from "./object.js";
|
|
175
|
+
export * from "./base.js";
|
|
176
|
+
export * from "./array.js";
|
|
177
|
+
export * from "./function.js";
|
|
178
|
+
export * from "./element.js";
|
|
179
|
+
export * from "./static.js";
|
|
180
|
+
export * from "./types.js";
|
|
181
|
+
export * from "./request.js";
|
|
182
|
+
export * from "./event.js";
|
|
183
|
+
export * from "./storage.js";
|
|
184
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
185
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
186
|
+
if (ar || !(i in from)) {
|
|
187
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
188
|
+
ar[i] = from[i];
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
192
|
+
};
|
|
193
|
+
import { getType, getTypeByList } from "./index.js";
|
|
194
|
+
export var getValue = function (object, key, defaultValue) {
|
|
195
|
+
if (defaultValue === void 0) {
|
|
196
|
+
defaultValue = '';
|
|
197
|
+
}
|
|
198
|
+
var paths = key.split('.');
|
|
199
|
+
for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
|
|
200
|
+
var i = paths_1[_i];
|
|
201
|
+
object = object[i];
|
|
202
|
+
if (object === undefined) {
|
|
203
|
+
return defaultValue;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return object;
|
|
207
|
+
};
|
|
208
|
+
export var setValue = function (object, key, value) {
|
|
209
|
+
if (value === void 0) {
|
|
210
|
+
value = {};
|
|
211
|
+
}
|
|
212
|
+
var paths = key.split('.');
|
|
213
|
+
var last = paths[paths.length - 1];
|
|
214
|
+
var _object = object;
|
|
215
|
+
for (var _i = 0, paths_2 = paths; _i < paths_2.length; _i++) {
|
|
216
|
+
var i = paths_2[_i];
|
|
217
|
+
if (typeof _object !== "object" && _object !== undefined) {
|
|
218
|
+
return object;
|
|
219
|
+
}
|
|
220
|
+
!_object && (_object = {});
|
|
221
|
+
!_object[i] && (_object[i] = {});
|
|
222
|
+
last === i && (_object[last] = value);
|
|
223
|
+
_object = _object[i];
|
|
224
|
+
}
|
|
225
|
+
return object;
|
|
226
|
+
};
|
|
227
|
+
export var mixIn = function (target, source, overwrite) {
|
|
228
|
+
var _a;
|
|
229
|
+
if (source === void 0) {
|
|
230
|
+
source = {};
|
|
231
|
+
}
|
|
232
|
+
if (overwrite === void 0) {
|
|
233
|
+
overwrite = false;
|
|
234
|
+
}
|
|
235
|
+
for (var k in source) {
|
|
236
|
+
for (var key in source[k]) {
|
|
237
|
+
var proto = (_a = target.prototype) !== null && _a !== void 0 ? _a : target;
|
|
238
|
+
if (target[key] === undefined || overwrite) {
|
|
239
|
+
proto[key] = source[k][key];
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return target;
|
|
244
|
+
};
|
|
245
|
+
export var enumInversion = function (target) {
|
|
246
|
+
for (var key in target) {
|
|
247
|
+
var _key = target[key];
|
|
248
|
+
if (typeof _key === "string" && !!!target[_key]) {
|
|
249
|
+
target[_key] = key;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return target;
|
|
253
|
+
};
|
|
254
|
+
export var isNotObject = function (source, type) {
|
|
255
|
+
return typeof source !== "object" || type === 'null';
|
|
256
|
+
};
|
|
257
|
+
export var cloneDeep = function (target) {
|
|
258
|
+
var __type = getType(target);
|
|
259
|
+
if (isNotObject(target, __type)) return target;
|
|
260
|
+
var __init = createObjectVariable(__type, target);
|
|
261
|
+
if (__type === "map") {
|
|
262
|
+
target.forEach(function (value, key) {
|
|
263
|
+
__init.set(key, cloneDeep(value));
|
|
264
|
+
});
|
|
265
|
+
} else if (__type === "set") {
|
|
266
|
+
target.forEach(function (value) {
|
|
267
|
+
__init.add(cloneDeep(value));
|
|
268
|
+
});
|
|
269
|
+
} else {
|
|
270
|
+
Reflect.ownKeys(target).forEach(function (keys) {
|
|
271
|
+
var desc = target[keys];
|
|
272
|
+
__init[keys] = cloneDeep(desc);
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
return __init;
|
|
276
|
+
};
|
|
277
|
+
export var createObjectVariable = function (type, source) {
|
|
278
|
+
if (source === void 0) {
|
|
279
|
+
source = {};
|
|
280
|
+
}
|
|
281
|
+
switch (type) {
|
|
282
|
+
case "array":
|
|
283
|
+
return [];
|
|
284
|
+
case "function":
|
|
285
|
+
return source;
|
|
286
|
+
case "set":
|
|
287
|
+
return new Set();
|
|
288
|
+
case "map":
|
|
289
|
+
return new Map();
|
|
290
|
+
case "date":
|
|
291
|
+
return new Date(source);
|
|
292
|
+
case "regExp":
|
|
293
|
+
return new RegExp(source);
|
|
294
|
+
case "math":
|
|
295
|
+
return Math;
|
|
296
|
+
default:
|
|
297
|
+
return {};
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
export var createObject = function (source) {
|
|
301
|
+
function F() {}
|
|
302
|
+
F.prototype = source;
|
|
303
|
+
return new F();
|
|
304
|
+
};
|
|
305
|
+
export var inherit = function (source, target) {
|
|
306
|
+
if (target === void 0) {
|
|
307
|
+
target = function () {};
|
|
308
|
+
}
|
|
309
|
+
target.prototype = createObject(source.prototype);
|
|
310
|
+
target.prototype.super = source;
|
|
311
|
+
target.prototype.constructor = target;
|
|
312
|
+
return target;
|
|
313
|
+
};
|
|
314
|
+
export var getInstance = function (classProto, overwrite) {
|
|
315
|
+
if (overwrite === void 0) {
|
|
316
|
+
overwrite = false;
|
|
317
|
+
}
|
|
318
|
+
var params = [];
|
|
319
|
+
for (var _i = 2; _i < arguments.length; _i++) {
|
|
320
|
+
params[_i - 2] = arguments[_i];
|
|
321
|
+
}
|
|
322
|
+
if (!classProto._instance || overwrite) {
|
|
323
|
+
classProto._instance = new (classProto.bind.apply(classProto, __spreadArray([void 0], params, false)))();
|
|
324
|
+
}
|
|
325
|
+
return classProto._instance;
|
|
326
|
+
};
|
|
327
|
+
export var classDecorator = function (params) {
|
|
328
|
+
return function (target) {
|
|
329
|
+
for (var key in params) {
|
|
330
|
+
if (!!!Reflect.has(target.prototype, key)) {
|
|
331
|
+
target.prototype[key] = params[key];
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
};
|
|
335
|
+
};
|
|
336
|
+
export var stringToJson = function (target) {
|
|
337
|
+
if (getType(target) !== "string") return null;
|
|
338
|
+
try {
|
|
339
|
+
return JSON.parse(target);
|
|
340
|
+
} catch (error) {
|
|
341
|
+
return null;
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
export var jsonToString = function (target) {
|
|
345
|
+
if (!getTypeByList(target, ["array", "object", "set", "map"])) return "";
|
|
346
|
+
try {
|
|
347
|
+
return JSON.stringify(target);
|
|
348
|
+
} catch (error) {
|
|
349
|
+
return "";
|
|
350
|
+
}
|
|
351
|
+
};
|
|
352
|
+
var __extends = this && this.__extends || function () {
|
|
353
|
+
var extendStatics = function (d, b) {
|
|
354
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) {
|
|
355
|
+
d.__proto__ = b;
|
|
356
|
+
} || function (d, b) {
|
|
357
|
+
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
358
|
+
};
|
|
359
|
+
return extendStatics(d, b);
|
|
360
|
+
};
|
|
361
|
+
return function (d, b) {
|
|
362
|
+
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
363
|
+
extendStatics(d, b);
|
|
364
|
+
function __() {
|
|
365
|
+
this.constructor = d;
|
|
366
|
+
}
|
|
367
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
368
|
+
};
|
|
369
|
+
}();
|
|
370
|
+
var __assign = this && this.__assign || function () {
|
|
371
|
+
__assign = Object.assign || function (t) {
|
|
372
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
373
|
+
s = arguments[i];
|
|
374
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
375
|
+
}
|
|
376
|
+
return t;
|
|
377
|
+
};
|
|
378
|
+
return __assign.apply(this, arguments);
|
|
379
|
+
};
|
|
380
|
+
var __rest = this && this.__rest || function (s, e) {
|
|
381
|
+
var t = {};
|
|
382
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
383
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
384
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
385
|
+
}
|
|
386
|
+
return t;
|
|
387
|
+
};
|
|
388
|
+
import { urlJoin, defer, jsonToString, stringToJson } from "./index.js";
|
|
389
|
+
var httpRequest, httpsRequest, parse, CustomAbortController;
|
|
390
|
+
if (typeof require !== "undefined") {
|
|
391
|
+
CustomAbortController = require("abort-controller");
|
|
392
|
+
httpRequest = require("http").request;
|
|
393
|
+
httpsRequest = require("https").request;
|
|
394
|
+
parse = require("url").parse;
|
|
395
|
+
} else if (typeof AbortController !== "undefined") {
|
|
396
|
+
CustomAbortController = AbortController;
|
|
397
|
+
} else {
|
|
398
|
+
CustomAbortController = function () {
|
|
399
|
+
throw new Error('AbortController is not defined');
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
var Interceptors = function () {
|
|
403
|
+
function Interceptors() {}
|
|
404
|
+
Interceptors.prototype.use = function (type, fn) {
|
|
405
|
+
switch (type) {
|
|
406
|
+
case "request":
|
|
407
|
+
this.requestSuccess = fn;
|
|
408
|
+
break;
|
|
409
|
+
case "response":
|
|
410
|
+
this.responseSuccess = fn;
|
|
411
|
+
break;
|
|
412
|
+
case "error":
|
|
413
|
+
this.error = fn;
|
|
414
|
+
break;
|
|
415
|
+
}
|
|
416
|
+
return this;
|
|
417
|
+
};
|
|
418
|
+
Object.defineProperty(Interceptors.prototype, "reqFn", {
|
|
419
|
+
get: function () {
|
|
420
|
+
return this.requestSuccess;
|
|
421
|
+
},
|
|
422
|
+
enumerable: false,
|
|
423
|
+
configurable: true
|
|
424
|
+
});
|
|
425
|
+
Object.defineProperty(Interceptors.prototype, "resFn", {
|
|
426
|
+
get: function () {
|
|
427
|
+
return this.responseSuccess;
|
|
428
|
+
},
|
|
429
|
+
enumerable: false,
|
|
430
|
+
configurable: true
|
|
431
|
+
});
|
|
432
|
+
Object.defineProperty(Interceptors.prototype, "errFn", {
|
|
433
|
+
get: function () {
|
|
434
|
+
return this.error;
|
|
435
|
+
},
|
|
436
|
+
enumerable: false,
|
|
437
|
+
configurable: true
|
|
438
|
+
});
|
|
439
|
+
return Interceptors;
|
|
440
|
+
}();
|
|
441
|
+
var RequestBase = function (_super) {
|
|
442
|
+
__extends(RequestBase, _super);
|
|
443
|
+
function RequestBase(origin) {
|
|
444
|
+
var _this = _super.call(this) || this;
|
|
445
|
+
_this.chackUrl = function (url) {
|
|
446
|
+
return url.startsWith('/');
|
|
447
|
+
};
|
|
448
|
+
_this.checkIsHttps = function (url) {
|
|
449
|
+
return url.startsWith('https');
|
|
450
|
+
};
|
|
451
|
+
_this.fixOrigin = function (fixStr) {
|
|
452
|
+
if (_this.chackUrl(fixStr)) return _this.origin + fixStr;
|
|
453
|
+
return fixStr;
|
|
454
|
+
};
|
|
455
|
+
_this.envDesc = function () {
|
|
456
|
+
if (typeof Window !== "undefined") {
|
|
457
|
+
return "Window";
|
|
458
|
+
}
|
|
459
|
+
return "Node";
|
|
460
|
+
};
|
|
461
|
+
_this.errorFn = function (reject) {
|
|
462
|
+
return function (err) {
|
|
463
|
+
var _a, _b;return reject((_b = (_a = _this.errFn) === null || _a === void 0 ? void 0 : _a.call(_this, err)) !== null && _b !== void 0 ? _b : err);
|
|
464
|
+
};
|
|
465
|
+
};
|
|
466
|
+
_this.clearTimer = function (opts) {
|
|
467
|
+
return !!opts.timer && (clearTimeout(opts.timer), opts.timer = null);
|
|
468
|
+
};
|
|
469
|
+
_this.initAbort = function (params) {
|
|
470
|
+
var controller = params.controller,
|
|
471
|
+
timer = params.timer,
|
|
472
|
+
timeout = params.timeout;
|
|
473
|
+
!!!timer && (params.timer = setTimeout(function () {
|
|
474
|
+
return controller.abort();
|
|
475
|
+
}, timeout));
|
|
476
|
+
return params;
|
|
477
|
+
};
|
|
478
|
+
_this.requestType = function () {
|
|
479
|
+
switch (_this.envDesc()) {
|
|
480
|
+
case "Window":
|
|
481
|
+
return _this.fetch;
|
|
482
|
+
case "Node":
|
|
483
|
+
return _this.http;
|
|
484
|
+
}
|
|
485
|
+
};
|
|
486
|
+
_this.getDataByType = function (type, response) {
|
|
487
|
+
switch (type) {
|
|
488
|
+
case "text":
|
|
489
|
+
case "json":
|
|
490
|
+
case "blob":
|
|
491
|
+
case "formData":
|
|
492
|
+
case "arrayBuffer":
|
|
493
|
+
return response[type]();
|
|
494
|
+
default:
|
|
495
|
+
return response['json']();
|
|
496
|
+
}
|
|
497
|
+
};
|
|
498
|
+
_this.formatBodyString = function (bodyString) {
|
|
499
|
+
return {
|
|
500
|
+
text: function () {
|
|
501
|
+
return bodyString;
|
|
502
|
+
},
|
|
503
|
+
json: function () {
|
|
504
|
+
var _a;return (_a = stringToJson(bodyString)) !== null && _a !== void 0 ? _a : bodyString;
|
|
505
|
+
},
|
|
506
|
+
blob: function () {
|
|
507
|
+
return stringToJson(bodyString);
|
|
508
|
+
},
|
|
509
|
+
formData: function () {
|
|
510
|
+
return stringToJson(bodyString);
|
|
511
|
+
},
|
|
512
|
+
arrayBuffer: function () {
|
|
513
|
+
return stringToJson(bodyString);
|
|
514
|
+
}
|
|
515
|
+
};
|
|
516
|
+
};
|
|
517
|
+
_this.origin = origin !== null && origin !== void 0 ? origin : '';
|
|
518
|
+
return _this;
|
|
519
|
+
}
|
|
520
|
+
return RequestBase;
|
|
521
|
+
}(Interceptors);
|
|
522
|
+
var RequestInit = function (_super) {
|
|
523
|
+
__extends(RequestInit, _super);
|
|
524
|
+
function RequestInit(origin) {
|
|
525
|
+
var _this = _super.call(this, origin) || this;
|
|
526
|
+
_this.initDefaultParams = function (url, _a) {
|
|
527
|
+
var _b, _c;
|
|
528
|
+
var _d = _a.method,
|
|
529
|
+
method = _d === void 0 ? "GET" : _d,
|
|
530
|
+
_e = _a.query,
|
|
531
|
+
query = _e === void 0 ? {} : _e,
|
|
532
|
+
_f = _a.headers,
|
|
533
|
+
headers = _f === void 0 ? {} : _f,
|
|
534
|
+
_g = _a.body,
|
|
535
|
+
body = _g === void 0 ? null : _g,
|
|
536
|
+
_h = _a.timeout,
|
|
537
|
+
timeout = _h === void 0 ? 30 * 1000 : _h,
|
|
538
|
+
_j = _a.controller,
|
|
539
|
+
controller = _j === void 0 ? new CustomAbortController() : _j,
|
|
540
|
+
_k = _a.type,
|
|
541
|
+
type = _k === void 0 ? "json" : _k,
|
|
542
|
+
others = __rest(_a, ["method", "query", "headers", "body", "timeout", "controller", "type"]);
|
|
543
|
+
var __params = __assign({ url: url, method: method, query: query, headers: headers, body: method === "GET" ? null : jsonToString(body), timeout: timeout, signal: controller === null || controller === void 0 ? void 0 : controller.signal, controller: controller, type: type, timer: null }, others);
|
|
544
|
+
var params = (_c = (_b = _this.reqFn) === null || _b === void 0 ? void 0 : _b.call(_this, __params)) !== null && _c !== void 0 ? _c : __params;
|
|
545
|
+
params.url = urlJoin(_this.fixOrigin(url), __params.query);
|
|
546
|
+
return params;
|
|
547
|
+
};
|
|
548
|
+
_this.initFetchParams = function (url, opts) {
|
|
549
|
+
var _temp = _this.initAbort(_this.initDefaultParams(url, opts));
|
|
550
|
+
return _temp;
|
|
551
|
+
};
|
|
552
|
+
_this.initHttpParams = function (url, opts) {
|
|
553
|
+
var _temp = _this.initAbort(_this.initDefaultParams(url, opts));
|
|
554
|
+
var options = parse(_temp.url, true);
|
|
555
|
+
return __assign(__assign({}, _temp), options);
|
|
556
|
+
};
|
|
557
|
+
return _this;
|
|
558
|
+
}
|
|
559
|
+
return RequestInit;
|
|
560
|
+
}(RequestBase);
|
|
561
|
+
var Request = function (_super) {
|
|
562
|
+
__extends(Request, _super);
|
|
563
|
+
function Request(origin) {
|
|
564
|
+
var _this = _super.call(this, origin) || this;
|
|
565
|
+
_this.fetch = function (_url, _opts) {
|
|
566
|
+
var _a = defer(),
|
|
567
|
+
promise = _a.promise,
|
|
568
|
+
resolve = _a.resolve,
|
|
569
|
+
reject = _a.reject;
|
|
570
|
+
var _b = _this.initFetchParams(_url, _opts),
|
|
571
|
+
url = _b.url,
|
|
572
|
+
opts = __rest(_b, ["url"]);
|
|
573
|
+
var signal = opts.signal;
|
|
574
|
+
promise.finally(function () {
|
|
575
|
+
return _this.clearTimer(opts);
|
|
576
|
+
});
|
|
577
|
+
signal.addEventListener('abort', function () {
|
|
578
|
+
return _this.errorFn(reject);
|
|
579
|
+
});
|
|
580
|
+
fetch(url, opts).then(function (response) {
|
|
581
|
+
if ((response === null || response === void 0 ? void 0 : response.status) >= 200 && (response === null || response === void 0 ? void 0 : response.status) < 300) {
|
|
582
|
+
return _this.getDataByType(opts.type, response);
|
|
583
|
+
}
|
|
584
|
+
return _this.errorFn(reject);
|
|
585
|
+
}).then(function (res) {
|
|
586
|
+
var _a, _b;return resolve((_b = (_a = _this.resFn) === null || _a === void 0 ? void 0 : _a.call(_this, res)) !== null && _b !== void 0 ? _b : res);
|
|
587
|
+
}).catch(_this.errorFn(reject));
|
|
588
|
+
return promise;
|
|
589
|
+
};
|
|
590
|
+
_this.http = function (_url, _opts) {
|
|
591
|
+
var _a = defer(),
|
|
592
|
+
promise = _a.promise,
|
|
593
|
+
resolve = _a.resolve,
|
|
594
|
+
reject = _a.reject;
|
|
595
|
+
var params = _this.initHttpParams(_url, _opts);
|
|
596
|
+
var signal = params.signal,
|
|
597
|
+
url = params.url;
|
|
598
|
+
promise.finally(function () {
|
|
599
|
+
return _this.clearTimer(params);
|
|
600
|
+
});
|
|
601
|
+
var request = _this.checkIsHttps(url) ? httpsRequest : httpRequest;
|
|
602
|
+
var req = request(params, function (response) {
|
|
603
|
+
if ((response === null || response === void 0 ? void 0 : response.statusCode) >= 200 && (response === null || response === void 0 ? void 0 : response.statusCode) < 300) {
|
|
604
|
+
var data_1 = "";
|
|
605
|
+
response.setEncoding('utf8');
|
|
606
|
+
response.on('data', function (chunk) {
|
|
607
|
+
return data_1 += chunk;
|
|
608
|
+
});
|
|
609
|
+
return response.on("end", function () {
|
|
610
|
+
var _a, _b;
|
|
611
|
+
var result = _this.getDataByType(params.type, _this.formatBodyString(data_1));
|
|
612
|
+
resolve((_b = (_a = _this.resFn) === null || _a === void 0 ? void 0 : _a.call(_this, result)) !== null && _b !== void 0 ? _b : result);
|
|
613
|
+
});
|
|
614
|
+
}
|
|
615
|
+
return _this.errorFn(reject)(response === null || response === void 0 ? void 0 : response.statusMessage);
|
|
616
|
+
});
|
|
617
|
+
signal.addEventListener('abort', function () {
|
|
618
|
+
return _this.errorFn(reject)(req.destroy(new Error('request timeout')));
|
|
619
|
+
});
|
|
620
|
+
req.on('error', _this.errorFn(reject));
|
|
621
|
+
req.end();
|
|
622
|
+
return promise;
|
|
623
|
+
};
|
|
624
|
+
_this.GET = function (url, query, _, opts) {
|
|
625
|
+
return _this.request(url, __assign({ query: query, method: "GET" }, opts));
|
|
626
|
+
};
|
|
627
|
+
_this.POST = function (url, query, body, opts) {
|
|
628
|
+
return _this.request(url, __assign({ query: query, method: "POST", body: body }, opts));
|
|
629
|
+
};
|
|
630
|
+
_this.PUT = function (url, query, body, opts) {
|
|
631
|
+
return _this.request(url, __assign({ query: query, method: "PUT", body: body }, opts));
|
|
632
|
+
};
|
|
633
|
+
_this.DELETE = function (url, query, body, opts) {
|
|
634
|
+
return _this.request(url, __assign({ query: query, method: "DELETE", body: body }, opts));
|
|
635
|
+
};
|
|
636
|
+
_this.OPTIONS = function (url, query, body, opts) {
|
|
637
|
+
return _this.request(url, __assign({ query: query, method: "OPTIONS", body: body }, opts));
|
|
638
|
+
};
|
|
639
|
+
_this.HEAD = function (url, query, body, opts) {
|
|
640
|
+
return _this.request(url, __assign({ query: query, method: "HEAD", body: body }, opts));
|
|
641
|
+
};
|
|
642
|
+
_this.PATCH = function (url, query, body, opts) {
|
|
643
|
+
return _this.request(url, __assign({ query: query, method: "PATCH", body: body }, opts));
|
|
644
|
+
};
|
|
645
|
+
_this.request = _this.requestType();
|
|
646
|
+
return _this;
|
|
647
|
+
}
|
|
648
|
+
return Request;
|
|
649
|
+
}(RequestInit);
|
|
650
|
+
export { Request };
|
|
651
|
+
export var types;
|
|
652
|
+
(function (types) {
|
|
653
|
+
types["[object Array]"] = "array";
|
|
654
|
+
types["[object Object]"] = "object";
|
|
655
|
+
types["[object Function]"] = "function";
|
|
656
|
+
types["[object Set]"] = "set";
|
|
657
|
+
types["[object Map]"] = "map";
|
|
658
|
+
types["[object WeakMap]"] = "weakMap";
|
|
659
|
+
types["[object WeakSet]"] = "weakSet";
|
|
660
|
+
types["[object Date]"] = "date";
|
|
661
|
+
types["[object RegExp]"] = "regExp";
|
|
662
|
+
types["[object Math]"] = "math";
|
|
663
|
+
})(types || (types = {}));
|
|
664
|
+
;
|
|
665
|
+
export var setStorage = function (key, val) {
|
|
666
|
+
try {
|
|
667
|
+
localStorage.setItem(key, JSON.stringify(val));
|
|
668
|
+
} catch (error) {
|
|
669
|
+
console.error(error);
|
|
670
|
+
}
|
|
671
|
+
};
|
|
672
|
+
export var getStorage = function (key) {
|
|
673
|
+
try {
|
|
674
|
+
var str = localStorage.getItem(key);
|
|
675
|
+
if (str === null || str === undefined) {
|
|
676
|
+
return null;
|
|
677
|
+
}
|
|
678
|
+
return JSON.parse(str);
|
|
679
|
+
} catch (error) {
|
|
680
|
+
console.error(error);
|
|
681
|
+
return null;
|
|
682
|
+
}
|
|
683
|
+
};
|
|
684
|
+
export var clearStorage = function (key) {
|
|
685
|
+
try {
|
|
686
|
+
key && localStorage.removeItem(key);
|
|
687
|
+
!key && localStorage.clear();
|
|
688
|
+
} catch (error) {
|
|
689
|
+
console.error(error);
|
|
690
|
+
}
|
|
691
|
+
};
|
|
692
|
+
export {};
|