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/math/colorUtil.js
CHANGED
|
@@ -1,140 +1,144 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return 7 !== n.length && 9 !== n.length && (n = r), n
|
|
14
|
-
}
|
|
15
|
-
if (!colorRegex.test(r)) return r;
|
|
16
|
-
var g = r.replace(/#/, "").split("");
|
|
17
|
-
if (6 === g.length) return r;
|
|
18
|
-
if (3 === g.length) {
|
|
19
|
-
for (var l = "#", u = 0; u < g.length; u += 1) l += g[u] + g[u];
|
|
20
|
-
return l
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
toHexColor = function(r) {
|
|
24
|
-
if (isHexColor(r)) return r;
|
|
25
|
-
var t = r; - 1 < r.indexOf("rgb") && (t = t.replace(rgbaRegex, ""));
|
|
26
|
-
for (var e, o = t.split(","), n = "#", s = 0; s < o.length; s++) {
|
|
27
|
-
s < 3 && (1 === (e = Number(o[s]).toString(16)).length && (e = e.repeat(2)), n += e)
|
|
2
|
+
|
|
3
|
+
var utils = require("./../utils"), colorKeyWordsHexStr = require("./_keyColor"), strRGBA = function(r) {
|
|
4
|
+
return r.a || 0 === r.a ? "rgba(" + r.r + "," + r.g + "," + r.b + "," + r.a + ")" : "rgb(" + r.r + "," + r.g + "," + r.b + ")";
|
|
5
|
+
}, colorRegex = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/, rgbaRegex = /(?:\(|\)|rgba?|RGBA?)*/g, toStringHexColor = function(r) {
|
|
6
|
+
if (/^(rgba?|RGBA?)/.test(r)) {
|
|
7
|
+
for (var e = r.replace(rgbaRegex, "").split(","), t = "#", o = 0; o < e.length; o++) if (3 === o) {
|
|
8
|
+
var n = Number(e[o]);
|
|
9
|
+
n < 1 && (t += n = n.toString(16).substring(2, 4));
|
|
10
|
+
} else {
|
|
11
|
+
var s = Number(e[o]).toString(16);
|
|
12
|
+
1 === s.length && (s = s.repeat(2)), t += s;
|
|
28
13
|
}
|
|
29
|
-
return 7
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
14
|
+
return 7 !== t.length && 9 !== t.length && (t = r), t;
|
|
15
|
+
}
|
|
16
|
+
if (!colorRegex.test(r)) return r;
|
|
17
|
+
var l = r.replace(/#/, "").split("");
|
|
18
|
+
if (6 === l.length) return r;
|
|
19
|
+
if (3 === l.length) {
|
|
20
|
+
for (var u = "#", i = 0; i < l.length; i += 1) u += l[i] + l[i];
|
|
21
|
+
return u;
|
|
22
|
+
}
|
|
23
|
+
}, toHexColor = function(r) {
|
|
24
|
+
if (isHexColor(r)) return r;
|
|
25
|
+
if (isKeyColor(r)) return colorKeyWordsHexStr[r];
|
|
26
|
+
var e = r;
|
|
27
|
+
r.indexOf("rgb") > -1 && (e = e.replace(rgbaRegex, ""));
|
|
28
|
+
for (var t = e.split(","), o = "#", n = 0; n < t.length; n++) if (n < 3) {
|
|
29
|
+
var s = Number(t[n]).toString(16);
|
|
30
|
+
1 === s.length && (s = s.repeat(2)), o += s;
|
|
31
|
+
}
|
|
32
|
+
return o.length > 7 && (o = r), o;
|
|
33
|
+
}, toRGBcolor = function(r) {
|
|
34
|
+
var e = r.toLowerCase();
|
|
35
|
+
if (e && colorRegex.test(e)) {
|
|
36
|
+
if (4 === e.length) {
|
|
37
|
+
for (var t = "#", o = 1; o < 4; o += 1) t += e.slice(o, o + 1).concat(e.slice(o, o + 1));
|
|
38
|
+
e = t;
|
|
40
39
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
for (var n = [], s = 1; s < 7; s += 2) n.push(parseInt("0x" + e.slice(s, s + 2)));
|
|
41
|
+
return "rgb(" + n.join(",") + ")";
|
|
42
|
+
}
|
|
43
|
+
return e;
|
|
44
|
+
}, transformColor = function(r) {
|
|
45
|
+
var e = /#([a-zA-Z0-9]{6})/.exec(r), t = "rgb(";
|
|
46
|
+
if (e && 2 == e.length) {
|
|
47
|
+
var o = e[1];
|
|
48
|
+
t += parseInt("0x" + o.substr(0, 2)) + ",", t += parseInt("0x" + o.substr(2, 2)) + ",",
|
|
49
|
+
t += parseInt("0x" + o.substr(4, 2)), t += ")";
|
|
50
|
+
} else t = "rgb(147, 147, 147)";
|
|
51
|
+
return t;
|
|
52
|
+
};
|
|
48
53
|
|
|
49
54
|
function isRgbColor(r) {
|
|
50
|
-
var
|
|
51
|
-
return !/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(r) &&
|
|
55
|
+
var e = r.replace(rgbaRegex, "").split(",");
|
|
56
|
+
return !/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(r) && e.length >= 3;
|
|
52
57
|
}
|
|
53
58
|
|
|
54
59
|
function isHexColor(r) {
|
|
55
|
-
return /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(r)
|
|
60
|
+
return /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(r);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function isKeyColor(r) {
|
|
64
|
+
return !!colorKeyWordsHexStr[r];
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function keyColorToHex(r) {
|
|
68
|
+
return colorKeyWordsHexStr[r] || r;
|
|
56
69
|
}
|
|
57
70
|
|
|
58
71
|
function rgb2object(r) {
|
|
59
72
|
if (isRgbColor(r)) {
|
|
60
|
-
var
|
|
61
|
-
if (3 ==
|
|
62
|
-
r:
|
|
63
|
-
g:
|
|
64
|
-
b:
|
|
73
|
+
var e = r.replace(rgbaRegex, "").split(",");
|
|
74
|
+
if (3 == e.length) return {
|
|
75
|
+
r: e[0],
|
|
76
|
+
g: e[1],
|
|
77
|
+
b: e[2],
|
|
65
78
|
a: "1"
|
|
66
79
|
};
|
|
67
|
-
if (
|
|
68
|
-
r:
|
|
69
|
-
g:
|
|
70
|
-
b:
|
|
71
|
-
a:
|
|
72
|
-
}
|
|
80
|
+
if (e.length > 3) return {
|
|
81
|
+
r: e[0],
|
|
82
|
+
g: e[1],
|
|
83
|
+
b: e[2],
|
|
84
|
+
a: e[3] || "1"
|
|
85
|
+
};
|
|
73
86
|
}
|
|
74
87
|
return {
|
|
75
88
|
r: "0",
|
|
76
89
|
g: "0",
|
|
77
90
|
b: "0",
|
|
78
91
|
a: "1"
|
|
79
|
-
}
|
|
92
|
+
};
|
|
80
93
|
}
|
|
81
94
|
|
|
82
95
|
function objRGB2str(r) {
|
|
83
|
-
return utils.isObject(r) && utils.isKeyInObject(["r", "g", "b"], r) ? strRGBA(r) : strRGBA({
|
|
96
|
+
return utils.isObject(r) && utils.isKeyInObject([ "r", "g", "b" ], r) ? strRGBA(r) : strRGBA({
|
|
84
97
|
r: 0,
|
|
85
98
|
g: 0,
|
|
86
99
|
b: 0
|
|
87
|
-
})
|
|
100
|
+
});
|
|
88
101
|
}
|
|
89
102
|
|
|
90
|
-
function gradientColor(r,
|
|
91
|
-
function
|
|
92
|
-
var
|
|
93
|
-
|
|
94
|
-
o = /#([a-zA-Z0-9]{6})/.exec(r),
|
|
95
|
-
n = [];
|
|
96
|
-
if (t && 4 == t.length || e && 4 == e.length) n = t && 4 == t.length ? t : e;
|
|
97
|
-
else {
|
|
103
|
+
function gradientColor(r, e, t) {
|
|
104
|
+
var o = function(r) {
|
|
105
|
+
var e = /rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/.exec(r), t = /rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*/.exec(r), o = /#([a-zA-Z0-9]{6})/.exec(r), n = [];
|
|
106
|
+
if (e && 4 == e.length || t && 4 == t.length) n = e && 4 == e.length ? e : t; else {
|
|
98
107
|
if (!o || 2 != o.length) return null;
|
|
99
108
|
var s = o[1];
|
|
100
|
-
n.push(""), n.push(parseInt("0x" + s.substr(0, 2))), n.push(parseInt("0x" + s.substr(2, 2))),
|
|
109
|
+
n.push(""), n.push(parseInt("0x" + s.substr(0, 2))), n.push(parseInt("0x" + s.substr(2, 2))),
|
|
110
|
+
n.push(parseInt("0x" + s.substr(4, 2)));
|
|
101
111
|
}
|
|
102
112
|
return {
|
|
103
113
|
r: Number(n[1]),
|
|
104
114
|
g: Number(n[2]),
|
|
105
115
|
b: Number(n[3])
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
function
|
|
110
|
-
return
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
function u(r, t) {
|
|
114
|
-
return null == t || t < 0 || "number" != typeof t ? r : (t = Math.round(t), Math.round(r * Math.pow(10, t)) / Math.pow(10, t))
|
|
115
|
-
}
|
|
116
|
-
var a = t(r.from),
|
|
117
|
-
i = t(r.to);
|
|
116
|
+
};
|
|
117
|
+
}, n = o(r.from), s = o(r.to), l = function(r, e, t) {
|
|
118
|
+
return Math.round(r + (e - r) * t / 100);
|
|
119
|
+
}, u = function(r, e) {
|
|
120
|
+
return null == e || e < 0 || "number" != typeof e ? r : (e = Math.round(e), Math.round(r * Math.pow(10, e)) / Math.pow(10, e));
|
|
121
|
+
};
|
|
118
122
|
return function(r) {
|
|
119
|
-
var
|
|
120
|
-
e = l(a.r, i.r, 100 * u(t, 2)),
|
|
121
|
-
o = l(a.g, i.g, 100 * u(t, 2)),
|
|
122
|
-
n = l(a.b, i.b, 100 * u(t, 2));
|
|
123
|
+
var o = t == e ? 0 : (r.value - e) / (t - e), i = l(n.r, s.r, 100 * u(o, 2)), a = l(n.g, s.g, 100 * u(o, 2)), g = l(n.b, s.b, 100 * u(o, 2));
|
|
123
124
|
return strRGBA({
|
|
124
|
-
r:
|
|
125
|
-
g:
|
|
126
|
-
b:
|
|
127
|
-
})
|
|
128
|
-
}
|
|
125
|
+
r: i,
|
|
126
|
+
g: a,
|
|
127
|
+
b: g
|
|
128
|
+
});
|
|
129
|
+
};
|
|
129
130
|
}
|
|
131
|
+
|
|
130
132
|
module.exports = {
|
|
131
133
|
toStringHexColor: toStringHexColor,
|
|
132
134
|
toHexColor: toHexColor,
|
|
133
135
|
toRGBcolor: toRGBcolor,
|
|
134
136
|
transformColor: transformColor,
|
|
135
137
|
isHexColor: isHexColor,
|
|
138
|
+
isKeyColor: isKeyColor,
|
|
136
139
|
isRgbColor: isRgbColor,
|
|
137
140
|
rgb2object: rgb2object,
|
|
138
141
|
objRGB2str: objRGB2str,
|
|
142
|
+
keyColorToHex: keyColorToHex,
|
|
139
143
|
gradientColor: gradientColor
|
|
140
|
-
};
|
|
144
|
+
};
|
package/lib/math/dateTime.js
CHANGED
|
@@ -1,39 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
var utils = require("./../utils");
|
|
3
4
|
|
|
4
5
|
function isValidDate(e) {
|
|
5
|
-
return e instanceof Date && (e instanceof Date && !isNaN(e.getTime()))
|
|
6
|
+
return e instanceof Date && (e instanceof Date && !isNaN(e.getTime()));
|
|
6
7
|
}
|
|
8
|
+
|
|
7
9
|
module.exports = {
|
|
8
10
|
formatDate: function(e, t) {
|
|
9
11
|
var n = null == e ? new Date : e;
|
|
10
|
-
if (utils.isNumber(n) && !utils.isString(n) && (n = Number(n)), n instanceof Date || (n = new Date(n)),
|
|
12
|
+
if (utils.isNumber(n) && !utils.isString(n) && (n = Number(n)), n instanceof Date || (n = new Date(n)),
|
|
13
|
+
!isValidDate(n)) return e;
|
|
11
14
|
t = t || "yyyy-MM-dd HH:mm:ss";
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return t
|
|
15
|
+
var a = {
|
|
16
|
+
y: n.getFullYear(),
|
|
17
|
+
M: n.getMonth() + 1,
|
|
18
|
+
d: n.getDate(),
|
|
19
|
+
q: Math.floor((n.getMonth() + 3) / 3),
|
|
20
|
+
w: n.getDay(),
|
|
21
|
+
H: n.getHours(),
|
|
22
|
+
h: n.getHours() % 12 == 0 ? 12 : n.getHours() % 12,
|
|
23
|
+
m: n.getMinutes(),
|
|
24
|
+
s: n.getSeconds(),
|
|
25
|
+
S: n.getMilliseconds()
|
|
26
|
+
}, r = [ "天", "一", "二", "三", "四", "五", "六" ], o = function(e) {
|
|
27
|
+
t = t.replace(new RegExp(e + "+", "g"), (function(t) {
|
|
28
|
+
var n = a[e] + "";
|
|
29
|
+
if ("w" == e) return (t.length > 2 ? "星期" : "周") + r[n];
|
|
30
|
+
for (var o = 0, i = n.length; o < t.length - i; o++) n = "0" + n;
|
|
31
|
+
return 1 == t.length ? n : n.substring(n.length - t.length);
|
|
32
|
+
}));
|
|
33
|
+
};
|
|
34
|
+
for (var i in a) o(i);
|
|
35
|
+
return t;
|
|
34
36
|
},
|
|
35
37
|
formatDate2: function(e, t) {
|
|
36
|
-
if ("number" == typeof(e = null == e ? new Date : e) && (e = new Date(e)), "string" == typeof e) return e;
|
|
38
|
+
if ("number" == typeof (e = null == e ? new Date : e) && (e = new Date(e)), "string" == typeof e) return e;
|
|
37
39
|
var n = {
|
|
38
40
|
"M+": e.getMonth() + 1,
|
|
39
41
|
"d+": e.getDate(),
|
|
@@ -41,50 +43,50 @@ module.exports = {
|
|
|
41
43
|
"m+": e.getMinutes(),
|
|
42
44
|
"s+": e.getSeconds()
|
|
43
45
|
};
|
|
44
|
-
for (var a in /(y+)/.test(t) && (t = t.replace(RegExp.$1, "".concat(e.getFullYear()).substr(4 - RegExp.$1.length))),
|
|
45
|
-
|
|
46
|
+
for (var a in /(y+)/.test(t) && (t = t.replace(RegExp.$1, "".concat(e.getFullYear()).substr(4 - RegExp.$1.length))),
|
|
47
|
+
n) new RegExp("(".concat(a, ")")).test(t) && (t = t.replace(RegExp.$1, 1 === RegExp.$1.length ? n[a] : "00".concat(n[a]).substr("".concat(n[a]).length)));
|
|
48
|
+
return t;
|
|
46
49
|
},
|
|
47
50
|
timetrans: function(e) {
|
|
48
|
-
return (e = new Date(1e3 * e)).getFullYear() + "-" + ((e.getMonth() + 1 < 10 ? "0" + (e.getMonth() + 1) : e.getMonth() + 1) + "-") + ((e.getDate() < 10 ? "0" + e.getDate() : e.getDate()) + " ") + ((e.getHours() < 10 ? "0" + e.getHours() : e.getHours()) + ":") + ((e.getMinutes() < 10 ? "0" + e.getMinutes() : e.getMinutes()) + ":") + (e.getSeconds() < 10 ? "0" + e.getSeconds() : e.getSeconds())
|
|
51
|
+
return (e = new Date(1e3 * e)).getFullYear() + "-" + ((e.getMonth() + 1 < 10 ? "0" + (e.getMonth() + 1) : e.getMonth() + 1) + "-") + ((e.getDate() < 10 ? "0" + e.getDate() : e.getDate()) + " ") + ((e.getHours() < 10 ? "0" + e.getHours() : e.getHours()) + ":") + ((e.getMinutes() < 10 ? "0" + e.getMinutes() : e.getMinutes()) + ":") + (e.getSeconds() < 10 ? "0" + e.getSeconds() : e.getSeconds());
|
|
49
52
|
},
|
|
50
53
|
formatDateToFriendly: function(e) {
|
|
51
|
-
e = "number" == typeof(e = e || new Date) ? new Date(e) : e;
|
|
54
|
+
e = "number" == typeof (e = e || new Date) ? new Date(e) : e;
|
|
52
55
|
var t = new Date;
|
|
53
56
|
if (t.getTime() - e.getTime() < 6e4) return "刚刚";
|
|
54
57
|
var n = this.formatDate(e, "yyyy年M月d日");
|
|
55
|
-
return n == this.formatDate(t, "yyyy年M月d日") ? this.formatDate(e, "HH:mm") : e.getFullYear() == t.getFullYear() ? this.formatDate(e, "M月d日") : n
|
|
58
|
+
return n == this.formatDate(t, "yyyy年M月d日") ? this.formatDate(e, "HH:mm") : e.getFullYear() == t.getFullYear() ? this.formatDate(e, "M月d日") : n;
|
|
56
59
|
},
|
|
57
60
|
friendlyDate: function(e) {
|
|
58
|
-
var t = new Date - e,
|
|
59
|
-
|
|
60
|
-
a = 24 * n,
|
|
61
|
-
r = 30 * a,
|
|
62
|
-
o = 12 * r;
|
|
63
|
-
return o <= t ? parseInt(t / o) + "年前" : r <= t ? parseInt(t / r) + "个月前" : a <= t ? parseInt(t / a) + "天前" : n <= t ? parseInt(t / n) + "小时前" : 6e4 <= t ? parseInt(t / 6e4) + "分钟前" : 1e3 <= t ? "刚刚" : void 0
|
|
61
|
+
var t = +new Date - e, n = 6e4, a = 36e5, r = 864e5, o = 30 * r, i = 12 * o;
|
|
62
|
+
return t >= i ? parseInt(t / i) + "年前" : t >= o ? parseInt(t / o) + "个月前" : t >= r ? parseInt(t / r) + "天前" : t >= a ? parseInt(t / a) + "小时前" : t >= n ? parseInt(t / n) + "分钟前" : t >= 1e3 ? "刚刚" : void 0;
|
|
64
63
|
},
|
|
65
64
|
formatDurationToFriendly: function(e) {
|
|
66
|
-
return e < 60 ? e + "秒" : e < 3600 ? (e - e % 60) / 60 + "分" + e % 60 + "秒" : e < 86400 ? (e - e % 3600) / 60 / 60 + "小时" + Math.round(e % 3600 / 60) + "分" : (e / 60 / 60 / 24).toFixed(1) + "天"
|
|
65
|
+
return e < 60 ? e + "秒" : e < 3600 ? (e - e % 60) / 60 + "分" + e % 60 + "秒" : e < 86400 ? (e - e % 3600) / 60 / 60 + "小时" + Math.round(e % 3600 / 60) + "分" : (e / 60 / 60 / 24).toFixed(1) + "天";
|
|
67
66
|
},
|
|
68
67
|
formatTimeToFriendly: function(e) {
|
|
69
|
-
var t = Math.floor(e / 60),
|
|
70
|
-
|
|
71
|
-
return (t = t < 10 ? "0" + t : t) + ":" + (n = n < 10 ? "0" + n : n)
|
|
68
|
+
var t = Math.floor(e / 60), n = e % 60;
|
|
69
|
+
return (t = t < 10 ? "0" + t : t) + ":" + (n = n < 10 ? "0" + n : n);
|
|
72
70
|
},
|
|
73
71
|
isLeapYear: function(e) {
|
|
74
|
-
return void 0 === e && (e = new Date), e instanceof Date && (e = e.getFullYear()),
|
|
72
|
+
return void 0 === e && (e = new Date), e instanceof Date && (e = e.getFullYear()),
|
|
73
|
+
e % 4 == 0 && e % 100 != 0 || e % 400 == 0;
|
|
75
74
|
},
|
|
76
75
|
getMonthDays: function(e, t) {
|
|
77
76
|
var n, a;
|
|
78
|
-
null == e && (e = new Date), e instanceof Date ? (n = e.getFullYear(), a = e.getMonth()) : "number" == typeof e && (n = e,
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
null == e && (e = new Date), e instanceof Date ? (n = e.getFullYear(), a = e.getMonth()) : "number" == typeof e && (n = e,
|
|
78
|
+
a = t - 1);
|
|
79
|
+
var r = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
|
|
80
|
+
return 1 == a && this.isLeapYear(n) ? r[a] + 1 : r[a];
|
|
81
81
|
},
|
|
82
82
|
countDays: function(e, t) {
|
|
83
83
|
var n = "yyyy-MM-dd";
|
|
84
|
-
return e instanceof Date && t instanceof Date && (e = this.format(n, e), t = this.format(n, t)),
|
|
84
|
+
return e instanceof Date && t instanceof Date && (e = this.format(n, e), t = this.format(n, t)),
|
|
85
|
+
"string" == typeof e && "string" == typeof t ? (e = this.parseDate(e, n), t = this.parseDate(t, n),
|
|
86
|
+
(e.getTime() - t.getTime()) / 864e5) : (console.error("参数格式无效!"), 0);
|
|
85
87
|
},
|
|
86
|
-
parseDate: function(
|
|
87
|
-
var
|
|
88
|
+
parseDate: function(e, t) {
|
|
89
|
+
var n = {
|
|
88
90
|
y: 0,
|
|
89
91
|
M: 1,
|
|
90
92
|
d: 0,
|
|
@@ -94,73 +96,53 @@ module.exports = {
|
|
|
94
96
|
s: 0,
|
|
95
97
|
S: 0
|
|
96
98
|
};
|
|
97
|
-
(
|
|
98
|
-
return
|
|
99
|
-
return
|
|
100
|
-
}), ""
|
|
101
|
-
}),
|
|
102
|
-
var
|
|
103
|
-
return 0 !==
|
|
99
|
+
(t = t || "yyyy-MM-dd").replace(/([^yMdHmsS]*?)(([yMdHmsS])\3*)([^yMdHmsS]*?)/g, (function(t, a, r, o, i, s, u) {
|
|
100
|
+
return e = e.replace(new RegExp(a + "(\\d{" + r.length + "})" + i), (function(e, t) {
|
|
101
|
+
return n[o] = parseInt(t), "";
|
|
102
|
+
})), "";
|
|
103
|
+
})), n.M--;
|
|
104
|
+
var a = new Date(n.y, n.M, n.d, n.H, n.m, n.s);
|
|
105
|
+
return 0 !== n.S && a.setMilliseconds(n.S), a;
|
|
104
106
|
},
|
|
105
107
|
getEndTime: function(e) {
|
|
106
|
-
var t = new Date,
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
r = 0,
|
|
110
|
-
o = 0,
|
|
111
|
-
i = 0;
|
|
112
|
-
return 0 <= n && (a = Math.floor(n / 1e3 / 3600 / 24), r = Math.floor(n / 1e3 / 60 / 60 % 24), o = Math.floor(n / 1e3 / 60 % 60), i = Math.floor(n / 1e3 % 60)), {
|
|
108
|
+
var t = new Date, n = new Date(e).getTime() - t.getTime(), a = 0, r = 0, o = 0, i = 0;
|
|
109
|
+
return n >= 0 && (a = Math.floor(n / 1e3 / 3600 / 24), r = Math.floor(n / 1e3 / 60 / 60 % 24),
|
|
110
|
+
o = Math.floor(n / 1e3 / 60 % 60), i = Math.floor(n / 1e3 % 60)), {
|
|
113
111
|
d: a,
|
|
114
112
|
h: r,
|
|
115
113
|
m: o,
|
|
116
114
|
s: i
|
|
117
|
-
}
|
|
115
|
+
};
|
|
118
116
|
},
|
|
119
117
|
getEndTimeStr: function(e) {
|
|
120
118
|
var t = this.getEndTime(e);
|
|
121
|
-
return "剩余时间" + t.d + "天 " + t.h + "小时 " + t.m + " 分钟" + t.s + " 秒"
|
|
119
|
+
return "剩余时间" + t.d + "天 " + t.h + "小时 " + t.m + " 分钟" + t.s + " 秒";
|
|
122
120
|
},
|
|
123
121
|
getMonthOfDay: function(e) {
|
|
124
|
-
var t = new Date(e),
|
|
125
|
-
|
|
126
|
-
a = t.getMonth() + 1,
|
|
127
|
-
r = 2 == a ? n % 4 == 0 && n % 100 == 0 && n % 400 == 0 || n % 4 == 0 && n % 100 != 0 ? 28 : 29 : 1 == a || 3 == a || 5 == a || 7 == a || 8 == a || 10 == a || 12 == a ? 31 : 30;
|
|
128
|
-
return r
|
|
122
|
+
var t = new Date(e), n = t.getFullYear(), a = t.getMonth() + 1;
|
|
123
|
+
return 2 == a ? n % 4 == 0 && n % 100 == 0 && n % 400 == 0 || n % 4 == 0 && n % 100 != 0 ? 28 : 29 : 1 == a || 3 == a || 5 == a || 7 == a || 8 == a || 10 == a || 12 == a ? 31 : 30;
|
|
129
124
|
},
|
|
130
125
|
getYearOfDay: function(e) {
|
|
131
|
-
var t = this.getFirstDayOfYear(e),
|
|
132
|
-
|
|
133
|
-
a = (new Date(n).getTime() - new Date(t).getTime()) / 1e3;
|
|
134
|
-
return Math.ceil(a / 86400)
|
|
126
|
+
var t = this.getFirstDayOfYear(e), n = this.getLastDayOfYear(e), a = (new Date(n).getTime() - new Date(t).getTime()) / 1e3;
|
|
127
|
+
return Math.ceil(a / 86400);
|
|
135
128
|
},
|
|
136
129
|
getFirstDayOfYear: function(e) {
|
|
137
|
-
return new Date(e).getFullYear() + "-01-01 00:00:00"
|
|
130
|
+
return new Date(e).getFullYear() + "-01-01 00:00:00";
|
|
138
131
|
},
|
|
139
132
|
getLastDayOfYear: function(e) {
|
|
140
|
-
var t = new Date(e).getFullYear(),
|
|
141
|
-
|
|
142
|
-
return t + "-12-" + this.getMonthOfDay(n) + " 23:59:59"
|
|
133
|
+
var t = new Date(e).getFullYear(), n = t + "-12-01 00:00:00";
|
|
134
|
+
return t + "-12-" + this.getMonthOfDay(n) + " 23:59:59";
|
|
143
135
|
},
|
|
144
136
|
getDayOfYear: function(e) {
|
|
145
|
-
var t = this.getFirstDayOfYear(e),
|
|
146
|
-
|
|
147
|
-
return Math.ceil(n / 86400)
|
|
137
|
+
var t = this.getFirstDayOfYear(e), n = (new Date(e).getTime() - new Date(t).getTime()) / 1e3;
|
|
138
|
+
return Math.ceil(n / 86400);
|
|
148
139
|
},
|
|
149
140
|
getDayOfYearWeek: function(e) {
|
|
150
141
|
var t = this.getDayOfYear(e);
|
|
151
|
-
return Math.ceil(t / 7)
|
|
152
|
-
},
|
|
153
|
-
timeFn: function(e
|
|
154
|
-
var
|
|
155
|
-
|
|
156
|
-
r = (new Date).getTime() - a.getTime(),
|
|
157
|
-
o = Math.floor(r / 864e5),
|
|
158
|
-
i = r % 864e5,
|
|
159
|
-
s = Math.floor(i / 36e5),
|
|
160
|
-
u = i % 36e5,
|
|
161
|
-
g = Math.floor(u / 6e4),
|
|
162
|
-
c = u % 6e4,
|
|
163
|
-
f = Math.round(c / 1e3);
|
|
164
|
-
return n ? "相差".concat(o, "天").concat(s, "小时").concat(g, "分钟").concat(f, "秒") : "".concat(r, "时间差的毫秒数,").concat(o, "计算出相差天数,").concat(i, "计算天数后剩余的毫秒数,").concat(s, "计算出小时数,").concat(g, "计算相差分钟数,").concat(f, "计算相差秒数")
|
|
142
|
+
return Math.ceil(t / 7);
|
|
143
|
+
},
|
|
144
|
+
timeFn: function(e) {
|
|
145
|
+
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1, n = new Date(e.replace(/-/g, "/")), a = new Date, r = a.getTime() - n.getTime(), o = Math.floor(r / 864e5), i = r % 864e5, s = Math.floor(i / 36e5), u = i % 36e5, g = Math.floor(u / 6e4), c = u % 6e4, f = Math.round(c / 1e3);
|
|
146
|
+
return t ? "相差".concat(o, "天").concat(s, "小时").concat(g, "分钟").concat(f, "秒") : "".concat(r, "时间差的毫秒数,").concat(o, "计算出相差天数,").concat(i, "计算天数后剩余的毫秒数,").concat(s, "计算出小时数,").concat(g, "计算相差分钟数,").concat(f, "计算相差秒数");
|
|
165
147
|
}
|
|
166
|
-
};
|
|
148
|
+
};
|
package/lib/math/operations.js
CHANGED
|
@@ -1,45 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
var _boost = function(t, n, r, u) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
divide = function(t, n) {
|
|
35
|
-
return _boost(t, n, function(t, n) {
|
|
36
|
-
return t / n
|
|
37
|
-
}, 0)
|
|
38
|
-
};
|
|
4
|
+
var o = 0, i = 0;
|
|
5
|
+
u = null == u ? 1 : u;
|
|
6
|
+
try {
|
|
7
|
+
o = t.toString().split(".")[1].length;
|
|
8
|
+
} catch (t) {}
|
|
9
|
+
try {
|
|
10
|
+
i = n.toString().split(".")[1].length;
|
|
11
|
+
} catch (t) {}
|
|
12
|
+
return r(Number(t.toString().replace(".", "")) * Math.pow(10, i), Number(n.toString().replace(".", "")) * Math.pow(10, o)) / Math.pow(10, (o + i) * u);
|
|
13
|
+
}, mod = function(t, n) {
|
|
14
|
+
return _boost(t, n, (function(t, n) {
|
|
15
|
+
return t % n;
|
|
16
|
+
}));
|
|
17
|
+
}, plus = function(t, n) {
|
|
18
|
+
return _boost(t, n, (function(t, n) {
|
|
19
|
+
return t + n;
|
|
20
|
+
}));
|
|
21
|
+
}, subtract = function(t, n) {
|
|
22
|
+
return _boost(t, n, (function(t, n) {
|
|
23
|
+
return t - n;
|
|
24
|
+
}));
|
|
25
|
+
}, multiply = function(t, n) {
|
|
26
|
+
return _boost(t, n, (function(t, n) {
|
|
27
|
+
return t * n;
|
|
28
|
+
}), 2);
|
|
29
|
+
}, divide = function(t, n) {
|
|
30
|
+
return _boost(t, n, (function(t, n) {
|
|
31
|
+
return t / n;
|
|
32
|
+
}), 0);
|
|
33
|
+
};
|
|
34
|
+
|
|
39
35
|
module.exports = {
|
|
40
36
|
mod: mod,
|
|
41
37
|
plus: plus,
|
|
42
38
|
subtract: subtract,
|
|
43
39
|
multiply: multiply,
|
|
44
40
|
divide: divide
|
|
45
|
-
};
|
|
41
|
+
};
|
package/lib/math/pwdStrength.js
CHANGED
|
@@ -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++,
|
|
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
|
+
};
|
package/lib/math/randomColor.js
CHANGED
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
module.exports = {
|
|
3
4
|
randomHexColor: function() {
|
|
4
|
-
return (~~(Math.random() * (1 << 24))).toString(16)
|
|
5
|
+
return (~~(Math.random() * (1 << 24))).toString(16);
|
|
5
6
|
},
|
|
6
7
|
randomRgbColor: function() {
|
|
7
|
-
return "rgb(" + this._random(255) + "," + this._random(255) + "," + this._random(255) + ")"
|
|
8
|
+
return "rgb(" + this._random(255) + "," + this._random(255) + "," + this._random(255) + ")";
|
|
9
|
+
},
|
|
10
|
+
randomRgbaColor: function(r) {
|
|
11
|
+
var o = r || this._randomAlpha();
|
|
12
|
+
return "rgba(" + this._random(255) + "," + this._random(255) + "," + this._random(255) + "," + o + ")";
|
|
13
|
+
},
|
|
14
|
+
_randomAlpha: function() {
|
|
15
|
+
return parseFloat(Math.random().toFixed(2));
|
|
8
16
|
},
|
|
9
17
|
_random: function(r) {
|
|
10
|
-
return Math.floor(Math.random() * r + 1)
|
|
18
|
+
return Math.floor(Math.random() * r + 1);
|
|
11
19
|
},
|
|
12
20
|
randomHexColorStr: function() {
|
|
13
|
-
return "#" + Math.random().toString(16).substring(2).substr(0, 6)
|
|
21
|
+
return "#" + Math.random().toString(16).substring(2).substr(0, 6);
|
|
22
|
+
},
|
|
23
|
+
randomHexAlphaColorStr: function() {
|
|
24
|
+
var r = Math.round(255 * this._randomAlpha()).toString(16);
|
|
25
|
+
return this.randomHexColorStr() + r;
|
|
14
26
|
}
|
|
15
|
-
};
|
|
27
|
+
};
|
package/lib/math/subtraction.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
var pow = function(t) {
|
|
3
|
-
return Math.pow(10, t)
|
|
4
|
+
return Math.pow(10, t);
|
|
4
5
|
};
|
|
6
|
+
|
|
5
7
|
module.exports = function(t, r) {
|
|
6
8
|
var n, o;
|
|
7
9
|
try {
|
|
8
|
-
n = t.toString().split(".")[1].length
|
|
10
|
+
n = t.toString().split(".")[1].length;
|
|
9
11
|
} catch (t) {
|
|
10
|
-
n = 0
|
|
12
|
+
n = 0;
|
|
11
13
|
}
|
|
12
14
|
try {
|
|
13
|
-
o = r.toString().split(".")[1].length
|
|
15
|
+
o = r.toString().split(".")[1].length;
|
|
14
16
|
} catch (t) {
|
|
15
|
-
o = 0
|
|
17
|
+
o = 0;
|
|
16
18
|
}
|
|
17
|
-
var e = pow(Math.max(n, o)),
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
19
|
+
var e = pow(Math.max(n, o)), a = ((t * e - r * e) / e).toFixed(n >= o ? n : o);
|
|
20
|
+
return Number(a);
|
|
21
|
+
};
|