@develia/commons 0.3.44 → 0.4.0
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 +44 -0
- package/dist/cjs/array.js.map +1 -0
- package/dist/cjs/async-pool-executor.js +49 -0
- package/dist/cjs/async-pool-executor.js.map +1 -0
- package/dist/cjs/cache-dictionary.js +67 -0
- package/dist/cjs/cache-dictionary.js.map +1 -0
- package/dist/cjs/clean-url-search-params.js +10 -0
- package/dist/cjs/clean-url-search-params.js.map +1 -0
- package/dist/cjs/collections/default-map.js +21 -0
- package/dist/cjs/collections/default-map.js.map +1 -0
- package/dist/cjs/collections/lazy-map.js +22 -0
- package/dist/cjs/collections/lazy-map.js.map +1 -0
- package/dist/cjs/collections.js +11 -0
- package/dist/cjs/collections.js.map +1 -0
- package/dist/cjs/from.js +504 -0
- package/dist/cjs/from.js.map +1 -0
- package/dist/cjs/index.js +73 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/key-value-pair.js +16 -0
- package/dist/cjs/key-value-pair.js.map +1 -0
- package/dist/cjs/lazy.js +25 -0
- package/dist/cjs/lazy.js.map +1 -0
- package/dist/cjs/math.js +15 -0
- package/dist/cjs/math.js.map +1 -0
- package/dist/cjs/order.js +9 -0
- package/dist/cjs/order.js.map +1 -0
- package/dist/cjs/patch.js +44 -0
- package/dist/cjs/patch.js.map +1 -0
- package/dist/cjs/stopwatch.js +36 -0
- package/dist/cjs/stopwatch.js.map +1 -0
- package/dist/cjs/string.js +29 -0
- package/dist/cjs/string.js.map +1 -0
- package/dist/cjs/timer.js +50 -0
- package/dist/cjs/timer.js.map +1 -0
- package/dist/cjs/timespan.js +152 -0
- package/dist/cjs/timespan.js.map +1 -0
- package/dist/cjs/type.js +16 -0
- package/dist/cjs/type.js.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utilities.js +309 -0
- package/dist/cjs/utilities.js.map +1 -0
- package/dist/esm/array.js +38 -0
- package/dist/esm/array.js.map +1 -0
- package/dist/esm/async-pool-executor.js +46 -0
- package/dist/esm/async-pool-executor.js.map +1 -0
- package/dist/esm/cache-dictionary.js +64 -0
- package/dist/esm/cache-dictionary.js.map +1 -0
- package/dist/esm/clean-url-search-params.js +7 -0
- package/dist/esm/clean-url-search-params.js.map +1 -0
- package/dist/esm/collections/default-map.js +18 -0
- package/dist/esm/collections/default-map.js.map +1 -0
- package/dist/esm/collections/lazy-map.js +19 -0
- package/dist/esm/collections/lazy-map.js.map +1 -0
- package/dist/esm/collections.js +3 -0
- package/dist/esm/collections.js.map +1 -0
- package/dist/esm/from.js +495 -0
- package/dist/esm/from.js.map +1 -0
- package/dist/esm/index.js +19 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/key-value-pair.js +13 -0
- package/dist/esm/key-value-pair.js.map +1 -0
- package/dist/esm/lazy.js +22 -0
- package/dist/esm/lazy.js.map +1 -0
- package/dist/esm/math.js +11 -0
- package/dist/esm/math.js.map +1 -0
- package/dist/esm/order.js +7 -0
- package/dist/esm/order.js.map +1 -0
- package/dist/esm/patch.js +40 -0
- package/dist/esm/patch.js.map +1 -0
- package/dist/esm/stopwatch.js +30 -0
- package/dist/esm/stopwatch.js.map +1 -0
- package/dist/esm/string.js +24 -0
- package/dist/esm/string.js.map +1 -0
- package/dist/esm/timer.js +47 -0
- package/dist/esm/timer.js.map +1 -0
- package/dist/esm/timespan.js +150 -0
- package/dist/esm/timespan.js.map +1 -0
- package/dist/esm/type.js +14 -0
- package/dist/esm/type.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utilities.js +277 -0
- package/dist/esm/utilities.js.map +1 -0
- package/dist/types/array.d.ts +6 -0
- package/dist/types/array.d.ts.map +1 -0
- package/dist/types/async-pool-executor.d.ts +14 -0
- package/dist/types/async-pool-executor.d.ts.map +1 -0
- package/dist/types/cache-dictionary.d.ts +16 -0
- package/dist/types/cache-dictionary.d.ts.map +1 -0
- package/dist/types/clean-url-search-params.d.ts +4 -0
- package/dist/types/clean-url-search-params.d.ts.map +1 -0
- package/dist/types/collections/default-map.d.ts +7 -0
- package/dist/types/collections/default-map.d.ts.map +1 -0
- package/dist/types/collections/lazy-map.d.ts +6 -0
- package/dist/types/collections/lazy-map.d.ts.map +1 -0
- package/dist/types/collections.d.ts +3 -0
- package/dist/types/collections.d.ts.map +1 -0
- package/dist/types/from.d.ts +59 -0
- package/dist/types/from.d.ts.map +1 -0
- package/dist/types/index.d.ts +19 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/key-value-pair.d.ts +8 -0
- package/dist/types/key-value-pair.d.ts.map +1 -0
- package/dist/types/lazy.d.ts +11 -0
- package/dist/types/lazy.d.ts.map +1 -0
- package/dist/types/math.d.ts +3 -0
- package/dist/types/math.d.ts.map +1 -0
- package/dist/types/order.d.ts +6 -0
- package/dist/types/order.d.ts.map +1 -0
- package/dist/types/patch.d.ts +8 -0
- package/dist/types/patch.d.ts.map +1 -0
- package/dist/types/stopwatch.d.ts +10 -0
- package/dist/types/stopwatch.d.ts.map +1 -0
- package/dist/types/string.d.ts +4 -0
- package/dist/types/string.d.ts.map +1 -0
- package/dist/types/timer.d.ts +15 -0
- package/dist/types/timer.d.ts.map +1 -0
- package/dist/types/timespan.d.ts +47 -0
- package/dist/types/timespan.d.ts.map +1 -0
- package/dist/types/type.d.ts +13 -0
- package/dist/types/type.d.ts.map +1 -0
- package/dist/types/types.d.ts +14 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utilities.d.ts +31 -0
- package/dist/types/utilities.d.ts.map +1 -0
- package/dist/web/array.js +38 -0
- package/dist/web/array.js.map +1 -0
- package/dist/web/async-pool-executor.js +46 -0
- package/dist/web/async-pool-executor.js.map +1 -0
- package/dist/web/cache-dictionary.js +64 -0
- package/dist/web/cache-dictionary.js.map +1 -0
- package/dist/web/clean-url-search-params.js +7 -0
- package/dist/web/clean-url-search-params.js.map +1 -0
- package/dist/web/collections/default-map.js +18 -0
- package/dist/web/collections/default-map.js.map +1 -0
- package/dist/web/collections/lazy-map.js +19 -0
- package/dist/web/collections/lazy-map.js.map +1 -0
- package/dist/web/collections.js +3 -0
- package/dist/web/collections.js.map +1 -0
- package/dist/web/from.js +496 -0
- package/dist/web/from.js.map +1 -0
- package/dist/web/index.js +19 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/key-value-pair.js +13 -0
- package/dist/web/key-value-pair.js.map +1 -0
- package/dist/web/lazy.js +22 -0
- package/dist/web/lazy.js.map +1 -0
- package/dist/web/math.js +11 -0
- package/dist/web/math.js.map +1 -0
- package/dist/web/order.js +7 -0
- package/dist/web/order.js.map +1 -0
- package/dist/web/patch.js +40 -0
- package/dist/web/patch.js.map +1 -0
- package/dist/web/stopwatch.js +30 -0
- package/dist/web/stopwatch.js.map +1 -0
- package/dist/web/string.js +24 -0
- package/dist/web/string.js.map +1 -0
- package/dist/web/timer.js +47 -0
- package/dist/web/timer.js.map +1 -0
- package/dist/web/timespan.js +150 -0
- package/dist/web/timespan.js.map +1 -0
- package/dist/web/type.js +14 -0
- package/dist/web/type.js.map +1 -0
- package/dist/web/types.js +2 -0
- package/dist/web/types.js.map +1 -0
- package/dist/web/utilities.js +277 -0
- package/dist/web/utilities.js.map +1 -0
- package/package.json +25 -12
- package/src/array.ts +49 -0
- package/src/async-pool-executor.ts +2 -2
- package/src/collections/default-map.ts +42 -0
- package/src/collections/lazy-map.ts +24 -0
- package/src/collections.ts +2 -24
- package/src/from.ts +4 -4
- package/src/index.ts +28 -22
- package/src/lazy.ts +1 -1
- package/src/patch.ts +80 -0
- package/src/stopwatch.ts +1 -1
- package/src/{typing.ts → type.ts} +3 -1
- package/src/types.ts +4 -1
- package/src/utilities.ts +19 -18
- package/dist/develia-commons.js +0 -1690
- package/dist/develia-commons.min.js +0 -1
- package/dist/index.cjs.js +0 -1688
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.esm.js +0 -1641
- package/dist/index.esm.js.map +0 -1
- package/src/array-manipulator.ts +0 -159
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import TimeSpan from "./timespan.js";
|
|
2
|
+
export default class Stopwatch {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.startTime = null;
|
|
5
|
+
this.elapsedTime = null;
|
|
6
|
+
}
|
|
7
|
+
start() {
|
|
8
|
+
this.startTime = performance.now();
|
|
9
|
+
this.elapsedTime = null;
|
|
10
|
+
}
|
|
11
|
+
stop() {
|
|
12
|
+
if (this.startTime !== null) {
|
|
13
|
+
this.elapsedTime = performance.now() - this.startTime;
|
|
14
|
+
this.startTime = null;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
resume() {
|
|
18
|
+
if (this.elapsedTime !== null) {
|
|
19
|
+
this.startTime = performance.now() - this.elapsedTime;
|
|
20
|
+
this.elapsedTime = null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
getElapsedTime() {
|
|
24
|
+
if (this.startTime !== null) {
|
|
25
|
+
return TimeSpan.fromMilliseconds(performance.now() - this.startTime);
|
|
26
|
+
}
|
|
27
|
+
return TimeSpan.fromMilliseconds(this.elapsedTime ?? 0.0);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=stopwatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopwatch.js","sourceRoot":"","sources":["../../src/stopwatch.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,SAAS;IAA9B;QACY,cAAS,GAAkB,IAAI,CAAC;QAChC,gBAAW,GAAkB,IAAI,CAAC;IAsC9C,CAAC;IAzBG,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;IACL,CAAC;IAED,MAAM;QACF,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,cAAc;QACV,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC;IAC9D,CAAC;CACJ"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export function ensurePrefix(str, prefix) {
|
|
2
|
+
if (!str.startsWith(prefix))
|
|
3
|
+
return prefix + str;
|
|
4
|
+
return str;
|
|
5
|
+
}
|
|
6
|
+
export function ensureSuffix(str, suffix) {
|
|
7
|
+
if (!str.endsWith(suffix))
|
|
8
|
+
return str + suffix;
|
|
9
|
+
return str;
|
|
10
|
+
}
|
|
11
|
+
export function format(template, ...args) {
|
|
12
|
+
let regex;
|
|
13
|
+
if (args.length === 1 && typeof args[0] === 'object') {
|
|
14
|
+
args = args[0];
|
|
15
|
+
regex = /{(.+?)}/g;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
regex = /{(\d+?)}/g;
|
|
19
|
+
}
|
|
20
|
+
return template.replace(regex, (match, key) => {
|
|
21
|
+
return typeof args[key] !== 'undefined' ? args[key] : "";
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/string.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,MAAc;IACpD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;QACvB,OAAO,MAAM,GAAG,GAAG,CAAA;IACvB,OAAO,GAAG,CAAA;AACd,CAAC;AAUD,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,MAAc;IACpD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,OAAO,GAAG,GAAG,MAAM,CAAA;IACvB,OAAO,GAAG,CAAA;AACd,CAAC;AASD,MAAM,UAAU,MAAM,CAAC,QAAgB,EAAE,GAAG,IAAW;IAEnD,IAAI,KAAa,CAAC;IAClB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACf,KAAK,GAAG,UAAU,CAAC;IACvB,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,WAAW,CAAC;IACxB,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1C,OAAO,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export default class Timer {
|
|
2
|
+
constructor(callback, interval) {
|
|
3
|
+
this._callback = callback;
|
|
4
|
+
this._interval = interval;
|
|
5
|
+
this._intervalId = null;
|
|
6
|
+
}
|
|
7
|
+
get running() {
|
|
8
|
+
return this._intervalId !== null && this._intervalId !== undefined;
|
|
9
|
+
}
|
|
10
|
+
get interval() {
|
|
11
|
+
return this._interval;
|
|
12
|
+
}
|
|
13
|
+
set interval(value) {
|
|
14
|
+
if (value != this._interval) {
|
|
15
|
+
this._interval = value;
|
|
16
|
+
if (this.running)
|
|
17
|
+
this.restart();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
get callback() {
|
|
21
|
+
return this._callback;
|
|
22
|
+
}
|
|
23
|
+
set callback(value) {
|
|
24
|
+
if (value != this._callback) {
|
|
25
|
+
this._callback = value;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
start() {
|
|
29
|
+
if (this._intervalId === null) {
|
|
30
|
+
this._intervalId = setInterval(() => {
|
|
31
|
+
if (this._callback != null)
|
|
32
|
+
this._callback();
|
|
33
|
+
}, this._interval);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
stop() {
|
|
37
|
+
if (this._intervalId !== null) {
|
|
38
|
+
clearInterval(this._intervalId);
|
|
39
|
+
this._intervalId = null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
restart() {
|
|
43
|
+
this.stop();
|
|
44
|
+
this.start();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=timer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/timer.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,KAAK;IAUtB,YAAY,QAAoB,EAAE,QAAgB;QAC9C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAGD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;IACvE,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,CAAC,KAAa;QACtB,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,CAAC,KAAiB;QAC1B,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,CAAC;IACL,CAAC;IAGD,KAAK;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;gBAChC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;oBACtB,IAAI,CAAC,SAAS,EAAE,CAAC;YACzB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC5B,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;CACJ"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
class TimeSpan {
|
|
2
|
+
constructor(milliseconds) {
|
|
3
|
+
this.milliseconds = milliseconds;
|
|
4
|
+
}
|
|
5
|
+
seconds() {
|
|
6
|
+
return this.milliseconds / 1000;
|
|
7
|
+
}
|
|
8
|
+
minutes() {
|
|
9
|
+
return this.milliseconds / (1000 * 60);
|
|
10
|
+
}
|
|
11
|
+
hours() {
|
|
12
|
+
return this.milliseconds / (1000 * 60 * 60);
|
|
13
|
+
}
|
|
14
|
+
days() {
|
|
15
|
+
return this.milliseconds / (1000 * 60 * 60 * 24);
|
|
16
|
+
}
|
|
17
|
+
weeks() {
|
|
18
|
+
return this.milliseconds / (1000 * 60 * 60 * 24 * 7);
|
|
19
|
+
}
|
|
20
|
+
static fromMilliseconds(milliseconds) {
|
|
21
|
+
return new TimeSpan(milliseconds);
|
|
22
|
+
}
|
|
23
|
+
static fromSeconds(seconds) {
|
|
24
|
+
return new TimeSpan(seconds * 1000);
|
|
25
|
+
}
|
|
26
|
+
static fromMinutes(minutes) {
|
|
27
|
+
return new TimeSpan(minutes * 1000 * 60);
|
|
28
|
+
}
|
|
29
|
+
static fromHours(hours) {
|
|
30
|
+
return new TimeSpan(hours * 1000 * 60 * 60);
|
|
31
|
+
}
|
|
32
|
+
static fromDays(days) {
|
|
33
|
+
return new TimeSpan(days * 1000 * 60 * 60 * 24);
|
|
34
|
+
}
|
|
35
|
+
static fromWeeks(weeks) {
|
|
36
|
+
return new TimeSpan(weeks * 1000 * 60 * 60 * 24 * 7);
|
|
37
|
+
}
|
|
38
|
+
addMilliseconds(milliseconds) {
|
|
39
|
+
return new TimeSpan(this.milliseconds + milliseconds);
|
|
40
|
+
}
|
|
41
|
+
addSeconds(seconds) {
|
|
42
|
+
return this.addMilliseconds(seconds * 1000);
|
|
43
|
+
}
|
|
44
|
+
addMinutes(minutes) {
|
|
45
|
+
return this.addMilliseconds(minutes * 1000 * 60);
|
|
46
|
+
}
|
|
47
|
+
addHours(hours) {
|
|
48
|
+
return this.addMilliseconds(hours * 1000 * 60 * 60);
|
|
49
|
+
}
|
|
50
|
+
addDays(days) {
|
|
51
|
+
return this.addMilliseconds(days * 1000 * 60 * 60 * 24);
|
|
52
|
+
}
|
|
53
|
+
addWeeks(weeks) {
|
|
54
|
+
return this.addMilliseconds(weeks * 1000 * 60 * 60 * 24 * 7);
|
|
55
|
+
}
|
|
56
|
+
subtractMilliseconds(milliseconds) {
|
|
57
|
+
return new TimeSpan(this.milliseconds - milliseconds);
|
|
58
|
+
}
|
|
59
|
+
subtractSeconds(seconds) {
|
|
60
|
+
return this.subtractMilliseconds(seconds * 1000);
|
|
61
|
+
}
|
|
62
|
+
subtractMinutes(minutes) {
|
|
63
|
+
return this.subtractMilliseconds(minutes * 1000 * 60);
|
|
64
|
+
}
|
|
65
|
+
subtractHours(hours) {
|
|
66
|
+
return this.subtractMilliseconds(hours * 1000 * 60 * 60);
|
|
67
|
+
}
|
|
68
|
+
subtractDays(days) {
|
|
69
|
+
return this.subtractMilliseconds(days * 1000 * 60 * 60 * 24);
|
|
70
|
+
}
|
|
71
|
+
subtractWeeks(weeks) {
|
|
72
|
+
return this.subtractMilliseconds(weeks * 1000 * 60 * 60 * 24 * 7);
|
|
73
|
+
}
|
|
74
|
+
add(other) {
|
|
75
|
+
return new TimeSpan(this.milliseconds + other.milliseconds);
|
|
76
|
+
}
|
|
77
|
+
subtract(other) {
|
|
78
|
+
return new TimeSpan(this.milliseconds - other.milliseconds);
|
|
79
|
+
}
|
|
80
|
+
addTo(date) {
|
|
81
|
+
return new Date(date.getTime() + this.milliseconds);
|
|
82
|
+
}
|
|
83
|
+
subtractFrom(date) {
|
|
84
|
+
return new Date(date.getTime() - this.milliseconds);
|
|
85
|
+
}
|
|
86
|
+
static fromDifference(earlierDate, laterDate) {
|
|
87
|
+
return new TimeSpan(laterDate.getTime() - earlierDate.getTime());
|
|
88
|
+
}
|
|
89
|
+
format(format = 'hh:mm:ss') {
|
|
90
|
+
const formatLower = format.toLowerCase();
|
|
91
|
+
const hasHours = formatLower.includes("h");
|
|
92
|
+
const hasMinutes = formatLower.includes("m");
|
|
93
|
+
let hours = 0, minutes = 0, seconds = Math.floor(this.milliseconds / 1000);
|
|
94
|
+
if (hasHours) {
|
|
95
|
+
hours = Math.floor(seconds / 3600);
|
|
96
|
+
seconds -= hours * 3600;
|
|
97
|
+
}
|
|
98
|
+
if (hasMinutes) {
|
|
99
|
+
minutes = Math.floor(seconds / 60);
|
|
100
|
+
seconds -= minutes * 60;
|
|
101
|
+
}
|
|
102
|
+
const hoursPadded = String(hours).padStart(2, '0');
|
|
103
|
+
const minutesPadded = String(minutes).padStart(2, '0');
|
|
104
|
+
const secondsPadded = String(seconds).padStart(2, '0');
|
|
105
|
+
return formatLower
|
|
106
|
+
.replace('hh', hoursPadded)
|
|
107
|
+
.replace('h', hours.toString())
|
|
108
|
+
.replace('mm', minutesPadded)
|
|
109
|
+
.replace('m', minutes.toString())
|
|
110
|
+
.replace('ss', secondsPadded)
|
|
111
|
+
.replace('s', seconds.toString());
|
|
112
|
+
}
|
|
113
|
+
eq(other) {
|
|
114
|
+
return this.milliseconds === other.milliseconds;
|
|
115
|
+
}
|
|
116
|
+
le(other) {
|
|
117
|
+
return this.milliseconds <= other.milliseconds;
|
|
118
|
+
}
|
|
119
|
+
lt(other) {
|
|
120
|
+
return this.milliseconds < other.milliseconds;
|
|
121
|
+
}
|
|
122
|
+
ge(other) {
|
|
123
|
+
return this.milliseconds >= other.milliseconds;
|
|
124
|
+
}
|
|
125
|
+
gt(other) {
|
|
126
|
+
return this.milliseconds > other.milliseconds;
|
|
127
|
+
}
|
|
128
|
+
multiply(number) {
|
|
129
|
+
return new TimeSpan(this.milliseconds * number);
|
|
130
|
+
}
|
|
131
|
+
divide(number) {
|
|
132
|
+
return new TimeSpan(this.milliseconds / number);
|
|
133
|
+
}
|
|
134
|
+
abs() {
|
|
135
|
+
return new TimeSpan(Math.abs(this.milliseconds));
|
|
136
|
+
}
|
|
137
|
+
isInfinite() {
|
|
138
|
+
return this.milliseconds === Number.POSITIVE_INFINITY || this.milliseconds === Number.NEGATIVE_INFINITY;
|
|
139
|
+
}
|
|
140
|
+
isPositiveInfinite() {
|
|
141
|
+
return this.milliseconds === Number.POSITIVE_INFINITY;
|
|
142
|
+
}
|
|
143
|
+
isNegativeInfinite() {
|
|
144
|
+
return this.milliseconds === Number.NEGATIVE_INFINITY;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
TimeSpan.INFINITE = new TimeSpan(Number.POSITIVE_INFINITY);
|
|
148
|
+
TimeSpan.NEGATIVE_INFINITE = new TimeSpan(Number.NEGATIVE_INFINITY);
|
|
149
|
+
export default TimeSpan;
|
|
150
|
+
//# sourceMappingURL=timespan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timespan.js","sourceRoot":"","sources":["../../src/timespan.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/type.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
var Type;
|
|
2
|
+
(function (Type) {
|
|
3
|
+
Type["Undefined"] = "undefined";
|
|
4
|
+
Type["Number"] = "number";
|
|
5
|
+
Type["String"] = "string";
|
|
6
|
+
Type["Boolean"] = "boolean";
|
|
7
|
+
Type["Object"] = "object";
|
|
8
|
+
Type["Function"] = "function";
|
|
9
|
+
Type["Symbol"] = "symbol";
|
|
10
|
+
Type["BigInt"] = "bigint";
|
|
11
|
+
Type["Null"] = "null";
|
|
12
|
+
})(Type || (Type = {}));
|
|
13
|
+
export default Type;
|
|
14
|
+
//# sourceMappingURL=type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAKA,IAAK,IAUJ;AAVD,WAAK,IAAI;IACL,+BAAuB,CAAA;IACvB,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,2BAAmB,CAAA;IACnB,yBAAiB,CAAA;IACjB,6BAAqB,CAAA;IACrB,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,qBAAa,CAAA;AACjB,CAAC,EAVI,IAAI,KAAJ,IAAI,QAUR;AAED,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import KeyValuePair from "./key-value-pair.js";
|
|
2
|
+
import Type from "./type.js";
|
|
3
|
+
export function isIterable(obj) {
|
|
4
|
+
return obj[Symbol.iterator] === 'function';
|
|
5
|
+
}
|
|
6
|
+
export function isString(value) {
|
|
7
|
+
return typeof value === 'string';
|
|
8
|
+
}
|
|
9
|
+
export function isNumber(value) {
|
|
10
|
+
return typeof value === 'number';
|
|
11
|
+
}
|
|
12
|
+
export function isBoolean(value) {
|
|
13
|
+
return typeof value === 'boolean';
|
|
14
|
+
}
|
|
15
|
+
export function isObject(value) {
|
|
16
|
+
return value != null && typeof value === 'object' && !Array.isArray(value);
|
|
17
|
+
}
|
|
18
|
+
export function isArray(value) {
|
|
19
|
+
return Array.isArray(value);
|
|
20
|
+
}
|
|
21
|
+
export function isFunction(value) {
|
|
22
|
+
return typeof value === 'function';
|
|
23
|
+
}
|
|
24
|
+
export function deepEqual(a, b) {
|
|
25
|
+
if (a === b) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
if (a === null || b === null || typeof a !== typeof b) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
32
|
+
if (a.length !== b.length) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
for (let i = 0; i < a.length; i++) {
|
|
36
|
+
if (!deepEqual(a[i], b[i])) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
if (typeof a === "object" && typeof b === "object") {
|
|
43
|
+
const keysA = Object.keys(a);
|
|
44
|
+
const keysB = Object.keys(b);
|
|
45
|
+
if (keysA.length !== keysB.length) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
for (const key of keysA) {
|
|
49
|
+
if (!keysB.includes(key) || !deepEqual(a[key], b[key])) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
export function submitForm(url, data, method = 'POST', target) {
|
|
58
|
+
const form = document.createElement('form');
|
|
59
|
+
form.method = method.toUpperCase();
|
|
60
|
+
form.action = url;
|
|
61
|
+
form.style.display = 'none';
|
|
62
|
+
if (target) {
|
|
63
|
+
form.target = target;
|
|
64
|
+
}
|
|
65
|
+
const appendInputs = (keyPrefix, value) => {
|
|
66
|
+
if (Array.isArray(value)) {
|
|
67
|
+
value.forEach(val => {
|
|
68
|
+
appendInputs(`${keyPrefix}[]`, val);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else if (typeof value === 'object' && value !== null) {
|
|
72
|
+
for (const subKey in value) {
|
|
73
|
+
if (value.hasOwnProperty(subKey)) {
|
|
74
|
+
appendInputs(`${keyPrefix}[${subKey}]`, value[subKey]);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const input = document.createElement('input');
|
|
80
|
+
input.type = 'hidden';
|
|
81
|
+
input.name = keyPrefix;
|
|
82
|
+
input.value = String(value);
|
|
83
|
+
form.appendChild(input);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
for (const key in data) {
|
|
87
|
+
if (data.hasOwnProperty(key)) {
|
|
88
|
+
appendInputs(key, data[key]);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
document.body.appendChild(form);
|
|
92
|
+
form.submit();
|
|
93
|
+
}
|
|
94
|
+
export function shallowEqual(a, b) {
|
|
95
|
+
if (a === b) {
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
if (a === null || b === null || typeof a !== typeof b) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
102
|
+
if (a.length !== b.length) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
return a.every((value, index) => value === b[index]);
|
|
106
|
+
}
|
|
107
|
+
if (typeof a === "object" && typeof b === "object") {
|
|
108
|
+
const keysA = Object.keys(a);
|
|
109
|
+
const keysB = Object.keys(b);
|
|
110
|
+
if (keysA.length !== keysB.length) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
return keysA.every(key => b.hasOwnProperty(key) && a[key] === b[key]);
|
|
114
|
+
}
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
export async function delay(ms) {
|
|
118
|
+
await new Promise(resolve => setTimeout(resolve, ms));
|
|
119
|
+
}
|
|
120
|
+
export function isUndefined(value) {
|
|
121
|
+
return typeof value === 'undefined';
|
|
122
|
+
}
|
|
123
|
+
export function isDefined(value) {
|
|
124
|
+
return typeof value !== 'undefined';
|
|
125
|
+
}
|
|
126
|
+
export function isNull(value) {
|
|
127
|
+
return value === null;
|
|
128
|
+
}
|
|
129
|
+
export function isBigInt(value) {
|
|
130
|
+
return typeof value === 'bigint';
|
|
131
|
+
}
|
|
132
|
+
export function isSymbol(value) {
|
|
133
|
+
return typeof value === 'symbol';
|
|
134
|
+
}
|
|
135
|
+
export function isNullOrUndefined(value) {
|
|
136
|
+
return value === null || typeof value === 'undefined';
|
|
137
|
+
}
|
|
138
|
+
export function isEmpty(value) {
|
|
139
|
+
return (Array.isArray(value) && value.length === 0) ||
|
|
140
|
+
(typeof value === 'string' && value === '') ||
|
|
141
|
+
value === null || typeof value === 'undefined';
|
|
142
|
+
}
|
|
143
|
+
export function isEmptyOrWhitespace(value) {
|
|
144
|
+
return (Array.isArray(value) && value.length === 0) ||
|
|
145
|
+
(typeof value === 'string' && value.trim() === '') ||
|
|
146
|
+
value === null || typeof value === 'undefined';
|
|
147
|
+
}
|
|
148
|
+
export async function ajaxSubmit(selectorOrElement) {
|
|
149
|
+
const form = typeof selectorOrElement === 'string'
|
|
150
|
+
? document.querySelector(selectorOrElement)
|
|
151
|
+
: selectorOrElement;
|
|
152
|
+
if (!(form instanceof HTMLFormElement)) {
|
|
153
|
+
throw new Error("Invalid element.");
|
|
154
|
+
}
|
|
155
|
+
return await fetch(form.action, {
|
|
156
|
+
method: form.method,
|
|
157
|
+
body: new FormData(form),
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
export function toPairs(obj) {
|
|
161
|
+
let output = [];
|
|
162
|
+
for (const key in obj) {
|
|
163
|
+
output.push(new KeyValuePair(key, obj[key]));
|
|
164
|
+
}
|
|
165
|
+
return output;
|
|
166
|
+
}
|
|
167
|
+
export function promisify(thing) {
|
|
168
|
+
if (thing instanceof Promise)
|
|
169
|
+
return thing;
|
|
170
|
+
if (isFunction(thing)) {
|
|
171
|
+
return new Promise((resolve, reject) => {
|
|
172
|
+
try {
|
|
173
|
+
const result = thing();
|
|
174
|
+
resolve(result);
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
reject(error);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
return Promise.resolve(thing);
|
|
182
|
+
}
|
|
183
|
+
export function ajaxSubmission(selectorOrElement, onSuccess = undefined, onFailure = undefined) {
|
|
184
|
+
const form = typeof selectorOrElement === 'string'
|
|
185
|
+
? document.querySelector(selectorOrElement)
|
|
186
|
+
: selectorOrElement;
|
|
187
|
+
if (!(form instanceof HTMLFormElement)) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
form.addEventListener('submit', async (event) => {
|
|
191
|
+
event.preventDefault();
|
|
192
|
+
let promise = ajaxSubmit(form);
|
|
193
|
+
if (promise) {
|
|
194
|
+
if (onSuccess)
|
|
195
|
+
promise = promise.then(onSuccess);
|
|
196
|
+
if (onFailure)
|
|
197
|
+
promise.catch(onFailure);
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
export function deepClone(obj) {
|
|
202
|
+
if (obj === null || typeof obj !== 'object') {
|
|
203
|
+
return obj;
|
|
204
|
+
}
|
|
205
|
+
if (Array.isArray(obj)) {
|
|
206
|
+
const copy = [];
|
|
207
|
+
for (const element of obj) {
|
|
208
|
+
copy.push(deepClone(element));
|
|
209
|
+
}
|
|
210
|
+
return copy;
|
|
211
|
+
}
|
|
212
|
+
const copy = {};
|
|
213
|
+
for (const key in obj) {
|
|
214
|
+
if (obj.hasOwnProperty(key)) {
|
|
215
|
+
copy[key] = deepClone(obj[key]);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return copy;
|
|
219
|
+
}
|
|
220
|
+
export function getType(value) {
|
|
221
|
+
return value === null ? Type.Null : Type[typeof value];
|
|
222
|
+
}
|
|
223
|
+
export function formToObject(form) {
|
|
224
|
+
const fd = new FormData(form);
|
|
225
|
+
const out = {};
|
|
226
|
+
for (const [key, value] of fd.entries()) {
|
|
227
|
+
if (key in out) {
|
|
228
|
+
const current = out[key];
|
|
229
|
+
if (Array.isArray(current)) {
|
|
230
|
+
current.push(value);
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
out[key] = [current, value];
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
out[key] = value;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
return out;
|
|
241
|
+
}
|
|
242
|
+
function _objectToFormData(data, formData, parentKey = '') {
|
|
243
|
+
for (const key in data) {
|
|
244
|
+
if (data.hasOwnProperty(key)) {
|
|
245
|
+
const value = data[key];
|
|
246
|
+
if (value instanceof Date) {
|
|
247
|
+
formData.append(parentKey ? `${parentKey}[${key}]` : key, value.toISOString());
|
|
248
|
+
}
|
|
249
|
+
else if (value instanceof File) {
|
|
250
|
+
formData.append(parentKey ? `${parentKey}[${key}]` : key, value);
|
|
251
|
+
}
|
|
252
|
+
else if (typeof value === 'object' && !Array.isArray(value)) {
|
|
253
|
+
_objectToFormData(value, formData, parentKey ? `${parentKey}[${key}]` : key);
|
|
254
|
+
}
|
|
255
|
+
else if (Array.isArray(value)) {
|
|
256
|
+
value.forEach((item, index) => {
|
|
257
|
+
const arrayKey = `${parentKey ? `${parentKey}[${key}]` : key}[${index}]`;
|
|
258
|
+
if (typeof item === 'object' && !Array.isArray(item)) {
|
|
259
|
+
_objectToFormData(item, formData, arrayKey);
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
formData.append(arrayKey, item);
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
formData.append(parentKey ? `${parentKey}[${key}]` : key, value);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return formData;
|
|
272
|
+
}
|
|
273
|
+
export function objectToFormData(data) {
|
|
274
|
+
let formData = new FormData();
|
|
275
|
+
return _objectToFormData(data, formData);
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=utilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/utilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Predicate } from "./types.js";
|
|
2
|
+
export declare function pull<T>(array: Array<T>, ...items: Array<T>): number;
|
|
3
|
+
export declare function chunk<T>(array: Array<T>, size: number): Array<Array<T>>;
|
|
4
|
+
export declare function clear<T>(array: Array<T>): void;
|
|
5
|
+
export declare function remove<T>(array: Array<T>, predicate: Predicate<T>): Array<T>;
|
|
6
|
+
//# sourceMappingURL=array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAU1C,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAWnE;AASD,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAOvE;AAOD,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAE9C;AAQD,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAc3E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Supplier } from "./types.js";
|
|
2
|
+
export default class AsyncPoolExecutor {
|
|
3
|
+
private _checkIntervalMs;
|
|
4
|
+
get maxConcurrency(): number;
|
|
5
|
+
set maxConcurrency(value: number);
|
|
6
|
+
private _proccess;
|
|
7
|
+
private _maxConcurrency;
|
|
8
|
+
private _activeTasks;
|
|
9
|
+
private _taskQueue;
|
|
10
|
+
constructor(maxConcurrency: number, checkInterval?: number);
|
|
11
|
+
submit(task: Supplier<any>): void;
|
|
12
|
+
shutdown(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=async-pool-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-pool-executor.d.ts","sourceRoot":"","sources":["../../src/async-pool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAGzC,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAClC,OAAO,CAAC,gBAAgB,CAAS;IAEjC,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,EAG/B;IAED,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAA4B;gBAOlC,cAAc,EAAE,MAAM,EAAE,aAAa,GAAE,MAAW;IAWvD,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IA2C3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKzC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export default class CacheDictionary<T> {
|
|
2
|
+
private readonly fallback;
|
|
3
|
+
private readonly cache;
|
|
4
|
+
private readonly defaultDuration;
|
|
5
|
+
private readonly expiration;
|
|
6
|
+
constructor(fallback?: ((key: string) => T) | null, defaultDuration?: number | null);
|
|
7
|
+
getExpiration(key: string): Date | undefined;
|
|
8
|
+
setExpiration(key: string, expiration: Date | undefined): void;
|
|
9
|
+
setDuration(key: string, duration: number | null): void;
|
|
10
|
+
get(key: string): T | null;
|
|
11
|
+
set(key: string, value: T, duration?: number | null): void;
|
|
12
|
+
remove(key: string): void;
|
|
13
|
+
private isExpired;
|
|
14
|
+
private calculateExpiration;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=cache-dictionary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-dictionary.d.ts","sourceRoot":"","sources":["../../src/cache-dictionary.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,eAAe,CAAC,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;gBAErD,QAAQ,GAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC,GAAG,IAAW,EAAE,eAAe,GAAE,MAAM,GAAG,IAAW;IAQxF,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAI5C,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI;IAI9D,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAUvD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAkB1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI;IAKhE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKhC,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,mBAAmB;CAS9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clean-url-search-params.d.ts","sourceRoot":"","sources":["../../src/clean-url-search-params.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,eAAe;gBACjD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAU3C"}
|