amos-tool 1.4.7 → 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 (131) hide show
  1. package/.prettierignore +2 -2
  2. package/.prettierrc +50 -50
  3. package/README.md +667 -667
  4. package/apis/objectPath.md +129 -129
  5. package/index.d.ts +11 -2
  6. package/index.js +3 -3
  7. package/lib/_browser.js +10 -8
  8. package/lib/_clone.js +68 -57
  9. package/lib/_cookie.js +50 -47
  10. package/lib/_deepCopy.js +14 -19
  11. package/lib/_deepEqual.js +7 -8
  12. package/lib/_fastDeepEqual.js +26 -34
  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 +74 -79
  18. package/lib/_object.assign.js +19 -19
  19. package/lib/_object.entries.js +8 -7
  20. package/lib/_object.values.js +8 -7
  21. package/lib/_omit.js +12 -11
  22. package/lib/_parseJson.js +7 -6
  23. package/lib/_pick.js +8 -7
  24. package/lib/_queue.js +24 -21
  25. package/lib/_shallowCopy.js +24 -23
  26. package/lib/_stringify.js +13 -10
  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 +4 -66
  32. package/lib/array2tree.js +9 -9
  33. package/lib/arrayFilter.js +18 -19
  34. package/lib/arrayUtils.js +10 -8
  35. package/lib/browser/Cookie.js +35 -36
  36. package/lib/browser/indexDB.js +72 -71
  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 -72
  41. package/lib/dom/canvasTools.js +11 -16
  42. package/lib/dom/downloadFile.js +17 -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 +27 -24
  48. package/lib/encrypt/_base64.js +32 -25
  49. package/lib/encrypt/_md5.js +68 -31
  50. package/lib/encrypt/des.js +430 -366
  51. package/lib/extra/_common.js +120 -161
  52. package/lib/extra/filterNull.js +5 -4
  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 +49 -36
  57. package/lib/extra/pwdStrength.js +4 -2
  58. package/lib/extra/sortBy.js +28 -30
  59. package/lib/flat.js +9 -13
  60. package/lib/locationParams.js +93 -95
  61. package/lib/log.js +20 -26
  62. package/lib/math/_keyColor.js +3 -1
  63. package/lib/math/addition.js +9 -7
  64. package/lib/math/amountCase.js +8 -12
  65. package/lib/math/coinFormat.js +6 -4
  66. package/lib/math/colorUtil.js +91 -94
  67. package/lib/math/dateTime.js +79 -97
  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 +81 -82
  74. package/lib/parseText.js +8 -7
  75. package/lib/png/Identicon.js +32 -28
  76. package/lib/png/pnglib.js +59 -34
  77. package/lib/png/randomPic.js +8 -14
  78. package/lib/positionFactory.js +28 -28
  79. package/lib/pwdPolicy.js +27 -31
  80. package/lib/qs/_assign.js +7 -5
  81. package/lib/qs/_merge.js +20 -23
  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 +56 -51
  86. package/lib/qs/stringify.js +54 -69
  87. package/lib/qs/utils.js +70 -83
  88. package/lib/random.js +5 -4
  89. package/lib/shallowEqual.js +25 -29
  90. package/lib/store.js +93 -95
  91. package/lib/strUtils.js +52 -43
  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 +171 -222
  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 +4 -4
  101. package/docs/Logger.html +0 -189
  102. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  103. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  104. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  105. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  106. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  107. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  108. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  109. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  110. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  111. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -978
  112. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  113. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  114. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  115. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  116. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -1049
  117. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  118. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  119. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  120. package/docs/global.html +0 -14535
  121. package/docs/index.html +0 -791
  122. package/docs/scripts/collapse.js +0 -20
  123. package/docs/scripts/linenumber.js +0 -25
  124. package/docs/scripts/nav.js +0 -12
  125. package/docs/scripts/polyfill.js +0 -4
  126. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
  127. package/docs/scripts/prettify/lang-css.js +0 -2
  128. package/docs/scripts/prettify/prettify.js +0 -28
  129. package/docs/scripts/search.js +0 -83
  130. package/docs/styles/jsdoc.css +0 -765
  131. package/docs/styles/prettify.css +0 -79
