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.
Files changed (100) hide show
  1. package/.prettierignore +2 -2
  2. package/.prettierrc +50 -50
  3. package/README.md +667 -653
  4. package/apis/objectPath.md +129 -129
  5. package/index.d.ts +50 -5
  6. package/index.js +3 -3
  7. package/lib/_browser.js +10 -8
  8. package/lib/_clone.js +67 -62
  9. package/lib/_cookie.js +35 -32
  10. package/lib/_deepCopy.js +17 -29
  11. package/lib/_deepEqual.js +6 -13
  12. package/lib/_fastDeepEqual.js +28 -44
  13. package/lib/_flashSupport.js +13 -10
  14. package/lib/_forOwn.js +8 -7
  15. package/lib/_funcThrottle.js +16 -15
  16. package/lib/_isnode.js +2 -1
  17. package/lib/_list.js +55 -67
  18. package/lib/_object.assign.js +14 -24
  19. package/lib/_object.entries.js +6 -5
  20. package/lib/_object.values.js +5 -4
  21. package/lib/_omit.js +12 -12
  22. package/lib/_parseJson.js +7 -6
  23. package/lib/_pick.js +14 -0
  24. package/lib/_queue.js +24 -21
  25. package/lib/_shallowCopy.js +24 -23
  26. package/lib/_stringify.js +14 -17
  27. package/lib/_supportWs.js +5 -5
  28. package/lib/_trim.js +5 -4
  29. package/lib/_typeOfList.js +22 -21
  30. package/lib/_uuids.js +30 -35
  31. package/lib/amostool.js +15 -63
  32. package/lib/array2tree.js +9 -10
  33. package/lib/arrayFilter.js +17 -20
  34. package/lib/arrayUtils.js +13 -11
  35. package/lib/browser/Cookie.js +34 -35
  36. package/lib/browser/indexDB.js +71 -82
  37. package/lib/browserSupport.js +76 -71
  38. package/lib/completeUnit.js +7 -4
  39. package/lib/consts.js +2 -1
  40. package/lib/dom/canvas2img.js +61 -73
  41. package/lib/dom/canvasTools.js +9 -14
  42. package/lib/dom/downloadFile.js +15 -12
  43. package/lib/dom/eventHelper.js +8 -6
  44. package/lib/dom/fileBlob.js +14 -14
  45. package/lib/dom/fileSaveAs.js +54 -61
  46. package/lib/dom/getFontSize.js +7 -10
  47. package/lib/dom/minfyImg.js +30 -25
  48. package/lib/encrypt/_base64.js +32 -25
  49. package/lib/encrypt/_md5.js +68 -31
  50. package/lib/encrypt/des.js +426 -363
  51. package/lib/extra/_common.js +119 -166
  52. package/lib/extra/filterNull.js +3 -2
  53. package/lib/extra/find.js +10 -11
  54. package/lib/extra/index.js +4 -3
  55. package/lib/extra/memo.js +18 -0
  56. package/lib/extra/pathToTree.js +48 -42
  57. package/lib/extra/pwdStrength.js +4 -2
  58. package/lib/extra/sortBy.js +28 -30
  59. package/lib/flat.js +15 -0
  60. package/lib/locationParams.js +94 -99
  61. package/lib/log.js +20 -26
  62. package/lib/math/_keyColor.js +154 -0
  63. package/lib/math/addition.js +9 -7
  64. package/lib/math/amountCase.js +8 -12
  65. package/lib/math/coinFormat.js +7 -5
  66. package/lib/math/colorUtil.js +96 -92
  67. package/lib/math/dateTime.js +76 -94
  68. package/lib/math/operations.js +33 -37
  69. package/lib/math/pwdStrength.js +4 -2
  70. package/lib/math/randomColor.js +17 -5
  71. package/lib/math/subtraction.js +10 -9
  72. package/lib/merged.js +9 -9
  73. package/lib/objectPath.js +88 -95
  74. package/lib/parseText.js +8 -7
  75. package/lib/png/Identicon.js +36 -38
  76. package/lib/png/pnglib.js +58 -32
  77. package/lib/png/randomPic.js +9 -12
  78. package/lib/positionFactory.js +25 -80
  79. package/lib/pwdPolicy.js +27 -31
  80. package/lib/qs/_assign.js +7 -5
  81. package/lib/qs/_merge.js +19 -28
  82. package/lib/qs/_tools.js +3 -2
  83. package/lib/qs/formats.js +6 -5
  84. package/lib/qs/index.js +4 -4
  85. package/lib/qs/parse.js +55 -50
  86. package/lib/qs/stringify.js +55 -77
  87. package/lib/qs/utils.js +69 -88
  88. package/lib/random.js +5 -4
  89. package/lib/shallowEqual.js +24 -34
  90. package/lib/store.js +93 -98
  91. package/lib/strUtils.js +51 -42
  92. package/lib/tableFilter.js +178 -169
  93. package/lib/throttleDebounce.js +18 -22
  94. package/lib/url/encodeUrl.js +5 -4
  95. package/lib/url/restfulUrl.js +8 -7
  96. package/lib/utils.js +169 -223
  97. package/lib/xss/htmlEncode.js +3 -2
  98. package/lib/xss/implementEncode.js +36 -37
  99. package/lib/xss/index.js +4 -3
  100. package/package.json +9 -8
