@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.
Files changed (121) hide show
  1. package/dist/cjs/array.js +46 -46
  2. package/dist/cjs/dom.js +277 -147
  3. package/dist/cjs/eventDispatcher.js +126 -86
  4. package/dist/cjs/i18n/agenda/en.js +65 -0
  5. package/dist/cjs/i18n/agenda/fr.js +67 -0
  6. package/dist/cjs/i18n/agenda/index.js +2 -0
  7. package/dist/cjs/i18n/ajaxform/en.js +5 -0
  8. package/dist/cjs/i18n/ajaxform/fr.js +5 -0
  9. package/dist/cjs/i18n/ajaxform/index.js +2 -0
  10. package/dist/cjs/i18n/ajaxupload/en.js +11 -0
  11. package/dist/cjs/i18n/ajaxupload/fr.js +11 -0
  12. package/dist/cjs/i18n/ajaxupload/index.js +2 -0
  13. package/dist/cjs/i18n/autocomplete/en.js +3 -0
  14. package/dist/cjs/i18n/autocomplete/fr.js +3 -0
  15. package/dist/cjs/i18n/autocomplete/index.js +2 -0
  16. package/dist/cjs/i18n/confirm/en.js +5 -0
  17. package/dist/cjs/i18n/confirm/fr.js +5 -0
  18. package/dist/cjs/i18n/confirm/index.js +2 -0
  19. package/dist/cjs/i18n/core/en.js +4 -0
  20. package/dist/cjs/i18n/core/fr.js +4 -0
  21. package/dist/cjs/i18n/core/index.js +2 -0
  22. package/dist/cjs/i18n/datagrid/en.js +8 -0
  23. package/dist/cjs/i18n/datagrid/fr.js +8 -0
  24. package/dist/cjs/i18n/datagrid/index.js +2 -0
  25. package/dist/cjs/i18n/date/en.js +47 -0
  26. package/dist/cjs/i18n/date/fr.js +47 -0
  27. package/dist/cjs/i18n/date/index.js +2 -0
  28. package/dist/cjs/i18n/datetimepicker/en.js +27 -0
  29. package/dist/cjs/i18n/datetimepicker/fr.js +27 -0
  30. package/dist/cjs/i18n/datetimepicker/index.js +2 -0
  31. package/dist/cjs/i18n/dialog/en.js +3 -0
  32. package/dist/cjs/i18n/dialog/fr.js +3 -0
  33. package/dist/cjs/i18n/dialog/index.js +2 -0
  34. package/dist/cjs/i18n/fulldayeventagenda/en.js +65 -0
  35. package/dist/cjs/i18n/fulldayeventagenda/fr.js +67 -0
  36. package/dist/cjs/i18n/fulldayeventagenda/index.js +2 -0
  37. package/dist/cjs/i18n/index.js +30 -0
  38. package/dist/cjs/i18n/richtexteditor/en.js +56 -0
  39. package/dist/cjs/i18n/richtexteditor/fr.js +56 -0
  40. package/dist/cjs/i18n/richtexteditor/index.js +2 -0
  41. package/dist/cjs/i18n/select/en.js +3 -0
  42. package/dist/cjs/i18n/select/fr.js +3 -0
  43. package/dist/cjs/i18n/select/index.js +2 -0
  44. package/dist/cjs/i18n/timepicker/en.js +3 -0
  45. package/dist/cjs/i18n/timepicker/fr.js +3 -0
  46. package/dist/cjs/i18n/timepicker/index.js +2 -0
  47. package/dist/cjs/i18n/useragenda/en.js +65 -0
  48. package/dist/cjs/i18n/useragenda/fr.js +67 -0
  49. package/dist/cjs/i18n/useragenda/index.js +2 -0
  50. package/dist/cjs/i18n.js +16 -25
  51. package/dist/cjs/index.js +24 -54
  52. package/dist/cjs/is.js +28 -43
  53. package/dist/cjs/math.js +27 -38
  54. package/dist/cjs/random.js +10 -23
  55. package/dist/cjs/string.js +162 -166
  56. package/dist/cjs/stringPrototype.js +10 -10
  57. package/dist/cjs/traversal.js +191 -68
  58. package/dist/cjs/utils.js +51 -43
  59. package/dist/esm/array.js +46 -46
  60. package/dist/esm/dom.js +277 -147
  61. package/dist/esm/eventDispatcher.js +126 -86
  62. package/dist/esm/i18n/agenda/en.js +65 -0
  63. package/dist/esm/i18n/agenda/fr.js +67 -0
  64. package/dist/esm/i18n/agenda/index.js +2 -0
  65. package/dist/esm/i18n/ajaxform/en.js +5 -0
  66. package/dist/esm/i18n/ajaxform/fr.js +5 -0
  67. package/dist/esm/i18n/ajaxform/index.js +2 -0
  68. package/dist/esm/i18n/ajaxupload/en.js +11 -0
  69. package/dist/esm/i18n/ajaxupload/fr.js +11 -0
  70. package/dist/esm/i18n/ajaxupload/index.js +2 -0
  71. package/dist/esm/i18n/autocomplete/en.js +3 -0
  72. package/dist/esm/i18n/autocomplete/fr.js +3 -0
  73. package/dist/esm/i18n/autocomplete/index.js +2 -0
  74. package/dist/esm/i18n/confirm/en.js +5 -0
  75. package/dist/esm/i18n/confirm/fr.js +5 -0
  76. package/dist/esm/i18n/confirm/index.js +2 -0
  77. package/dist/esm/i18n/core/en.js +4 -0
  78. package/dist/esm/i18n/core/fr.js +4 -0
  79. package/dist/esm/i18n/core/index.js +2 -0
  80. package/dist/esm/i18n/datagrid/en.js +8 -0
  81. package/dist/esm/i18n/datagrid/fr.js +8 -0
  82. package/dist/esm/i18n/datagrid/index.js +2 -0
  83. package/dist/esm/i18n/date/en.js +47 -0
  84. package/dist/esm/i18n/date/fr.js +47 -0
  85. package/dist/esm/i18n/date/index.js +2 -0
  86. package/dist/esm/i18n/datetimepicker/en.js +27 -0
  87. package/dist/esm/i18n/datetimepicker/fr.js +27 -0
  88. package/dist/esm/i18n/datetimepicker/index.js +2 -0
  89. package/dist/esm/i18n/dialog/en.js +3 -0
  90. package/dist/esm/i18n/dialog/fr.js +3 -0
  91. package/dist/esm/i18n/dialog/index.js +2 -0
  92. package/dist/esm/i18n/fulldayeventagenda/en.js +65 -0
  93. package/dist/esm/i18n/fulldayeventagenda/fr.js +67 -0
  94. package/dist/esm/i18n/fulldayeventagenda/index.js +2 -0
  95. package/dist/esm/i18n/index.js +30 -0
  96. package/dist/esm/i18n/richtexteditor/en.js +56 -0
  97. package/dist/esm/i18n/richtexteditor/fr.js +56 -0
  98. package/dist/esm/i18n/richtexteditor/index.js +2 -0
  99. package/dist/esm/i18n/select/en.js +3 -0
  100. package/dist/esm/i18n/select/fr.js +3 -0
  101. package/dist/esm/i18n/select/index.js +2 -0
  102. package/dist/esm/i18n/timepicker/en.js +3 -0
  103. package/dist/esm/i18n/timepicker/fr.js +3 -0
  104. package/dist/esm/i18n/timepicker/index.js +2 -0
  105. package/dist/esm/i18n/useragenda/en.js +65 -0
  106. package/dist/esm/i18n/useragenda/fr.js +67 -0
  107. package/dist/esm/i18n/useragenda/index.js +2 -0
  108. package/dist/esm/i18n.js +16 -25
  109. package/dist/esm/index.js +24 -54
  110. package/dist/esm/is.js +28 -43
  111. package/dist/esm/math.js +27 -38
  112. package/dist/esm/random.js +10 -23
  113. package/dist/esm/string.js +162 -166
  114. package/dist/esm/stringPrototype.js +10 -10
  115. package/dist/esm/traversal.js +191 -68
  116. package/dist/esm/utils.js +51 -43
  117. package/package.json +3 -2
  118. package/types/dom.d.ts +53 -35
  119. package/types/index.d.ts +22 -19
  120. package/types/is.d.ts +1 -0
  121. package/types/traversal.d.ts +10 -7