@@ -1,105 +1,103 @@
1
1
  "use strict";
2
- var utils = require("./utils"),
3
- _LSFN = function() {
4
- var e = [];
5
- return function() {
6
- var t = window.location.search;
7
- if (utils.isEmpty(t)) throw new Error("the [window.location.search] not empty!");
8
- t = 1 < t.length ? t.substring(1) : null;
9
- utils.isNull(t) || (e = [].slice.call(t.split("&")))
10
- }(), {
11
- getValue: function(n) {
12
- e.forEach(function(t) {
13
- t = t.split("=");
14
- if (t[0] === n) return t[1]
15
- })
16
- },
17
- getParameters: function() {
18
- var n = [];
19
- return e.forEach(function(t) {
20
- n.push(t.split("=")[0])
21
- }), n
22
- }
23
- }
24
- },
25
- _LocationSearch = {
26
- _keyValuePairs: [],
27
- init: function() {
28
- var t = window.location.search;
29
- if (utils.isEmpty(t)) throw new Error("the [window.location.search] not empty!");
30
- t = 1 < t.length ? t.substring(1) : null;
31
- return utils.isNull(t) || (_LocationSearch._keyValuePairs = [].slice.call(t.split("&"))), this
32
- },
2
+
3
+ var utils = require("./utils"), _LSFN = function() {
4
+ var t = [];
5
+ return function() {
6
+ var n = window.location.search;
7
+ if (utils.isEmpty(n)) throw new Error("the [window.location.search] not empty!");
8
+ var e = n.length > 1 ? n.substring(1) : null;
9
+ utils.isNull(e) || (t = [].slice.call(e.split("&")));
10
+ }(), {
33
11
  getValue: function(n) {
34
- _LocationSearch._keyValuePairs.forEach(function(t) {
35
- t = t.split("=");
36
- if (t[0] === n) return t[1]
37
- })
12
+ t.forEach((function(t) {
13
+ var e = t.split("=");
14
+ if (e[0] === n) return e[1];
15
+ }));
38
16
  },
39
17
  getParameters: function() {
40
18
  var n = [];
41
- return _LocationSearch._keyValuePairs.forEach(function(t) {
42
- n.push(t.split("=")[0])
43
- }), n
19
+ return t.forEach((function(t) {
20
+ n.push(t.split("=")[0]);
21
+ })), n;
44
22
  }
23
+ };
24
+ }, _LocationSearch = {
25
+ _keyValuePairs: [],
26
+ init: function() {
27
+ var t = window.location.search;
28
+ if (utils.isEmpty(t)) throw new Error("the [window.location.search] not empty!");
29
+ var n = t.length > 1 ? t.substring(1) : null;
30
+ return utils.isNull(n) || (_LocationSearch._keyValuePairs = [].slice.call(n.split("&"))),
31
+ this;
45
32
  },
46
- LocationParam = {
47
- parse: function(t) {
48
- var n, e, i, o;
49
- t = t || window.location.search;
50
- var r, a = {};
51
- if (!utils.isEmpty(t) && 1 < t.length)
52
- for (i = 0, o = (r = t.slice(1 + t.indexOf("?"), t.length).split("&")).length; i < o; i++) n = (e = (e = r[i]).split("="))[0], e = e[1], n in a ? (utils.isArray(a[n]) || (a[n] = [a[n]]), a[n].push(decodeURIComponent(e))) : a[n] = decodeURIComponent(e);
53
- return a
54
- },
55
- paramSearch: function(t, n) {
56
- if (utils.isUndefined(n) || utils.isNull(n)) {
57
- if (n = window.location.search, utils.isUndefined(t) || utils.isNull(t)) {
58
- for (var e = n.substr(1, n.length - 1).split("&"), i = {}, o = 0; o < e.length; o++) {
59
- var r = e[o].split("=");
60
- 1 === r.length ? i[r[0]] = "" : 2 === r.length ? i[r[0]] = decodeURIComponent(r[1]) : console.log("there is something wrong when use [paramSearch]!")
61
- }
62
- return i
63
- }
64
- try {
65
- var a = new RegExp(t + "=([^&]+)?");
66
- return decodeURIComponent(n.match(a)[1])
67
- } catch (t) {
68
- return null
33
+ getValue: function(t) {
34
+ _LocationSearch._keyValuePairs.forEach((function(n) {
35
+ var e = n.split("=");
36
+ if (e[0] === t) return e[1];
37
+ }));
38
+ },
39
+ getParameters: function() {
40
+ var t = [];
41
+ return _LocationSearch._keyValuePairs.forEach((function(n) {
42
+ t.push(n.split("=")[0]);
43
+ })), t;
44
+ }
45
+ }, LocationParam = {
46
+ parse: function(t) {
47
+ var n, e, i, r, o;
48
+ t || (t = window.location.search);
49
+ var a = {}, c = [];
50
+ if (!utils.isEmpty(t) && t.length > 1) for (r = 0, o = (c = t.slice(1 + t.indexOf("?"), t.length).split("&")).length; r < o; r++) n = (e = (e = c[r]).split("="))[0],
51
+ i = e[1], n in a ? (utils.isArray(a[n]) || (a[n] = [ a[n] ]), a[n].push(decodeURIComponent(i))) : a[n] = decodeURIComponent(i);
52
+ return a;
53
+ },
54
+ paramSearch: function(t, n) {
55
+ if (utils.isUndefined(n) || utils.isNull(n)) {
56
+ if (n = window.location.search, utils.isUndefined(t) || utils.isNull(t)) {
57
+ for (var e = n.substr(1, n.length - 1).split("&"), i = {}, r = 0; r < e.length; r++) {
58
+ var o = e[r].split("=");
59
+ 1 === o.length ? i[o[0]] = "" : 2 === o.length ? i[o[0]] = decodeURIComponent(o[1]) : console.log("there is something wrong when use [paramSearch]!");
69
60
  }
61
+ return i;
70
62
  }
71
- },
72
- getLocationParams: function() {
73
- var t, n, e = {},
74
- i = window.location.href;
75
- if (!utils.isEmpty(i)) {
76
- var o = i.indexOf("?");
77
- if (o < -1) console.log("the location.href is invalid!");
78
- else
79
- for (var r = (i = i.substr(o + 1)).split("&"), a = 0; a < r.length; a++) 0 < (o = r[a].indexOf("=")) && (t = r[a].substring(0, o), n = r[a].substr(o + 1), e[t] = decodeURIComponent(n))
63
+ try {
64
+ var a = new RegExp(t + "=([^&]+)?");
65
+ return decodeURIComponent(n.match(a)[1]);
66
+ } catch (t) {
67
+ return null;
80
68
  }
81
- return e
82
- },
83
- getLocationParamByName: function(t) {
84
- t = new RegExp("(^|&)" + t + "=([^&]*)(&|$)"), t = window.location.search.substr(1).match(t);
85
- return null != t ? decodeURIComponent(t[2]) : null
86
- },
87
- getParameter: function(t, n) {
88
- n = new RegExp("(\\?|#|&)" + n + "=([^&#]*)(&|#|$)"), n = t.match(n);
89
- return n ? n[2] : ""
90
- },
91
- extractParam: function(t, n) {
92
- n = new RegExp("(^|&?)".concat(n, "=([^&]*)(&|$)"), "i"), n = t.substr(1).match(n);
93
- return utils.isNil(n) ? null : decodeURIComponent(n[2])
94
- },
95
- completeParam: function(e, t) {
96
- t = t || window.location.href;
97
- var n = (Object.keys(e) || []).reduce(function(t, n) {
98
- return t += "&".concat(n, "=").concat(e[n])
99
- }, "");
100
- return n ? (n = n.slice(1), (-1 !== t.indexOf("?") ? t.endsWith("?") ? "".concat(t) : "".concat(t, "&") : "".concat(t, "?")).concat(n)) : t
101
- },
102
- LocationSearch: _LocationSearch,
103
- LSFN: _LSFN
104
- };
105
- module.exports = LocationParam;
69
+ }
70
+ },
71
+ getLocationParams: function() {
72
+ var t, n, e = {}, i = window.location.href;
73
+ if (!utils.isEmpty(i)) {
74
+ var r = i.indexOf("?");
75
+ if (r < -1) console.log("the location.href is invalid!"); else for (var o = (i = i.substr(r + 1)).split("&"), a = 0; a < o.length; a++) (r = o[a].indexOf("=")) > 0 && (t = o[a].substring(0, r),
76
+ n = o[a].substr(r + 1), e[t] = decodeURIComponent(n));
77
+ }
78
+ return e;
79
+ },
80
+ getLocationParamByName: function(t) {
81
+ var n = new RegExp("(^|&)" + t + "=([^&]*)(&|$)"), e = window.location.search.substr(1).match(n);
82
+ return null != e ? decodeURIComponent(e[2]) : null;
83
+ },
84
+ getParameter: function(t, n) {
85
+ var e = new RegExp("(\\?|#|&)" + n + "=([^&#]*)(&|#|$)"), i = t.match(e);
86
+ return i ? i[2] : "";
87
+ },
88
+ extractParam: function(t, n) {
89
+ var e = new RegExp("(^|&?)".concat(n, "=([^&]*)(&|$)"), "i"), i = t.substr(1).match(e);
90
+ return utils.isNil(i) ? null : decodeURIComponent(i[2]);
91
+ },
92
+ completeParam: function(t, n) {
93
+ n || (n = window.location.href);
94
+ var e = (Object.keys(t) || []).reduce((function(n, e) {
95
+ return n += "&".concat(e, "=").concat(t[e]);
96
+ }), "");
97
+ return e ? (e = e.slice(1), -1 !== n.indexOf("?") ? n.endsWith("?") ? "".concat(n).concat(e) : "".concat(n, "&").concat(e) : "".concat(n, "?").concat(e)) : n;
98
+ },
99
+ LocationSearch: _LocationSearch,
100
+ LSFN: _LSFN
101
+ };
102
+
103
+ module.exports = LocationParam;
package/lib/log.js CHANGED
@@ -1,38 +1,32 @@
1
1
  "use strict";
2
- var Logger = function() {
3
- var s = this,
4
- o = 0,
5
- i = 1,
6
- t = 2,
7
- n = 3,
8
- r = 4,
9
- g = 5,
10
- l = ["TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL"];
11
2
 
12
- function c(o, i) {
13
- var t, n = [];
14
- for (t in n.push(o), i) n.push(i[t]);
15
- s.log.apply(s, n)
3
+ var Logger = function() {
4
+ var o = this, i = 0, t = 1, n = 2, r = 3, s = 4, g = 5, l = [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL" ];
5
+ function c(i, t) {
6
+ var n = [];
7
+ for (var r in n.push(i), t) n.push(t[r]);
8
+ o.log.apply(o, n);
16
9
  }
17
10
  this.log = function() {
18
- var o = (i = arguments[0]) === r,
19
- i = arguments[0] = "[" + l[i] + "] ";
20
- if (window.LogConfig && window.LogConfig.isDebug && (console.log.apply(console, arguments), o)) try {
21
- var t = (t = Array.prototype.slice.call(arguments)).slice(1);
22
- throw new Error(t.join(","))
11
+ var o = arguments[0], i = o === s;
12
+ if (o = arguments[0] = "[" + l[o] + "] ", window.LogConfig && window.LogConfig.isDebug && (console.log.apply(console, arguments),
13
+ i)) try {
14
+ var t = Array.prototype.slice.call(arguments);
15
+ throw t = t.slice(1), new Error(t.join(","));
23
16
  } catch (o) {}
24
17
  }, this.trace = function() {
25
- this.log && c(o, arguments)
18
+ this.log && c(i, arguments);
26
19
  }, this.debug = function() {
27
- this.log && c(i, arguments)
20
+ this.log && c(t, arguments);
28
21
  }, this.info = function() {
29
- this.log && c(t, arguments)
22
+ this.log && c(n, arguments);
30
23
  }, this.warn = function() {
31
- this.log && c(n, arguments)
24
+ this.log && c(r, arguments);
32
25
  }, this.error = function() {
33
- this.log && c(r, arguments)
26
+ this.log && c(s, arguments);
34
27
  }, this.fatal = function() {
35
- this.log && c(g, arguments)
36
- }
28
+ this.log && c(g, arguments);
29
+ };
37
30
  };
38
- module.exports = new Logger;
31
+
32
+ module.exports = new Logger;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  var colorKeyWordsHexStr = {
3
4
  aliceblue: "#f0f8ff",
4
5
  antiquewhite: "#faebd7",
@@ -149,4 +150,5 @@ var colorKeyWordsHexStr = {
149
150
  yellow: "#ffff00",
150
151
  yellowgreen: "#9acd32"
151
152
  };
152
- module.exports = colorKeyWordsHexStr;
153
+
154
+ module.exports = colorKeyWordsHexStr;
@@ -1,19 +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
19
  var a = pow(Math.max(n, o));
18
- return Number((t * a + r * a) / a)
19
- };
20
+ return Number((t * a + r * a) / a);
21
+ };
@@ -1,18 +1,14 @@
1
1
  "use strict";
2
+
2
3
  module.exports = function(r) {
3
- var e = ["角", "分", "厘"],
4
- a = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"],
5
- o = [
6
- ["元", "万", "亿"],
7
- ["", "拾", "佰", "仟"]
8
- ],
9
- t = r < 0 ? "欠人民币" : "人民币";
4
+ var e = [ "角", "分", "厘" ], a = [ "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" ], o = [ [ "元", "万", "亿" ], [ "", "拾", "佰", "仟" ] ], t = r < 0 ? "欠人民币" : "人民币";
10
5
  r = Math.abs(r);
11
6
  for (var l = "", h = 0; h < e.length; h++) l += (a[Math.floor(10 * r * Math.pow(10, h)) % 10] + e[h]).replace(/零./, "");
12
7
  l = l || "整", r = Math.floor(r);
13
- for (h = 0; h < o[0].length && 0 < r; h++) {
14
- for (var f = "", c = 0; c < o[1].length && 0 < r; c++) f = a[r % 10] + o[1][c] + f, r = Math.floor(r / 10);
15
- l = f + o[0][h] + l
8
+ for (h = 0; h < o[0].length && r > 0; h++) {
9
+ for (var f = "", c = 0; c < o[1].length && r > 0; c++) f = a[r % 10] + o[1][c] + f,
10
+ r = Math.floor(r / 10);
11
+ l = f + o[0][h] + l;
16
12
  }
17
- return t + l.replace(/(零.)*零元/, "元").replace(/(零.)+/g, "零").replace(/^整$/, "零元整")
18
- };
13
+ return t + l.replace(/(零.)*零元/, "元").replace(/(零.)+/g, "零").replace(/^整$/, "零元整");
14
+ };
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+
2
3
  var utils = require("./../utils");
4
+
3
5
  module.exports = function(t, i, e) {
4
- var r = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : "$",
5
- o = 4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : "";
6
- return !isNaN(parseFloat(t)) && isFinite(t) ? (t = Number(t), (t = (t = (utils.isNil(i) ? t : (Math.round(t * Math.pow(10, i)) / Math.pow(10, i)).toFixed(i)).toString()).split("."))[0] = t[0].toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1" + (e || ",")), r + t.join(".") + o) : ""
7
- };
6
+ var r, o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "$", s = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : "";
7
+ return !isNaN(parseFloat(t)) && isFinite(t) ? (t = Number(t), (r = (t = (utils.isNil(i) ? t : (Math.round(t * Math.pow(10, i)) / Math.pow(10, i)).toFixed(i)).toString()).split("."))[0] = r[0].toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1" + (e || ",")),
8
+ o + r.join(".") + s) : "";
9
+ };
@@ -1,137 +1,134 @@
1
1
  "use strict";
2
- var utils = require("./../utils"),
3
- colorKeyWordsHexStr = require("./_keyColor"),
4
- strRGBA = function(r) {
5
- return r.a || 0 === r.a ? "rgba(" + r.r + "," + r.g + "," + r.b + "," + r.a + ")" : "rgb(" + r.r + "," + r.g + "," + r.b + ")"
6
- },
7
- colorRegex = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/,
8
- rgbaRegex = /(?:\(|\)|rgba?|RGBA?)*/g,
9
- toStringHexColor = function(r) {
10
- if (/^(rgba?|RGBA?)/.test(r)) {
11
- for (var e, t = r.replace(rgbaRegex, "").split(","), o = "#", n = 0; n < t.length; n++) 3 === n ? (e = Number(t[n])) < 1 && (o += e = e.toString(16).substring(2, 4)) : o += e = 1 === (e = Number(t[n]).toString(16)).length ? e.repeat(2) : e;
12
- return o = 7 !== o.length && 9 !== o.length ? r : o
13
- }
14
- if (!colorRegex.test(r)) return r;
15
- var s = r.replace(/#/, "").split("");
16
- if (6 === s.length) return r;
17
- if (3 === s.length) {
18
- for (var l = "#", u = 0; u < s.length; u += 1) l += s[u] + s[u];
19
- return l
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;
20
13
  }
21
- },
22
- toHexColor = function(r) {
23
- if (isHexColor(r)) return r;
24
- if (isKeyColor(r)) return colorKeyWordsHexStr[r];
25
- for (var e, t = r, o = (t = -1 < r.indexOf("rgb") ? t.replace(rgbaRegex, "") : t).split(","), n = "#", s = 0; s < o.length; s++) s < 3 && (n += e = 1 === (e = Number(o[s]).toString(16)).length ? e.repeat(2) : e);
26
- return n = 7 < n.length ? r : n
27
- },
28
- toRGBcolor = function(r) {
29
- var e = r.toLowerCase();
30
- if (e && colorRegex.test(e)) {
31
- if (4 === e.length) {
32
- for (var t = "#", o = 1; o < 4; o += 1) t += e.slice(o, o + 1).concat(e.slice(o, o + 1));
33
- e = t
34
- }
35
- for (var n = [], s = 1; s < 7; s += 2) n.push(parseInt("0x" + e.slice(s, s + 2)));
36
- return "rgb(" + n.join(",") + ")"
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;
37
39
  }
38
- return e
39
- },
40
- transformColor = function(r) {
41
- var e = /#([a-zA-Z0-9]{6})/.exec(r),
42
- r = "rgb(";
43
- return e && 2 == e.length ? (e = e[1], r += parseInt("0x" + e.substr(0, 2)) + ",", r += parseInt("0x" + e.substr(2, 2)) + ",", r += parseInt("0x" + e.substr(4, 2)), r += ")") : r = "rgb(147, 147, 147)", r
44
- };
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
+ };
45
53
 
46
54
  function isRgbColor(r) {
47
55
  var e = r.replace(rgbaRegex, "").split(",");
48
- return !/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(r) && 3 <= e.length
56
+ return !/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(r) && e.length >= 3;
49
57
  }
50
58
 
51
59
  function isHexColor(r) {
52
- 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);
53
61
  }
54
62
 
55
63
  function isKeyColor(r) {
56
- return !!colorKeyWordsHexStr[r]
64
+ return !!colorKeyWordsHexStr[r];
57
65
  }
58
66
 
59
67
  function keyColorToHex(r) {
60
- return colorKeyWordsHexStr[r] || r
68
+ return colorKeyWordsHexStr[r] || r;
61
69
  }
62
70
 
63
71
  function rgb2object(r) {
64
72
  if (isRgbColor(r)) {
65
- r = r.replace(rgbaRegex, "").split(",");
66
- if (3 == r.length) return {
67
- r: r[0],
68
- g: r[1],
69
- b: r[2],
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],
70
78
  a: "1"
71
79
  };
72
- if (3 < r.length) return {
73
- r: r[0],
74
- g: r[1],
75
- b: r[2],
76
- a: r[3] || "1"
77
- }
80
+ if (e.length > 3) return {
81
+ r: e[0],
82
+ g: e[1],
83
+ b: e[2],
84
+ a: e[3] || "1"
85
+ };
78
86
  }
79
87
  return {
80
88
  r: "0",
81
89
  g: "0",
82
90
  b: "0",
83
91
  a: "1"
84
- }
92
+ };
85
93
  }
86
94
 
87
95
  function objRGB2str(r) {
88
- 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({
89
97
  r: 0,
90
98
  g: 0,
91
99
  b: 0
92
- })
100
+ });
93
101
  }
94
102
 
95
- function gradientColor(r, o, n) {
96
- function e(r) {
97
- var e = /rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/.exec(r),
98
- t = /rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*/.exec(r),
99
- o = /#([a-zA-Z0-9]{6})/.exec(r),
100
- r = [];
101
- if (e && 4 == e.length || t && 4 == t.length) r = e && 4 == e.length ? e : t;
102
- 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 {
103
107
  if (!o || 2 != o.length) return null;
104
- o = o[1];
105
- r.push(""), r.push(parseInt("0x" + o.substr(0, 2))), r.push(parseInt("0x" + o.substr(2, 2))), r.push(parseInt("0x" + o.substr(4, 2)))
108
+ var s = o[1];
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)));
106
111
  }
