@lowentry/utils 1.23.2 → 1.24.1

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/index.d.ts CHANGED
@@ -70,7 +70,7 @@ export declare function IS_OBJECT(value: any): boolean;
70
70
  export declare function ISSET(value: any): boolean;
71
71
 
72
72
  export declare namespace LeUtils {
73
- export function equals(value: any, other: any): boolean;
73
+ export function equals(a: any, b: any): boolean;
74
74
  export function equalsMapLike(elementsA: any, elementsB: any, ignoreKeys?: any[]): boolean;
75
75
  export function clone(value: any): any;
76
76
  export function onDomReady(callback: Function): {
package/index.js CHANGED
@@ -1,12 +1,11 @@
1
1
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
4
- import _typeof from '@babel/runtime/helpers/typeof';
5
4
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
+ import _typeof from '@babel/runtime/helpers/typeof';
6
6
  import '@babel/runtime/helpers/awaitAsyncGenerator';
7
7
  import _wrapAsyncGenerator from '@babel/runtime/helpers/wrapAsyncGenerator';
8
8
  import _regeneratorRuntime from '@babel/runtime/regenerator';
9
- import FastDeepEqual from 'fast-deep-equal';
10
9
  import CloneDeep from 'clone-deep';
11
10
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
12
11
  import _createClass from '@babel/runtime/helpers/createClass';
@@ -248,14 +247,151 @@ var findTransactionalValueChange = function findTransactionalValueChange(transac
248
247
  };
249
248
  var LeUtils = {
250
249
  /**
251
- * A deep equals implementation (npm package "fast-deep-equal").
250
+ * A deep equals implementation.
252
251
  *
253
- * @param {*} value The value to compare.
254
- * @param {*} other The other value to compare.
252
+ * @param {*} a The value to compare.
253
+ * @param {*} b The other value to compare.
255
254
  * @returns {boolean} Returns true if the values are equivalent.
256
255
  */
257
- equals: function equals(value, other) {
258
- return FastDeepEqual(value, other);
256
+ equals: function equals(a, b) {
257
+ if (a === b) {
258
+ return true;
259
+ }
260
+ if (a && b && _typeof(a) == 'object' && _typeof(b) == 'object') {
261
+ if (a.constructor !== b.constructor) {
262
+ return false;
263
+ }
264
+ if (Array.isArray(a)) {
265
+ var _length = a.length;
266
+ if (_length != b.length) {
267
+ return false;
268
+ }
269
+ for (var i = _length; i-- !== 0;) {
270
+ if (!LeUtils.equals(a[i], b[i])) {
271
+ return false;
272
+ }
273
+ }
274
+ return true;
275
+ }
276
+ if (a instanceof Map && b instanceof Map) {
277
+ if (a.size !== b.size) {
278
+ return false;
279
+ }
280
+ var _iterator = _createForOfIteratorHelper$1(a.entries()),
281
+ _step;
282
+ try {
283
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
284
+ var _i = _step.value;
285
+ if (!b.has(_i[0])) {
286
+ return false;
287
+ }
288
+ }
289
+ } catch (err) {
290
+ _iterator.e(err);
291
+ } finally {
292
+ _iterator.f();
293
+ }
294
+ var _iterator2 = _createForOfIteratorHelper$1(a.entries()),
295
+ _step2;
296
+ try {
297
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
298
+ var _i2 = _step2.value;
299
+ if (!LeUtils.equals(_i2[1], b.get(_i2[0]))) {
300
+ return false;
301
+ }
302
+ }
303
+ } catch (err) {
304
+ _iterator2.e(err);
305
+ } finally {
306
+ _iterator2.f();
307
+ }
308
+ return true;
309
+ }
310
+ if (a instanceof Set && b instanceof Set) {
311
+ if (a.size !== b.size) {
312
+ return false;
313
+ }
314
+ var _iterator3 = _createForOfIteratorHelper$1(a.entries()),
315
+ _step3;
316
+ try {
317
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
318
+ var _i3 = _step3.value;
319
+ if (!b.has(_i3[0])) {
320
+ return false;
321
+ }
322
+ }
323
+ } catch (err) {
324
+ _iterator3.e(err);
325
+ } finally {
326
+ _iterator3.f();
327
+ }
328
+ return true;
329
+ }
330
+ if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
331
+ if ('length' in a && 'length' in b && typeof a.length === 'number' && typeof b.length === 'number') {
332
+ if (a.length != b.length) {
333
+ return false;
334
+ }
335
+ for (var _i4 = a.length; _i4-- !== 0;) {
336
+ if (a[_i4] !== b[_i4]) {
337
+ return false;
338
+ }
339
+ }
340
+ return true;
341
+ }
342
+ if ('byteLength' in a && 'byteLength' in b && typeof a.byteLength === 'number' && typeof b.byteLength === 'number' && 'getUint8' in a && 'getUint8' in b && typeof a.getUint8 === 'function' && typeof b.getUint8 === 'function') {
343
+ if (a.byteLength !== b.byteLength) {
344
+ return false;
345
+ }
346
+ for (var _i5 = a.byteLength; _i5-- !== 0;) {
347
+ if (a.getUint8(_i5) !== b.getUint8(_i5)) {
348
+ return false;
349
+ }
350
+ }
351
+ return true;
352
+ }
353
+ return false;
354
+ }
355
+ if (a.constructor === RegExp) {
356
+ return a.source === b.source && a.flags === b.flags;
357
+ }
358
+ if (a.valueOf !== Object.prototype.valueOf) {
359
+ return a.valueOf() === b.valueOf();
360
+ }
361
+ if (a.toString !== Object.prototype.toString) {
362
+ return a.toString() === b.toString();
363
+ }
364
+ if (a.constructor && a.constructor !== Object && a.constructor !== Array && Object.getPrototypeOf(a) !== Object.prototype) {
365
+ if (typeof a.equals === 'function') {
366
+ return a.equals(b);
367
+ }
368
+ return false;
369
+ }
370
+ var keys = Object.keys(a);
371
+ var length = keys.length;
372
+ if (length !== Object.keys(b).length) {
373
+ return false;
374
+ }
375
+ for (var _i6 = length; _i6-- !== 0;) {
376
+ if (!Object.prototype.hasOwnProperty.call(b, keys[_i6])) {
377
+ return false;
378
+ }
379
+ }
380
+ for (var _i7 = length; _i7-- !== 0;) {
381
+ var key = keys[_i7];
382
+ if (key === '_owner' && a.$$typeof) {
383
+ // React-specific: avoid traversing _owner, it contains circular references, and is not needed when comparing the actual element
384
+ continue;
385
+ }
386
+ if (!LeUtils.equals(a[key], b[key])) {
387
+ return false;
388
+ }
389
+ }
390
+ return true;
391
+ }
392
+
393
+ // true if both are NaN, false otherwise
394
+ return a !== a && b !== b;
259
395
  },
