@zelgadis87/utils-core 4.6.0 → 4.6.2
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/Logger.d.ts +21 -0
- package/dist/Optional.d.ts +70 -0
- package/dist/async/CancelableDeferred.d.ts +17 -0
- package/dist/async/Deferred.d.ts +34 -0
- package/dist/async/RateThrottler.d.ts +13 -0
- package/dist/async/Semaphore.d.ts +17 -0
- package/dist/async/index.d.ts +4 -0
- package/dist/index.d.ts +8 -0
- package/dist/lazy/Lazy.d.ts +22 -0
- package/dist/lazy/LazyAsync.d.ts +24 -0
- package/dist/lazy/index.d.ts +2 -0
- package/dist/sorting/ComparisonChain.d.ts +57 -0
- package/dist/sorting/Sorter.d.ts +100 -0
- package/dist/sorting/index.d.ts +4 -0
- package/dist/sorting/types.d.ts +5 -0
- package/dist/time/RandomTimeDuration.d.ts +9 -0
- package/dist/time/TimeBase.d.ts +38 -0
- package/dist/time/TimeDuration.d.ts +81 -0
- package/dist/time/TimeFrequency.d.ts +10 -0
- package/dist/time/TimeInstant.d.ts +175 -0
- package/dist/time/TimeInstantBuilder.d.ts +77 -0
- package/dist/time/TimeRange.d.ts +11 -0
- package/dist/time/TimeUnit.d.ts +17 -0
- package/dist/time/index.d.ts +7 -0
- package/dist/time/types.d.ts +26 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/upgrade/DataUpgrader.d.ts +22 -0
- package/dist/upgrade/errors.d.ts +12 -0
- package/dist/upgrade/getTransitionsPath.d.ts +3 -0
- package/dist/upgrade/index.d.ts +2 -0
- package/dist/upgrade/types.d.ts +31 -0
- package/dist/utils/arrays/groupBy.d.ts +9 -0
- package/dist/utils/arrays/indexBy.d.ts +7 -0
- package/dist/utils/arrays/statistics.d.ts +8 -0
- package/dist/utils/arrays/uniqBy.d.ts +4 -0
- package/dist/utils/arrays.d.ts +57 -0
- package/dist/utils/booleans.d.ts +2 -0
- package/dist/utils/empties.d.ts +17 -0
- package/dist/utils/errors/withTryCatch.d.ts +3 -0
- package/dist/utils/errors.d.ts +3 -0
- package/dist/utils/functions/constant.d.ts +10 -0
- package/dist/utils/functions/iff.d.ts +8 -0
- package/dist/utils/functions.d.ts +31 -0
- package/dist/utils/index.d.ts +13 -0
- package/dist/utils/json.d.ts +11 -0
- package/dist/utils/nulls.d.ts +8 -0
- package/dist/utils/numbers/round.d.ts +8 -0
- package/dist/utils/numbers.d.ts +34 -0
- package/dist/utils/primitives.d.ts +3 -0
- package/dist/utils/promises.d.ts +6 -0
- package/dist/utils/random.d.ts +7 -0
- package/dist/utils/records/entries.d.ts +4 -0
- package/dist/utils/records.d.ts +31 -0
- package/dist/utils/strings/StringParts.d.ts +32 -0
- package/dist/utils/strings.d.ts +17 -0
- package/esbuild/index.cjs +222 -93
- package/esbuild/index.cjs.map +7 -0
- package/esbuild/{index.js → index.mjs} +232 -90
- package/esbuild/index.mjs.map +7 -0
- package/package.json +3 -3
- package/esbuild/package.json +0 -39
package/esbuild/index.cjs
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
9
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
10
|
+
};
|
|
6
11
|
var __export = (target, all) => {
|
|
7
12
|
for (var name in all)
|
|
8
13
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -15,11 +20,157 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
20
|
}
|
|
16
21
|
return to;
|
|
17
22
|
};
|
|
23
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
24
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
25
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
26
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
27
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
28
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
29
|
+
mod
|
|
30
|
+
));
|
|
18
31
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
32
|
|
|
20
|
-
//
|
|
21
|
-
var
|
|
22
|
-
|
|
33
|
+
// ../../node_modules/.pnpm/small-date@2.0.1/node_modules/small-date/lib/format.js
|
|
34
|
+
var require_format = __commonJS({
|
|
35
|
+
"../../node_modules/.pnpm/small-date@2.0.1/node_modules/small-date/lib/format.js"(exports2) {
|
|
36
|
+
"use strict";
|
|
37
|
+
Object.defineProperty(exports2, "__esModule", {
|
|
38
|
+
value: true
|
|
39
|
+
});
|
|
40
|
+
exports2["default"] = format2;
|
|
41
|
+
function ownKeys(object, enumerableOnly) {
|
|
42
|
+
var keys = Object.keys(object);
|
|
43
|
+
if (Object.getOwnPropertySymbols) {
|
|
44
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
45
|
+
if (enumerableOnly) {
|
|
46
|
+
symbols = symbols.filter(function(sym) {
|
|
47
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
keys.push.apply(keys, symbols);
|
|
51
|
+
}
|
|
52
|
+
return keys;
|
|
53
|
+
}
|
|
54
|
+
function _objectSpread(target) {
|
|
55
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
56
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
57
|
+
if (i % 2) {
|
|
58
|
+
ownKeys(Object(source), true).forEach(function(key) {
|
|
59
|
+
_defineProperty(target, key, source[key]);
|
|
60
|
+
});
|
|
61
|
+
} else if (Object.getOwnPropertyDescriptors) {
|
|
62
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
63
|
+
} else {
|
|
64
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
65
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return target;
|
|
70
|
+
}
|
|
71
|
+
function _defineProperty(obj, key, value) {
|
|
72
|
+
if (key in obj) {
|
|
73
|
+
Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
|
|
74
|
+
} else {
|
|
75
|
+
obj[key] = value;
|
|
76
|
+
}
|
|
77
|
+
return obj;
|
|
78
|
+
}
|
|
79
|
+
var PATTERN_REGEX = /(M|y|d|D|h|H|m|s|S|G|Z|P|a)+/g;
|
|
80
|
+
var ESCAPE_REGEX = /\\"|"((?:\\"|[^"])*)"|(\+)/g;
|
|
81
|
+
var optionNames = {
|
|
82
|
+
y: "year",
|
|
83
|
+
M: "month",
|
|
84
|
+
d: "day",
|
|
85
|
+
D: "weekday",
|
|
86
|
+
S: "fractionalSecondDigits",
|
|
87
|
+
G: "era",
|
|
88
|
+
Z: "timeZoneName",
|
|
89
|
+
P: "dayPeriod",
|
|
90
|
+
a: "hour12",
|
|
91
|
+
h: "hour",
|
|
92
|
+
H: "hour",
|
|
93
|
+
m: "minute",
|
|
94
|
+
s: "second"
|
|
95
|
+
};
|
|
96
|
+
var values = {
|
|
97
|
+
y: ["numeric", "2-digit", void 0, "numeric"],
|
|
98
|
+
M: ["narrow", "2-digit", "short", "long"],
|
|
99
|
+
d: ["numeric", "2-digit"],
|
|
100
|
+
D: ["narrow", "short", "long"],
|
|
101
|
+
S: [1, 2, 3],
|
|
102
|
+
G: ["narrow", "short", "long"],
|
|
103
|
+
Z: ["short", "long"],
|
|
104
|
+
P: ["narrow", "short", "long"],
|
|
105
|
+
a: [true],
|
|
106
|
+
h: ["numeric", "2-digit"],
|
|
107
|
+
H: ["numeric", "2-digit"],
|
|
108
|
+
m: ["numeric", "2-digit"],
|
|
109
|
+
s: ["numeric", "2-digit"]
|
|
110
|
+
};
|
|
111
|
+
function padIf(condition, value, length) {
|
|
112
|
+
return condition && length === 2 && value / 10 < 1 ? "0" + value : value;
|
|
113
|
+
}
|
|
114
|
+
function formatType(date, type, length) {
|
|
115
|
+
var _options;
|
|
116
|
+
var _ref = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {}, locale = _ref.locale, timeZone = _ref.timeZone;
|
|
117
|
+
var option = optionNames[type];
|
|
118
|
+
var value = values[type][length - 1];
|
|
119
|
+
if (!value) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
var options = (_options = {}, _defineProperty(_options, option, value), _defineProperty(_options, "timeZone", timeZone), _options);
|
|
123
|
+
if (type === "a") {
|
|
124
|
+
return Intl.DateTimeFormat(locale, _objectSpread(_objectSpread({}, options), {}, {
|
|
125
|
+
hour: "numeric"
|
|
126
|
+
})).formatToParts(date).pop().value;
|
|
127
|
+
}
|
|
128
|
+
if (type === "G" || type === "Z") {
|
|
129
|
+
return Intl.DateTimeFormat(locale, options).formatToParts(date).pop().value;
|
|
130
|
+
}
|
|
131
|
+
if (type === "H" || type === "h") {
|
|
132
|
+
return Intl.DateTimeFormat("en-GB", _objectSpread(_objectSpread({}, options), {}, {
|
|
133
|
+
hourCycle: type === "H" ? "h23" : "h11"
|
|
134
|
+
})).format(date).toLocaleLowerCase().replace(" am", "").replace(" pm", "");
|
|
135
|
+
}
|
|
136
|
+
return padIf(["m", "s"].includes(type) && value === "2-digit", Intl.DateTimeFormat(locale, options).format(date), 2);
|
|
137
|
+
}
|
|
138
|
+
function format2(date, pattern, config) {
|
|
139
|
+
return pattern.split(ESCAPE_REGEX).filter(function(sub) {
|
|
140
|
+
return sub !== void 0;
|
|
141
|
+
}).map(function(sub, index) {
|
|
142
|
+
if (index % 2 !== 0) {
|
|
143
|
+
return sub;
|
|
144
|
+
}
|
|
145
|
+
return sub.replace(PATTERN_REGEX, function(match) {
|
|
146
|
+
var type = match.charAt(0);
|
|
147
|
+
return formatType(date, type, match.length, config) || match;
|
|
148
|
+
});
|
|
149
|
+
}).join("");
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
// ../../node_modules/.pnpm/small-date@2.0.1/node_modules/small-date/lib/index.js
|
|
155
|
+
var require_lib = __commonJS({
|
|
156
|
+
"../../node_modules/.pnpm/small-date@2.0.1/node_modules/small-date/lib/index.js"(exports2) {
|
|
157
|
+
"use strict";
|
|
158
|
+
Object.defineProperty(exports2, "__esModule", {
|
|
159
|
+
value: true
|
|
160
|
+
});
|
|
161
|
+
exports2.format = void 0;
|
|
162
|
+
var _format = require_format();
|
|
163
|
+
var _format2 = _interopRequireDefault(_format);
|
|
164
|
+
function _interopRequireDefault(obj) {
|
|
165
|
+
return obj && obj.__esModule ? obj : { "default": obj };
|
|
166
|
+
}
|
|
167
|
+
exports2.format = _format2["default"];
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
// src/index.ts
|
|
172
|
+
var index_exports = {};
|
|
173
|
+
__export(index_exports, {
|
|
23
174
|
ComparisonChain: () => ComparisonChain_default,
|
|
24
175
|
DataUpgrader: () => DataUpgrader,
|
|
25
176
|
Deferred: () => Deferred,
|
|
@@ -173,9 +324,9 @@ __export(src_exports, {
|
|
|
173
324
|
wrapWithString: () => wrapWithString,
|
|
174
325
|
xor: () => xor
|
|
175
326
|
});
|
|
176
|
-
module.exports = __toCommonJS(
|
|
327
|
+
module.exports = __toCommonJS(index_exports);
|
|
177
328
|
|
|
178
|
-
//
|
|
329
|
+
// src/async/Deferred.ts
|
|
179
330
|
var DeferredCanceledError = class extends Error {
|
|
180
331
|
constructor() {
|
|
181
332
|
super("Execution canceled");
|
|
@@ -260,7 +411,7 @@ var Deferred = class {
|
|
|
260
411
|
};
|
|
261
412
|
var Deferred_default = Deferred;
|
|
262
413
|
|
|
263
|
-
//
|
|
414
|
+
// src/async/RateThrottler.ts
|
|
264
415
|
var RateThrottler = class {
|
|
265
416
|
constructor(_frequency) {
|
|
266
417
|
this._frequency = _frequency;
|
|
@@ -280,8 +431,7 @@ var RateThrottler = class {
|
|
|
280
431
|
return slot.promise().then(() => fn());
|
|
281
432
|
} finally {
|
|
282
433
|
this._availableSlots.push(TimeInstant.now().addDuration(this.cooldown));
|
|
283
|
-
if (this._waitingRequests.length > 0)
|
|
284
|
-
this._waitingRequests.shift().resolve();
|
|
434
|
+
if (this._waitingRequests.length > 0) this._waitingRequests.shift().resolve();
|
|
285
435
|
}
|
|
286
436
|
};
|
|
287
437
|
if (this._availableSlots.length > 0) {
|
|
@@ -300,7 +450,7 @@ function throttle(fn, frequence) {
|
|
|
300
450
|
};
|
|
301
451
|
}
|
|
302
452
|
|
|
303
|
-
//
|
|
453
|
+
// src/async/Semaphore.ts
|
|
304
454
|
var Semaphore = class {
|
|
305
455
|
constructor(_availableSlots = 1) {
|
|
306
456
|
this._availableSlots = _availableSlots;
|
|
@@ -344,7 +494,7 @@ var Semaphore = class {
|
|
|
344
494
|
}
|
|
345
495
|
};
|
|
346
496
|
|
|
347
|
-
//
|
|
497
|
+
// src/utils/nulls.ts
|
|
348
498
|
function ensureDefined(v, name = "value") {
|
|
349
499
|
if (isDefined(v))
|
|
350
500
|
return v;
|
|
@@ -370,7 +520,7 @@ function ifNullOrUndefined(source, callback) {
|
|
|
370
520
|
callback();
|
|
371
521
|
}
|
|
372
522
|
|
|
373
|
-
//
|
|
523
|
+
// src/utils/arrays/groupBy.ts
|
|
374
524
|
function groupByString(arr, field) {
|
|
375
525
|
return groupByStringWith(arr, (t) => t[field]);
|
|
376
526
|
}
|
|
@@ -407,7 +557,7 @@ function doGroupByWith(arr, getter) {
|
|
|
407
557
|
}, {});
|
|
408
558
|
}
|
|
409
559
|
|
|
410
|
-
//
|
|
560
|
+
// src/utils/arrays/indexBy.ts
|
|
411
561
|
function indexByString(arr, field) {
|
|
412
562
|
return indexByStringWith(arr, (t) => t[field]);
|
|
413
563
|
}
|
|
@@ -435,7 +585,7 @@ function doIndexByWith(arr, getter) {
|
|
|
435
585
|
}, {});
|
|
436
586
|
}
|
|
437
587
|
|
|
438
|
-
//
|
|
588
|
+
// src/utils/arrays/statistics.ts
|
|
439
589
|
function average(arr) {
|
|
440
590
|
const f = 1 / arr.length;
|
|
441
591
|
return arr.reduce((tot, cur) => tot + cur * f, 0);
|
|
@@ -447,23 +597,21 @@ function sumBy(arr, getter) {
|
|
|
447
597
|
return sum(arr.map(getter));
|
|
448
598
|
}
|
|
449
599
|
function min(arr) {
|
|
450
|
-
if (arr.length === 0)
|
|
451
|
-
throw new Error("Cannot calculate value on empty array");
|
|
600
|
+
if (arr.length === 0) throw new Error("Cannot calculate value on empty array");
|
|
452
601
|
return arr.reduce((min2, cur) => cur < min2 ? cur : min2);
|
|
453
602
|
}
|
|
454
603
|
function minBy(arr, getter) {
|
|
455
604
|
return min(arr.map(getter));
|
|
456
605
|
}
|
|
457
606
|
function max(arr) {
|
|
458
|
-
if (arr.length === 0)
|
|
459
|
-
throw new Error("Cannot calculate value on empty array");
|
|
607
|
+
if (arr.length === 0) throw new Error("Cannot calculate value on empty array");
|
|
460
608
|
return arr.reduce((max2, cur) => cur > max2 ? cur : max2);
|
|
461
609
|
}
|
|
462
610
|
function maxBy(arr, getter) {
|
|
463
611
|
return max(arr.map(getter));
|
|
464
612
|
}
|
|
465
613
|
|
|
466
|
-
//
|
|
614
|
+
// src/utils/functions/constant.ts
|
|
467
615
|
function constant(v) {
|
|
468
616
|
return () => v;
|
|
469
617
|
}
|
|
@@ -478,7 +626,7 @@ var alwaysFalse = constantFalse;
|
|
|
478
626
|
var constantZero = constant(0);
|
|
479
627
|
var constantOne = constant(1);
|
|
480
628
|
|
|
481
|
-
//
|
|
629
|
+
// src/utils/functions/iff.ts
|
|
482
630
|
function iff(firstPredicate, valueIfTrue) {
|
|
483
631
|
if (firstPredicate === true || firstPredicate instanceof Function && firstPredicate() === true) {
|
|
484
632
|
const ret = {
|
|
@@ -495,7 +643,7 @@ function iff(firstPredicate, valueIfTrue) {
|
|
|
495
643
|
}
|
|
496
644
|
}
|
|
497
645
|
|
|
498
|
-
//
|
|
646
|
+
// src/utils/functions.ts
|
|
499
647
|
function isFunction(t) {
|
|
500
648
|
return typeof t === "function";
|
|
501
649
|
}
|
|
@@ -508,24 +656,20 @@ function not(predicate) {
|
|
|
508
656
|
return (t) => !predicate(t);
|
|
509
657
|
}
|
|
510
658
|
function and(...predicates) {
|
|
511
|
-
if (predicates.length === 0)
|
|
512
|
-
|
|
513
|
-
else if (predicates.length === 1)
|
|
514
|
-
return predicates[0];
|
|
659
|
+
if (predicates.length === 0) return constantTrue;
|
|
660
|
+
else if (predicates.length === 1) return predicates[0];
|
|
515
661
|
return (t) => predicates.reduce((prev, cur) => prev ? cur(t) : false, true);
|
|
516
662
|
}
|
|
517
663
|
function or(...predicates) {
|
|
518
|
-
if (predicates.length === 0)
|
|
519
|
-
|
|
520
|
-
else if (predicates.length === 1)
|
|
521
|
-
return predicates[0];
|
|
664
|
+
if (predicates.length === 0) return constantTrue;
|
|
665
|
+
else if (predicates.length === 1) return predicates[0];
|
|
522
666
|
return (t) => predicates.reduce((prev, cur) => prev ? true : cur(t), false);
|
|
523
667
|
}
|
|
524
668
|
function xor(a, b) {
|
|
525
669
|
return (t) => a(t) !== b(t);
|
|
526
670
|
}
|
|
527
671
|
|
|
528
|
-
//
|
|
672
|
+
// src/utils/arrays/uniqBy.ts
|
|
529
673
|
function uniq(arr) {
|
|
530
674
|
return uniqBy(arr, identity);
|
|
531
675
|
}
|
|
@@ -546,15 +690,13 @@ function uniqByKey(arr, key) {
|
|
|
546
690
|
return uniqBy(arr, (item) => item[key]);
|
|
547
691
|
}
|
|
548
692
|
|
|
549
|
-
//
|
|
693
|
+
// src/utils/arrays.ts
|
|
550
694
|
function ensureArray(t) {
|
|
551
|
-
if (isNullOrUndefined(t))
|
|
552
|
-
return [];
|
|
695
|
+
if (isNullOrUndefined(t)) return [];
|
|
553
696
|
return t instanceof Array ? t : [t];
|
|
554
697
|
}
|
|
555
698
|
function ensureReadableArray(t) {
|
|
556
|
-
if (isNullOrUndefined(t))
|
|
557
|
-
return [];
|
|
699
|
+
if (isNullOrUndefined(t)) return [];
|
|
558
700
|
return t instanceof Array ? t : [t];
|
|
559
701
|
}
|
|
560
702
|
function isArray(t) {
|
|
@@ -573,8 +715,7 @@ function upsert(arr, item, isEqual) {
|
|
|
573
715
|
}
|
|
574
716
|
}
|
|
575
717
|
function range(start, end) {
|
|
576
|
-
if (end < start)
|
|
577
|
-
throw new Error();
|
|
718
|
+
if (end < start) throw new Error();
|
|
578
719
|
let length = end - start + 1;
|
|
579
720
|
return new Array(length).fill(1).map((_, i) => start + i);
|
|
580
721
|
}
|
|
@@ -633,8 +774,7 @@ function partition(arr, predicate) {
|
|
|
633
774
|
function mapFirstTruthy(arr, mapFn) {
|
|
634
775
|
for (let i = 0; i < arr.length; i++) {
|
|
635
776
|
const result = mapFn(arr[i]);
|
|
636
|
-
if (result)
|
|
637
|
-
return result;
|
|
777
|
+
if (result) return result;
|
|
638
778
|
}
|
|
639
779
|
return null;
|
|
640
780
|
}
|
|
@@ -642,7 +782,7 @@ function makeArrayEmpty(arr) {
|
|
|
642
782
|
arr.splice(0, arr.length);
|
|
643
783
|
}
|
|
644
784
|
|
|
645
|
-
//
|
|
785
|
+
// src/utils/booleans.ts
|
|
646
786
|
function isTrue(x) {
|
|
647
787
|
return x === true;
|
|
648
788
|
}
|
|
@@ -650,7 +790,7 @@ function isFalse(x) {
|
|
|
650
790
|
return x === false;
|
|
651
791
|
}
|
|
652
792
|
|
|
653
|
-
//
|
|
793
|
+
// src/utils/errors/withTryCatch.ts
|
|
654
794
|
function withTryCatch(fn, errMapFn) {
|
|
655
795
|
try {
|
|
656
796
|
return [fn(), void 0];
|
|
@@ -662,7 +802,7 @@ async function withTryCatchAsync(fn, errMapFn) {
|
|
|
662
802
|
return fn().then((value) => [value, void 0], (e) => [void 0, (errMapFn ?? identity)(asError(e))]);
|
|
663
803
|
}
|
|
664
804
|
|
|
665
|
-
//
|
|
805
|
+
// src/utils/errors.ts
|
|
666
806
|
function asError(e) {
|
|
667
807
|
if (e === void 0 || e === null)
|
|
668
808
|
return new Error("Void message");
|
|
@@ -678,13 +818,12 @@ function isError(e) {
|
|
|
678
818
|
return e instanceof Error;
|
|
679
819
|
}
|
|
680
820
|
|
|
681
|
-
//
|
|
821
|
+
// src/utils/json.ts
|
|
682
822
|
function tryToParseJson(jsonContent) {
|
|
683
823
|
return withTryCatch(() => JSON.parse(jsonContent));
|
|
684
824
|
}
|
|
685
825
|
function jsonCloneDeep(a) {
|
|
686
|
-
if (null === a || "object" !== typeof a)
|
|
687
|
-
return a;
|
|
826
|
+
if (null === a || "object" !== typeof a) return a;
|
|
688
827
|
if (a instanceof Date) {
|
|
689
828
|
return new Date(a.getTime());
|
|
690
829
|
} else if (a instanceof Array) {
|
|
@@ -711,7 +850,7 @@ function omitFromJsonObject(o, ...keys) {
|
|
|
711
850
|
}
|
|
712
851
|
var omit = omitFromJsonObject;
|
|
713
852
|
|
|
714
|
-
//
|
|
853
|
+
// src/utils/numbers/round.ts
|
|
715
854
|
var roundModes = {
|
|
716
855
|
"toNearest": Math.round,
|
|
717
856
|
"toLower": Math.floor,
|
|
@@ -730,7 +869,7 @@ var roundToUpper = (n, precision = 0) => round(n, precision, "toUpper");
|
|
|
730
869
|
var roundTowardsZero = (n, precision = 0) => round(n, precision, "towardsZero");
|
|
731
870
|
var roundAwayFromZero = (n, precision = 0) => round(n, precision, "awayFromZero");
|
|
732
871
|
|
|
733
|
-
//
|
|
872
|
+
// src/utils/numbers.ts
|
|
734
873
|
function ensurePositiveNumber(v, name = "value") {
|
|
735
874
|
if (v !== void 0 && v !== null && v > 0)
|
|
736
875
|
return v;
|
|
@@ -789,18 +928,15 @@ function clamp(n, min2, max2) {
|
|
|
789
928
|
function tryToParseNumber(numberStr) {
|
|
790
929
|
return withTryCatch(() => {
|
|
791
930
|
const type = typeof ensureDefined(numberStr);
|
|
792
|
-
if (type !== "string")
|
|
793
|
-
|
|
794
|
-
if (numberStr.trim().length === 0)
|
|
795
|
-
throw new Error("Invalid number given: " + numberStr);
|
|
931
|
+
if (type !== "string") throw new Error("Invalid number given: " + numberStr);
|
|
932
|
+
if (numberStr.trim().length === 0) throw new Error("Invalid number given: " + numberStr);
|
|
796
933
|
const num = Number(numberStr);
|
|
797
|
-
if (isNaN(num))
|
|
798
|
-
throw new Error("Invalid number given: " + numberStr);
|
|
934
|
+
if (isNaN(num)) throw new Error("Invalid number given: " + numberStr);
|
|
799
935
|
return num;
|
|
800
936
|
});
|
|
801
937
|
}
|
|
802
938
|
|
|
803
|
-
//
|
|
939
|
+
// src/utils/promises.ts
|
|
804
940
|
function asPromise(promisable) {
|
|
805
941
|
return Promise.resolve(promisable);
|
|
806
942
|
}
|
|
@@ -818,7 +954,7 @@ function delayPromise(duration) {
|
|
|
818
954
|
return (result) => duration.promise().then(() => result);
|
|
819
955
|
}
|
|
820
956
|
|
|
821
|
-
//
|
|
957
|
+
// src/utils/random.ts
|
|
822
958
|
var randomInterval = (min2, max2) => randomNumberInInterval(min2, max2);
|
|
823
959
|
var randomPercentage = (min2, max2) => randomNumberInInterval(min2, max2) / 100;
|
|
824
960
|
function randomNumberInInterval(min2, max2) {
|
|
@@ -828,7 +964,7 @@ var randomId = (length) => {
|
|
|
828
964
|
return Math.random().toString(36).substring(2, length + 2);
|
|
829
965
|
};
|
|
830
966
|
|
|
831
|
-
//
|
|
967
|
+
// src/utils/records/entries.ts
|
|
832
968
|
function dictToEntries(obj) {
|
|
833
969
|
return Object.entries(obj);
|
|
834
970
|
}
|
|
@@ -839,7 +975,7 @@ function mapEntries(dict, mapper) {
|
|
|
839
975
|
return entriesToDict(dictToEntries(dict).map((entry) => mapper(entry)));
|
|
840
976
|
}
|
|
841
977
|
|
|
842
|
-
//
|
|
978
|
+
// src/utils/records.ts
|
|
843
979
|
function dictToList(obj) {
|
|
844
980
|
return Object.keys(obj).map((key) => obj[key]);
|
|
845
981
|
}
|
|
@@ -850,7 +986,7 @@ function pick(o, keys) {
|
|
|
850
986
|
}, {});
|
|
851
987
|
}
|
|
852
988
|
|
|
853
|
-
//
|
|
989
|
+
// src/utils/strings/StringParts.ts
|
|
854
990
|
var StringParts = class _StringParts {
|
|
855
991
|
_parts;
|
|
856
992
|
constructor(...parts) {
|
|
@@ -863,8 +999,7 @@ var StringParts = class _StringParts {
|
|
|
863
999
|
return new _StringParts(...this.parts.map((part) => part.toLowerCase()));
|
|
864
1000
|
}
|
|
865
1001
|
capitalizeFirst() {
|
|
866
|
-
if (!this.length)
|
|
867
|
-
return this;
|
|
1002
|
+
if (!this.length) return this;
|
|
868
1003
|
return new _StringParts(capitalizeWord(this.first), ...this.tail.map((part) => part.toLowerCase()));
|
|
869
1004
|
}
|
|
870
1005
|
capitalizeEach() {
|
|
@@ -893,8 +1028,7 @@ var StringParts = class _StringParts {
|
|
|
893
1028
|
return this.toLowerCase().join("_");
|
|
894
1029
|
}
|
|
895
1030
|
toCamelCase() {
|
|
896
|
-
if (!this.length)
|
|
897
|
-
return "";
|
|
1031
|
+
if (!this.length) return "";
|
|
898
1032
|
return [this.first.toLowerCase(), ...this.tail.map(capitalizeWord)].join("");
|
|
899
1033
|
}
|
|
900
1034
|
toKebabCase() {
|
|
@@ -937,7 +1071,7 @@ var StringParts = class _StringParts {
|
|
|
937
1071
|
};
|
|
938
1072
|
};
|
|
939
1073
|
|
|
940
|
-
//
|
|
1074
|
+
// src/utils/strings.ts
|
|
941
1075
|
function hashCode(str) {
|
|
942
1076
|
let hash = 0;
|
|
943
1077
|
for (let i = 0; i < str.length; ++i)
|
|
@@ -960,8 +1094,7 @@ function stringToNumber(s) {
|
|
|
960
1094
|
}
|
|
961
1095
|
function pad(str, n, char, where = "left") {
|
|
962
1096
|
const length = ensureDefined(str).length;
|
|
963
|
-
if (length >= ensureDefined(n))
|
|
964
|
-
return str;
|
|
1097
|
+
if (length >= ensureDefined(n)) return str;
|
|
965
1098
|
if (ensureDefined(char).length !== 1)
|
|
966
1099
|
throw new Error("Illegal pad character");
|
|
967
1100
|
const padding = repeat(char, n - length);
|
|
@@ -1001,7 +1134,7 @@ function wrapWithString(str, delimiter) {
|
|
|
1001
1134
|
}
|
|
1002
1135
|
var wrap = wrapWithString;
|
|
1003
1136
|
|
|
1004
|
-
//
|
|
1137
|
+
// src/lazy/Lazy.ts
|
|
1005
1138
|
var Lazy = class _Lazy {
|
|
1006
1139
|
_value = void 0;
|
|
1007
1140
|
_initialized = false;
|
|
@@ -1059,7 +1192,7 @@ var Lazy = class _Lazy {
|
|
|
1059
1192
|
}
|
|
1060
1193
|
};
|
|
1061
1194
|
|
|
1062
|
-
//
|
|
1195
|
+
// src/lazy/LazyAsync.ts
|
|
1063
1196
|
var LazyAsync = class _LazyAsync {
|
|
1064
1197
|
_promise = void 0;
|
|
1065
1198
|
_pending = false;
|
|
@@ -1141,10 +1274,10 @@ var LazyAsync = class _LazyAsync {
|
|
|
1141
1274
|
}
|
|
1142
1275
|
};
|
|
1143
1276
|
|
|
1144
|
-
//
|
|
1145
|
-
var import_small_date =
|
|
1277
|
+
// src/time/TimeInstant.ts
|
|
1278
|
+
var import_small_date = __toESM(require_lib());
|
|
1146
1279
|
|
|
1147
|
-
//
|
|
1280
|
+
// src/time/TimeUnit.ts
|
|
1148
1281
|
var TimeUnit = class _TimeUnit {
|
|
1149
1282
|
constructor(multiplier) {
|
|
1150
1283
|
this.multiplier = multiplier;
|
|
@@ -1178,7 +1311,7 @@ var TimeUnit = class _TimeUnit {
|
|
|
1178
1311
|
static WEEKS = new _TimeUnit(7 * _TimeUnit.DAYS.multiplier);
|
|
1179
1312
|
};
|
|
1180
1313
|
|
|
1181
|
-
//
|
|
1314
|
+
// src/time/TimeBase.ts
|
|
1182
1315
|
var TimeBase = class {
|
|
1183
1316
|
_ms;
|
|
1184
1317
|
constructor(value, unit) {
|
|
@@ -1262,7 +1395,7 @@ var TimeBase = class {
|
|
|
1262
1395
|
}
|
|
1263
1396
|
};
|
|
1264
1397
|
|
|
1265
|
-
//
|
|
1398
|
+
// src/time/TimeDuration.ts
|
|
1266
1399
|
var TimeDuration = class _TimeDuration extends TimeBase {
|
|
1267
1400
|
constructor(value, unit) {
|
|
1268
1401
|
super(value, unit);
|
|
@@ -1304,8 +1437,7 @@ var TimeDuration = class _TimeDuration extends TimeBase {
|
|
|
1304
1437
|
get formatted() {
|
|
1305
1438
|
const format2 = (x, u1, y, u2) => `${x}${u1} ${pad(y.toString(), 2, "0")}${u2}`;
|
|
1306
1439
|
const units = this.toUnits();
|
|
1307
|
-
if (units.days >= 1)
|
|
1308
|
-
return format2(units.days, "d", units.hours, "h");
|
|
1440
|
+
if (units.days >= 1) return format2(units.days, "d", units.hours, "h");
|
|
1309
1441
|
else if (units.hours >= 1)
|
|
1310
1442
|
return format2(units.hours, "h", units.minutes, "m");
|
|
1311
1443
|
else if (units.minutes >= 1)
|
|
@@ -1504,7 +1636,7 @@ function isAllowedTimeDuration(t) {
|
|
|
1504
1636
|
}
|
|
1505
1637
|
var TimeDuration_default = TimeDuration;
|
|
1506
1638
|
|
|
1507
|
-
//
|
|
1639
|
+
// src/time/TimeInstantBuilder.ts
|
|
1508
1640
|
var isRelativeNumber = (x) => x !== void 0 && x.length > 0 && (x[0] === "+" || x[0] === "-");
|
|
1509
1641
|
var defaultTimeInstantCreationParameters = {
|
|
1510
1642
|
year: { relative: 0, relativeTo: "now" },
|
|
@@ -1573,8 +1705,7 @@ var getFromDate = {
|
|
|
1573
1705
|
};
|
|
1574
1706
|
var toReferenceDate = (x) => {
|
|
1575
1707
|
ensureDefined(x);
|
|
1576
|
-
if (isTimeInstant(x))
|
|
1577
|
-
return x.toDate();
|
|
1708
|
+
if (isTimeInstant(x)) return x.toDate();
|
|
1578
1709
|
return x;
|
|
1579
1710
|
};
|
|
1580
1711
|
function createTimeInstantFromParameters(aParameters, aReferenceDate = TimeInstant.now()) {
|
|
@@ -1638,7 +1769,7 @@ function timeInstantBuilder() {
|
|
|
1638
1769
|
return ret;
|
|
1639
1770
|
}
|
|
1640
1771
|
|
|
1641
|
-
//
|
|
1772
|
+
// src/time/TimeInstant.ts
|
|
1642
1773
|
var TimeInstant = class _TimeInstant extends TimeBase {
|
|
1643
1774
|
constructor(number, unit) {
|
|
1644
1775
|
super(number, unit);
|
|
@@ -1950,7 +2081,7 @@ function isTimeInstant(x) {
|
|
|
1950
2081
|
}
|
|
1951
2082
|
var TimeInstant_default = TimeInstant;
|
|
1952
2083
|
|
|
1953
|
-
//
|
|
2084
|
+
// src/Logger.ts
|
|
1954
2085
|
var LEVELS = ["log", "debug", "info", "warn", "error"];
|
|
1955
2086
|
var timestamp = () => TimeInstant_default.now().asTimeString();
|
|
1956
2087
|
var Logger = class {
|
|
@@ -1987,7 +2118,7 @@ var Logger = class {
|
|
|
1987
2118
|
}
|
|
1988
2119
|
};
|
|
1989
2120
|
|
|
1990
|
-
//
|
|
2121
|
+
// src/Optional.ts
|
|
1991
2122
|
var Optional = class _Optional {
|
|
1992
2123
|
_present;
|
|
1993
2124
|
_value;
|
|
@@ -2101,7 +2232,7 @@ var ErrorCannotInstantiatePresentOptionalWithEmptyValue = class extends Error {
|
|
|
2101
2232
|
}
|
|
2102
2233
|
};
|
|
2103
2234
|
|
|
2104
|
-
//
|
|
2235
|
+
// src/sorting/ComparisonChain.ts
|
|
2105
2236
|
var defaultCompareValueOptions = {
|
|
2106
2237
|
nullsFirst: false,
|
|
2107
2238
|
direction: "ASC"
|
|
@@ -2143,10 +2274,8 @@ function compareBooleans(options) {
|
|
|
2143
2274
|
const fn = (a, b) => {
|
|
2144
2275
|
if (a === b)
|
|
2145
2276
|
return 0;
|
|
2146
|
-
if (isNullOrUndefined(a))
|
|
2147
|
-
|
|
2148
|
-
if (isNullOrUndefined(b))
|
|
2149
|
-
return opts.nullsFirst ? 1 : -1;
|
|
2277
|
+
if (isNullOrUndefined(a)) return opts.nullsFirst ? -1 : 1;
|
|
2278
|
+
if (isNullOrUndefined(b)) return opts.nullsFirst ? 1 : -1;
|
|
2150
2279
|
return a === true && opts.truesFirst || a === false && !opts.truesFirst ? -1 : 1;
|
|
2151
2280
|
};
|
|
2152
2281
|
return (a, b) => applyDirection(fn(a, b), opts.direction);
|
|
@@ -2261,7 +2390,7 @@ function getComparisonFunction(arg) {
|
|
|
2261
2390
|
return arg instanceof ComparisonChain ? arg.compare : arg;
|
|
2262
2391
|
}
|
|
2263
2392
|
|
|
2264
|
-
//
|
|
2393
|
+
// src/sorting/Sorter.ts
|
|
2265
2394
|
var defaultCompareValuesOptions = {
|
|
2266
2395
|
nullsFirst: false
|
|
2267
2396
|
};
|
|
@@ -2327,8 +2456,7 @@ var prioritizeSet = (fns, transform, set, reversed = false) => {
|
|
|
2327
2456
|
var prioritizeArray = (fns, transform, arr, reversed = false) => {
|
|
2328
2457
|
return compareNumbers(fns, (t) => {
|
|
2329
2458
|
const r = transform(t);
|
|
2330
|
-
if (!isDefined(r))
|
|
2331
|
-
return Number.MAX_VALUE;
|
|
2459
|
+
if (!isDefined(r)) return Number.MAX_VALUE;
|
|
2332
2460
|
const indexOf = arr.indexOf(r);
|
|
2333
2461
|
return indexOf === -1 ? Number.MAX_VALUE : indexOf;
|
|
2334
2462
|
}, { direction: reversed ? "DESC" : "ASC", nullsFirst: false });
|
|
@@ -2494,7 +2622,7 @@ var Sorter = {
|
|
|
2494
2622
|
};
|
|
2495
2623
|
var Sorting = Sorter;
|
|
2496
2624
|
|
|
2497
|
-
//
|
|
2625
|
+
// src/time/RandomTimeDuration.ts
|
|
2498
2626
|
function randomize(unit) {
|
|
2499
2627
|
return (a, b) => {
|
|
2500
2628
|
return TimeDuration_default.fromMs(randomInterval(unit.toMs(a), unit.toMs(b)));
|
|
@@ -2510,7 +2638,7 @@ var RandomTimeDuration = class {
|
|
|
2510
2638
|
static days = randomize(TimeUnit.DAYS);
|
|
2511
2639
|
};
|
|
2512
2640
|
|
|
2513
|
-
//
|
|
2641
|
+
// src/time/TimeFrequency.ts
|
|
2514
2642
|
var TimeFrequency = class _TimeFrequency {
|
|
2515
2643
|
constructor(times, period) {
|
|
2516
2644
|
this.times = times;
|
|
@@ -2531,7 +2659,7 @@ var TimeFrequency = class _TimeFrequency {
|
|
|
2531
2659
|
}
|
|
2532
2660
|
};
|
|
2533
2661
|
|
|
2534
|
-
//
|
|
2662
|
+
// src/time/TimeRange.ts
|
|
2535
2663
|
var TimeRange = class _TimeRange {
|
|
2536
2664
|
constructor(start, duration) {
|
|
2537
2665
|
this.start = start;
|
|
@@ -2552,7 +2680,7 @@ var TimeRange = class _TimeRange {
|
|
|
2552
2680
|
}
|
|
2553
2681
|
};
|
|
2554
2682
|
|
|
2555
|
-
//
|
|
2683
|
+
// src/upgrade/errors.ts
|
|
2556
2684
|
var UnavailableUpgradeError = class extends Error {
|
|
2557
2685
|
constructor(data, from, to) {
|
|
2558
2686
|
super(`No transition found to upgrade data from version ${from} to version ${to}.`);
|
|
@@ -2570,7 +2698,7 @@ var EmptyUpgradeError = class extends Error {
|
|
|
2570
2698
|
}
|
|
2571
2699
|
};
|
|
2572
2700
|
|
|
2573
|
-
//
|
|
2701
|
+
// src/upgrade/getTransitionsPath.ts
|
|
2574
2702
|
var DEBUG_ENABLED = false;
|
|
2575
2703
|
function getTransitionsPath(matrix, from, to) {
|
|
2576
2704
|
return internalGetTransitionsPath(matrix, from, to, 0, DEBUG_ENABLED);
|
|
@@ -2619,7 +2747,7 @@ function printTransitions(transitions) {
|
|
|
2619
2747
|
}, "" + transitions[0].from);
|
|
2620
2748
|
}
|
|
2621
2749
|
|
|
2622
|
-
//
|
|
2750
|
+
// src/upgrade/DataUpgrader.ts
|
|
2623
2751
|
var VERSION_FIELD = "$version";
|
|
2624
2752
|
var DataUpgrader = class _DataUpgrader {
|
|
2625
2753
|
constructor(latestVersion) {
|
|
@@ -2834,3 +2962,4 @@ function isUpgradable(obj) {
|
|
|
2834
2962
|
wrapWithString,
|
|
2835
2963
|
xor
|
|
2836
2964
|
});
|
|
2965
|
+
//# sourceMappingURL=index.cjs.map
|