amos-tool 1.4.4 → 1.4.8
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/.prettierignore +2 -2
- package/.prettierrc +50 -50
- package/README.md +667 -653
- package/apis/objectPath.md +129 -129
- package/index.d.ts +50 -5
- package/index.js +3 -3
- package/lib/_browser.js +10 -8
- package/lib/_clone.js +67 -62
- package/lib/_cookie.js +35 -32
- package/lib/_deepCopy.js +17 -29
- package/lib/_deepEqual.js +6 -13
- package/lib/_fastDeepEqual.js +28 -44
- package/lib/_flashSupport.js +13 -10
- package/lib/_forOwn.js +8 -7
- package/lib/_funcThrottle.js +16 -15
- package/lib/_isnode.js +2 -1
- package/lib/_list.js +55 -67
- package/lib/_object.assign.js +14 -24
- package/lib/_object.entries.js +6 -5
- package/lib/_object.values.js +5 -4
- package/lib/_omit.js +12 -12
- package/lib/_parseJson.js +7 -6
- package/lib/_pick.js +14 -0
- package/lib/_queue.js +24 -21
- package/lib/_shallowCopy.js +24 -23
- package/lib/_stringify.js +14 -17
- package/lib/_supportWs.js +5 -5
- package/lib/_trim.js +5 -4
- package/lib/_typeOfList.js +22 -21
- package/lib/_uuids.js +30 -35
- package/lib/amostool.js +15 -63
- package/lib/array2tree.js +9 -10
- package/lib/arrayFilter.js +17 -20
- package/lib/arrayUtils.js +13 -11
- package/lib/browser/Cookie.js +34 -35
- package/lib/browser/indexDB.js +71 -82
- package/lib/browserSupport.js +76 -71
- package/lib/completeUnit.js +7 -4
- package/lib/consts.js +2 -1
- package/lib/dom/canvas2img.js +61 -73
- package/lib/dom/canvasTools.js +9 -14
- package/lib/dom/downloadFile.js +15 -12
- package/lib/dom/eventHelper.js +8 -6
- package/lib/dom/fileBlob.js +14 -14
- package/lib/dom/fileSaveAs.js +54 -61
- package/lib/dom/getFontSize.js +7 -10
- package/lib/dom/minfyImg.js +30 -25
- package/lib/encrypt/_base64.js +32 -25
- package/lib/encrypt/_md5.js +68 -31
- package/lib/encrypt/des.js +426 -363
- package/lib/extra/_common.js +119 -166
- package/lib/extra/filterNull.js +3 -2
- package/lib/extra/find.js +10 -11
- package/lib/extra/index.js +4 -3
- package/lib/extra/memo.js +18 -0
- package/lib/extra/pathToTree.js +48 -42
- package/lib/extra/pwdStrength.js +4 -2
- package/lib/extra/sortBy.js +28 -30
- package/lib/flat.js +15 -0
- package/lib/locationParams.js +94 -99
- package/lib/log.js +20 -26
- package/lib/math/_keyColor.js +154 -0
- package/lib/math/addition.js +9 -7
- package/lib/math/amountCase.js +8 -12
- package/lib/math/coinFormat.js +7 -5
- package/lib/math/colorUtil.js +96 -92
- package/lib/math/dateTime.js +76 -94
- package/lib/math/operations.js +33 -37
- package/lib/math/pwdStrength.js +4 -2
- package/lib/math/randomColor.js +17 -5
- package/lib/math/subtraction.js +10 -9
- package/lib/merged.js +9 -9
- package/lib/objectPath.js +88 -95
- package/lib/parseText.js +8 -7
- package/lib/png/Identicon.js +36 -38
- package/lib/png/pnglib.js +58 -32
- package/lib/png/randomPic.js +9 -12
- package/lib/positionFactory.js +25 -80
- package/lib/pwdPolicy.js +27 -31
- package/lib/qs/_assign.js +7 -5
- package/lib/qs/_merge.js +19 -28
- package/lib/qs/_tools.js +3 -2
- package/lib/qs/formats.js +6 -5
- package/lib/qs/index.js +4 -4
- package/lib/qs/parse.js +55 -50
- package/lib/qs/stringify.js +55 -77
- package/lib/qs/utils.js +69 -88
- package/lib/random.js +5 -4
- package/lib/shallowEqual.js +24 -34
- package/lib/store.js +93 -98
- package/lib/strUtils.js +51 -42
- package/lib/tableFilter.js +178 -169
- package/lib/throttleDebounce.js +18 -22
- package/lib/url/encodeUrl.js +5 -4
- package/lib/url/restfulUrl.js +8 -7
- package/lib/utils.js +169 -223
- package/lib/xss/htmlEncode.js +3 -2
- package/lib/xss/implementEncode.js +36 -37
- package/lib/xss/index.js +4 -3
- package/package.json +9 -8
package/lib/positionFactory.js
CHANGED
|
@@ -1,114 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
return (_extends = Object.assign || function(t) {
|
|
5
|
-
for (var e = 1; e < arguments.length; e++) {
|
|
6
|
-
var r = arguments[e];
|
|
7
|
-
for (var i in r) Object.prototype.hasOwnProperty.call(r, i) && (t[i] = r[i])
|
|
8
|
-
}
|
|
9
|
-
return t
|
|
10
|
-
}).apply(this, arguments)
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function _slicedToArray(t, e) {
|
|
14
|
-
return _arrayWithHoles(t) || _iterableToArrayLimit(t, e) || _unsupportedIterableToArray(t, e) || _nonIterableRest()
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
function _nonIterableRest() {
|
|
18
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function _unsupportedIterableToArray(t, e) {
|
|
22
|
-
if (t) {
|
|
23
|
-
if ("string" == typeof t) return _arrayLikeToArray(t, e);
|
|
24
|
-
var r = Object.prototype.toString.call(t).slice(8, -1);
|
|
25
|
-
return "Object" === r && t.constructor && (r = t.constructor.name), "Map" === r || "Set" === r ? Array.from(t) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? _arrayLikeToArray(t, e) : void 0
|
|
26
|
-
}
|
|
27
|
-
}
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")), _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
28
4
|
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return i
|
|
5
|
+
function getDocumentScroll() {
|
|
6
|
+
var t = document, e = t.documentElement, i = t.body;
|
|
7
|
+
return [ e && e.scrollTop || i.scrollTop, e && e.scrollLeft || i.scrollLeft ];
|
|
33
8
|
}
|
|
34
9
|
|
|
35
|
-
function
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
for (var c, l = t[Symbol.iterator](); !(i = (c = l.next()).done) && (r.push(c.value), !e || r.length !== e); i = !0);
|
|
43
|
-
} catch (t) {
|
|
44
|
-
n = !0, o = t
|
|
45
|
-
} finally {
|
|
46
|
-
try {
|
|
47
|
-
i || null == l.return || l.return()
|
|
48
|
-
} finally {
|
|
49
|
-
if (n) throw o
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return r
|
|
10
|
+
function PositionFactory(t, e, i, r, n) {
|
|
11
|
+
var o = getDocumentScroll(), c = (0, _slicedToArray2.default)(o, 2), l = c[0], g = c[1], u = PositionFactory;
|
|
12
|
+
if (u.triggerRect = t.getBoundingClientRect(), u.popoverRect = e.getBoundingClientRect(),
|
|
13
|
+
u.direction = u.getComputedDirection(i), u.align = u.getComputedAlign(r), u.center = [ u.triggerRect.left + u.triggerRect.width / 2 + g, u.triggerRect.top + u.triggerRect.height / 2 + l ],
|
|
14
|
+
!n) {
|
|
15
|
+
var s = u.coordinateMap[u.direction].call(u), h = (0, _slicedToArray2.default)(s, 2), d = h[0], p = h[1];
|
|
16
|
+
e.style.left = "".concat(d, "px"), e.style.top = "".concat(p, "px");
|
|
53
17
|
}
|
|
18
|
+
return [ u.direction, u.align ];
|
|
54
19
|
}
|
|
55
20
|
|
|
56
|
-
|
|
57
|
-
if (Array.isArray(t)) return t
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function getDocumentScroll() {
|
|
61
|
-
var t = document,
|
|
62
|
-
e = t.documentElement,
|
|
63
|
-
r = t.body;
|
|
64
|
-
return [e && e.scrollTop || r.scrollTop, e && e.scrollLeft || r.scrollLeft]
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function PositionFactory(t, e, r, i, n) {
|
|
68
|
-
var o, c, l, a = _slicedToArray(getDocumentScroll(), 2),
|
|
69
|
-
s = a[0],
|
|
70
|
-
u = a[1],
|
|
71
|
-
g = PositionFactory;
|
|
72
|
-
return g.triggerRect = t.getBoundingClientRect(), g.popoverRect = e.getBoundingClientRect(), g.direction = g.getComputedDirection(r), g.align = g.getComputedAlign(i), g.center = [g.triggerRect.left + g.triggerRect.width / 2 + u, g.triggerRect.top + g.triggerRect.height / 2 + s], n || (c = (o = _slicedToArray(g.coordinateMap[g.direction].call(g), 2))[0], l = o[1], e.style.left = "".concat(c, "px"), e.style.top = "".concat(l, "px")), [g.direction, g.align]
|
|
73
|
-
}
|
|
74
|
-
_extends(PositionFactory, {
|
|
21
|
+
(0, _extends2.default)(PositionFactory, {
|
|
75
22
|
triggerRect: null,
|
|
76
23
|
popoverRect: null,
|
|
77
24
|
align: null,
|
|
78
25
|
center: null,
|
|
79
26
|
getComputedDirection: function(t) {
|
|
80
|
-
var e = this.triggerRect,
|
|
81
|
-
|
|
82
|
-
|
|
27
|
+
var e = this.triggerRect, i = this.popoverRect;
|
|
28
|
+
return "up" !== t && "down" !== t || (e.top < i.height ? t = "down" : i.height + e.top + e.height > window.innerHeight && (t = "up")),
|
|
29
|
+
t;
|
|
83
30
|
},
|
|
84
31
|
getComputedAlign: function(t) {
|
|
85
32
|
if ("middle" === t) return t;
|
|
86
33
|
if ("up" === this.direction || "down" === this.direction) {
|
|
87
|
-
if ("top" === t || "bottom" === t) return "middle"
|
|
34
|
+
if ("top" === t || "bottom" === t) return "middle";
|
|
88
35
|
} else if ("left" === t || "right" === t) return "middle";
|
|
89
|
-
return t
|
|
36
|
+
return t;
|
|
90
37
|
},
|
|
91
38
|
getAlignPosition: function(t) {
|
|
92
|
-
var e = t ? ["left", "right"] : ["top", "bottom"],
|
|
93
|
-
|
|
94
|
-
i = t ? "width" : "height";
|
|
95
|
-
return this.align === e[0] ? this.center[r] - this.triggerRect[i] / 2 : this.align === e[1] ? this.center[r] - this.popoverRect[i] + this.triggerRect[i] / 2 : this.center[r] - this.popoverRect[i] / 2
|
|
39
|
+
var e = t ? [ "left", "right" ] : [ "top", "bottom" ], i = t ? 0 : 1, r = t ? "width" : "height";
|
|
40
|
+
return this.align === e[0] ? this.center[i] - this.triggerRect[r] / 2 : this.align === e[1] ? this.center[i] - this.popoverRect[r] + this.triggerRect[r] / 2 : this.center[i] - this.popoverRect[r] / 2;
|
|
96
41
|
},
|
|
97
42
|
coordinateMap: {
|
|
98
43
|
up: function() {
|
|
99
44
|
var t = this.center[1] - this.triggerRect.height / 2 - this.popoverRect.height;
|
|
100
|
-
return [this.getAlignPosition(!0), t]
|
|
45
|
+
return [ this.getAlignPosition(!0), t ];
|
|
101
46
|
},
|
|
102
47
|
down: function() {
|
|
103
48
|
var t = this.center[1] + this.triggerRect.height / 2;
|
|
104
|
-
return [this.getAlignPosition(!0), t]
|
|
49
|
+
return [ this.getAlignPosition(!0), t ];
|
|
105
50
|
},
|
|
106
51
|
left: function() {
|
|
107
52
|
var t = this.center[0] - this.triggerRect.width / 2 - this.popoverRect.width;
|
|
108
|
-
return [t, this.getAlignPosition()]
|
|
53
|
+
return [ t, this.getAlignPosition() ];
|
|
109
54
|
},
|
|
110
55
|
right: function() {
|
|
111
|
-
return [this.center[0] + this.triggerRect.width / 2, this.getAlignPosition()]
|
|
56
|
+
return [ this.center[0] + this.triggerRect.width / 2, this.getAlignPosition() ];
|
|
112
57
|
}
|
|
113
58
|
}
|
|
114
|
-
}), module.exports = PositionFactory;
|
|
59
|
+
}), module.exports = PositionFactory;
|
package/lib/pwdPolicy.js
CHANGED
|
@@ -1,38 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
password: Store.encrypt(e),
|
|
10
|
-
secretKey: r
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
advancePolicy = function(e, r) {
|
|
14
|
-
return e = e || "", e += r = r || _uuid.uuid(32), {
|
|
15
|
-
password: Store.encrypt(e),
|
|
16
|
-
secretKey: r
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
useMd5Policy = function(e, r) {
|
|
20
|
-
return e = e || "", r = r || _uuid.uuid(32), {
|
|
21
|
-
password: md5(e, r),
|
|
22
|
-
secretKey: r
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
useMd5Policy2 = function(e, r) {
|
|
26
|
-
e = e || "", r = r || _uuid.uuid(32);
|
|
27
|
-
var u = md5(e);
|
|
28
|
-
return u += r, {
|
|
29
|
-
password: Store.encrypt(u),
|
|
30
|
-
secretKey: r
|
|
31
|
-
}
|
|
2
|
+
|
|
3
|
+
var _uuid = require("./_uuids"), Store = require("./store"), md5 = require("./encrypt/_md5"), normalPolicy = function(e) {
|
|
4
|
+
e || (e = "");
|
|
5
|
+
var r = _uuid.uuid(16);
|
|
6
|
+
return e += r, {
|
|
7
|
+
password: Store.encrypt(e),
|
|
8
|
+
secretKey: r
|
|
32
9
|
};
|
|
10
|
+
}, advancePolicy = function(e, r) {
|
|
11
|
+
return e || (e = ""), r || (r = _uuid.uuid(32)), e += r, {
|
|
12
|
+
password: Store.encrypt(e),
|
|
13
|
+
secretKey: r
|
|
14
|
+
};
|
|
15
|
+
}, useMd5Policy = function(e, r) {
|
|
16
|
+
return e || (e = ""), r || (r = _uuid.uuid(32)), {
|
|
17
|
+
password: md5(e, r),
|
|
18
|
+
secretKey: r
|
|
19
|
+
};
|
|
20
|
+
}, useMd5Policy2 = function(e, r) {
|
|
21
|
+
e || (e = ""), r || (r = _uuid.uuid(32));
|
|
22
|
+
var u = md5(e);
|
|
23
|
+
return u += r, {
|
|
24
|
+
password: Store.encrypt(u),
|
|
25
|
+
secretKey: r
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
33
29
|
module.exports = {
|
|
34
30
|
normalPolicy: normalPolicy,
|
|
35
31
|
advancePolicy: advancePolicy,
|
|
36
32
|
useMd5Policy: useMd5Policy,
|
|
37
33
|
useMd5Policy2: useMd5Policy2
|
|
38
|
-
};
|
|
34
|
+
};
|
package/lib/qs/_assign.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
|
|
3
|
+
var assign = function(e, n) {
|
|
4
|
+
return Object.keys(n).reduce((function(e, r) {
|
|
5
|
+
return e[r] = n[r], e;
|
|
6
|
+
}), e);
|
|
6
7
|
};
|
|
7
|
-
|
|
8
|
+
|
|
9
|
+
module.exports = assign;
|
package/lib/qs/_merge.js
CHANGED
|
@@ -1,31 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
var arrayToObject = require("./_tools").arrayToObject,
|
|
11
|
-
has = Object.prototype.hasOwnProperty,
|
|
12
|
-
merge = function e(o, y, a) {
|
|
13
|
-
if (!y) return o;
|
|
14
|
-
if ("object" !== _typeof(y)) {
|
|
15
|
-
if (Array.isArray(o)) o.push(y);
|
|
16
|
-
else {
|
|
17
|
-
if ("object" !== _typeof(o)) return [o, y];
|
|
18
|
-
!a.plainObjects && !a.allowPrototypes && has.call(Object.prototype, y) || (o[y] = !0)
|
|
19
|
-
}
|
|
20
|
-
return o
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")), arrayToObject = require("./_tools").arrayToObject, has = Object.prototype.hasOwnProperty, merge = function e(r, t, a) {
|
|
4
|
+
if (!t) return r;
|
|
5
|
+
if ("object" !== (0, _typeof2.default)(t)) {
|
|
6
|
+
if (Array.isArray(r)) r.push(t); else {
|
|
7
|
+
if ("object" !== (0, _typeof2.default)(r)) return [ r, t ];
|
|
8
|
+
(a.plainObjects || a.allowPrototypes || !has.call(Object.prototype, t)) && (r[t] = !0);
|
|
21
9
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
10
|
+
return r;
|
|
11
|
+
}
|
|
12
|
+
if ("object" !== (0, _typeof2.default)(r)) return [ r ].concat(t);
|
|
13
|
+
var o = r;
|
|
14
|
+
return Array.isArray(r) && !Array.isArray(t) && (o = arrayToObject(r, a)), Array.isArray(r) && Array.isArray(t) ? (t.forEach((function(t, o) {
|
|
15
|
+
has.call(r, o) ? r[o] && "object" === (0, _typeof2.default)(r[o]) ? r[o] = e(r[o], t, a) : r.push(t) : r[o] = t;
|
|
16
|
+
})), r) : Object.keys(t).reduce((function(r, o) {
|
|
17
|
+
var u = t[o];
|
|
18
|
+
return has.call(r, o) ? r[o] = e(r[o], u, a) : r[o] = u, r;
|
|
19
|
+
}), o);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
module.exports = merge;
|
package/lib/qs/_tools.js
CHANGED
package/lib/qs/formats.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
var replace = String.prototype.replace, percentTwenties = /%20/g;
|
|
4
|
+
|
|
4
5
|
module.exports = {
|
|
5
6
|
default: "RFC3986",
|
|
6
7
|
formatters: {
|
|
7
8
|
RFC1738: function(e) {
|
|
8
|
-
return replace.call(e, percentTwenties, "+")
|
|
9
|
+
return replace.call(e, percentTwenties, "+");
|
|
9
10
|
},
|
|
10
11
|
RFC3986: function(e) {
|
|
11
|
-
return e
|
|
12
|
+
return e;
|
|
12
13
|
}
|
|
13
14
|
},
|
|
14
15
|
RFC1738: "RFC1738",
|
|
15
16
|
RFC3986: "RFC3986"
|
|
16
|
-
};
|
|
17
|
+
};
|
package/lib/qs/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
|
|
3
|
+
var stringify = require("./stringify"), parse = require("./parse"), formats = require("./formats");
|
|
4
|
+
|
|
5
5
|
module.exports = {
|
|
6
6
|
formats: formats,
|
|
7
7
|
parse: parse,
|
|
8
8
|
stringify: stringify
|
|
9
|
-
};
|
|
9
|
+
};
|
package/lib/qs/parse.js
CHANGED
|
@@ -1,58 +1,63 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
},
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
|
|
3
|
+
var utils = require("./utils"), has = Object.prototype.hasOwnProperty, defaults = {
|
|
4
|
+
allowDots: !1,
|
|
5
|
+
allowPrototypes: !1,
|
|
6
|
+
arrayLimit: 20,
|
|
7
|
+
decoder: utils.decode,
|
|
8
|
+
delimiter: "&",
|
|
9
|
+
depth: 5,
|
|
10
|
+
parameterLimit: 1e3,
|
|
11
|
+
plainObjects: !1,
|
|
12
|
+
strictNullHandling: !1
|
|
13
|
+
}, parseValues = function(e, t) {
|
|
14
|
+
for (var r = {}, l = t.ignoreQueryPrefix ? e.replace(/^\?/, "") : e, a = t.parameterLimit === 1 / 0 ? void 0 : t.parameterLimit, i = l.split(t.delimiter, a), o = 0; o < i.length; ++o) {
|
|
15
|
+
var s, n, c = i[o], d = c.indexOf("]="), p = -1 === d ? c.indexOf("=") : d + 1;
|
|
16
|
+
-1 === p ? (s = t.decoder(c, defaults.decoder), n = t.strictNullHandling ? null : "") : (s = t.decoder(c.slice(0, p), defaults.decoder),
|
|
17
|
+
n = t.decoder(c.slice(p + 1), defaults.decoder)), has.call(r, s) ? r[s] = [].concat(r[s]).concat(n) : r[s] = n;
|
|
18
|
+
}
|
|
19
|
+
return r;
|
|
20
|
+
}, parseObject = function(e, t, r) {
|
|
21
|
+
for (var l = t, a = e.length - 1; a >= 0; --a) {
|
|
22
|
+
var i, o = e[a];
|
|
23
|
+
if ("[]" === o) i = (i = []).concat(l); else {
|
|
24
|
+
i = r.plainObjects ? Object.create(null) : {};
|
|
25
|
+
var s = "[" === o.charAt(0) && "]" === o.charAt(o.length - 1) ? o.slice(1, -1) : o, n = parseInt(s, 10);
|
|
26
|
+
!isNaN(n) && o !== s && String(n) === s && n >= 0 && r.parseArrays && n <= r.arrayLimit ? (i = [])[n] = l : i[s] = l;
|
|
22
27
|
}
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
l = i;
|
|
29
|
+
}
|
|
30
|
+
return l;
|
|
31
|
+
}, parseKeys = function(e, t, r) {
|
|
32
|
+
if (e) {
|
|
33
|
+
var l = r.allowDots ? e.replace(/\.([^.[]+)/g, "[$1]") : e, a = /(\[[^[\]]*])/g, i = /(\[[^[\]]*])/.exec(l), o = i ? l.slice(0, i.index) : l, s = [];
|
|
34
|
+
if (o) {
|
|
35
|
+
if (!r.plainObjects && has.call(Object.prototype, o) && !r.allowPrototypes) return;
|
|
36
|
+
s.push(o);
|
|
29
37
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if (e) {
|
|
34
|
-
var l = r.allowDots ? e.replace(/\.([^.[]+)/g, "[$1]") : e,
|
|
35
|
-
a = /(\[[^[\]]*])/g,
|
|
36
|
-
i = /(\[[^[\]]*])/.exec(l),
|
|
37
|
-
o = i ? l.slice(0, i.index) : l,
|
|
38
|
-
s = [];
|
|
39
|
-
if (o) {
|
|
40
|
-
if (!r.plainObjects && has.call(Object.prototype, o) && !r.allowPrototypes) return;
|
|
41
|
-
s.push(o)
|
|
42
|
-
}
|
|
43
|
-
for (var n = 0; null !== (i = a.exec(l)) && n < r.depth;) {
|
|
44
|
-
if (n += 1, !r.plainObjects && has.call(Object.prototype, i[1].slice(1, -1)) && !r.allowPrototypes) return;
|
|
45
|
-
s.push(i[1])
|
|
46
|
-
}
|
|
47
|
-
return i && s.push("[" + l.slice(i.index) + "]"), parseObject(s, t, r)
|
|
38
|
+
for (var n = 0; null !== (i = a.exec(l)) && n < r.depth; ) {
|
|
39
|
+
if (n += 1, !r.plainObjects && has.call(Object.prototype, i[1].slice(1, -1)) && !r.allowPrototypes) return;
|
|
40
|
+
s.push(i[1]);
|
|
48
41
|
}
|
|
49
|
-
|
|
42
|
+
return i && s.push("[" + l.slice(i.index) + "]"), parseObject(s, t, r);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
50
46
|
module.exports = function(e, t) {
|
|
51
47
|
var r = t ? utils.assign({}, t) : {};
|
|
52
48
|
if (null !== r.decoder && void 0 !== r.decoder && "function" != typeof r.decoder) throw new TypeError("Decoder has to be a function.");
|
|
53
|
-
if (r.ignoreQueryPrefix = !0 === r.ignoreQueryPrefix, r.delimiter = "string" == typeof r.delimiter || utils.isRegExp(r.delimiter) ? r.delimiter : defaults.delimiter,
|
|
54
|
-
|
|
55
|
-
|
|
49
|
+
if (r.ignoreQueryPrefix = !0 === r.ignoreQueryPrefix, r.delimiter = "string" == typeof r.delimiter || utils.isRegExp(r.delimiter) ? r.delimiter : defaults.delimiter,
|
|
50
|
+
r.depth = "number" == typeof r.depth ? r.depth : defaults.depth, r.arrayLimit = "number" == typeof r.arrayLimit ? r.arrayLimit : defaults.arrayLimit,
|
|
51
|
+
r.parseArrays = !1 !== r.parseArrays, r.decoder = "function" == typeof r.decoder ? r.decoder : defaults.decoder,
|
|
52
|
+
r.allowDots = "boolean" == typeof r.allowDots ? r.allowDots : defaults.allowDots,
|
|
53
|
+
r.plainObjects = "boolean" == typeof r.plainObjects ? r.plainObjects : defaults.plainObjects,
|
|
54
|
+
r.allowPrototypes = "boolean" == typeof r.allowPrototypes ? r.allowPrototypes : defaults.allowPrototypes,
|
|
55
|
+
r.parameterLimit = "number" == typeof r.parameterLimit ? r.parameterLimit : defaults.parameterLimit,
|
|
56
|
+
r.strictNullHandling = "boolean" == typeof r.strictNullHandling ? r.strictNullHandling : defaults.strictNullHandling,
|
|
57
|
+
"" === e || null == e) return r.plainObjects ? Object.create(null) : {};
|
|
58
|
+
for (var l = "string" == typeof e ? parseValues(e, r) : e, a = r.plainObjects ? Object.create(null) : {}, i = Object.keys(l), o = 0; o < i.length; ++o) {
|
|
59
|
+
var s = i[o], n = parseKeys(s, l[s], r);
|
|
56
60
|
a = utils.merge(a, n, r);
|
|
57
|
-
|
|
58
|
-
|
|
61
|
+
}
|
|
62
|
+
return utils.compact(a);
|
|
63
|
+
};
|
package/lib/qs/stringify.js
CHANGED
|
@@ -1,83 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
return
|
|
6
|
-
} : function(e) {
|
|
7
|
-
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
|
|
8
|
-
})(e)
|
|
9
|
-
}
|
|
10
|
-
var utils = require("./utils"),
|
|
11
|
-
formats = require("./formats"),
|
|
12
|
-
arrayPrefixGenerators = {
|
|
13
|
-
brackets: function(e) {
|
|
14
|
-
return e + "[]"
|
|
15
|
-
},
|
|
16
|
-
indices: function(e, t) {
|
|
17
|
-
return e + "[" + t + "]"
|
|
18
|
-
},
|
|
19
|
-
repeat: function(e) {
|
|
20
|
-
return e
|
|
21
|
-
}
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")), utils = require("./utils"), formats = require("./formats"), arrayPrefixGenerators = {
|
|
4
|
+
brackets: function(e) {
|
|
5
|
+
return e + "[]";
|
|
22
6
|
},
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
delimiter: "&",
|
|
26
|
-
encode: !0,
|
|
27
|
-
encoder: utils.encode,
|
|
28
|
-
encodeValuesOnly: !1,
|
|
29
|
-
serializeDate: function(e) {
|
|
30
|
-
return toISO.call(e)
|
|
31
|
-
},
|
|
32
|
-
skipNulls: !1,
|
|
33
|
-
strictNullHandling: !1
|
|
7
|
+
indices: function(e, r) {
|
|
8
|
+
return e + "[" + r + "]";
|
|
34
9
|
},
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if (
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
l = "boolean" == typeof o.encode ? o.encode : defaults.encode,
|
|
61
|
-
f = "function" == typeof o.encoder ? o.encoder : defaults.encoder,
|
|
62
|
-
s = "function" == typeof o.sort ? o.sort : null,
|
|
63
|
-
u = void 0 !== o.allowDots && o.allowDots,
|
|
64
|
-
c = "function" == typeof o.serializeDate ? o.serializeDate : defaults.serializeDate,
|
|
65
|
-
d = "boolean" == typeof o.encodeValuesOnly ? o.encodeValuesOnly : defaults.encodeValuesOnly;
|
|
66
|
-
if (void 0 === o.format) o.format = formats.default;
|
|
67
|
-
else if (!Object.prototype.hasOwnProperty.call(formats.formatters, o.format)) throw new TypeError("Unknown format option provided.");
|
|
68
|
-
var y, p = formats.formatters[o.format];
|
|
69
|
-
"function" == typeof o.filter ? r = (y = o.filter)("", r) : Array.isArray(o.filter) && (g = y = o.filter);
|
|
70
|
-
var m, b = [];
|
|
71
|
-
if ("object" !== _typeof(r) || null === r) return "";
|
|
72
|
-
m = o.arrayFormat in arrayPrefixGenerators ? o.arrayFormat : !("indices" in o) || o.indices ? "indices" : "repeat";
|
|
73
|
-
var v = arrayPrefixGenerators[m],
|
|
74
|
-
g = g || Object.keys(r);
|
|
75
|
-
s && g.sort(s);
|
|
76
|
-
for (var O = 0; O < g.length; ++O) {
|
|
77
|
-
var S = g[O];
|
|
78
|
-
a && null === r[S] || (b = b.concat(stringify(r[S], S, v, i, a, l ? f : null, y, s, u, c, p, d)))
|
|
10
|
+
repeat: function(e) {
|
|
11
|
+
return e;
|
|
12
|
+
}
|
|
13
|
+
}, toISO = Date.prototype.toISOString, defaults = {
|
|
14
|
+
delimiter: "&",
|
|
15
|
+
encode: !0,
|
|
16
|
+
encoder: utils.encode,
|
|
17
|
+
encodeValuesOnly: !1,
|
|
18
|
+
serializeDate: function(e) {
|
|
19
|
+
return toISO.call(e);
|
|
20
|
+
},
|
|
21
|
+
skipNulls: !1,
|
|
22
|
+
strictNullHandling: !1
|
|
23
|
+
}, stringify = function e(r, t, o, n, i, a, l, f, s, u, c, d) {
|
|
24
|
+
var y = r;
|
|
25
|
+
if ("function" == typeof l) y = l(t, y); else if (y instanceof Date) y = u(y); else if (null === y) {
|
|
26
|
+
if (n) return a && !d ? a(t, defaults.encoder) : t;
|
|
27
|
+
y = "";
|
|
28
|
+
}
|
|
29
|
+
if ("string" == typeof y || "number" == typeof y || "boolean" == typeof y || utils.isBuffer(y)) return a ? [ c(d ? t : a(t, defaults.encoder)) + "=" + c(a(y, defaults.encoder)) ] : [ c(t) + "=" + c(String(y)) ];
|
|
30
|
+
var p, m = [];
|
|
31
|
+
if (void 0 === y) return m;
|
|
32
|
+
if (Array.isArray(l)) p = l; else {
|
|
33
|
+
var v = Object.keys(y);
|
|
34
|
+
p = f ? v.sort(f) : v;
|
|
79
35
|
}
|
|
80
|
-
var
|
|
81
|
-
|
|
82
|
-
|
|
36
|
+
for (var b = 0; b < p.length; ++b) {
|
|
37
|
+
var g = p[b];
|
|
38
|
+
i && null === y[g] || (m = Array.isArray(y) ? m.concat(e(y[g], o(t, g), o, n, i, a, l, f, s, u, c, d)) : m.concat(e(y[g], t + (s ? "." + g : "[" + g + "]"), o, n, i, a, l, f, s, u, c, d)));
|
|
39
|
+
}
|
|
40
|
+
return m;
|
|
83
41
|
};
|
|
42
|
+
|
|
43
|
+
module.exports = function(e, r) {
|
|
44
|
+
var t = e, o = r ? utils.assign({}, r) : {};
|
|
45
|
+
if (null !== o.encoder && void 0 !== o.encoder && "function" != typeof o.encoder) throw new TypeError("Encoder has to be a function.");
|
|
46
|
+
var n = void 0 === o.delimiter ? defaults.delimiter : o.delimiter, i = "boolean" == typeof o.strictNullHandling ? o.strictNullHandling : defaults.strictNullHandling, a = "boolean" == typeof o.skipNulls ? o.skipNulls : defaults.skipNulls, l = "boolean" == typeof o.encode ? o.encode : defaults.encode, f = "function" == typeof o.encoder ? o.encoder : defaults.encoder, s = "function" == typeof o.sort ? o.sort : null, u = void 0 !== o.allowDots && o.allowDots, c = "function" == typeof o.serializeDate ? o.serializeDate : defaults.serializeDate, d = "boolean" == typeof o.encodeValuesOnly ? o.encodeValuesOnly : defaults.encodeValuesOnly;
|
|
47
|
+
if (void 0 === o.format) o.format = formats.default; else if (!Object.prototype.hasOwnProperty.call(formats.formatters, o.format)) throw new TypeError("Unknown format option provided.");
|
|
48
|
+
var y, p, m = formats.formatters[o.format];
|
|
49
|
+
"function" == typeof o.filter ? t = (p = o.filter)("", t) : Array.isArray(o.filter) && (y = p = o.filter);
|
|
50
|
+
var v, b = [];
|
|
51
|
+
if ("object" !== (0, _typeof2.default)(t) || null === t) return "";
|
|
52
|
+
v = o.arrayFormat in arrayPrefixGenerators ? o.arrayFormat : "indices" in o ? o.indices ? "indices" : "repeat" : "indices";
|
|
53
|
+
var g = arrayPrefixGenerators[v];
|
|
54
|
+
y || (y = Object.keys(t)), s && y.sort(s);
|
|
55
|
+
for (var D = 0; D < y.length; ++D) {
|
|
56
|
+
var O = y[D];
|
|
57
|
+
a && null === t[O] || (b = b.concat(stringify(t[O], O, g, i, a, l ? f : null, p, s, u, c, m, d)));
|
|
58
|
+
}
|
|
59
|
+
var h = b.join(n), k = !0 === o.addQueryPrefix ? "?" : "";
|
|
60
|
+
return h.length > 0 ? k + h : "";
|
|
61
|
+
};
|