@@ -1,172 +1,125 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(r) {
4
- return (_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(r) {
5
- return typeof r
6
- } : function(r) {
7
- return r && "function" == typeof Symbol && r.constructor === Symbol && r !== Symbol.prototype ? "symbol" : typeof r
8
- })(r)
9
- }
10
- var builtinIteratee, ObjProto = Object.prototype,
11
- toString = ObjProto.toString,
12
- nativeIsArray = Array.isArray,
13
- nativeKeys = Object.keys,
14
- hasEnumBug = !{
15
- toString: null
16
- }.propertyIsEnumerable("toString"),
17
- nonEnumerableProps = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"],
18
- isNumber = function(r) {
19
- return /^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/.test(r)
20
- },
21
- _isNaN = function(r) {
22
- return isNumber(r) && isNaN(r)
23
- },
24
- isFunction = function(r) {
25
- return "function" == typeof r || !1
26
- },
27
- isObject = function(r) {
28
- var t = _typeof(r);
29
- return "function" === t || "object" === t && !!r
30
- },
31
- keys = function(r) {
32
- if (!isObject(r)) return [];
33
- if (nativeKeys) return nativeKeys(r);
34
- var t = [];
35
- for (var n in r) has(r, n) && t.push(n);
36
- return hasEnumBug && collectNonEnumProps(r, t), t
37
- },
38
- allKeys = function(r) {
39
- if (!isObject(r)) return [];
40
- var t = [];
41
- for (var n in r) t.push(n);
42
- return hasEnumBug && collectNonEnumProps(r, t), t
43
- },
44
- isArray = nativeIsArray || function(r) {
45
- return "[object Array]" === toString.call(r)
46
- },
47
- has = function(r, t) {
48
- if (!isArray(t)) return null != r && Object.prototype.hasOwnProperty.call(r, t);
49
- for (var n = t.length, e = 0; e < n; e++) {
50
- var o = t[e];
51
- if (null == r || !Object.prototype.hasOwnProperty.call(r, o)) return !1;
52
- r = r[o]
53
- }
54
- return !!n
55
- },
56
- property = function(t) {
57
- return function(r) {
58
- return null == r ? void 0 : r[t]
59
- }
60
- },
61
- values = function(r) {
62
- for (var t = keys(r), n = t.length, e = Array(n), o = 0; o < n; o++) e[o] = r[t[o]];
63
- return e
64
- },
65
- MAX_ARRAY_INDEX = Math.pow(2, 53) - 1,
66
- getLength = property("length"),
67
- isArrayLike = function(r) {
68
- var t = getLength(r);
69
- return "number" == typeof t && 0 <= t && t <= MAX_ARRAY_INDEX
70
- },
71
- optimizeCb = function(o, i, r) {
72
- if (void 0 === i) return o;
73
- switch (r) {
74
- case 1:
75
- return function(r) {
76
- return o.call(i, r)
77
- };
78
- case null:
79
- case 3:
80
- return function(r, t, n) {
81
- return o.call(i, r, t, n)
82
- };
83
- case 4:
84
- return function(r, t, n, e) {
85
- return o.call(i, r, t, n, e)
86
- }
87
- }
88
- return function() {
89
- return o.apply(i, arguments)
90
- }
91
- },
92
- createAssigner = function(c, s) {
93
- return function(r) {
94
- var t = arguments.length;
95
- if (s && (r = Object(r)), t < 2 || null == r) return r;
96
- for (var n = 1; n < t; n++)
97
- for (var e = arguments[n], o = c(e), i = o.length, u = 0; u < i; u++) {
98
- var a = o[u];
99
- s && void 0 !== r[a] || (r[a] = e[a])
100
- }
101
- return r
102
- }
103
- },
104
- extendOwn = createAssigner(keys),
105
- isMatch = function(r, t) {
106
- var n = keys(t),
107
- e = n.length;
108
- if (null == r) return !e;
109
- for (var o = Object(r), i = 0; i < e; i++) {
110
- var u = n[i];
111
- if (t[u] !== o[u] || !(u in o)) return !1
112
- }
113
- return !0
114
- },
115
- matcher = function(t) {
116
- return t = extendOwn({}, t),
117
- function(r) {
118
- return isMatch(r, t)
119
- }
120
- },
121
- slice = Array.prototype.slice,
122
- createIndexFinder = function(i, u, a) {
123
- return function(r, t, n) {
124
- var e = 0,
125
- o = getLength(r);
126
- if ("number" == typeof n) 0 < i ? e = 0 <= n ? n : Math.max(n + o, e) : o = 0 <= n ? Math.min(n + 1, o) : n + o + 1;
127
- else if (a && n && o) return r[n = a(r, t)] === t ? n : -1;
128
- if (t != t) return 0 <= (n = u(slice.call(r, e, o), _isNaN)) ? n + e : -1;
129
- for (n = 0 < i ? e : o - 1; 0 <= n && n < o; n += i)
130
- if (r[n] === t) return n;
131
- return -1
132
- }
133
- },
134
- iteratee = builtinIteratee = function(r, t) {
135
- return cb(r, t, 1 / 0)
136
- },
137
- identity = function(r) {
138
- return r
139
- },
140
- cb = function(r, t, n) {
141
- return iteratee !== builtinIteratee ? iteratee(r, t) : null == r ? identity : isFunction(r) ? optimizeCb(r, t, n) : (isObject(r) && !isArray(r) ? matcher : property)(r)
142
- },
143
- createPredicateIndexFinder = function(i) {
144
- return function(r, t, n) {
145
- t = cb(t, n);
146
- for (var e = getLength(r), o = 0 < i ? 0 : e - 1; 0 <= o && o < e; o += i)
147
- if (t(r[o], o, r)) return o;
148
- return -1
149
- }
150
- },
151
- findIndex = createPredicateIndexFinder(1),
152
- sortedIndex = function(r, t, n, e) {
153
- for (var o = (n = cb(n, e, 1))(t), i = 0, u = getLength(r); i < u;) {
154
- var a = Math.floor((i + u) / 2);
155
- n(r[a]) < o ? i = a + 1 : u = a
3
+ var builtinIteratee, _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")), ObjProto = Object.prototype, toString = ObjProto.toString, nativeIsArray = Array.isArray, nativeKeys = Object.keys, hasEnumBug = !{
4
+ toString: null
5
+ }.propertyIsEnumerable("toString"), nonEnumerableProps = [ "valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString" ], isNumber = function(r) {
6
+ return /^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/.test(r);
7
+ }, _isNaN = function(r) {
8
+ return isNumber(r) && isNaN(r);
9
+ }, isFunction = function(r) {
10
+ return "function" == typeof r || !1;
11
+ }, isObject = function(r) {
12
+ var e = (0, _typeof2.default)(r);
13
+ return "function" === e || "object" === e && !!r;
14
+ }, keys = function(r) {
15
+ if (!isObject(r)) return [];
16
+ if (nativeKeys) return nativeKeys(r);
17
+ var e = [];
18
+ for (var t in r) has(r, t) && e.push(t);
19
+ return hasEnumBug && collectNonEnumProps(r, e), e;
20
+ }, allKeys = function(r) {
21
+ if (!isObject(r)) return [];
22
+ var e = [];
23
+ for (var t in r) e.push(t);
24
+ return hasEnumBug && collectNonEnumProps(r, e), e;
25
+ }, isArray = nativeIsArray || function(r) {
26
+ return "[object Array]" === toString.call(r);
27
+ }, has = function(r, e) {
28
+ if (!isArray(e)) return null != r && Object.prototype.hasOwnProperty.call(r, e);
29
+ for (var t = e.length, n = 0; n < t; n++) {
30
+ var i = e[n];
31
+ if (null == r || !Object.prototype.hasOwnProperty.call(r, i)) return !1;
32
+ r = r[i];
33
+ }
34
+ return !!t;
35
+ }, property = function(r) {
36
+ return function(e) {
37
+ return null == e ? void 0 : e[r];
38
+ };
39
+ }, values = function(r) {
40
+ for (var e = keys(r), t = e.length, n = Array(t), i = 0; i < t; i++) n[i] = r[e[i]];
41
+ return n;
42
+ }, MAX_ARRAY_INDEX = Math.pow(2, 53) - 1, getLength = property("length"), isArrayLike = function(r) {
43
+ var e = getLength(r);
44
+ return "number" == typeof e && e >= 0 && e <= MAX_ARRAY_INDEX;
45
+ }, optimizeCb = function(r, e, t) {
46
+ if (void 0 === e) return r;
47
+ switch (t) {
48
+ case 1:
49
+ return function(t) {
50
+ return r.call(e, t);
51
+ };
52
+
53
+ case null:
54
+ case 3:
55
+ return function(t, n, i) {
56
+ return r.call(e, t, n, i);
57
+ };
58
+
59
+ case 4:
60
+ return function(t, n, i, u) {
61
+ return r.call(e, t, n, i, u);
62
+ };
63
+ }
64
+ return function() {
65
+ return r.apply(e, arguments);
66
+ };
67
+ }, createAssigner = function(r, e) {
68
+ return function(t) {
69
+ var n = arguments.length;
70
+ if (e && (t = Object(t)), n < 2 || null == t) return t;
71
+ for (var i = 1; i < n; i++) for (var u = arguments[i], o = r(u), a = o.length, c = 0; c < a; c++) {
72
+ var s = o[c];
73
+ e && void 0 !== t[s] || (t[s] = u[s]);
156
74
  }
157
- return i
158
- },
159
- indexOf = createIndexFinder(1, findIndex, sortedIndex),
160
- contains = function(r, t, n, e) {
161
- return isArrayLike(r) || (r = values(r)), "number" == typeof n && !e || (n = 0), 0 <= indexOf(r, t, n)
162
- },
163
- collectNonEnumProps = function(r, t) {
164
- var n = nonEnumerableProps.length,
165
- e = r.constructor,
166
- o = isFunction(e) && e.prototype || ObjProto,
167
- i = "constructor";
168
- for (has(r, i) && !contains(t, i) && t.push(i); n--;)(i = nonEnumerableProps[n]) in r && r[i] !== o[i] && !contains(t, i) && t.push(i)
75
+ return t;
76
+ };
77
+ }, extendOwn = createAssigner(keys), isMatch = function(r, e) {
78
+ var t = keys(e), n = t.length;
79
+ if (null == r) return !n;
80
+ for (var i = Object(r), u = 0; u < n; u++) {
81
+ var o = t[u];
82
+ if (e[o] !== i[o] || !(o in i)) return !1;
83
+ }
84
+ return !0;
85
+ }, matcher = function(r) {
86
+ return r = extendOwn({}, r), function(e) {
87
+ return isMatch(e, r);
88
+ };
89
+ }, slice = Array.prototype.slice, createIndexFinder = function(r, e, t) {
90
+ return function(n, i, u) {
91
+ var o = 0, a = getLength(n);
92
+ if ("number" == typeof u) r > 0 ? o = u >= 0 ? u : Math.max(u + a, o) : a = u >= 0 ? Math.min(u + 1, a) : u + a + 1; else if (t && u && a) return n[u = t(n, i)] === i ? u : -1;
93
+ if (i != i) return (u = e(slice.call(n, o, a), _isNaN)) >= 0 ? u + o : -1;
94
+ for (u = r > 0 ? o : a - 1; u >= 0 && u < a; u += r) if (n[u] === i) return u;
95
+ return -1;
169
96
  };
97
+ }, iteratee = builtinIteratee = function(r, e) {
98
+ return cb(r, e, 1 / 0);
99
+ }, identity = function(r) {
100
+ return r;
101
+ }, cb = function(r, e, t) {
102
+ return iteratee !== builtinIteratee ? iteratee(r, e) : null == r ? identity : isFunction(r) ? optimizeCb(r, e, t) : isObject(r) && !isArray(r) ? matcher(r) : property(r);
103
+ }, createPredicateIndexFinder = function(r) {
104
+ return function(e, t, n) {
105
+ t = cb(t, n);
106
+ for (var i = getLength(e), u = r > 0 ? 0 : i - 1; u >= 0 && u < i; u += r) if (t(e[u], u, e)) return u;
107
+ return -1;
108
+ };
109
+ }, findIndex = createPredicateIndexFinder(1), sortedIndex = function(r, e, t, n) {
110
+ for (var i = (t = cb(t, n, 1))(e), u = 0, o = getLength(r); u < o; ) {
111
+ var a = Math.floor((u + o) / 2);
112
+ t(r[a]) < i ? u = a + 1 : o = a;
113
+ }
114
+ return u;
115
+ }, indexOf = createIndexFinder(1, findIndex, sortedIndex), contains = function(r, e, t, n) {
116
+ return isArrayLike(r) || (r = values(r)), ("number" != typeof t || n) && (t = 0),
117
+ indexOf(r, e, t) >= 0;
118
+ }, collectNonEnumProps = function(r, e) {
119
+ var t = nonEnumerableProps.length, n = r.constructor, i = isFunction(n) && n.prototype || ObjProto, u = "constructor";
120
+ for (has(r, u) && !contains(e, u) && e.push(u); t--; ) (u = nonEnumerableProps[t]) in r && r[u] !== i[u] && !contains(e, u) && e.push(u);
121
+ };
122
+
170
123
  module.exports = {
171
124
  keys: keys,
172
125
  allKeys: allKeys,
@@ -174,4 +127,4 @@ module.exports = {
174
127
  isArrayLike: isArrayLike,
175
128
  property: property,
176
129
  findIndex: findIndex
177
- };
130
+ };
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
+
2
3
  module.exports = function(r) {
3
4
  var t = {};
4
5
  for (var e in r) 0 !== r[e] && !r[e] || "" === r[e].toString().replace(/(^\s*)|(\s*$)/g, "") || (t[e] = r[e]);
5
- return t
6
- };
6
+ return t;
7
+ };
package/lib/extra/find.js CHANGED
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
- var _common = require("./_common"),
3
- findKey = function(n, o, i) {
4
- o = _common.cb(o, i);
5
- for (var r, e = _common.keys(n), m = 0, c = e.length; m < c; m++)
6
- if (o(n[r = e[m]], r, n)) return r
7
- },
8
- find = function(n, o, i) {
9
- var r = (_common.isArrayLike(n) ? _common.findIndex : findKey)(n, o, i);
10
- if (void 0 !== r && -1 !== r) return n[r]
11
- };
12
- module.exports = find;
2
+
3
+ var _common = require("./_common"), findKey = function(n, o, i) {
4
+ o = _common.cb(o, i);
5
+ for (var r, e = _common.keys(n), m = 0, c = e.length; m < c; m++) if (o(n[r = e[m]], r, n)) return r;
6
+ }, find = function(n, o, i) {
7
+ var r = (_common.isArrayLike(n) ? _common.findIndex : findKey)(n, o, i);
8
+ if (void 0 !== r && -1 !== r) return n[r];
9
+ };
10
+
11
+ module.exports = find;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
- var find = require("./find"),
3
- sortBy = require("./sortBy");
2
+
3
+ var find = require("./find"), sortBy = require("./sortBy");
4
+
4
5
  module.exports = {
5
6
  find: find,
6
7
  sortBy: sortBy
7
- };
8
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ function isInputEqual(t, r) {
4
+ if (t.length !== r.length) return !1;
5
+ for (var n = 0; n < t.length; n++) if (t[n] !== r[n]) return !1;
6
+ return !0;
7
+ }
8
+
9
+ module.exports = function(t, r) {
10
+ var n;
11
+ void 0 === r && (r = isInputEqual);
12
+ var u, e = [], i = !1;
13
+ return function() {
14
+ for (var l = [], o = 0; o < arguments.length; o++) l[o] = arguments[o];
15
+ return i && n === this && r(l, e) || (u = t.apply(this, l), i = !0, n = this, e = l),
16
+ u;
17
+ };
18
+ };
@@ -1,47 +1,53 @@
1
1
  "use strict";
