@webalternatif/js-core 1.1.1 → 1.1.3
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 +277 -147
- 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 +28 -43
- 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 +191 -68
- package/dist/cjs/utils.js +51 -43
- package/dist/esm/array.js +46 -46
- package/dist/esm/dom.js +277 -147
- package/dist/esm/eventDispatcher.js +126 -86
- 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 +16 -25
- package/dist/esm/index.js +24 -54
- package/dist/esm/is.js +28 -43
- package/dist/esm/math.js +27 -38
- package/dist/esm/random.js +10 -23
- package/dist/esm/string.js +162 -166
- package/dist/esm/stringPrototype.js +10 -10
- package/dist/esm/traversal.js +191 -68
- package/dist/esm/utils.js +51 -43
- package/package.json +3 -2
- package/types/dom.d.ts +53 -35
- package/types/index.d.ts +22 -19
- package/types/is.d.ts +1 -0
- package/types/traversal.d.ts +10 -7
package/dist/cjs/string.js
CHANGED
|
@@ -1,62 +1,57 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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; }
|
|
7
|
+
import { isArray, isFloat, isInteger, isObject, isPlainObject, isString, isUndefined } from "./is.js";
|
|
8
|
+
import { dec2hex, hex2dec, round } from "./math.js";
|
|
9
|
+
import { inArray } from "./array.js";
|
|
10
|
+
import { each, foreach, map } from "./traversal.js";
|
|
11
|
+
import { translate } from "./i18n.js";
|
|
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);
|
|
15
|
+
};
|
|
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'), '');
|
|
19
|
+
};
|
|
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'), '');
|
|
23
|
+
};
|
|
24
|
+
export var stripMultipleSpaces = function stripMultipleSpaces(str) {
|
|
25
25
|
return str.trim().replace(/ +/g, ' ');
|
|
26
26
|
};
|
|
27
|
-
|
|
28
|
-
const noAccent = function (str) {
|
|
27
|
+
export var noAccent = function noAccent(str) {
|
|
29
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');
|
|
30
29
|
};
|
|
31
|
-
|
|
32
|
-
const br2nl = function (str) {
|
|
30
|
+
export var br2nl = function br2nl(str) {
|
|
33
31
|
return str.split(/<br\s*\/*>/).join('\n');
|
|
34
32
|
};
|
|
35
|
-
|
|
36
|
-
const nl2br = function (str) {
|
|
33
|
+
export var nl2br = function nl2br(str) {
|
|
37
34
|
return str.split('\n').join('<br>');
|
|
38
35
|
};
|
|
39
|
-
|
|
40
|
-
const ucfirst = function (str) {
|
|
36
|
+
export var ucfirst = function ucfirst(str) {
|
|
41
37
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
42
38
|
};
|
|
43
|
-
|
|
44
|
-
const lcfirst = function (str) {
|
|
39
|
+
export var lcfirst = function lcfirst(str) {
|
|
45
40
|
return str.charAt(0).toLowerCase() + str.slice(1);
|
|
46
41
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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, ">");
|
|
51
47
|
if (['br', 'hr', 'img', 'link', 'input'].includes(tag)) {
|
|
52
|
-
startTag =
|
|
48
|
+
startTag = "<".concat(tag, "/>");
|
|
53
49
|
endTag = '';
|
|
54
50
|
}
|
|
55
51
|
return str.slice(0, position) + startTag + str.slice(position, position + length) + endTag + str.slice(position + length);
|
|
56
52
|
};
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
let input = str + '',
|
|
53
|
+
export var substringIndex = function substringIndex(str, delimiter, index) {
|
|
54
|
+
var input = str + '',
|
|
60
55
|
arr = input.split(delimiter);
|
|
61
56
|
if (index > 0) {
|
|
62
57
|
arr.splice(index, arr.length - index);
|
|
@@ -65,62 +60,63 @@ const substringIndex = function (str, delimiter, index) {
|
|
|
65
60
|
}
|
|
66
61
|
return arr.join(delimiter);
|
|
67
62
|
};
|
|
68
|
-
|
|
69
|
-
const insert = (str, ins, n) => {
|
|
63
|
+
export var insert = function insert(str, ins, n) {
|
|
70
64
|
if (n >= str.length) {
|
|
71
65
|
return str;
|
|
72
66
|
}
|
|
73
|
-
return
|
|
67
|
+
return _toConsumableArray(str).reduce(function (newStr, _char4, index) {
|
|
74
68
|
if (index > 0 && index % n === 0) {
|
|
75
|
-
return newStr + ins +
|
|
69
|
+
return newStr + ins + _char4;
|
|
76
70
|
}
|
|
77
|
-
return newStr +
|
|
71
|
+
return newStr + _char4;
|
|
78
72
|
}, '');
|
|
79
73
|
};
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
for (let i = 0; i < str.length; i++) {
|
|
74
|
+
export var reverse = function reverse(str) {
|
|
75
|
+
var res = [];
|
|
76
|
+
for (var i = 0; i < str.length; i++) {
|
|
84
77
|
res.unshift(str[i]);
|
|
85
78
|
}
|
|
86
79
|
return res.join('');
|
|
87
80
|
};
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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] : '.';
|
|
84
|
+
if (isUndefined(value) || null === value) {
|
|
91
85
|
return value;
|
|
92
86
|
}
|
|
93
87
|
value = (value + '').replace(',', '.');
|
|
94
88
|
if (Math.abs(value) >= 1000) {
|
|
95
|
-
|
|
96
|
-
|
|
89
|
+
var intval = Math[value >= 1000 ? 'floor' : 'ceil'](value) + '';
|
|
90
|
+
var newval = reverse(insert(reverse(intval), reverse(separator), 3));
|
|
97
91
|
return value.indexOf('.') > 0 ? newval + pointDecimal + substringIndex(value, '.', -1) : newval;
|
|
98
92
|
}
|
|
99
93
|
return (value + '').replace('.', pointDecimal);
|
|
100
94
|
};
|
|
101
|
-
|
|
102
|
-
|
|
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] : '.';
|
|
103
100
|
number = number ? number + '' : '0';
|
|
104
|
-
number =
|
|
101
|
+
number = round(parseFloat(number.replace(',', '.')), decimals) + '';
|
|
105
102
|
if (decimals === 0) {
|
|
106
103
|
return thousandSeparator(number, thousandSep, pointDecimal);
|
|
107
104
|
}
|
|
108
|
-
|
|
105
|
+
var pos = number.lastIndexOf('.');
|
|
109
106
|
if (-1 === pos) {
|
|
110
107
|
if (true === forceCentimes) {
|
|
111
108
|
number += pointDecimal + repeat('0', decimals);
|
|
112
109
|
}
|
|
113
110
|
return thousandSeparator(number, thousandSep, pointDecimal);
|
|
114
111
|
}
|
|
115
|
-
|
|
116
|
-
|
|
112
|
+
var digits = number.slice(pos + 1);
|
|
113
|
+
var nbDigits = digits.length;
|
|
117
114
|
if (decimals > nbDigits) {
|
|
118
115
|
return thousandSeparator(number + '0'.repeat(decimals - nbDigits), thousandSep, pointDecimal);
|
|
119
116
|
}
|
|
120
117
|
return thousandSeparator(number.slice(0, pos + 1 + decimals), thousandSep, pointDecimal);
|
|
121
118
|
};
|
|
122
|
-
|
|
123
|
-
const toPrice = exports.toPrice = numberFormat;
|
|
119
|
+
export var toPrice = numberFormat;
|
|
124
120
|
|
|
125
121
|
/**
|
|
126
122
|
* Pads a string to a specified length with a specified string and padding type
|
|
@@ -131,8 +127,10 @@ const toPrice = exports.toPrice = numberFormat;
|
|
|
131
127
|
* @param {string} [pad_type]
|
|
132
128
|
* @returns {string}
|
|
133
129
|
*/
|
|
134
|
-
|
|
135
|
-
|
|
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';
|
|
133
|
+
if (isUndefined(pad_length) || str.length >= pad_length || !inArray(pad_type, ['left', 'right'])) {
|
|
136
134
|
return str;
|
|
137
135
|
}
|
|
138
136
|
if (pad_type === 'left') {
|
|
@@ -158,16 +156,15 @@ const pad = function (str, pad_length, pad_str = ' ', pad_type = 'left') {
|
|
|
158
156
|
* // Using an array of RGB components
|
|
159
157
|
* rgb2hex([255, 0, 0]); // Returns 'FF0000'
|
|
160
158
|
*/
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
return rgb2hex(...r);
|
|
159
|
+
var _rgb2hex = function rgb2hex(r, g, b) {
|
|
160
|
+
if (isArray(r)) {
|
|
161
|
+
return _rgb2hex.apply(void 0, _toConsumableArray(r));
|
|
165
162
|
}
|
|
166
|
-
if (!
|
|
167
|
-
return [pad(
|
|
163
|
+
if (!isInteger(r) || !isInteger(g) || !isInteger(b)) return '';
|
|
164
|
+
return [pad(dec2hex(parseInt(r)), 2, '0').toUpperCase(), pad(dec2hex(parseInt(g)), 2, '0').toUpperCase(), pad(dec2hex(parseInt(b)), 2, '0').toUpperCase()].join('');
|
|
168
165
|
};
|
|
169
|
-
|
|
170
|
-
|
|
166
|
+
export { _rgb2hex as rgb2hex };
|
|
167
|
+
export var rgbtohex = _rgb2hex;
|
|
171
168
|
|
|
172
169
|
/**
|
|
173
170
|
* Converts a hexadecimal color to RGB values.
|
|
@@ -175,21 +172,24 @@ const rgbtohex = exports.rgbtohex = rgb2hex;
|
|
|
175
172
|
* @param {string} hex - The hexadecimal value (e.g #FF0000)
|
|
176
173
|
* @returns {number[]} The RGB color array (e.g [255, 0, 0]).
|
|
177
174
|
*/
|
|
178
|
-
|
|
179
|
-
if (!
|
|
175
|
+
export var hex2rgb = function hex2rgb(hex) {
|
|
176
|
+
if (!isString(hex) || !hex.length) return [];
|
|
180
177
|
hex = hex.slice(-6).toUpperCase();
|
|
181
178
|
if (hex.length < 6) {
|
|
182
|
-
hex =
|
|
179
|
+
hex = map(hex.slice(-3), function (i, h) {
|
|
180
|
+
return h + '' + h;
|
|
181
|
+
}).join('');
|
|
183
182
|
}
|
|
184
|
-
for (
|
|
183
|
+
for (var i = 0; i < hex.length; i++) {
|
|
185
184
|
if (-1 === '0123456789ABCDEF'.indexOf(hex[i])) {
|
|
186
185
|
return [];
|
|
187
186
|
}
|
|
188
187
|
}
|
|
189
|
-
return
|
|
188
|
+
return map(insert(hex, ',', 2).split(','), function (i, h) {
|
|
189
|
+
return hex2dec(h);
|
|
190
|
+
});
|
|
190
191
|
};
|
|
191
|
-
|
|
192
|
-
const hextorgb = exports.hextorgb = hex2rgb;
|
|
192
|
+
export var hextorgb = hex2rgb;
|
|
193
193
|
|
|
194
194
|
/**
|
|
195
195
|
* Parses a URL string into its components.
|
|
@@ -211,11 +211,11 @@ const hextorgb = exports.hextorgb = hex2rgb;
|
|
|
211
211
|
* @property {string} [query] - The query string (e.g., `key=value&key2=value2`).
|
|
212
212
|
* @property {string} [fragment] - The fragment (hash) of the URL (e.g., `#section`).
|
|
213
213
|
*/
|
|
214
|
-
|
|
215
|
-
|
|
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'],
|
|
216
216
|
parser = /^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\?([^#]*))?(?:#(.*))?)/;
|
|
217
|
-
|
|
218
|
-
|
|
217
|
+
var m = parser.exec(str);
|
|
218
|
+
var uri = {},
|
|
219
219
|
i = 14;
|
|
220
220
|
while (i--) {
|
|
221
221
|
if (m[i]) {
|
|
@@ -242,14 +242,14 @@ const parse_url = function (str) {
|
|
|
242
242
|
* addUrlParam('https://example.com', { key1: 'value1', key2: 'value2' });
|
|
243
243
|
* // Returns: 'https://example.com?key1=value1&key2=value2'
|
|
244
244
|
*/
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
if (
|
|
248
|
-
|
|
249
|
-
url =
|
|
245
|
+
var _addUrlParam = function addUrlParam(url, param) {
|
|
246
|
+
var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
247
|
+
if (isPlainObject(param)) {
|
|
248
|
+
each(param, function (key, val) {
|
|
249
|
+
url = _addUrlParam(url, key, val);
|
|
250
250
|
});
|
|
251
251
|
} else {
|
|
252
|
-
|
|
252
|
+
var parseUrl = parse_url(url),
|
|
253
253
|
pos,
|
|
254
254
|
hash = "";
|
|
255
255
|
if ((pos = url.indexOf("#")) > -1) {
|
|
@@ -261,9 +261,9 @@ const addUrlParam = function (url, param, value = null) {
|
|
|
261
261
|
if (!parseUrl.query) {
|
|
262
262
|
url += "?" + param + "=" + value + hash;
|
|
263
263
|
} else {
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
for (
|
|
264
|
+
var params = parseUrl.query.split('&');
|
|
265
|
+
var param_exists = false;
|
|
266
|
+
for (var i = 0; i < params.length; i++) {
|
|
267
267
|
if (params[i].indexOf(param + "=") > -1) {
|
|
268
268
|
param_exists = true;
|
|
269
269
|
params[i] = param + "=" + value;
|
|
@@ -282,149 +282,146 @@ const addUrlParam = function (url, param, value = null) {
|
|
|
282
282
|
}
|
|
283
283
|
return url;
|
|
284
284
|
};
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
if (!
|
|
285
|
+
export { _addUrlParam as addUrlParam };
|
|
286
|
+
export var decodeHtml = function decodeHtml(str) {
|
|
287
|
+
if (!isString(str)) return '';
|
|
288
288
|
return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, '"').replace(/'/g, "'");
|
|
289
289
|
};
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
if (!(0, _is.isString)(str)) return '';
|
|
290
|
+
export var htmlquotes = function htmlquotes(str) {
|
|
291
|
+
if (!isString(str)) return '';
|
|
293
292
|
return str.replace(/"/g, """).replace(/'/g, "'");
|
|
294
293
|
};
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
if (!(0, _is.isString)(str)) return '';
|
|
294
|
+
export var htmlsimplequotes = function htmlsimplequotes(str) {
|
|
295
|
+
if (!isString(str)) return '';
|
|
298
296
|
return str.replace(/'/g, "'");
|
|
299
297
|
};
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
if (!(0, _is.isString)(str) || !(0, _is.isFloat)(n)) return '';
|
|
298
|
+
export var repeat = function repeat(str, n) {
|
|
299
|
+
if (!isString(str) || !isFloat(n)) return '';
|
|
303
300
|
return new Array(Math.floor(n) + 1).join(str);
|
|
304
301
|
};
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
const rStripTags = new RegExp(`<${tag}[^>]*>(.*?)</${tag}>|<${tag}[^>]*\/>`, 'ig');
|
|
302
|
+
export var stripTags = function stripTags(str, tag) {
|
|
303
|
+
if (isString(tag)) {
|
|
304
|
+
var rStripTags = new RegExp("<".concat(tag, "[^>]*>(.*?)</").concat(tag, ">|<").concat(tag, "[^>]*/>"), 'ig');
|
|
309
305
|
while (rStripTags.test(str)) str = str.replace(rStripTags, '$1');
|
|
310
306
|
return str;
|
|
311
307
|
}
|
|
312
308
|
return str.replace(/(<([^>]+)>)/ig, "");
|
|
313
309
|
};
|
|
314
|
-
|
|
315
|
-
const toUrl = function (str) {
|
|
310
|
+
export var toUrl = function toUrl(str) {
|
|
316
311
|
return trim(noAccent(str).toLowerCase().replace(/[^a-z0-9]/g, '-').replace(/-{2,}/g, '-'), '-');
|
|
317
312
|
};
|
|
318
313
|
|
|
319
314
|
/**
|
|
320
315
|
* @see http://stackoverflow.com/questions/3115150/how-to-escape-regular-expression-special-characters-using-javascript
|
|
321
316
|
*/
|
|
322
|
-
|
|
323
|
-
const escapeRegex = function (str) {
|
|
317
|
+
export var escapeRegex = function escapeRegex(str) {
|
|
324
318
|
return str.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&").replace(/[\n\t]/g, " ");
|
|
325
319
|
};
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
str = trim(str, char).replace(new RegExp(`${char}+`, 'g'), char);
|
|
320
|
+
export var camelCase = function camelCase(str) {
|
|
321
|
+
foreach('-_', function (_char5) {
|
|
322
|
+
str = trim(str, _char5).replace(new RegExp("".concat(_char5, "+"), 'g'), _char5);
|
|
330
323
|
});
|
|
331
324
|
str = trim(str).replace(/\s+/g, '-');
|
|
332
|
-
return str.toLowerCase().replace(/[_-](\w)/g, (match, p1)
|
|
325
|
+
return str.toLowerCase().replace(/[_-](\w)/g, function (match, p1) {
|
|
326
|
+
return p1.toUpperCase();
|
|
327
|
+
});
|
|
333
328
|
};
|
|
334
|
-
|
|
335
|
-
|
|
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
|
+
}
|
|
336
333
|
if (args.length) {
|
|
337
|
-
|
|
338
|
-
if (
|
|
339
|
-
|
|
334
|
+
each(args, function (i, arg) {
|
|
335
|
+
if (isString(arg)) {
|
|
336
|
+
var o = {};
|
|
340
337
|
o[i] = arg;
|
|
341
338
|
arg = o;
|
|
342
339
|
}
|
|
343
|
-
|
|
344
|
-
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
|
+
});
|
|
345
344
|
});
|
|
346
345
|
});
|
|
347
346
|
}
|
|
348
347
|
return str;
|
|
349
348
|
};
|
|
350
|
-
|
|
351
|
-
const f = exports.f = format;
|
|
349
|
+
export var f = format;
|
|
352
350
|
|
|
353
351
|
/**
|
|
354
352
|
* @see https://stackoverflow.com/questions/7627000/javascript-convert-string-to-safe-class-name-for-css
|
|
355
353
|
*/
|
|
356
|
-
|
|
357
|
-
return str.replace(/[^a-z0-9_-]/ig, s
|
|
358
|
-
|
|
354
|
+
export var toCssClassName = function toCssClassName(str) {
|
|
355
|
+
return str.replace(/[^a-z0-9_-]/ig, function (s) {
|
|
356
|
+
var c = s.charCodeAt(0);
|
|
359
357
|
if (c === 32) return '-';
|
|
360
358
|
return '__' + ('000' + c.toString(16)).slice(-4);
|
|
361
359
|
});
|
|
362
360
|
};
|
|
363
|
-
|
|
364
|
-
|
|
361
|
+
export var hilite = function hilite(str, req) {
|
|
362
|
+
var tag = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'strong';
|
|
365
363
|
str = decodeHtml(str);
|
|
366
|
-
|
|
367
|
-
|
|
364
|
+
var str_folded = noAccent(str).toLowerCase().replace(/[\[\]]+/g, '');
|
|
365
|
+
var q_folded,
|
|
368
366
|
re,
|
|
369
367
|
hilite_hints = '';
|
|
370
|
-
if (!
|
|
368
|
+
if (!isArray(req)) {
|
|
371
369
|
req = [req];
|
|
372
370
|
}
|
|
373
|
-
|
|
371
|
+
each(req, function (i, q) {
|
|
374
372
|
if (q.length) {
|
|
375
373
|
q = decodeHtml(q);
|
|
376
374
|
q_folded = noAccent(q).toLowerCase().replace(/[\[\]]+/g, '');
|
|
377
375
|
re = new RegExp(escapeRegex(q_folded), 'g');
|
|
378
|
-
hilite_hints = str_folded.replace(re,
|
|
376
|
+
hilite_hints = str_folded.replace(re, "[".concat(q_folded, "]"));
|
|
379
377
|
str_folded = hilite_hints;
|
|
380
378
|
}
|
|
381
379
|
});
|
|
382
380
|
if (!hilite_hints.length) {
|
|
383
381
|
return str;
|
|
384
382
|
}
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
383
|
+
var spos = 0;
|
|
384
|
+
var highlighted = '';
|
|
385
|
+
var dirHook = 'end';
|
|
386
|
+
each(hilite_hints, function (i, hint) {
|
|
387
|
+
var c = str.charAt(spos);
|
|
390
388
|
if (hint === '[' && dirHook === 'end') {
|
|
391
|
-
highlighted +=
|
|
389
|
+
highlighted += "<".concat(tag, ">");
|
|
392
390
|
dirHook = 'start';
|
|
393
391
|
} else if (hint === ']' && dirHook === 'start') {
|
|
394
|
-
highlighted +=
|
|
392
|
+
highlighted += "</".concat(tag, ">");
|
|
395
393
|
dirHook = 'end';
|
|
396
394
|
} else {
|
|
397
395
|
spos += 1;
|
|
398
396
|
highlighted += c;
|
|
399
397
|
}
|
|
400
398
|
});
|
|
401
|
-
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>');
|
|
402
400
|
};
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
401
|
+
export var formatSize = function formatSize(bytes) {
|
|
402
|
+
var decimalPoint = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ',';
|
|
403
|
+
var i = -1,
|
|
406
404
|
decimals = 0;
|
|
407
405
|
do {
|
|
408
406
|
bytes /= 1024;
|
|
409
407
|
i++;
|
|
410
408
|
} while (bytes > 999);
|
|
411
|
-
if (!
|
|
409
|
+
if (!isInteger(bytes)) {
|
|
412
410
|
decimals = 1;
|
|
413
411
|
}
|
|
414
|
-
|
|
415
|
-
return prefix +
|
|
412
|
+
var units = map(['k', 'M', 'G', 'T', 'P', 'E'], function (i, prefix) {
|
|
413
|
+
return prefix + translate('unitByte');
|
|
416
414
|
});
|
|
417
415
|
return numberFormat(Math.max(bytes, 0), decimals, true, '', decimalPoint) + ' ' + units[i];
|
|
418
416
|
};
|
|
419
|
-
|
|
420
|
-
const compareMixAlphaDigits = (a, b) => {
|
|
417
|
+
export var compareMixAlphaDigits = function compareMixAlphaDigits(a, b) {
|
|
421
418
|
if (a === b) return 0;
|
|
422
|
-
if (
|
|
419
|
+
if (isInteger(a) && isInteger(b)) {
|
|
423
420
|
return Math.sign(a - b);
|
|
424
421
|
}
|
|
425
|
-
|
|
426
|
-
for (
|
|
427
|
-
if (a.charAt(i) === b.charAt(i) && !
|
|
422
|
+
var startEq = '';
|
|
423
|
+
for (var i = 0; i < Math.min(a.length, b.length); i++) {
|
|
424
|
+
if (a.charAt(i) === b.charAt(i) && !isInteger(a)) {
|
|
428
425
|
startEq += a.charAt(i);
|
|
429
426
|
} else {
|
|
430
427
|
break;
|
|
@@ -432,9 +429,9 @@ const compareMixAlphaDigits = (a, b) => {
|
|
|
432
429
|
}
|
|
433
430
|
a = a.slice(startEq.length);
|
|
434
431
|
b = b.slice(startEq.length);
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
432
|
+
var nbA = '';
|
|
433
|
+
var idxDigitA = null;
|
|
434
|
+
each(a, function (i, c) {
|
|
438
435
|
if (!nbA) {
|
|
439
436
|
idxDigitA = i;
|
|
440
437
|
if (c >= '0' && c <= '9') {
|
|
@@ -448,9 +445,9 @@ const compareMixAlphaDigits = (a, b) => {
|
|
|
448
445
|
return false;
|
|
449
446
|
}
|
|
450
447
|
});
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
448
|
+
var nbB = '';
|
|
449
|
+
var idxDigitB = null;
|
|
450
|
+
each(b, function (i, c) {
|
|
454
451
|
if (!nbB) {
|
|
455
452
|
idxDigitB = i;
|
|
456
453
|
if (c >= '0' && c <= '9') {
|
|
@@ -470,5 +467,4 @@ const compareMixAlphaDigits = (a, b) => {
|
|
|
470
467
|
}
|
|
471
468
|
}
|
|
472
469
|
return a > b ? 1 : -1;
|
|
473
|
-
};
|
|
474
|
-
exports.compareMixAlphaDigits = compareMixAlphaDigits;
|
|
470
|
+
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
6
|
-
(0, _traversal.each)(Object.keys(stringFunctions), (i, name) => {
|
|
7
|
-
const f = stringFunctions[name],
|
|
1
|
+
import { each } from "./traversal.js";
|
|
2
|
+
import * as stringFunctions from "./string.js";
|
|
3
|
+
each(Object.keys(stringFunctions), function (i, name) {
|
|
4
|
+
var f = stringFunctions[name],
|
|
8
5
|
p = String.prototype;
|
|
9
|
-
|
|
10
|
-
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
|
+
}
|
|
11
11
|
if (origSF && args.length === origSF.length) {
|
|
12
12
|
return origSF.apply(this, args);
|
|
13
13
|
}
|
|
14
|
-
return f(
|
|
14
|
+
return f.apply(void 0, [this].concat(args));
|
|
15
15
|
};
|
|
16
16
|
});
|