107
112
  return {
108
- r: Number(r[1]),
109
- g: Number(r[2]),
110
- b: Number(r[3])
111
- }
112
- }
113
-
114
- function s(r, e, t) {
115
- return Math.round(r + (e - r) * t / 100)
116
- }
117
-
118
- function l(r, e) {
119
- return null == e || e < 0 || "number" != typeof e ? r : (e = Math.round(e), Math.round(r * Math.pow(10, e)) / Math.pow(10, e))
120
- }
121
- var u = e(r.from),
122
- g = e(r.to);
113
+ r: Number(n[1]),
114
+ g: Number(n[2]),
115
+ b: Number(n[3])
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
+ };
123
122
  return function(r) {
124
- var e = n == o ? 0 : (r.value - o) / (n - o),
125
- t = s(u.r, g.r, 100 * l(e, 2)),
126
- r = s(u.g, g.g, 100 * l(e, 2)),
127
- e = s(u.b, g.b, 100 * l(e, 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));
128
124
  return strRGBA({
129
- r: t,
130
- g: r,
131
- b: e
132
- })
133
- }
125
+ r: i,
126
+ g: a,
127
+ b: g
128
+ });
129
+ };
134
130
  }
131
+
135
132
  module.exports = {
136
133
  toStringHexColor: toStringHexColor,
137
134
  toHexColor: toHexColor,
@@ -144,4 +141,4 @@ module.exports = {
144
141
  objRGB2str: objRGB2str,
145
142
  keyColorToHex: keyColorToHex,
146
143
  gradientColor: gradientColor
147
- };
144
+ };