2
2
 
3
- function _defineProperty(e, r, t) {
4
- return r in e ? Object.defineProperty(e, r, {
5
- value: t,
6
- enumerable: !0,
7
- configurable: !0,
8
- writable: !0
9
- }) : e[r] = t, e
10
- }
11
- module.exports = function(e, r) {
12
- for (var t = 1 < arguments.length && void 0 !== r ? r : {}, n = t.pathKey, o = void 0 === n ? "path" : n, i = t.childrenKey, l = void 0 === i ? "children" : i, d = t.processor, h = [], f = 0; f < e.length; f++)
13
- for (var a = e[f].split("/"), c = h, p = 0; p < a.length; p++) {
14
- var u = a[p];
15
- if ("" !== u) {
16
- for (var v, s, g = c, y = 0; y < c.length; y++)
17
- if (c[y][o] === u) {
18
- c = c[y][l];
19
- break
20
- } g === c && (_defineProperty(v = {
21
- key: p === a.length - 1 ? e[f] : a.slice(0, p + 1).join("/") + "/"
22
- }, o, u), _defineProperty(v, l, []), s = v, d && d(s, u), p === a.length - 1 && delete s[l], c.push(s), c = s[l])
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")), memorize = require("./memo");
4
+
5
+ function pathToTree(e) {
6
+ for (var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, t = r.pathKey, o = void 0 === t ? "path" : t, i = r.childrenKey, n = void 0 === i ? "children" : i, l = r.processor, a = [], u = 0; u < e.length; u++) for (var f = e[u].split("/"), h = a, d = 0; d < f.length; d++) {
7
+ var p = f[d];
8
+ if ("" !== p) {
9
+ for (var s = h, v = 0; v < h.length; v++) if (h[v][o] === p) {
10
+ h = h[v][n];
11
+ break;
12
+ }
13
+ if (s === h) {
14
+ var y, c = (y = {
15
+ key: d === f.length - 1 ? e[u] : f.slice(0, d + 1).join("/") + "/"
16
+ }, (0, _defineProperty2.default)(y, o, p), (0, _defineProperty2.default)(y, n, []),
17
+ y);
18
+ l && l(c, p), d === f.length - 1 && delete c[n], h.push(c), h = c[n];
23
19
  }
24
20
  }
25
- return h
26
- }, module.exports.pathToRoutes = function(e, r) {
27
- for (var t = 1 < arguments.length && void 0 !== r ? r : {}, n = t.pathKey, o = void 0 === n ? "path" : n, i = t.childrenKey, l = void 0 === i ? "children" : i, d = t.processor, h = [], f = 0; f < e.length; f++)
28
- for (var a = e[f].split("/"), c = h, p = 0; p < a.length; p++) {
29
- var u = a[p];
30
- if ("" === u) break;
31
- for (var v, s, g = c, y = void 0, y = 0; y < c.length; y++)
32
- if (c[y][o] === u) {
33
- c = c[y][l];
34
- break
35
- } g === c ? (_defineProperty(v = {
36
- key: p === a.length - 1 ? e[f] : a.slice(0, p + 1).join("/") + "/"
37
- }, o, u), _defineProperty(v, l, []), s = v, d && d(s, u), c[y] = s, c = s[l]) : delete c[l]
21
+ }
22
+ return a;
23
+ }
24
+
25
+ function pathToRoutes(e) {
26
+ for (var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, t = r.pathKey, o = void 0 === t ? "path" : t, i = r.childrenKey, n = void 0 === i ? "children" : i, l = r.processor, a = [], u = 0; u < e.length; u++) for (var f = e[u].split("/"), h = a, d = 0; d < f.length; d++) {
27
+ var p = f[d];
28
+ if ("" === p) break;
29
+ var s = h, v = void 0;
30
+ for (v = 0; v < h.length; v++) if (h[v][o] === p) {
31
+ h = h[v][n];
32
+ break;
38
33
  }
39
- return h
40
- }, module.exports.beautifyRoutes = function r(e, t) {
41
- var n = 1 < arguments.length && void 0 !== t ? t : {},
42
- o = n.childrenKey,
43
- i = void 0 === o ? "children" : o;
44
- e.forEach(function(e) {
45
- i in e && e[i] && (0 < e[i].length ? r(e[i], n) : delete e[i])
46
- })
47
- };
34
+ if (s === h) {
35
+ var y, c = (y = {
36
+ key: d === f.length - 1 ? e[u] : f.slice(0, d + 1).join("/") + "/"
37
+ }, (0, _defineProperty2.default)(y, o, p), (0, _defineProperty2.default)(y, n, []),
38
+ y);
39
+ l && l(c, p), h[v] = c, h = c[n];
40
+ } else delete h[n];
41
+ }
42
+ return a;
43
+ }
44
+
45
+ function beautifyRoutes(e) {
46
+ var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, t = r.childrenKey, o = void 0 === t ? "children" : t;
47
+ e.forEach((function(e) {
48
+ o in e && e[o] && (e[o].length > 0 ? beautifyRoutes(e[o], r) : delete e[o]);
49
+ }));
50
+ }
51
+
52
+ module.exports = pathToTree, module.exports.pathToRoutes = pathToRoutes, module.exports.beautifyRoutes = beautifyRoutes,
53
+ module.exports.memoPathToTree = memorize(pathToTree);
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
+
2
3
  module.exports = function(t) {
3
4
  var e = 0;
4
- return t.length < 6 || (/[0-9]/.test(t) && e++, /[a-z]/.test(t) && e++, /[A-Z]/.test(t) && e++, /[\.|-|_]/.test(t) && e++), e
5
- };
5
+ return t.length < 6 || (/[0-9]/.test(t) && e++, /[a-z]/.test(t) && e++, /[A-Z]/.test(t) && e++,
6
+ /[\.|-|_]/.test(t) && e++), e;
7
+ };
@@ -1,32 +1,30 @@
1
1
  "use strict";
2
- var _common = require("./_common"),
3
- map = function(r, n, o) {
4
- n = _common.cb(n, o);
5
- for (var e = !_common.isArrayLike(r) && _common.keys(r), i = (e || r).length, t = Array(i), c = 0; c < i; c++) {
6
- var u = e ? e[c] : c;
7
- t[c] = n(r[u], u, r)
2
+
3
+ var _common = require("./_common"), map = function(r, n, o) {
4
+ n = _common.cb(n, o);
5
+ for (var e = !_common.isArrayLike(r) && _common.keys(r), i = (e || r).length, t = Array(i), c = 0; c < i; c++) {
6
+ var u = e ? e[c] : c;
7
+ t[c] = n(r[u], u, r);
8
+ }
9
+ return t;
10
+ }, pluck = function(r, n) {
11
+ return map(r, _common.property(n));
12
+ }, sortBy = function(r, n, o) {
13
+ var e = 0;
14
+ return n = _common.cb(n, o), pluck(map(r, (function(r, o, i) {
15
+ return {
16
+ value: r,
17
+ index: e++,
18
+ criteria: n(r, o, i)
19
+ };
20
+ })).sort((function(r, n) {
21
+ var o = r.criteria, e = n.criteria;
22
+ if (o !== e) {
23
+ if (o > e || void 0 === o) return 1;
24
+ if (o < e || void 0 === e) return -1;
8
25
  }
9
- return t
10
- },
11
- pluck = function(r, n) {
12
- return map(r, _common.property(n))
13
- },
14
- sortBy = function(r, e, n) {
15
- var i = 0;
16
- return e = _common.cb(e, n), pluck(map(r, function(r, n, o) {
17
- return {
18
- value: r,
19
- index: i++,
20
- criteria: e(r, n, o)
21
- }
22
- }).sort(function(r, n) {
23
- var o = r.criteria,
24
- e = n.criteria;
25
- if (o !== e) {
26
- if (e < o || void 0 === o) return 1;
27
- if (o < e || void 0 === e) return -1
28
- }
29
- return r.index - n.index
30
- }), "value")
31
- };
32
- module.exports = sortBy;
26
+ return r.index - n.index;
27
+ })), "value");
28
+ };
29
+
30
+ module.exports = sortBy;
package/lib/flat.js ADDED
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")), utils = require("./utils");
4
+
5
+ function getTreeFlatKeys(e) {
6
+ var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, t = [], u = r.uniqueKey, l = void 0 === u ? "key" : u, i = r.childrenKey, a = void 0 === i ? "children" : i;
7
+ return utils.isArray(e) ? e.forEach((function(e) {
8
+ utils.isOnlyObject(e) && (l in e && t.push(e[l]), e[a] && t.push.apply(t, (0, _toConsumableArray2.default)(getTreeFlatKeys(e[a], r))));
9
+ })) : utils.isOnlyObject(e) && (l in e && t.push(e[l]), e[a] && t.push.apply(t, (0,
10
+ _toConsumableArray2.default)(getTreeFlatKeys(e[a], r)))), t;
11
+ }
12
+
13
+ module.exports = {
14
+ getTreeFlatKeys: getTreeFlatKeys
15
+ };