260
396
  /**
261
397
  * Performs a deep equality comparison between two collections (objects, maps, arrays, etc), sorting on the keys before comparing them.
@@ -702,20 +838,20 @@ var LeUtils = {
702
838
  }
703
839
  if (typeof (elements === null || elements === void 0 ? void 0 : elements[Symbol.iterator]) === 'function') {
704
840
  var i = 0;
705
- var _iterator = _createForOfIteratorHelper$1(elements),
706
- _step;
841
+ var _iterator4 = _createForOfIteratorHelper$1(elements),
842
+ _step4;
707
843
  try {
708
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
709
- var value = _step.value;
844
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
845
+ var value = _step4.value;
710
846
  if (i === index) {
711
847
  return value;
712
848
  }
713
849
  i++;
714
850
  }
715
851
  } catch (err) {
716
- _iterator.e(err);
852
+ _iterator4.e(err);
717
853
  } finally {
718
- _iterator.f();
854
+ _iterator4.f();
719
855
  }
720
856
  return undefined;
721
857
  }
@@ -763,7 +899,7 @@ var LeUtils = {
763
899
  eachIterator: function eachIterator(elements) {
764
900
  var optionalSkipHasOwnPropertyCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
765
901
  return /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
766
- var i, _i, _iterator2, _step2, _step2$value, _i2, value, _iterator3, _step3, _value, _i3, _iterator4, _step4, _value2, buffer, _i4, _buffer, entry, _i5, _t, _t2, _t3, _t4, _t5, _t6, _t7;
902
+ var i, _i8, _iterator5, _step5, _step5$value, _i9, value, _iterator6, _step6, _value, _i0, _iterator7, _step7, _value2, buffer, _i1, _buffer, entry, _i10, _t, _t2, _t3, _t4, _t5, _t6, _t7;
767
903
  return _regeneratorRuntime.wrap(function (_context) {
768
904
  while (1) switch (_context.prev = _context.next) {
769
905
  case 0:
@@ -802,13 +938,13 @@ var LeUtils = {
802
938
  _context.next = 8;
803
939
  break;
804
940
  }
805
- _i = _t2.value;
806
- if (!(optionalSkipHasOwnPropertyCheck === true || Object.prototype.hasOwnProperty.call(elements, _i))) {
941
+ _i8 = _t2.value;
942
+ if (!(optionalSkipHasOwnPropertyCheck === true || Object.prototype.hasOwnProperty.call(elements, _i8))) {
807
943
  _context.next = 7;
808
944
  break;
809
945
  }
810
946
  _context.next = 7;
811
- return [elements[_i], _i];
947
+ return [elements[_i8], _i8];
812
948
  case 7:
813
949
  _context.next = 6;
814
950
  break;
@@ -819,17 +955,17 @@ var LeUtils = {
819
955
  _context.next = 17;
820
956
  break;
821
957
  }
822
- _iterator2 = _createForOfIteratorHelper$1(elements);
958
+ _iterator5 = _createForOfIteratorHelper$1(elements);
823
959
  _context.prev = 10;
824
- _iterator2.s();
960
+ _iterator5.s();
825
961
  case 11:
826
- if ((_step2 = _iterator2.n()).done) {
962
+ if ((_step5 = _iterator5.n()).done) {
827
963
  _context.next = 13;
828
964
  break;
829
965
  }
830
- _step2$value = _slicedToArray(_step2.value, 2), _i2 = _step2$value[0], value = _step2$value[1];
966
+ _step5$value = _slicedToArray(_step5.value, 2), _i9 = _step5$value[0], value = _step5$value[1];
831
967
  _context.next = 12;
832
- return [value, _i2];
968
+ return [value, _i9];
833
969
  case 12:
834
970
  _context.next = 11;
835
971
  break;
@@ -839,10 +975,10 @@ var LeUtils = {
839
975
  case 14:
840
976
  _context.prev = 14;
841
977
  _t3 = _context["catch"](10);
842
- _iterator2.e(_t3);
978
+ _iterator5.e(_t3);
843
979
  case 15:
844
980
  _context.prev = 15;
845
- _iterator2.f();
981
+ _iterator5.f();
846
982
  return _context.finish(15);
847
983
  case 16:
848
984
  return _context.abrupt("return");
@@ -851,15 +987,15 @@ var LeUtils = {
851
987
  _context.next = 25;
852
988
  break;
853
989
  }
854
- _iterator3 = _createForOfIteratorHelper$1(elements);
990
+ _iterator6 = _createForOfIteratorHelper$1(elements);
855
991
  _context.prev = 18;
856
- _iterator3.s();
992
+ _iterator6.s();
857
993
  case 19:
858
- if ((_step3 = _iterator3.n()).done) {
994
+ if ((_step6 = _iterator6.n()).done) {
859
995
  _context.next = 21;
860
996
  break;
861
997
  }
862
- _value = _step3.value;
998
+ _value = _step6.value;
863
999
  _context.next = 20;
864
1000
  return [_value, _value];
865
1001
  case 20:
@@ -871,10 +1007,10 @@ var LeUtils = {
871
1007
  case 22:
872
1008
  _context.prev = 22;
873
1009
  _t4 = _context["catch"](18);
874
- _iterator3.e(_t4);
1010
+ _iterator6.e(_t4);
875
1011
  case 23:
876
1012
  _context.prev = 23;
877
- _iterator3.f();
1013
+ _iterator6.f();
878
1014
  return _context.finish(23);
879
1015
  case 24:
880
1016
  return _context.abrupt("return");
@@ -887,20 +1023,20 @@ var LeUtils = {
887
1023
  _context.next = 34;
888
1024
  break;
889
1025
  }
890
- _i3 = 0;
891
- _iterator4 = _createForOfIteratorHelper$1(elements);
1026
+ _i0 = 0;
1027
+ _iterator7 = _createForOfIteratorHelper$1(elements);
892
1028
  _context.prev = 26;
893
- _iterator4.s();
1029
+ _iterator7.s();
894
1030
  case 27:
895
- if ((_step4 = _iterator4.n()).done) {
1031
+ if ((_step7 = _iterator7.n()).done) {
896
1032
  _context.next = 30;
897
1033
  break;
898
1034
  }
899
- _value2 = _step4.value;
1035
+ _value2 = _step7.value;
900
1036
  _context.next = 28;
901
- return [_value2, _i3];
1037
+ return [_value2, _i0];
902
1038
  case 28:
903
- _i3++;
1039
+ _i0++;
904
1040
  case 29:
905
1041
  _context.next = 27;
906
1042
  break;
@@ -910,10 +1046,10 @@ var LeUtils = {
910
1046
  case 31:
911
1047
  _context.prev = 31;
912
1048
  _t5 = _context["catch"](26);
913
- _iterator4.e(_t5);
1049
+ _iterator7.e(_t5);
914
1050
  case 32:
915
1051
  _context.prev = 32;
916
- _iterator4.f();
1052
+ _iterator7.f();
917
1053
  return _context.finish(32);
918
1054
  case 33:
919
1055
  return _context.abrupt("return");
@@ -926,17 +1062,17 @@ var LeUtils = {
926
1062
  elements.forEach(function (value, i) {
927
1063
  buffer.push([value, i]);
928
1064
  });
929
- _i4 = 0, _buffer = buffer;
1065
+ _i1 = 0, _buffer = buffer;
930
1066
  case 35:
931
- if (!(_i4 < _buffer.length)) {
1067
+ if (!(_i1 < _buffer.length)) {
932
1068
  _context.next = 37;
933
1069
  break;
934
1070
  }
935
- entry = _buffer[_i4];
1071
+ entry = _buffer[_i1];
936
1072
  _context.next = 36;
937
1073
  return entry;
938
1074
  case 36:
939
- _i4++;
1075
+ _i1++;
940
1076
  _context.next = 35;
941
1077
  break;
942
1078
  case 37:
@@ -952,13 +1088,13 @@ var LeUtils = {
952
1088
  _context.next = 41;
953
1089
  break;
954
1090
  }
955
- _i5 = _t7.value;
956
- if (!(optionalSkipHasOwnPropertyCheck === true || Object.prototype.hasOwnProperty.call(elements, _i5))) {
1091
+ _i10 = _t7.value;
1092
+ if (!(optionalSkipHasOwnPropertyCheck === true || Object.prototype.hasOwnProperty.call(elements, _i10))) {
957
1093
  _context.next = 40;
958
1094
  break;
959
1095
  }
960
1096
  _context.next = 40;
961
- return [elements[_i5], _i5];
1097
+ return [elements[_i10], _i10];
962
1098
  case 40:
963
1099
  _context.next = 39;
964
1100
  break;
@@ -983,21 +1119,21 @@ var LeUtils = {
983
1119
  */