@@ -1,62 +1,57 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ucfirst = exports.trim = exports.toUrl = exports.toPrice = exports.toCssClassName = exports.thousandSeparator = exports.substringIndex = exports.stripTags = exports.stripMultipleSpaces = exports.rtrim = exports.rgbtohex = exports.rgb2hex = exports.reverse = exports.repeat = exports.parse_url = exports.pad = exports.numberFormat = exports.noAccent = exports.nl2br = exports.ltrim = exports.lcfirst = exports.insertTag = exports.insert = exports.htmlsimplequotes = exports.htmlquotes = exports.hilite = exports.hextorgb = exports.hex2rgb = exports.formatSize = exports.format = exports.f = exports.escapeRegex = exports.decodeHtml = exports.compareMixAlphaDigits = exports.camelCase = exports.br2nl = exports.addUrlParam = void 0;
7
- var _is = require("./is.js");
8
- var _math = require("./math.js");
9
- var _array = require("./array.js");
10
- var _traversal = require("./traversal.js");
11
- var _i18n = require("./i18n.js");
12
- const trim = function (str, char = '\\s') {
13
- return ltrim(rtrim(str, char), char);
14
- };
15
- exports.trim = trim;
16
- const ltrim = function (str, char = '\\s') {
17
- return str.replace(new RegExp(`^${char}+`, 'g'), '');
18
- };
19
- exports.ltrim = ltrim;
20
- const rtrim = function (str, char = '\\s') {
21
- return str.replace(new RegExp(`${char}+$`, 'g'), '');
22
- };
23
- exports.rtrim = rtrim;
24
- const stripMultipleSpaces = function (str) {
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
- exports.stripMultipleSpaces = stripMultipleSpaces;
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
- exports.noAccent = noAccent;
32
- const br2nl = function (str) {
30
+ export var br2nl = function br2nl(str) {
33
31
  return str.split(/<br\s*\/*>/).join('\n');
34
32
  };
35
- exports.br2nl = br2nl;
36
- const nl2br = function (str) {
33
+ export var nl2br = function nl2br(str) {
37
34
  return str.split('\n').join('<br>');
38
35
  };
39
- exports.nl2br = nl2br;
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
- exports.ucfirst = ucfirst;
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
- exports.lcfirst = lcfirst;
48
- const insertTag = function (str, tag, position = 0, length = 0) {
49
- let startTag = `<${tag}>`;
50
- let endTag = `</${tag}>`;
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 = `<${tag}/>`;
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
- exports.insertTag = insertTag;
58
- const substringIndex = function (str, delimiter, index) {
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
- exports.substringIndex = substringIndex;
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 [...str].reduce((newStr, char, index) => {
67
+ return _toConsumableArray(str).reduce(function (newStr, _char4, index) {
74
68
  if (index > 0 && index % n === 0) {
75
- return newStr + ins + char;
69
+ return newStr + ins + _char4;
76
70
  }
77
- return newStr + char;
71
+ return newStr + _char4;
78
72
  }, '');
79
73
  };
80
- exports.insert = insert;
81
- const reverse = function (str) {
82
- let res = [];
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
- exports.reverse = reverse;
89
- const thousandSeparator = function (value, separator = '.', pointDecimal = '.') {
90
- if ((0, _is.isUndefined)(value) || null === value) {
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
- let intval = Math[value >= 1000 ? 'floor' : 'ceil'](value) + '';
96
- let newval = reverse(insert(reverse(intval), reverse(separator), 3));
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
- exports.thousandSeparator = thousandSeparator;
102
- const numberFormat = function (number, decimals = 2, forceCentimes = false, thousandSep = '', pointDecimal = '.') {
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 = (0, _math.round)(parseFloat(number.replace(',', '.')), decimals) + '';
101
+ number = round(parseFloat(number.replace(',', '.')), decimals) + '';
105
102
  if (decimals === 0) {
106
103
  return thousandSeparator(number, thousandSep, pointDecimal);
107
104
  }
108
- const pos = number.lastIndexOf('.');
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
- const digits = number.slice(pos + 1);
116
- const nbDigits = digits.length;
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
- exports.numberFormat = numberFormat;
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
- const pad = function (str, pad_length, pad_str = ' ', pad_type = 'left') {
135
- if ((0, _is.isUndefined)(pad_length) || str.length >= pad_length || !(0, _array.inArray)(pad_type, ['left', 'right'])) {
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
- exports.pad = pad;
162
- const rgb2hex = function (r, g, b) {
163
- if ((0, _is.isArray)(r)) {
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 (!(0, _is.isInteger)(r) || !(0, _is.isInteger)(g) || !(0, _is.isInteger)(b)) return '';
167
- return [pad((0, _math.dec2hex)(parseInt(r)), 2, '0').toUpperCase(), pad((0, _math.dec2hex)(parseInt(g)), 2, '0').toUpperCase(), pad((0, _math.dec2hex)(parseInt(b)), 2, '0').toUpperCase()].join('');
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
- exports.rgb2hex = rgb2hex;
170
- const rgbtohex = exports.rgbtohex = rgb2hex;
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
- const hex2rgb = function (hex) {
179
- if (!(0, _is.isString)(hex) || !hex.length) return [];
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 = (0, _traversal.map)(hex.slice(-3), (i, h) => h + '' + h).join('');
179
+ hex = map(hex.slice(-3), function (i, h) {
180
+ return h + '' + h;
181
+ }).join('');
183
182
  }
184
- for (let i = 0; i < hex.length; i++) {
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 (0, _traversal.map)(insert(hex, ',', 2).split(','), (i, h) => (0, _math.hex2dec)(h));
188
+ return map(insert(hex, ',', 2).split(','), function (i, h) {
189
+ return hex2dec(h);
190
+ });
190
191
  };
191
- exports.hex2rgb = hex2rgb;
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
- const parse_url = function (str) {
215
- const key = ['source', 'scheme', 'authority', 'userInfo', 'user', 'pass', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'fragment'],
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
- const m = parser.exec(str);
218
- let uri = {},
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
- exports.parse_url = parse_url;
246
- const addUrlParam = function (url, param, value = null) {
247
- if ((0, _is.isPlainObject)(param)) {
248
- (0, _traversal.each)(param, (key, val) => {
249
- url = addUrlParam(url, key, val);
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
- let parseUrl = parse_url(url),
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
- const params = parseUrl.query.split('&');
265
- let param_exists = false;
266
- for (let i = 0; i < params.length; i++) {
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
- exports.addUrlParam = addUrlParam;
286
- const decodeHtml = function (str) {
287
- if (!(0, _is.isString)(str)) return '';
285
+ export { _addUrlParam as addUrlParam };
286
+ export var decodeHtml = function decodeHtml(str) {
287
+ if (!isString(str)) return '';
288
288
  return str.replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#039;/g, "'");
289
289
  };
290
- exports.decodeHtml = decodeHtml;
291
- const htmlquotes = function (str) {
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, "&quot;").replace(/'/g, "&#039;");
294
293
  };
295
- exports.htmlquotes = htmlquotes;
296
- const htmlsimplequotes = function (str) {
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, "&#039;");
299
297
  };
300
- exports.htmlsimplequotes = htmlsimplequotes;
301
- const repeat = function (str, n) {
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
- exports.repeat = repeat;
306
- const stripTags = function (str, tag) {
307
- if ((0, _is.isString)(tag)) {
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
- exports.stripTags = stripTags;
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
- exports.toUrl = toUrl;
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
- exports.escapeRegex = escapeRegex;
327
- const camelCase = function (str) {
328
- (0, _traversal.foreach)('-_', char => {
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) => p1.toUpperCase());
325
+ return str.toLowerCase().replace(/[_-](\w)/g, function (match, p1) {
326
+ return p1.toUpperCase();
327
+ });
333
328
  };
334
- exports.camelCase = camelCase;
335
- const format = function (str, ...args) {
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
- (0, _traversal.each)(args, (i, arg) => {
338
- if ((0, _is.isString)(arg)) {
339
- const o = {};
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
- (0, _traversal.each)(arg, (placeholder, replacement) => {
344
- str = str.replace(new RegExp('\\{' + placeholder + '\\}', 'gm'), match => (0, _is.isUndefined)(replacement) ? match : replacement);
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
- exports.format = format;
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
- const toCssClassName = function (str) {
357
- return str.replace(/[^a-z0-9_-]/ig, s => {
358
- const c = s.charCodeAt(0);
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
- exports.toCssClassName = toCssClassName;
364
- const hilite = function (str, req, tag = 'strong') {
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
- let str_folded = noAccent(str).toLowerCase().replace(/[\[\]]+/g, '');
367
- let q_folded,
364
+ var str_folded = noAccent(str).toLowerCase().replace(/[\[\]]+/g, '');
365
+ var q_folded,
368
366
  re,
369
367
  hilite_hints = '';
370
- if (!(0, _is.isArray)(req)) {
368
+ if (!isArray(req)) {
371
369
  req = [req];
372
370
  }
373
- (0, _traversal.each)(req, (i, q) => {
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, `[${q_folded}]`);
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
- let spos = 0;
386
- let highlighted = '';
387
- let dirHook = 'end';
388
- (0, _traversal.each)(hilite_hints, (i, hint) => {
389
- const c = str.charAt(spos);
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 += `<${tag}>`;
389
+ highlighted += "<".concat(tag, ">");
392
390
  dirHook = 'start';
393
391
  } else if (hint === ']' && dirHook === 'start') {
394
- highlighted += `</${tag}>`;
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, '&lt;').replace(/>/g, '&gt;').replace(new RegExp(`&lt;${tag}&gt;`, 'g'), `<${tag}>`).replace(new RegExp(`&lt;/${tag}&gt;`, 'g'), `</${tag}>`).replace(new RegExp('&lt;br&gt;', 'g'), '<br>');
399
+ return highlighted.replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(new RegExp("&lt;".concat(tag, "&gt;"), 'g'), "<".concat(tag, ">")).replace(new RegExp("&lt;/".concat(tag, "&gt;"), 'g'), "</".concat(tag, ">")).replace(new RegExp('&lt;br&gt;', 'g'), '<br>');
402
400
  };
403
- exports.hilite = hilite;
404
- const formatSize = function (bytes, decimalPoint = ',') {
405
- let i = -1,
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 (!(0, _is.isInteger)(bytes)) {
409
+ if (!isInteger(bytes)) {
412
410
  decimals = 1;
413
411
  }
414
- const units = (0, _traversal.map)(['k', 'M', 'G', 'T', 'P', 'E'], (i, prefix) => {
415
- return prefix + (0, _i18n.translate)('unitByte');
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
- exports.formatSize = formatSize;
420
- const compareMixAlphaDigits = (a, b) => {
417
+ export var compareMixAlphaDigits = function compareMixAlphaDigits(a, b) {
421
418
  if (a === b) return 0;
422
- if ((0, _is.isInteger)(a) && (0, _is.isInteger)(b)) {
419
+ if (isInteger(a) && isInteger(b)) {
423
420
  return Math.sign(a - b);
424
421
  }
425
- let startEq = '';
426
- for (let i = 0; i < Math.min(a.length, b.length); i++) {
427
- if (a.charAt(i) === b.charAt(i) && !(0, _is.isInteger)(a)) {
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
- let nbA = '';
436
- let idxDigitA = null;
437
- (0, _traversal.each)(a, (i, c) => {
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
- let nbB = '';
452
- let idxDigitB = null;
453
- (0, _traversal.each)(b, (i, c) => {
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
- "use strict";
2
-
3
- var _traversal = require("./traversal.js");
4
- var stringFunctions = _interopRequireWildcard(require("./string.js"));
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
- const origSF = p[name];
10
- p[name] = function (...args) {
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(this, ...args);
14
+ return f.apply(void 0, [this].concat(args));
15
15
  };
16
16
  });