@webalternatif/js-core 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/array.js +46 -46
- package/dist/cjs/dom.js +154 -123
- package/dist/cjs/eventDispatcher.js +126 -86
- package/dist/cjs/i18n/agenda/en.js +65 -0
- package/dist/cjs/i18n/agenda/fr.js +67 -0
- package/dist/cjs/i18n/agenda/index.js +2 -0
- package/dist/cjs/i18n/ajaxform/en.js +5 -0
- package/dist/cjs/i18n/ajaxform/fr.js +5 -0
- package/dist/cjs/i18n/ajaxform/index.js +2 -0
- package/dist/cjs/i18n/ajaxupload/en.js +11 -0
- package/dist/cjs/i18n/ajaxupload/fr.js +11 -0
- package/dist/cjs/i18n/ajaxupload/index.js +2 -0
- package/dist/cjs/i18n/autocomplete/en.js +3 -0
- package/dist/cjs/i18n/autocomplete/fr.js +3 -0
- package/dist/cjs/i18n/autocomplete/index.js +2 -0
- package/dist/cjs/i18n/confirm/en.js +5 -0
- package/dist/cjs/i18n/confirm/fr.js +5 -0
- package/dist/cjs/i18n/confirm/index.js +2 -0
- package/dist/cjs/i18n/core/en.js +4 -0
- package/dist/cjs/i18n/core/fr.js +4 -0
- package/dist/cjs/i18n/core/index.js +2 -0
- package/dist/cjs/i18n/datagrid/en.js +8 -0
- package/dist/cjs/i18n/datagrid/fr.js +8 -0
- package/dist/cjs/i18n/datagrid/index.js +2 -0
- package/dist/cjs/i18n/date/en.js +47 -0
- package/dist/cjs/i18n/date/fr.js +47 -0
- package/dist/cjs/i18n/date/index.js +2 -0
- package/dist/cjs/i18n/datetimepicker/en.js +27 -0
- package/dist/cjs/i18n/datetimepicker/fr.js +27 -0
- package/dist/cjs/i18n/datetimepicker/index.js +2 -0
- package/dist/cjs/i18n/dialog/en.js +3 -0
- package/dist/cjs/i18n/dialog/fr.js +3 -0
- package/dist/cjs/i18n/dialog/index.js +2 -0
- package/dist/cjs/i18n/fulldayeventagenda/en.js +65 -0
- package/dist/cjs/i18n/fulldayeventagenda/fr.js +67 -0
- package/dist/cjs/i18n/fulldayeventagenda/index.js +2 -0
- package/dist/cjs/i18n/index.js +30 -0
- package/dist/cjs/i18n/richtexteditor/en.js +56 -0
- package/dist/cjs/i18n/richtexteditor/fr.js +56 -0
- package/dist/cjs/i18n/richtexteditor/index.js +2 -0
- package/dist/cjs/i18n/select/en.js +3 -0
- package/dist/cjs/i18n/select/fr.js +3 -0
- package/dist/cjs/i18n/select/index.js +2 -0
- package/dist/cjs/i18n/timepicker/en.js +3 -0
- package/dist/cjs/i18n/timepicker/fr.js +3 -0
- package/dist/cjs/i18n/timepicker/index.js +2 -0
- package/dist/cjs/i18n/useragenda/en.js +65 -0
- package/dist/cjs/i18n/useragenda/fr.js +67 -0
- package/dist/cjs/i18n/useragenda/index.js +2 -0
- package/dist/cjs/i18n.js +16 -25
- package/dist/cjs/index.js +24 -54
- package/dist/cjs/is.js +26 -45
- package/dist/cjs/math.js +27 -38
- package/dist/cjs/random.js +10 -23
- package/dist/cjs/string.js +162 -166
- package/dist/cjs/stringPrototype.js +10 -10
- package/dist/cjs/traversal.js +92 -61
- package/dist/cjs/utils.js +51 -43
- package/dist/esm/array.js +31 -20
- package/dist/esm/dom.js +142 -102
- package/dist/esm/eventDispatcher.js +123 -77
- package/dist/esm/i18n/agenda/en.js +65 -0
- package/dist/esm/i18n/agenda/fr.js +67 -0
- package/dist/esm/i18n/agenda/index.js +2 -0
- package/dist/esm/i18n/ajaxform/en.js +5 -0
- package/dist/esm/i18n/ajaxform/fr.js +5 -0
- package/dist/esm/i18n/ajaxform/index.js +2 -0
- package/dist/esm/i18n/ajaxupload/en.js +11 -0
- package/dist/esm/i18n/ajaxupload/fr.js +11 -0
- package/dist/esm/i18n/ajaxupload/index.js +2 -0
- package/dist/esm/i18n/autocomplete/en.js +3 -0
- package/dist/esm/i18n/autocomplete/fr.js +3 -0
- package/dist/esm/i18n/autocomplete/index.js +2 -0
- package/dist/esm/i18n/confirm/en.js +5 -0
- package/dist/esm/i18n/confirm/fr.js +5 -0
- package/dist/esm/i18n/confirm/index.js +2 -0
- package/dist/esm/i18n/core/en.js +4 -0
- package/dist/esm/i18n/core/fr.js +4 -0
- package/dist/esm/i18n/core/index.js +2 -0
- package/dist/esm/i18n/datagrid/en.js +8 -0
- package/dist/esm/i18n/datagrid/fr.js +8 -0
- package/dist/esm/i18n/datagrid/index.js +2 -0
- package/dist/esm/i18n/date/en.js +47 -0
- package/dist/esm/i18n/date/fr.js +47 -0
- package/dist/esm/i18n/date/index.js +2 -0
- package/dist/esm/i18n/datetimepicker/en.js +27 -0
- package/dist/esm/i18n/datetimepicker/fr.js +27 -0
- package/dist/esm/i18n/datetimepicker/index.js +2 -0
- package/dist/esm/i18n/dialog/en.js +3 -0
- package/dist/esm/i18n/dialog/fr.js +3 -0
- package/dist/esm/i18n/dialog/index.js +2 -0
- package/dist/esm/i18n/fulldayeventagenda/en.js +65 -0
- package/dist/esm/i18n/fulldayeventagenda/fr.js +67 -0
- package/dist/esm/i18n/fulldayeventagenda/index.js +2 -0
- package/dist/esm/i18n/index.js +30 -0
- package/dist/esm/i18n/richtexteditor/en.js +56 -0
- package/dist/esm/i18n/richtexteditor/fr.js +56 -0
- package/dist/esm/i18n/richtexteditor/index.js +2 -0
- package/dist/esm/i18n/select/en.js +3 -0
- package/dist/esm/i18n/select/fr.js +3 -0
- package/dist/esm/i18n/select/index.js +2 -0
- package/dist/esm/i18n/timepicker/en.js +3 -0
- package/dist/esm/i18n/timepicker/fr.js +3 -0
- package/dist/esm/i18n/timepicker/index.js +2 -0
- package/dist/esm/i18n/useragenda/en.js +65 -0
- package/dist/esm/i18n/useragenda/fr.js +67 -0
- package/dist/esm/i18n/useragenda/index.js +2 -0
- package/dist/esm/i18n.js +11 -10
- package/dist/esm/index.js +14 -13
- package/dist/esm/is.js +23 -22
- package/dist/esm/math.js +14 -13
- package/dist/esm/random.js +9 -9
- package/dist/esm/string.js +134 -99
- package/dist/esm/stringPrototype.js +8 -5
- package/dist/esm/traversal.js +79 -36
- package/dist/esm/utils.js +45 -24
- package/package.json +3 -2
package/dist/esm/math.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { each } from "./traversal.js";
|
|
2
2
|
import { isArray, isFunction, isObject } from "./is.js";
|
|
3
3
|
import { reverse } from "./string.js";
|
|
4
|
-
export
|
|
4
|
+
export var round = function round(val) {
|
|
5
|
+
var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
5
6
|
return Math.round(val * Math.pow(10, precision)) / Math.pow(10, precision);
|
|
6
7
|
};
|
|
7
|
-
export
|
|
8
|
+
export var floorTo = function floorTo(n, precision) {
|
|
8
9
|
if (precision <= 0) throw new Error('Precision must be greater than 0');
|
|
9
10
|
return round(Math.floor(n / precision) * precision, 6);
|
|
10
11
|
};
|
|
11
|
-
export
|
|
12
|
-
export
|
|
12
|
+
export var plancher = floorTo;
|
|
13
|
+
export var min = function min(list, cmp_func) {
|
|
13
14
|
if (isArray(list)) {
|
|
14
15
|
return Math.min.apply(null, list);
|
|
15
16
|
}
|
|
16
|
-
|
|
17
|
+
var min;
|
|
17
18
|
cmp_func = isFunction(cmp_func) ? cmp_func : function (a, b) {
|
|
18
19
|
return a < b ? -1 : 1;
|
|
19
20
|
};
|
|
@@ -28,11 +29,11 @@ export const min = function (list, cmp_func) {
|
|
|
28
29
|
}
|
|
29
30
|
return min;
|
|
30
31
|
};
|
|
31
|
-
export
|
|
32
|
+
export var max = function max(list, cmp_func) {
|
|
32
33
|
if (isArray(list)) {
|
|
33
34
|
return Math.max.apply(null, list);
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
+
var max;
|
|
36
37
|
cmp_func = isFunction(cmp_func) ? cmp_func : function (a, b) {
|
|
37
38
|
return b - a;
|
|
38
39
|
};
|
|
@@ -54,7 +55,7 @@ export const max = function (list, cmp_func) {
|
|
|
54
55
|
* @param {number} n
|
|
55
56
|
* @returns {string}
|
|
56
57
|
*/
|
|
57
|
-
export
|
|
58
|
+
export var dec2hex = function dec2hex(n) {
|
|
58
59
|
return n.toString(16);
|
|
59
60
|
};
|
|
60
61
|
|
|
@@ -64,12 +65,12 @@ export const dec2hex = function (n) {
|
|
|
64
65
|
* @param {string} hex
|
|
65
66
|
* @returns {number}
|
|
66
67
|
*/
|
|
67
|
-
export
|
|
68
|
+
export var hex2dec = function hex2dec(hex) {
|
|
68
69
|
hex = reverse(hex + '').toUpperCase();
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
each(hex, (i,
|
|
72
|
-
|
|
70
|
+
var c = '0123456789ABCDEF';
|
|
71
|
+
var value = 0;
|
|
72
|
+
each(hex, function (i, _char) {
|
|
73
|
+
var index = c.indexOf(_char);
|
|
73
74
|
if (index === -1) {
|
|
74
75
|
value = 0;
|
|
75
76
|
return false;
|
package/dist/esm/random.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export
|
|
1
|
+
export var uniqid = function uniqid() {
|
|
2
2
|
return randAlpha(10);
|
|
3
3
|
};
|
|
4
|
-
export
|
|
4
|
+
export var randAlpha = function randAlpha(n) {
|
|
5
5
|
return rand("a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z".split(','), n);
|
|
6
6
|
};
|
|
7
|
-
export
|
|
7
|
+
export var randAlphaCs = function randAlphaCs(n) {
|
|
8
8
|
return rand("a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z".split(','), n);
|
|
9
9
|
};
|
|
10
|
-
export
|
|
10
|
+
export var randAlphaNum = function randAlphaNum(n) {
|
|
11
11
|
return rand("0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z".split(','), n);
|
|
12
12
|
};
|
|
13
|
-
export
|
|
13
|
+
export var randAlphaNumCs = function randAlphaNumCs(n) {
|
|
14
14
|
return rand("0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z".split(','), n);
|
|
15
15
|
};
|
|
16
|
-
export
|
|
16
|
+
export var randNum = function randNum(n) {
|
|
17
17
|
return rand("0,1,2,3,4,5,6,7,8,9".split(','), n);
|
|
18
18
|
};
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
for (
|
|
19
|
+
export var rand = function rand(range, n) {
|
|
20
|
+
var rand = "";
|
|
21
|
+
for (var i = 0; i < n; i++) {
|
|
22
22
|
rand += range[Math.floor(Math.random() * 1000) % range.length];
|
|
23
23
|
}
|
|
24
24
|
return rand;
|
package/dist/esm/string.js
CHANGED
|
@@ -1,46 +1,57 @@
|
|
|
1
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
5
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
6
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
1
7
|
import { isArray, isFloat, isInteger, isObject, isPlainObject, isString, isUndefined } from "./is.js";
|
|
2
8
|
import { dec2hex, hex2dec, round } from "./math.js";
|
|
3
9
|
import { inArray } from "./array.js";
|
|
4
10
|
import { each, foreach, map } from "./traversal.js";
|
|
5
11
|
import { translate } from "./i18n.js";
|
|
6
|
-
export
|
|
7
|
-
|
|
12
|
+
export var trim = function trim(str) {
|
|
13
|
+
var _char = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '\\s';
|
|
14
|
+
return ltrim(rtrim(str, _char), _char);
|
|
8
15
|
};
|
|
9
|
-
export
|
|
10
|
-
|
|
16
|
+
export var ltrim = function ltrim(str) {
|
|
17
|
+
var _char2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '\\s';
|
|
18
|
+
return str.replace(new RegExp("^".concat(_char2, "+"), 'g'), '');
|
|
11
19
|
};
|
|
12
|
-
export
|
|
13
|
-
|
|
20
|
+
export var rtrim = function rtrim(str) {
|
|
21
|
+
var _char3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '\\s';
|
|
22
|
+
return str.replace(new RegExp("".concat(_char3, "+$"), 'g'), '');
|
|
14
23
|
};
|
|
15
|
-
export
|
|
24
|
+
export var stripMultipleSpaces = function stripMultipleSpaces(str) {
|
|
16
25
|
return str.trim().replace(/ +/g, ' ');
|
|
17
26
|
};
|
|
18
|
-
export
|
|
27
|
+
export var noAccent = function noAccent(str) {
|
|
19
28
|
return str.replace(/[àäâ]/g, 'a').replace(/[èéêë]/g, 'e').replace(/[îïí]/g, 'i').replace(/[öô]/g, 'o').replace(/[üù]/g, 'u').replace(/ç/g, 'c').replace(/ÿ/g, 'y').replace(/[ÀÄÂ]/g, 'A').replace(/[ÈÉÊË]/g, 'E').replace(/[ÎÏÍ]/g, 'I').replace(/[ÖÔ]/g, 'O').replace(/[ÜÙ]/g, 'U').replace(/Ç/g, 'C').replace(/Ÿ/g, 'Y');
|
|
20
29
|
};
|
|
21
|
-
export
|
|
30
|
+
export var br2nl = function br2nl(str) {
|
|
22
31
|
return str.split(/<br\s*\/*>/).join('\n');
|
|
23
32
|
};
|
|
24
|
-
export
|
|
33
|
+
export var nl2br = function nl2br(str) {
|
|
25
34
|
return str.split('\n').join('<br>');
|
|
26
35
|
};
|
|
27
|
-
export
|
|
36
|
+
export var ucfirst = function ucfirst(str) {
|
|
28
37
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
29
38
|
};
|
|
30
|
-
export
|
|
39
|
+
export var lcfirst = function lcfirst(str) {
|
|
31
40
|
return str.charAt(0).toLowerCase() + str.slice(1);
|
|
32
41
|
};
|
|
33
|
-
export
|
|
34
|
-
|
|
35
|
-
|
|
42
|
+
export var insertTag = function insertTag(str, tag) {
|
|
43
|
+
var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
44
|
+
var length = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
45
|
+
var startTag = "<".concat(tag, ">");
|
|
46
|
+
var endTag = "</".concat(tag, ">");
|
|
36
47
|
if (['br', 'hr', 'img', 'link', 'input'].includes(tag)) {
|
|
37
|
-
startTag =
|
|
48
|
+
startTag = "<".concat(tag, "/>");
|
|
38
49
|
endTag = '';
|
|
39
50
|
}
|
|
40
51
|
return str.slice(0, position) + startTag + str.slice(position, position + length) + endTag + str.slice(position + length);
|
|
41
52
|
};
|
|
42
|
-
export
|
|
43
|
-
|
|
53
|
+
export var substringIndex = function substringIndex(str, delimiter, index) {
|
|
54
|
+
var input = str + '',
|
|
44
55
|
arr = input.split(delimiter);
|
|
45
56
|
if (index > 0) {
|
|
46
57
|
arr.splice(index, arr.length - index);
|
|
@@ -49,57 +60,63 @@ export const substringIndex = function (str, delimiter, index) {
|
|
|
49
60
|
}
|
|
50
61
|
return arr.join(delimiter);
|
|
51
62
|
};
|
|
52
|
-
export
|
|
63
|
+
export var insert = function insert(str, ins, n) {
|
|
53
64
|
if (n >= str.length) {
|
|
54
65
|
return str;
|
|
55
66
|
}
|
|
56
|
-
return
|
|
67
|
+
return _toConsumableArray(str).reduce(function (newStr, _char4, index) {
|
|
57
68
|
if (index > 0 && index % n === 0) {
|
|
58
|
-
return newStr + ins +
|
|
69
|
+
return newStr + ins + _char4;
|
|
59
70
|
}
|
|
60
|
-
return newStr +
|
|
71
|
+
return newStr + _char4;
|
|
61
72
|
}, '');
|
|
62
73
|
};
|
|
63
|
-
export
|
|
64
|
-
|
|
65
|
-
for (
|
|
74
|
+
export var reverse = function reverse(str) {
|
|
75
|
+
var res = [];
|
|
76
|
+
for (var i = 0; i < str.length; i++) {
|
|
66
77
|
res.unshift(str[i]);
|
|
67
78
|
}
|
|
68
79
|
return res.join('');
|
|
69
80
|
};
|
|
70
|
-
export
|
|
81
|
+
export var thousandSeparator = function thousandSeparator(value) {
|
|
82
|
+
var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '.';
|
|
83
|
+
var pointDecimal = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';
|
|
71
84
|
if (isUndefined(value) || null === value) {
|
|
72
85
|
return value;
|
|
73
86
|
}
|
|
74
87
|
value = (value + '').replace(',', '.');
|
|
75
88
|
if (Math.abs(value) >= 1000) {
|
|
76
|
-
|
|
77
|
-
|
|
89
|
+
var intval = Math[value >= 1000 ? 'floor' : 'ceil'](value) + '';
|
|
90
|
+
var newval = reverse(insert(reverse(intval), reverse(separator), 3));
|
|
78
91
|
return value.indexOf('.') > 0 ? newval + pointDecimal + substringIndex(value, '.', -1) : newval;
|
|
79
92
|
}
|
|
80
93
|
return (value + '').replace('.', pointDecimal);
|
|
81
94
|
};
|
|
82
|
-
export
|
|
95
|
+
export var numberFormat = function numberFormat(number) {
|
|
96
|
+
var decimals = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
|
97
|
+
var forceCentimes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
98
|
+
var thousandSep = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
99
|
+
var pointDecimal = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '.';
|
|
83
100
|
number = number ? number + '' : '0';
|
|
84
101
|
number = round(parseFloat(number.replace(',', '.')), decimals) + '';
|
|
85
102
|
if (decimals === 0) {
|
|
86
103
|
return thousandSeparator(number, thousandSep, pointDecimal);
|
|
87
104
|
}
|
|
88
|
-
|
|
105
|
+
var pos = number.lastIndexOf('.');
|
|
89
106
|
if (-1 === pos) {
|
|
90
107
|
if (true === forceCentimes) {
|
|
91
108
|
number += pointDecimal + repeat('0', decimals);
|
|
92
109
|
}
|
|
93
110
|
return thousandSeparator(number, thousandSep, pointDecimal);
|
|
94
111
|
}
|
|
95
|
-
|
|
96
|
-
|
|
112
|
+
var digits = number.slice(pos + 1);
|
|
113
|
+
var nbDigits = digits.length;
|
|
97
114
|
if (decimals > nbDigits) {
|
|
98
115
|
return thousandSeparator(number + '0'.repeat(decimals - nbDigits), thousandSep, pointDecimal);
|
|
99
116
|
}
|
|
100
117
|
return thousandSeparator(number.slice(0, pos + 1 + decimals), thousandSep, pointDecimal);
|
|
101
118
|
};
|
|
102
|
-
export
|
|
119
|
+
export var toPrice = numberFormat;
|
|
103
120
|
|
|
104
121
|
/**
|
|
105
122
|
* Pads a string to a specified length with a specified string and padding type
|
|
@@ -110,7 +127,9 @@ export const toPrice = numberFormat;
|
|
|
110
127
|
* @param {string} [pad_type]
|
|
111
128
|
* @returns {string}
|
|
112
129
|
*/
|
|
113
|
-
export
|
|
130
|
+
export var pad = function pad(str, pad_length) {
|
|
131
|
+
var pad_str = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ' ';
|
|
132
|
+
var pad_type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'left';
|
|
114
133
|
if (isUndefined(pad_length) || str.length >= pad_length || !inArray(pad_type, ['left', 'right'])) {
|
|
115
134
|
return str;
|
|
116
135
|
}
|
|
@@ -137,14 +156,15 @@ export const pad = function (str, pad_length, pad_str = ' ', pad_type = 'left')
|
|
|
137
156
|
* // Using an array of RGB components
|
|
138
157
|
* rgb2hex([255, 0, 0]); // Returns 'FF0000'
|
|
139
158
|
*/
|
|
140
|
-
|
|
159
|
+
var _rgb2hex = function rgb2hex(r, g, b) {
|
|
141
160
|
if (isArray(r)) {
|
|
142
|
-
return
|
|
161
|
+
return _rgb2hex.apply(void 0, _toConsumableArray(r));
|
|
143
162
|
}
|
|
144
163
|
if (!isInteger(r) || !isInteger(g) || !isInteger(b)) return '';
|
|
145
164
|
return [pad(dec2hex(parseInt(r)), 2, '0').toUpperCase(), pad(dec2hex(parseInt(g)), 2, '0').toUpperCase(), pad(dec2hex(parseInt(b)), 2, '0').toUpperCase()].join('');
|
|
146
165
|
};
|
|
147
|
-
export
|
|
166
|
+
export { _rgb2hex as rgb2hex };
|
|
167
|
+
export var rgbtohex = _rgb2hex;
|
|
148
168
|
|
|
149
169
|
/**
|
|
150
170
|
* Converts a hexadecimal color to RGB values.
|
|
@@ -152,20 +172,24 @@ export const rgbtohex = rgb2hex;
|
|
|
152
172
|
* @param {string} hex - The hexadecimal value (e.g #FF0000)
|
|
153
173
|
* @returns {number[]} The RGB color array (e.g [255, 0, 0]).
|
|
154
174
|
*/
|
|
155
|
-
export
|
|
175
|
+
export var hex2rgb = function hex2rgb(hex) {
|
|
156
176
|
if (!isString(hex) || !hex.length) return [];
|
|
157
177
|
hex = hex.slice(-6).toUpperCase();
|
|
158
178
|
if (hex.length < 6) {
|
|
159
|
-
hex = map(hex.slice(-3), (i, h)
|
|
179
|
+
hex = map(hex.slice(-3), function (i, h) {
|
|
180
|
+
return h + '' + h;
|
|
181
|
+
}).join('');
|
|
160
182
|
}
|
|
161
|
-
for (
|
|
183
|
+
for (var i = 0; i < hex.length; i++) {
|
|
162
184
|
if (-1 === '0123456789ABCDEF'.indexOf(hex[i])) {
|
|
163
185
|
return [];
|
|
164
186
|
}
|
|
165
187
|
}
|
|
166
|
-
return map(insert(hex, ',', 2).split(','), (i, h)
|
|
188
|
+
return map(insert(hex, ',', 2).split(','), function (i, h) {
|
|
189
|
+
return hex2dec(h);
|
|
190
|
+
});
|
|
167
191
|
};
|
|
168
|
-
export
|
|
192
|
+
export var hextorgb = hex2rgb;
|
|
169
193
|
|
|
170
194
|
/**
|
|
171
195
|
* Parses a URL string into its components.
|
|
@@ -187,11 +211,11 @@ export const hextorgb = hex2rgb;
|
|
|
187
211
|
* @property {string} [query] - The query string (e.g., `key=value&key2=value2`).
|
|
188
212
|
* @property {string} [fragment] - The fragment (hash) of the URL (e.g., `#section`).
|
|
189
213
|
*/
|
|
190
|
-
export
|
|
191
|
-
|
|
214
|
+
export var parse_url = function parse_url(str) {
|
|
215
|
+
var key = ['source', 'scheme', 'authority', 'userInfo', 'user', 'pass', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'fragment'],
|
|
192
216
|
parser = /^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\?([^#]*))?(?:#(.*))?)/;
|
|
193
|
-
|
|
194
|
-
|
|
217
|
+
var m = parser.exec(str);
|
|
218
|
+
var uri = {},
|
|
195
219
|
i = 14;
|
|
196
220
|
while (i--) {
|
|
197
221
|
if (m[i]) {
|
|
@@ -218,13 +242,14 @@ export const parse_url = function (str) {
|
|
|
218
242
|
* addUrlParam('https://example.com', { key1: 'value1', key2: 'value2' });
|
|
219
243
|
* // Returns: 'https://example.com?key1=value1&key2=value2'
|
|
220
244
|
*/
|
|
221
|
-
|
|
245
|
+
var _addUrlParam = function addUrlParam(url, param) {
|
|
246
|
+
var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
222
247
|
if (isPlainObject(param)) {
|
|
223
|
-
each(param, (key, val)
|
|
224
|
-
url =
|
|
248
|
+
each(param, function (key, val) {
|
|
249
|
+
url = _addUrlParam(url, key, val);
|
|
225
250
|
});
|
|
226
251
|
} else {
|
|
227
|
-
|
|
252
|
+
var parseUrl = parse_url(url),
|
|
228
253
|
pos,
|
|
229
254
|
hash = "";
|
|
230
255
|
if ((pos = url.indexOf("#")) > -1) {
|
|
@@ -236,9 +261,9 @@ export const addUrlParam = function (url, param, value = null) {
|
|
|
236
261
|
if (!parseUrl.query) {
|
|
237
262
|
url += "?" + param + "=" + value + hash;
|
|
238
263
|
} else {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
for (
|
|
264
|
+
var params = parseUrl.query.split('&');
|
|
265
|
+
var param_exists = false;
|
|
266
|
+
for (var i = 0; i < params.length; i++) {
|
|
242
267
|
if (params[i].indexOf(param + "=") > -1) {
|
|
243
268
|
param_exists = true;
|
|
244
269
|
params[i] = param + "=" + value;
|
|
@@ -257,115 +282,125 @@ export const addUrlParam = function (url, param, value = null) {
|
|
|
257
282
|
}
|
|
258
283
|
return url;
|
|
259
284
|
};
|
|
260
|
-
export
|
|
285
|
+
export { _addUrlParam as addUrlParam };
|
|
286
|
+
export var decodeHtml = function decodeHtml(str) {
|
|
261
287
|
if (!isString(str)) return '';
|
|
262
288
|
return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, '"').replace(/'/g, "'");
|
|
263
289
|
};
|
|
264
|
-
export
|
|
290
|
+
export var htmlquotes = function htmlquotes(str) {
|
|
265
291
|
if (!isString(str)) return '';
|
|
266
292
|
return str.replace(/"/g, """).replace(/'/g, "'");
|
|
267
293
|
};
|
|
268
|
-
export
|
|
294
|
+
export var htmlsimplequotes = function htmlsimplequotes(str) {
|
|
269
295
|
if (!isString(str)) return '';
|
|
270
296
|
return str.replace(/'/g, "'");
|
|
271
297
|
};
|
|
272
|
-
export
|
|
298
|
+
export var repeat = function repeat(str, n) {
|
|
273
299
|
if (!isString(str) || !isFloat(n)) return '';
|
|
274
300
|
return new Array(Math.floor(n) + 1).join(str);
|
|
275
301
|
};
|
|
276
|
-
export
|
|
302
|
+
export var stripTags = function stripTags(str, tag) {
|
|
277
303
|
if (isString(tag)) {
|
|
278
|
-
|
|
304
|
+
var rStripTags = new RegExp("<".concat(tag, "[^>]*>(.*?)</").concat(tag, ">|<").concat(tag, "[^>]*/>"), 'ig');
|
|
279
305
|
while (rStripTags.test(str)) str = str.replace(rStripTags, '$1');
|
|
280
306
|
return str;
|
|
281
307
|
}
|
|
282
308
|
return str.replace(/(<([^>]+)>)/ig, "");
|
|
283
309
|
};
|
|
284
|
-
export
|
|
310
|
+
export var toUrl = function toUrl(str) {
|
|
285
311
|
return trim(noAccent(str).toLowerCase().replace(/[^a-z0-9]/g, '-').replace(/-{2,}/g, '-'), '-');
|
|
286
312
|
};
|
|
287
313
|
|
|
288
314
|
/**
|
|
289
315
|
* @see http://stackoverflow.com/questions/3115150/how-to-escape-regular-expression-special-characters-using-javascript
|
|
290
316
|
*/
|
|
291
|
-
export
|
|
317
|
+
export var escapeRegex = function escapeRegex(str) {
|
|
292
318
|
return str.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&").replace(/[\n\t]/g, " ");
|
|
293
319
|
};
|
|
294
|
-
export
|
|
295
|
-
foreach('-_',
|
|
296
|
-
str = trim(str,
|
|
320
|
+
export var camelCase = function camelCase(str) {
|
|
321
|
+
foreach('-_', function (_char5) {
|
|
322
|
+
str = trim(str, _char5).replace(new RegExp("".concat(_char5, "+"), 'g'), _char5);
|
|
297
323
|
});
|
|
298
324
|
str = trim(str).replace(/\s+/g, '-');
|
|
299
|
-
return str.toLowerCase().replace(/[_-](\w)/g, (match, p1)
|
|
325
|
+
return str.toLowerCase().replace(/[_-](\w)/g, function (match, p1) {
|
|
326
|
+
return p1.toUpperCase();
|
|
327
|
+
});
|
|
300
328
|
};
|
|
301
|
-
export
|
|
329
|
+
export var format = function format(str) {
|
|
330
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
331
|
+
args[_key - 1] = arguments[_key];
|
|
332
|
+
}
|
|
302
333
|
if (args.length) {
|
|
303
|
-
each(args, (i, arg)
|
|
334
|
+
each(args, function (i, arg) {
|
|
304
335
|
if (isString(arg)) {
|
|
305
|
-
|
|
336
|
+
var o = {};
|
|
306
337
|
o[i] = arg;
|
|
307
338
|
arg = o;
|
|
308
339
|
}
|
|
309
|
-
each(arg, (placeholder, replacement)
|
|
310
|
-
str = str.replace(new RegExp('\\{' + placeholder + '\\}', 'gm'),
|
|
340
|
+
each(arg, function (placeholder, replacement) {
|
|
341
|
+
str = str.replace(new RegExp('\\{' + placeholder + '\\}', 'gm'), function (match) {
|
|
342
|
+
return isUndefined(replacement) ? match : replacement;
|
|
343
|
+
});
|
|
311
344
|
});
|
|
312
345
|
});
|
|
313
346
|
}
|
|
314
347
|
return str;
|
|
315
348
|
};
|
|
316
|
-
export
|
|
349
|
+
export var f = format;
|
|
317
350
|
|
|
318
351
|
/**
|
|
319
352
|
* @see https://stackoverflow.com/questions/7627000/javascript-convert-string-to-safe-class-name-for-css
|
|
320
353
|
*/
|
|
321
|
-
export
|
|
322
|
-
return str.replace(/[^a-z0-9_-]/ig, s
|
|
323
|
-
|
|
354
|
+
export var toCssClassName = function toCssClassName(str) {
|
|
355
|
+
return str.replace(/[^a-z0-9_-]/ig, function (s) {
|
|
356
|
+
var c = s.charCodeAt(0);
|
|
324
357
|
if (c === 32) return '-';
|
|
325
358
|
return '__' + ('000' + c.toString(16)).slice(-4);
|
|
326
359
|
});
|
|
327
360
|
};
|
|
328
|
-
export
|
|
361
|
+
export var hilite = function hilite(str, req) {
|
|
362
|
+
var tag = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'strong';
|
|
329
363
|
str = decodeHtml(str);
|
|
330
|
-
|
|
331
|
-
|
|
364
|
+
var str_folded = noAccent(str).toLowerCase().replace(/[\[\]]+/g, '');
|
|
365
|
+
var q_folded,
|
|
332
366
|
re,
|
|
333
367
|
hilite_hints = '';
|
|
334
368
|
if (!isArray(req)) {
|
|
335
369
|
req = [req];
|
|
336
370
|
}
|
|
337
|
-
each(req, (i, q)
|
|
371
|
+
each(req, function (i, q) {
|
|
338
372
|
if (q.length) {
|
|
339
373
|
q = decodeHtml(q);
|
|
340
374
|
q_folded = noAccent(q).toLowerCase().replace(/[\[\]]+/g, '');
|
|
341
375
|
re = new RegExp(escapeRegex(q_folded), 'g');
|
|
342
|
-
hilite_hints = str_folded.replace(re,
|
|
376
|
+
hilite_hints = str_folded.replace(re, "[".concat(q_folded, "]"));
|
|
343
377
|
str_folded = hilite_hints;
|
|
344
378
|
}
|
|
345
379
|
});
|
|
346
380
|
if (!hilite_hints.length) {
|
|
347
381
|
return str;
|
|
348
382
|
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
each(hilite_hints, (i, hint)
|
|
353
|
-
|
|
383
|
+
var spos = 0;
|
|
384
|
+
var highlighted = '';
|
|
385
|
+
var dirHook = 'end';
|
|
386
|
+
each(hilite_hints, function (i, hint) {
|
|
387
|
+
var c = str.charAt(spos);
|
|
354
388
|
if (hint === '[' && dirHook === 'end') {
|
|
355
|
-
highlighted +=
|
|
389
|
+
highlighted += "<".concat(tag, ">");
|
|
356
390
|
dirHook = 'start';
|
|
357
391
|
} else if (hint === ']' && dirHook === 'start') {
|
|
358
|
-
highlighted +=
|
|
392
|
+
highlighted += "</".concat(tag, ">");
|
|
359
393
|
dirHook = 'end';
|
|
360
394
|
} else {
|
|
361
395
|
spos += 1;
|
|
362
396
|
highlighted += c;
|
|
363
397
|
}
|
|
364
398
|
});
|
|
365
|
-
return highlighted.replace(/</g, '<').replace(/>/g, '>').replace(new RegExp(
|
|
399
|
+
return highlighted.replace(/</g, '<').replace(/>/g, '>').replace(new RegExp("<".concat(tag, ">"), 'g'), "<".concat(tag, ">")).replace(new RegExp("</".concat(tag, ">"), 'g'), "</".concat(tag, ">")).replace(new RegExp('<br>', 'g'), '<br>');
|
|
366
400
|
};
|
|
367
|
-
export
|
|
368
|
-
|
|
401
|
+
export var formatSize = function formatSize(bytes) {
|
|
402
|
+
var decimalPoint = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ',';
|
|
403
|
+
var i = -1,
|
|
369
404
|
decimals = 0;
|
|
370
405
|
do {
|
|
371
406
|
bytes /= 1024;
|
|
@@ -374,18 +409,18 @@ export const formatSize = function (bytes, decimalPoint = ',') {
|
|
|
374
409
|
if (!isInteger(bytes)) {
|
|
375
410
|
decimals = 1;
|
|
376
411
|
}
|
|
377
|
-
|
|
412
|
+
var units = map(['k', 'M', 'G', 'T', 'P', 'E'], function (i, prefix) {
|
|
378
413
|
return prefix + translate('unitByte');
|
|
379
414
|
});
|
|
380
415
|
return numberFormat(Math.max(bytes, 0), decimals, true, '', decimalPoint) + ' ' + units[i];
|
|
381
416
|
};
|
|
382
|
-
export
|
|
417
|
+
export var compareMixAlphaDigits = function compareMixAlphaDigits(a, b) {
|
|
383
418
|
if (a === b) return 0;
|
|
384
419
|
if (isInteger(a) && isInteger(b)) {
|
|
385
420
|
return Math.sign(a - b);
|
|
386
421
|
}
|
|
387
|
-
|
|
388
|
-
for (
|
|
422
|
+
var startEq = '';
|
|
423
|
+
for (var i = 0; i < Math.min(a.length, b.length); i++) {
|
|
389
424
|
if (a.charAt(i) === b.charAt(i) && !isInteger(a)) {
|
|
390
425
|
startEq += a.charAt(i);
|
|
391
426
|
} else {
|
|
@@ -394,9 +429,9 @@ export const compareMixAlphaDigits = (a, b) => {
|
|
|
394
429
|
}
|
|
395
430
|
a = a.slice(startEq.length);
|
|
396
431
|
b = b.slice(startEq.length);
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
each(a, (i, c)
|
|
432
|
+
var nbA = '';
|
|
433
|
+
var idxDigitA = null;
|
|
434
|
+
each(a, function (i, c) {
|
|
400
435
|
if (!nbA) {
|
|
401
436
|
idxDigitA = i;
|
|
402
437
|
if (c >= '0' && c <= '9') {
|
|
@@ -410,9 +445,9 @@ export const compareMixAlphaDigits = (a, b) => {
|
|
|
410
445
|
return false;
|
|
411
446
|
}
|
|
412
447
|
});
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
each(b, (i, c)
|
|
448
|
+
var nbB = '';
|
|
449
|
+
var idxDigitB = null;
|
|
450
|
+
each(b, function (i, c) {
|
|
416
451
|
if (!nbB) {
|
|
417
452
|
idxDigitB = i;
|
|
418
453
|
if (c >= '0' && c <= '9') {
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { each } from "./traversal.js";
|
|
2
2
|
import * as stringFunctions from "./string.js";
|
|
3
|
-
each(Object.keys(stringFunctions), (i, name)
|
|
4
|
-
|
|
3
|
+
each(Object.keys(stringFunctions), function (i, name) {
|
|
4
|
+
var f = stringFunctions[name],
|
|
5
5
|
p = String.prototype;
|
|
6
|
-
|
|
7
|
-
p[name] = function (
|
|
6
|
+
var origSF = p[name];
|
|
7
|
+
p[name] = function () {
|
|
8
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
9
|
+
args[_key] = arguments[_key];
|
|
10
|
+
}
|
|
8
11
|
if (origSF && args.length === origSF.length) {
|
|
9
12
|
return origSF.apply(this, args);
|
|
10
13
|
}
|
|
11
|
-
return f(
|
|
14
|
+
return f.apply(void 0, [this].concat(args));
|
|
12
15
|
};
|
|
13
16
|
});
|