984
1120
  each: function each(elements, callback) {
985
1121
  var optionalSkipHasOwnPropertyCheck = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
986
- var _iterator5 = _createForOfIteratorHelper$1(LeUtils.eachIterator(elements, optionalSkipHasOwnPropertyCheck)),
987
- _step5;
1122
+ var _iterator8 = _createForOfIteratorHelper$1(LeUtils.eachIterator(elements, optionalSkipHasOwnPropertyCheck)),
1123
+ _step8;
988
1124
  try {
989
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
990
- var _step5$value = _slicedToArray(_step5.value, 2),
991
- value = _step5$value[0],
992
- key = _step5$value[1];
1125
+ for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
1126
+ var _step8$value = _slicedToArray(_step8.value, 2),
1127
+ value = _step8$value[0],
1128
+ key = _step8$value[1];
993
1129
  if (callback.call(value, value, key) === false) {
994
1130
  break;
995
1131
  }
996
1132
  }
997
1133
  } catch (err) {
998
- _iterator5.e(err);
1134
+ _iterator8.e(err);
999
1135
  } finally {
1000
- _iterator5.f();
1136
+ _iterator8.f();
1001
1137
  }
1002
1138
  return elements;
1003
1139
  },
@@ -1106,9 +1242,9 @@ var LeUtils = {
1106
1242
  var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(elements, asyncCallback) {
1107
1243
  var parallelCount,
1108
1244
  optionalSkipHasOwnPropertyCheck,
1109
- _iterator6,
1110
- _step6,
1111
- _step6$value,
1245
+ _iterator9,
1246
+ _step9,
1247
+ _step9$value,
1112
1248
  value,
1113
1249
  key,
1114
1250
  _args5 = arguments,
@@ -1133,15 +1269,15 @@ var LeUtils = {
1133
1269
  case 1:
1134
1270
  return _context5.abrupt("return", _context5.sent);
1135
1271
  case 2:
1136
- _iterator6 = _createForOfIteratorHelper$1(LeUtils.eachIterator(elements, optionalSkipHasOwnPropertyCheck));
1272
+ _iterator9 = _createForOfIteratorHelper$1(LeUtils.eachIterator(elements, optionalSkipHasOwnPropertyCheck));
1137
1273
  _context5.prev = 3;
1138
- _iterator6.s();
1274
+ _iterator9.s();
1139
1275
  case 4:
1140
- if ((_step6 = _iterator6.n()).done) {
1276
+ if ((_step9 = _iterator9.n()).done) {
1141
1277
  _context5.next = 7;
1142
1278
  break;
1143
1279
  }
1144
- _step6$value = _slicedToArray(_step6.value, 2), value = _step6$value[0], key = _step6$value[1];
1280
+ _step9$value = _slicedToArray(_step9.value, 2), value = _step9$value[0], key = _step9$value[1];
1145
1281
  _context5.next = 5;
1146
1282
  return asyncCallback.call(value, value, key);
1147
1283
  case 5:
@@ -1160,10 +1296,10 @@ var LeUtils = {
1160
1296
  case 8:
1161
1297
  _context5.prev = 8;
1162
1298
  _t0 = _context5["catch"](3);
1163
- _iterator6.e(_t0);
1299
+ _iterator9.e(_t0);
1164
1300
  case 9:
1165
1301
  _context5.prev = 9;
1166
- _iterator6.f();
1302
+ _iterator9.f();
1167
1303
  return _context5.finish(9);
1168
1304
  case 10:
1169
1305
  return _context5.abrupt("return", elements);
@@ -1317,11 +1453,11 @@ var LeUtils = {
1317
1453
  var optionalSkipHasOwnPropertyCheck = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
1318
1454
  var keys = LeUtils.sortKeys(elements, comparator, optionalSkipHasOwnPropertyCheck);
1319
1455
  var result = [];
1320
- var _iterator7 = _createForOfIteratorHelper$1(keys),
1321
- _step7;
1456
+ var _iterator0 = _createForOfIteratorHelper$1(keys),
1457
+ _step0;
1322
1458
  try {
1323
- for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
1324
- var key = _step7.value;
1459
+ for (_iterator0.s(); !(_step0 = _iterator0.n()).done;) {
1460
+ var key = _step0.value;
1325
1461
  var value = LeUtils.getValueAtIndex(elements, key, optionalSkipHasOwnPropertyCheck);
1326
1462
  if (!callback) {
1327
1463
  result.push(value);
@@ -1330,9 +1466,9 @@ var LeUtils = {
1330
1466
  }
1331
1467
  }
1332
1468
  } catch (err) {
1333
- _iterator7.e(err);
1469
+ _iterator0.e(err);
1334
1470
  } finally {
1335
- _iterator7.f();
1471
+ _iterator0.f();
1336
1472
  }
1337
1473
  return result;
1338
1474
  },
@@ -2303,17 +2439,17 @@ var LeUtils = {
2303
2439
  if (string === '') {
2304
2440
  return '1';
2305
2441
  }
2306
- for (var _i6 = string.length - 1; _i6 >= 0; _i6--) {
2307
- var _c = string.charAt(_i6);
2442
+ for (var _i11 = string.length - 1; _i11 >= 0; _i11--) {
2443
+ var _c = string.charAt(_i11);
2308
2444
  if (_c < '0' || _c > '9') {
2309
2445
  return '1';
2310
2446
  }
2311
2447
  if (_c < '9') {
2312
2448
  _c = String.fromCharCode(_c.charCodeAt(0) + 1);
2313
- string = string.substring(0, _i6) + _c + string.substring(_i6 + 1); // string[i] = (char + 1);
2449
+ string = string.substring(0, _i11) + _c + string.substring(_i11 + 1); // string[i] = (char + 1);
2314
2450
  break;
2315
2451
  }
2316
- string = string.substring(0, _i6) + '0' + string.substring(_i6 + 1); // string[i] = '0';
2452
+ string = string.substring(0, _i11) + '0' + string.substring(_i11 + 1); // string[i] = '0';
2317
2453
  }
2318
2454
  if (string.charAt(0) === '0') {
2319
2455
  string = '1' + string;