@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/traversal.js
CHANGED
|
@@ -1,78 +1,177 @@
|
|
|
1
|
-
|
|
1
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
4
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
5
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
6
|
+
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; } }
|
|
7
|
+
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; }
|
|
8
|
+
import { isArray, isArrayLike, isBoolean, isObject, isPlainObject, isString, isUndefined } from "./is.js";
|
|
9
|
+
import { isWindow } from "./dom.js";
|
|
10
|
+
import { sizeOf } from "./utils.js";
|
|
2
11
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
/**
|
|
13
|
+
* @template T
|
|
14
|
+
* @typedef {Array<T> | Set<T> | Map<any, T> | Object<string, T> | string} Collection
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Iterates over Arrays, Strings, Maps, Sets and plain Objects.
|
|
19
|
+
*
|
|
20
|
+
* The callback receives:
|
|
21
|
+
* (keyOrIndex, value, o, index)
|
|
22
|
+
*
|
|
23
|
+
* If the callback returns `false`, the iteration stops.
|
|
24
|
+
*
|
|
25
|
+
* @template T
|
|
26
|
+
* @param {Collection<T>} o
|
|
27
|
+
* @param {(key: number|string, value: T, o: Collection<T>, index: number) => (void|boolean)} callback
|
|
28
|
+
* @param {any} [context] Optional "this" binding for the callback
|
|
29
|
+
* @returns {typeof o} Returns the original input
|
|
30
|
+
*/
|
|
31
|
+
export var each = function each(o, callback, context) {
|
|
32
|
+
if (isPlainObject(o)) {
|
|
33
|
+
var index = -1;
|
|
34
|
+
for (var i in o) if (o.hasOwnProperty(i) && false === callback.call(context !== null && context !== void 0 ? context : o[i], i, o[i], o, ++index)) return;
|
|
35
|
+
} else if (isString(o)) {
|
|
36
|
+
var arr = o.split('');
|
|
37
|
+
for (var _i = 0; _i < arr.length; _i++) if (false === callback.call(context !== null && context !== void 0 ? context : arr[_i], _i, arr[_i], o, _i)) return;
|
|
38
|
+
return o;
|
|
39
|
+
} else if (o instanceof Map) {
|
|
40
|
+
var _index = 0;
|
|
41
|
+
var _iterator = _createForOfIteratorHelper(o.entries()),
|
|
42
|
+
_step;
|
|
43
|
+
try {
|
|
44
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
45
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
46
|
+
key = _step$value[0],
|
|
47
|
+
value = _step$value[1];
|
|
48
|
+
if (false === callback.call(context !== null && context !== void 0 ? context : value, key, value, o, _index++)) return;
|
|
49
|
+
}
|
|
50
|
+
} catch (err) {
|
|
51
|
+
_iterator.e(err);
|
|
52
|
+
} finally {
|
|
53
|
+
_iterator.f();
|
|
54
|
+
}
|
|
55
|
+
} else if (o instanceof Set) {
|
|
56
|
+
var _index2 = 0;
|
|
57
|
+
var _iterator2 = _createForOfIteratorHelper(o.values()),
|
|
58
|
+
_step2;
|
|
59
|
+
try {
|
|
60
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
61
|
+
var _value = _step2.value;
|
|
62
|
+
if (false === callback.call(context !== null && context !== void 0 ? context : _value, _index2, _value, o, _index2)) return;
|
|
63
|
+
_index2++;
|
|
64
|
+
}
|
|
65
|
+
} catch (err) {
|
|
66
|
+
_iterator2.e(err);
|
|
67
|
+
} finally {
|
|
68
|
+
_iterator2.f();
|
|
69
|
+
}
|
|
70
|
+
} else if (isArrayLike(o)) {
|
|
71
|
+
o = Array.from(o);
|
|
72
|
+
for (var _i2 = 0; _i2 < o.length; _i2++) if (false === callback.call(context || o[_i2], _i2, o[_i2], o, _i2)) return;
|
|
25
73
|
}
|
|
26
74
|
return o;
|
|
27
75
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Same as each except that key and value are reversed in callback
|
|
79
|
+
*
|
|
80
|
+
* The callback receives:
|
|
81
|
+
* (value, keyOrIndex, o, index)
|
|
82
|
+
*
|
|
83
|
+
* @template T
|
|
84
|
+
* @param {Collection<T>} o
|
|
85
|
+
* @param {(value: T, key: number|string, o: Collection<T>, index: number) => (void|boolean)} callback
|
|
86
|
+
* @param {any} [context] Optional "this" binding for the callback
|
|
87
|
+
* @returns {typeof o} Returns the original input
|
|
88
|
+
*/
|
|
89
|
+
export var foreach = function foreach(o, callback, context) {
|
|
90
|
+
return each(o, function (key, value, o, index) {
|
|
91
|
+
return callback.apply(context || value, [value, key, o, index]);
|
|
92
|
+
}, context);
|
|
31
93
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Iterates over Arrays, Strings, Maps, Sets and plain Objects.
|
|
97
|
+
* Returns an array from the callback results.
|
|
98
|
+
* Values strictly equal to `null` are skipped.
|
|
99
|
+
* Values strictly equal to `false` stops the iteration.
|
|
100
|
+
*
|
|
101
|
+
* The callback receives:
|
|
102
|
+
* (keyOrIndex, value, o, index)
|
|
103
|
+
*
|
|
104
|
+
* @template T,R
|
|
105
|
+
* @param {Collection<T>} o
|
|
106
|
+
* @param {(key: number|string, value: T, o: Collection<T>, index: number) => (R|null|false)} callback
|
|
107
|
+
* @param {any} [context] Optional "this" binding for the callback
|
|
108
|
+
* @returns {Array} Returns the resulted array
|
|
109
|
+
*/
|
|
110
|
+
export var map = function map(o, callback, context) {
|
|
111
|
+
var results = [];
|
|
35
112
|
each(o, function (index, value, o, i) {
|
|
36
|
-
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
}
|
|
113
|
+
var response = callback.call(context, index, value, o, i);
|
|
114
|
+
if (false === response) return false;
|
|
115
|
+
if (null !== response) results.push(response);
|
|
40
116
|
});
|
|
41
117
|
return results;
|
|
42
118
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Reduces a collection to a single value
|
|
122
|
+
*
|
|
123
|
+
* The reducer receives:
|
|
124
|
+
* (accumulator, value, index, source)
|
|
125
|
+
*
|
|
126
|
+
* @template T,R
|
|
127
|
+
* @param {Collection<T>} o
|
|
128
|
+
* @param {(accumulator: R|T, value: T, key: any, index: number, o: Collection<T>) => R} callback
|
|
129
|
+
* @param {R} [initialValue] la valeur initiale
|
|
130
|
+
* @returns {R} Returns the accumulated value
|
|
131
|
+
*/
|
|
132
|
+
export var reduce = function reduce(o, callback, initialValue) {
|
|
133
|
+
var isInitialValueDefined = !isUndefined(initialValue);
|
|
134
|
+
if (!sizeOf(o) && !isInitialValueDefined) {
|
|
47
135
|
throw new Error('Nothing to reduce and no initial value');
|
|
48
136
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
accumulator = callback(accumulator, v, i, o);
|
|
137
|
+
var accumulator = !isInitialValueDefined ? map(o, function (key, v, o, i) {
|
|
138
|
+
return i === 0 ? v : null;
|
|
139
|
+
})[0] : initialValue;
|
|
140
|
+
each(o, function (key, v, o, i) {
|
|
141
|
+
if (i === 0 && !isInitialValueDefined) return;
|
|
142
|
+
accumulator = callback(accumulator, v, key, i, o);
|
|
55
143
|
});
|
|
56
144
|
return accumulator;
|
|
57
145
|
};
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Creates a shallow or deep copy of one or more objects or arrays
|
|
149
|
+
* If the first argument is `true`, nested plain objects are merged recursively.
|
|
150
|
+
*
|
|
151
|
+
* @template T
|
|
152
|
+
* @param {...(boolean|T)} args
|
|
153
|
+
* @returns {T} A copy of the merged result
|
|
154
|
+
*/
|
|
155
|
+
var _extend = function extend() {
|
|
156
|
+
var deep = false;
|
|
157
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
158
|
+
args[_key] = arguments[_key];
|
|
159
|
+
}
|
|
160
|
+
if (isBoolean(args[0])) {
|
|
62
161
|
deep = args.shift();
|
|
63
162
|
}
|
|
64
|
-
if (args.length < 2 ||
|
|
163
|
+
if (args.length < 2 || isUndefined(args[0]) || null === args[0]) {
|
|
65
164
|
return args[0];
|
|
66
165
|
}
|
|
67
|
-
|
|
68
|
-
if (!
|
|
166
|
+
var dest = args[0];
|
|
167
|
+
if (!isObject(dest)) {
|
|
69
168
|
args[0] = dest = {};
|
|
70
169
|
}
|
|
71
|
-
|
|
72
|
-
if (
|
|
73
|
-
for (
|
|
74
|
-
if (deep &&
|
|
75
|
-
dest[name] =
|
|
170
|
+
foreach(args.slice(1), function (src) {
|
|
171
|
+
if (isObject(src)) {
|
|
172
|
+
for (var name in src) {
|
|
173
|
+
if (deep && isPlainObject(src[name])) {
|
|
174
|
+
dest[name] = _extend(true, {}, dest[name], src[name]);
|
|
76
175
|
} else {
|
|
77
176
|
dest[name] = src[name];
|
|
78
177
|
}
|
|
@@ -81,30 +180,54 @@ const extend = function (...args) {
|
|
|
81
180
|
});
|
|
82
181
|
return dest;
|
|
83
182
|
};
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Creates a deep copy of an Object or Array
|
|
186
|
+
*
|
|
187
|
+
* @template T
|
|
188
|
+
* @param {T} o
|
|
189
|
+
* @returns {T} The copy of o
|
|
190
|
+
*/
|
|
191
|
+
export { _extend as extend };
|
|
192
|
+
var _clone = function clone(o) {
|
|
193
|
+
if (!isObject(o) && !isArray(o) || isWindow(o)) {
|
|
87
194
|
return o;
|
|
88
195
|
}
|
|
89
|
-
|
|
90
|
-
each(o, (
|
|
91
|
-
if (
|
|
92
|
-
c[
|
|
196
|
+
var c = isObject(o) ? {} : [];
|
|
197
|
+
each(o, function (key, value) {
|
|
198
|
+
if (isObject(value)) {
|
|
199
|
+
c[key] = _clone(value);
|
|
93
200
|
} else {
|
|
94
|
-
c[
|
|
201
|
+
c[key] = value;
|
|
95
202
|
}
|
|
96
203
|
});
|
|
97
204
|
return c;
|
|
98
205
|
};
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Merge multiple collections into a single array
|
|
209
|
+
*
|
|
210
|
+
* @template T
|
|
211
|
+
* @param {Collection<T>} first
|
|
212
|
+
* @param {Collection<T>} [second]
|
|
213
|
+
* @param {...Collection<T>} args Remaining collections to merge
|
|
214
|
+
* @returns {Array<T>} the resulted merged array
|
|
215
|
+
*/
|
|
216
|
+
export { _clone as clone };
|
|
217
|
+
var _merge = function merge(first) {
|
|
218
|
+
var second = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
219
|
+
var result = map(first, function (i, elem) {
|
|
220
|
+
return elem;
|
|
221
|
+
});
|
|
102
222
|
each(second, function (i, elem) {
|
|
103
223
|
result.push(elem);
|
|
104
224
|
});
|
|
225
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|
226
|
+
args[_key2 - 2] = arguments[_key2];
|
|
227
|
+
}
|
|
105
228
|
if (args.length) {
|
|
106
|
-
return
|
|
229
|
+
return _merge.apply(void 0, [result].concat(args));
|
|
107
230
|
}
|
|
108
231
|
return result;
|
|
109
232
|
};
|
|
110
|
-
|
|
233
|
+
export { _merge as merge };
|
package/dist/cjs/utils.js
CHANGED
|
@@ -1,35 +1,32 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.throttle = exports.strParseFloat = exports.sizeOf = exports.noop = exports.flatten = exports.equals = exports.debounce = void 0;
|
|
7
|
-
var _traversal = require("./traversal.js");
|
|
8
|
-
var _is = require("./is.js");
|
|
9
|
-
const equals = function (o1, o2, seen = new WeakMap()) {
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
import { each, map } from "./traversal.js";
|
|
3
|
+
import { isArray, isFunction, isObject, isUndefined } from "./is.js";
|
|
4
|
+
var _equals = function equals(o1, o2) {
|
|
5
|
+
var seen = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new WeakMap();
|
|
10
6
|
if (o1 === o2) return true;
|
|
11
|
-
if (
|
|
7
|
+
if (_typeof(o1) !== _typeof(o2) || o1 == null || o2 == null) {
|
|
12
8
|
return false;
|
|
13
9
|
}
|
|
14
|
-
if (
|
|
10
|
+
if (isObject(o1)) {
|
|
15
11
|
if (seen.has(o1)) {
|
|
16
12
|
return seen.get(o1) === o2;
|
|
17
13
|
}
|
|
18
14
|
seen.set(o1, o2);
|
|
19
|
-
|
|
15
|
+
var keys1 = Object.keys(o1),
|
|
20
16
|
keys2 = Object.keys(o2);
|
|
21
17
|
if (keys1.length !== keys2.length) {
|
|
22
18
|
return false;
|
|
23
19
|
}
|
|
24
|
-
return keys1.every(
|
|
20
|
+
return keys1.every(function (key) {
|
|
21
|
+
return _equals(o1[key], o2[key], seen);
|
|
22
|
+
});
|
|
25
23
|
}
|
|
26
24
|
return false;
|
|
27
25
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return (0, _traversal.map)(o, noop).length;
|
|
26
|
+
export { _equals as equals };
|
|
27
|
+
export var noop = function noop() {};
|
|
28
|
+
export var sizeOf = function sizeOf(o) {
|
|
29
|
+
return map(o, noop).length;
|
|
33
30
|
};
|
|
34
31
|
|
|
35
32
|
/**
|
|
@@ -48,36 +45,43 @@ const sizeOf = function (o) {
|
|
|
48
45
|
* console.log(result);
|
|
49
46
|
* // Output: [1, 2, 3, 4]
|
|
50
47
|
*/
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
var _flatten = function flatten(o) {
|
|
49
|
+
if (isObject(o) || isArray(o)) {
|
|
50
|
+
return [].concat.apply([], map(o, function (i, val) {
|
|
51
|
+
return _flatten(val);
|
|
52
|
+
}));
|
|
55
53
|
}
|
|
56
54
|
return o;
|
|
57
55
|
};
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
export { _flatten as flatten };
|
|
57
|
+
export var strParseFloat = function strParseFloat(val) {
|
|
60
58
|
if (!val) return 0;
|
|
61
59
|
return parseFloat((val + '').replace(/\s/g, '').replace(',', '.'));
|
|
62
60
|
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
61
|
+
export var throttle = function throttle(func, wait) {
|
|
62
|
+
var leading = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
63
|
+
var trailing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
|
|
64
|
+
var context = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
|
|
65
|
+
var timeout = null;
|
|
66
|
+
var lastCall = 0;
|
|
67
|
+
return function () {
|
|
68
|
+
var _this = this;
|
|
69
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
70
|
+
args[_key] = arguments[_key];
|
|
71
|
+
}
|
|
72
|
+
var now = Date.now();
|
|
69
73
|
if (!lastCall && !leading) {
|
|
70
74
|
lastCall = now;
|
|
71
75
|
}
|
|
72
|
-
|
|
76
|
+
var remaining = wait - (now - lastCall);
|
|
73
77
|
if (remaining <= 0 || remaining > wait) {
|
|
74
78
|
lastCall = now;
|
|
75
79
|
func.apply(context || this, args);
|
|
76
80
|
} else if (!timeout && trailing) {
|
|
77
|
-
timeout = setTimeout(()
|
|
81
|
+
timeout = setTimeout(function () {
|
|
78
82
|
timeout = null;
|
|
79
83
|
lastCall = leading ? Date.now() : 0;
|
|
80
|
-
func.apply(context ||
|
|
84
|
+
func.apply(context || _this, args);
|
|
81
85
|
}, remaining);
|
|
82
86
|
}
|
|
83
87
|
};
|
|
@@ -93,12 +97,17 @@ const throttle = function (func, wait, leading = true, trailing = true, context
|
|
|
93
97
|
* @param {Object} [context=null] - The context to bind to `func`.
|
|
94
98
|
* @returns {Function} The debounced function.
|
|
95
99
|
*/
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
export var debounce = function debounce(func, wait) {
|
|
101
|
+
var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
102
|
+
var context = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
103
|
+
var timeout = null;
|
|
104
|
+
var lastCall = 0;
|
|
105
|
+
return function () {
|
|
106
|
+
var _this2 = this;
|
|
107
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
108
|
+
args[_key2] = arguments[_key2];
|
|
109
|
+
}
|
|
110
|
+
var now = Date.now();
|
|
102
111
|
if (immediate) {
|
|
103
112
|
if (!lastCall) {
|
|
104
113
|
lastCall = now;
|
|
@@ -107,12 +116,11 @@ const debounce = function (func, wait, immediate = false, context = null) {
|
|
|
107
116
|
}
|
|
108
117
|
clearTimeout(timeout);
|
|
109
118
|
timeout = null;
|
|
110
|
-
timeout = setTimeout(()
|
|
119
|
+
timeout = setTimeout(function () {
|
|
111
120
|
lastCall = now;
|
|
112
121
|
clearTimeout(timeout);
|
|
113
122
|
timeout = null;
|
|
114
|
-
func.apply(context ||
|
|
123
|
+
func.apply(context || _this2, args);
|
|
115
124
|
}, wait);
|
|
116
125
|
};
|
|
117
|
-
};
|
|
118
|
-
exports.debounce = debounce;
|
|
126
|
+
};
|
package/dist/esm/array.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { each } from "./traversal.js";
|
|
2
|
+
import { isArray, isInteger, isObject, isString, isUndefined } from "./is.js";
|
|
3
|
+
import { round } from "./math.js";
|
|
4
|
+
import { equals } from "./utils.js";
|
|
2
5
|
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.range = exports.indexOf = exports.inArray = exports.compareArray = exports.array_unique = exports.array_diff = exports.arrayUnique = exports.arrayDiff = void 0;
|
|
7
|
-
var _traversal = require("./traversal.js");
|
|
8
|
-
var _is = require("./is.js");
|
|
9
|
-
var _math = require("./math.js");
|
|
10
|
-
var _utils = require("./utils.js");
|
|
11
6
|
/**
|
|
12
7
|
* Checks if a value exists in an array or an object
|
|
13
8
|
*
|
|
@@ -29,9 +24,11 @@ var _utils = require("./utils.js");
|
|
|
29
24
|
* inArray(5, [1, 2, 3])
|
|
30
25
|
* // → false
|
|
31
26
|
*/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
export var inArray = function inArray(value, arr) {
|
|
28
|
+
var index = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
29
|
+
var strict = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
30
|
+
var ret = false;
|
|
31
|
+
each(arr, function (i, val) {
|
|
35
32
|
if (i >= index) {
|
|
36
33
|
if (strict) {
|
|
37
34
|
if (val === value) {
|
|
@@ -39,11 +36,11 @@ const inArray = function (value, arr, index = 0, strict = false) {
|
|
|
39
36
|
return false;
|
|
40
37
|
}
|
|
41
38
|
} else {
|
|
42
|
-
if (
|
|
43
|
-
ret =
|
|
39
|
+
if (isObject(value) && isObject(val)) {
|
|
40
|
+
ret = equals(val, value);
|
|
44
41
|
return false;
|
|
45
|
-
} else if (
|
|
46
|
-
ret =
|
|
42
|
+
} else if (isArray(value) && isObject(val)) {
|
|
43
|
+
ret = _compareArray(val, value);
|
|
47
44
|
return false;
|
|
48
45
|
} else if (val == value) {
|
|
49
46
|
ret = true;
|
|
@@ -54,8 +51,8 @@ const inArray = function (value, arr, index = 0, strict = false) {
|
|
|
54
51
|
});
|
|
55
52
|
return ret;
|
|
56
53
|
};
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
export var indexOf = function indexOf(arr, elt) {
|
|
55
|
+
var from = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
59
56
|
from = from < 0 ? Math.ceil(from) + arr.length : Math.floor(from);
|
|
60
57
|
for (; from < arr.length; from++) {
|
|
61
58
|
if (from in arr && arr[from] === elt) {
|
|
@@ -64,17 +61,16 @@ const indexOf = function (arr, elt, from = 0) {
|
|
|
64
61
|
}
|
|
65
62
|
return -1;
|
|
66
63
|
};
|
|
67
|
-
|
|
68
|
-
const compareArray = function (a1, a2) {
|
|
64
|
+
var _compareArray = function compareArray(a1, a2) {
|
|
69
65
|
if (a1.length !== a2.length) {
|
|
70
66
|
return false;
|
|
71
67
|
} else {
|
|
72
|
-
for (
|
|
73
|
-
if (
|
|
74
|
-
if (!
|
|
68
|
+
for (var i = 0; i < a1.length; i++) {
|
|
69
|
+
if (isArray(a1[i])) {
|
|
70
|
+
if (!isArray(a2[i])) {
|
|
75
71
|
return false;
|
|
76
72
|
}
|
|
77
|
-
return
|
|
73
|
+
return _compareArray(a1[i], a2[i]);
|
|
78
74
|
} else if (a1[i] !== a2[i]) {
|
|
79
75
|
return false;
|
|
80
76
|
}
|
|
@@ -82,35 +78,39 @@ const compareArray = function (a1, a2) {
|
|
|
82
78
|
}
|
|
83
79
|
return true;
|
|
84
80
|
};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
return arr.filter((el, index, arr)
|
|
81
|
+
export { _compareArray as compareArray };
|
|
82
|
+
export var arrayUnique = function arrayUnique(arr) {
|
|
83
|
+
return arr.filter(function (el, index, arr) {
|
|
84
|
+
return index === indexOf(arr, el);
|
|
85
|
+
});
|
|
88
86
|
};
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
return array1.filter(
|
|
87
|
+
export var array_unique = arrayUnique;
|
|
88
|
+
export var arrayDiff = function arrayDiff(array1, array2) {
|
|
89
|
+
var strict = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
90
|
+
return array1.filter(function (item) {
|
|
91
|
+
return !inArray(item, array2, 0, strict);
|
|
92
|
+
});
|
|
93
93
|
};
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
94
|
+
export var array_diff = arrayUnique;
|
|
95
|
+
export var range = function range(size) {
|
|
96
|
+
var startAt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
97
|
+
var step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
98
|
+
size = round(size);
|
|
99
|
+
step = round(step);
|
|
100
|
+
var rng = [];
|
|
101
|
+
if (isUndefined(startAt) || size < 1 || step === 0 || size < Math.abs(step)) {
|
|
101
102
|
return rng;
|
|
102
103
|
}
|
|
103
|
-
|
|
104
|
-
if (
|
|
104
|
+
var end = size * step;
|
|
105
|
+
if (isString(startAt)) {
|
|
105
106
|
startAt = startAt.charCodeAt(0);
|
|
106
|
-
for (
|
|
107
|
+
for (var i = 0; step > 0 ? i < end : i > end; i += step) {
|
|
107
108
|
rng.push(String.fromCharCode(startAt + i));
|
|
108
109
|
}
|
|
109
|
-
} else if (
|
|
110
|
-
for (
|
|
111
|
-
rng.push(startAt +
|
|
110
|
+
} else if (isInteger(startAt)) {
|
|
111
|
+
for (var _i = 0; step > 0 ? _i < end : _i > end; _i += step) {
|
|
112
|
+
rng.push(startAt + _i);
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
return rng;
|
|
115
|
-
};
|
|
116
|
-
exports.range = range;
|
|
116
|
+
};
|