@daiso-tech/core 0.3.0 → 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/_module.js +2 -0
- package/dist/cjs/_module.js.map +1 -1
- package/dist/cjs/async/_module.js +29 -0
- package/dist/cjs/async/_module.js.map +1 -0
- package/dist/cjs/async/_shared.js +34 -0
- package/dist/cjs/async/_shared.js.map +1 -0
- package/dist/cjs/async/abortable/_module.js +18 -0
- package/dist/cjs/async/abortable/_module.js.map +1 -0
- package/dist/cjs/async/abortable/abortable.js +48 -0
- package/dist/cjs/async/abortable/abortable.js.map +1 -0
- package/dist/cjs/async/abortable-iterable/_module.js +18 -0
- package/dist/cjs/async/abortable-iterable/_module.js.map +1 -0
- package/dist/cjs/async/abortable-iterable/abortable-iterable.js +32 -0
- package/dist/cjs/async/abortable-iterable/abortable-iterable.js.map +1 -0
- package/dist/cjs/async/backof-policies/_module.js +21 -0
- package/dist/cjs/async/backof-policies/_module.js.map +1 -0
- package/dist/cjs/async/backof-policies/_shared.js +7 -0
- package/dist/cjs/async/backof-policies/_shared.js.map +1 -0
- package/dist/cjs/async/backof-policies/constant-backoff-policy/_module.js +18 -0
- package/dist/cjs/async/backof-policies/constant-backoff-policy/_module.js.map +1 -0
- package/dist/cjs/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +19 -0
- package/dist/cjs/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -0
- package/dist/cjs/async/backof-policies/exponential-backoff-policy/_module.js +18 -0
- package/dist/cjs/async/backof-policies/exponential-backoff-policy/_module.js.map +1 -0
- package/dist/cjs/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +23 -0
- package/dist/cjs/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -0
- package/dist/cjs/async/backof-policies/linear-backoff-policy/_module.js +18 -0
- package/dist/cjs/async/backof-policies/linear-backoff-policy/_module.js.map +1 -0
- package/dist/cjs/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +23 -0
- package/dist/cjs/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -0
- package/dist/cjs/async/backof-policies/polynomial-backoff-policy/_module.js +18 -0
- package/dist/cjs/async/backof-policies/polynomial-backoff-policy/_module.js.map +1 -0
- package/dist/cjs/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +23 -0
- package/dist/cjs/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -0
- package/dist/cjs/async/delay/_module.js +18 -0
- package/dist/cjs/async/delay/_module.js.map +1 -0
- package/dist/cjs/async/delay/delay.js +24 -0
- package/dist/cjs/async/delay/delay.js.map +1 -0
- package/dist/cjs/async/delay-iterable/_module.js +18 -0
- package/dist/cjs/async/delay-iterable/_module.js.map +1 -0
- package/dist/cjs/async/delay-iterable/delay-iterable.js +36 -0
- package/dist/cjs/async/delay-iterable/delay-iterable.js.map +1 -0
- package/dist/cjs/async/lazy-promise/_module.js +18 -0
- package/dist/cjs/async/lazy-promise/_module.js.map +1 -0
- package/dist/cjs/async/lazy-promise/lazy-promise.js +22 -0
- package/dist/cjs/async/lazy-promise/lazy-promise.js.map +1 -0
- package/dist/cjs/async/retry/_module.js +18 -0
- package/dist/cjs/async/retry/_module.js.map +1 -0
- package/dist/cjs/async/retry/retry.js +43 -0
- package/dist/cjs/async/retry/retry.js.map +1 -0
- package/dist/cjs/async/retry-iterable/_module.js +18 -0
- package/dist/cjs/async/retry-iterable/_module.js.map +1 -0
- package/dist/cjs/async/retry-iterable/retry-iterable.js +32 -0
- package/dist/cjs/async/retry-iterable/retry-iterable.js.map +1 -0
- package/dist/cjs/async/timeout/_module.js +18 -0
- package/dist/cjs/async/timeout/_module.js.map +1 -0
- package/dist/cjs/async/timeout/timeout.js +28 -0
- package/dist/cjs/async/timeout/timeout.js.map +1 -0
- package/dist/cjs/async/timeout-iterable/_module.js +18 -0
- package/dist/cjs/async/timeout-iterable/_module.js.map +1 -0
- package/dist/cjs/async/timeout-iterable/timeout-iterable.js +11 -0
- package/dist/cjs/async/timeout-iterable/timeout-iterable.js.map +1 -0
- package/dist/cjs/storage/storage.js +25 -15
- package/dist/cjs/storage/storage.js.map +1 -1
- package/dist/cjs/utilities/_module.js +18 -0
- package/dist/cjs/utilities/_module.js.map +1 -0
- package/dist/cjs/utilities/time-span/_module.js +18 -0
- package/dist/cjs/utilities/time-span/_module.js.map +1 -0
- package/dist/cjs/utilities/time-span/time-span.js +103 -0
- package/dist/cjs/utilities/time-span/time-span.js.map +1 -0
- package/dist/esm/_module.js +2 -0
- package/dist/esm/_module.js.map +1 -1
- package/dist/esm/async/_module.js +11 -0
- package/dist/esm/async/_module.js.map +1 -0
- package/dist/esm/async/_shared.js +27 -0
- package/dist/esm/async/_shared.js.map +1 -0
- package/dist/esm/async/abortable/_module.js +2 -0
- package/dist/esm/async/abortable/_module.js.map +1 -0
- package/dist/esm/async/abortable/abortable.js +45 -0
- package/dist/esm/async/abortable/abortable.js.map +1 -0
- package/dist/esm/async/abortable-iterable/_module.js +2 -0
- package/dist/esm/async/abortable-iterable/_module.js.map +1 -0
- package/dist/esm/async/abortable-iterable/abortable-iterable.js +29 -0
- package/dist/esm/async/abortable-iterable/abortable-iterable.js.map +1 -0
- package/dist/esm/async/backof-policies/_module.js +5 -0
- package/dist/esm/async/backof-policies/_module.js.map +1 -0
- package/dist/esm/async/backof-policies/_shared.js +4 -0
- package/dist/esm/async/backof-policies/_shared.js.map +1 -0
- package/dist/esm/async/backof-policies/constant-backoff-policy/_module.js +2 -0
- package/dist/esm/async/backof-policies/constant-backoff-policy/_module.js.map +1 -0
- package/dist/esm/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +16 -0
- package/dist/esm/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -0
- package/dist/esm/async/backof-policies/exponential-backoff-policy/_module.js +2 -0
- package/dist/esm/async/backof-policies/exponential-backoff-policy/_module.js.map +1 -0
- package/dist/esm/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +20 -0
- package/dist/esm/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -0
- package/dist/esm/async/backof-policies/linear-backoff-policy/_module.js +2 -0
- package/dist/esm/async/backof-policies/linear-backoff-policy/_module.js.map +1 -0
- package/dist/esm/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +20 -0
- package/dist/esm/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -0
- package/dist/esm/async/backof-policies/polynomial-backoff-policy/_module.js +2 -0
- package/dist/esm/async/backof-policies/polynomial-backoff-policy/_module.js.map +1 -0
- package/dist/esm/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +20 -0
- package/dist/esm/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -0
- package/dist/esm/async/delay/_module.js +2 -0
- package/dist/esm/async/delay/_module.js.map +1 -0
- package/dist/esm/async/delay/delay.js +21 -0
- package/dist/esm/async/delay/delay.js.map +1 -0
- package/dist/esm/async/delay-iterable/_module.js +2 -0
- package/dist/esm/async/delay-iterable/_module.js.map +1 -0
- package/dist/esm/async/delay-iterable/delay-iterable.js +33 -0
- package/dist/esm/async/delay-iterable/delay-iterable.js.map +1 -0
- package/dist/esm/async/lazy-promise/_module.js +2 -0
- package/dist/esm/async/lazy-promise/_module.js.map +1 -0
- package/dist/esm/async/lazy-promise/lazy-promise.js +17 -0
- package/dist/esm/async/lazy-promise/lazy-promise.js.map +1 -0
- package/dist/esm/async/retry/_module.js +2 -0
- package/dist/esm/async/retry/_module.js.map +1 -0
- package/dist/esm/async/retry/retry.js +40 -0
- package/dist/esm/async/retry/retry.js.map +1 -0
- package/dist/esm/async/retry-iterable/_module.js +2 -0
- package/dist/esm/async/retry-iterable/_module.js.map +1 -0
- package/dist/esm/async/retry-iterable/retry-iterable.js +29 -0
- package/dist/esm/async/retry-iterable/retry-iterable.js.map +1 -0
- package/dist/esm/async/timeout/_module.js +2 -0
- package/dist/esm/async/timeout/_module.js.map +1 -0
- package/dist/esm/async/timeout/timeout.js +25 -0
- package/dist/esm/async/timeout/timeout.js.map +1 -0
- package/dist/esm/async/timeout-iterable/_module.js +2 -0
- package/dist/esm/async/timeout-iterable/_module.js.map +1 -0
- package/dist/esm/async/timeout-iterable/timeout-iterable.js +8 -0
- package/dist/esm/async/timeout-iterable/timeout-iterable.js.map +1 -0
- package/dist/esm/storage/storage.js +25 -15
- package/dist/esm/storage/storage.js.map +1 -1
- package/dist/esm/utilities/_module.js +2 -0
- package/dist/esm/utilities/_module.js.map +1 -0
- package/dist/esm/utilities/time-span/_module.js +2 -0
- package/dist/esm/utilities/time-span/_module.js.map +1 -0
- package/dist/esm/utilities/time-span/time-span.js +99 -0
- package/dist/esm/utilities/time-span/time-span.js.map +1 -0
- package/dist/types/_module.d.ts +2 -0
- package/dist/types/async/_module.d.ts +10 -0
- package/dist/types/async/_shared.d.ts +35 -0
- package/dist/types/async/abortable/_module.d.ts +1 -0
- package/dist/types/async/abortable/abortable.d.ts +39 -0
- package/dist/types/async/abortable-iterable/_module.d.ts +1 -0
- package/dist/types/async/abortable-iterable/abortable-iterable.d.ts +36 -0
- package/dist/types/async/backof-policies/_module.d.ts +5 -0
- package/dist/types/async/backof-policies/_shared.d.ts +12 -0
- package/dist/types/async/backof-policies/constant-backoff-policy/_module.d.ts +1 -0
- package/dist/types/async/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +28 -0
- package/dist/types/async/backof-policies/exponential-backoff-policy/_module.d.ts +1 -0
- package/dist/types/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +36 -0
- package/dist/types/async/backof-policies/linear-backoff-policy/_module.d.ts +1 -0
- package/dist/types/async/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +32 -0
- package/dist/types/async/backof-policies/polynomial-backoff-policy/_module.d.ts +1 -0
- package/dist/types/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +36 -0
- package/dist/types/async/delay/_module.d.ts +1 -0
- package/dist/types/async/delay/delay.d.ts +38 -0
- package/dist/types/async/delay-iterable/_module.d.ts +1 -0
- package/dist/types/async/delay-iterable/delay-iterable.d.ts +57 -0
- package/dist/types/async/lazy-promise/_module.d.ts +1 -0
- package/dist/types/async/lazy-promise/lazy-promise.d.ts +28 -0
- package/dist/types/async/retry/_module.d.ts +1 -0
- package/dist/types/async/retry/retry.d.ts +86 -0
- package/dist/types/async/retry-iterable/_module.d.ts +1 -0
- package/dist/types/async/retry-iterable/retry-iterable.d.ts +86 -0
- package/dist/types/async/timeout/_module.d.ts +1 -0
- package/dist/types/async/timeout/timeout.d.ts +40 -0
- package/dist/types/async/timeout-iterable/_module.d.ts +1 -0
- package/dist/types/async/timeout-iterable/timeout-iterable.d.ts +64 -0
- package/dist/types/contracts/storage/storage.contract.d.ts +2 -1
- package/dist/types/storage/storage.d.ts +5 -3
- package/dist/types/utilities/_module.d.ts +1 -0
- package/dist/types/utilities/time-span/_module.d.ts +1 -0
- package/dist/types/utilities/time-span/time-span.d.ts +50 -0
- package/package.json +1 -1
|
@@ -4,11 +4,21 @@ import { NamespaceStorageAdapter } from "../storage/namespace-storage-adapter";
|
|
|
4
4
|
import { simplifyAsyncLazyable } from "../_shared/utilities";
|
|
5
5
|
export class Storage {
|
|
6
6
|
storageAdapter;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
namespaceStorageAdapter;
|
|
8
|
+
settings;
|
|
9
|
+
constructor(storageAdapter, settings = {}) {
|
|
10
|
+
this.storageAdapter = storageAdapter;
|
|
11
|
+
this.settings = {
|
|
12
|
+
namespace: "",
|
|
13
|
+
...settings,
|
|
14
|
+
};
|
|
15
|
+
this.namespaceStorageAdapter = new NamespaceStorageAdapter(new UsableStorageAdapter(this.storageAdapter), this.settings.namespace);
|
|
9
16
|
}
|
|
10
|
-
|
|
11
|
-
|
|
17
|
+
namespace(name) {
|
|
18
|
+
return new Storage(this.storageAdapter, {
|
|
19
|
+
...this.settings,
|
|
20
|
+
namespace: `${this.settings.namespace}${name}`,
|
|
21
|
+
});
|
|
12
22
|
}
|
|
13
23
|
async exists(key) {
|
|
14
24
|
try {
|
|
@@ -27,7 +37,7 @@ export class Storage {
|
|
|
27
37
|
}
|
|
28
38
|
async existsMany(keys) {
|
|
29
39
|
try {
|
|
30
|
-
return await this.
|
|
40
|
+
return await this.namespaceStorageAdapter.existsMany(keys);
|
|
31
41
|
}
|
|
32
42
|
catch (error) {
|
|
33
43
|
if (error instanceof StorageError) {
|
|
@@ -66,7 +76,7 @@ export class Storage {
|
|
|
66
76
|
}
|
|
67
77
|
async getMany(keys) {
|
|
68
78
|
try {
|
|
69
|
-
return await this.
|
|
79
|
+
return await this.namespaceStorageAdapter.getMany(keys);
|
|
70
80
|
}
|
|
71
81
|
catch (error) {
|
|
72
82
|
if (error instanceof StorageError) {
|
|
@@ -152,7 +162,7 @@ export class Storage {
|
|
|
152
162
|
}
|
|
153
163
|
async addMany(values) {
|
|
154
164
|
try {
|
|
155
|
-
return await this.
|
|
165
|
+
return await this.namespaceStorageAdapter.addMany(values);
|
|
156
166
|
}
|
|
157
167
|
catch (error) {
|
|
158
168
|
if (error instanceof StorageError) {
|
|
@@ -171,7 +181,7 @@ export class Storage {
|
|
|
171
181
|
return hasKey;
|
|
172
182
|
}
|
|
173
183
|
async updateMany(values) {
|
|
174
|
-
return await this.
|
|
184
|
+
return await this.namespaceStorageAdapter.updateMany(values);
|
|
175
185
|
}
|
|
176
186
|
async put(key, value) {
|
|
177
187
|
try {
|
|
@@ -192,7 +202,7 @@ export class Storage {
|
|
|
192
202
|
}
|
|
193
203
|
async putMany(values) {
|
|
194
204
|
try {
|
|
195
|
-
return await this.
|
|
205
|
+
return await this.namespaceStorageAdapter.putMany(values);
|
|
196
206
|
}
|
|
197
207
|
catch (error) {
|
|
198
208
|
if (error instanceof StorageError) {
|
|
@@ -218,7 +228,7 @@ export class Storage {
|
|
|
218
228
|
}
|
|
219
229
|
async removeMany(keys) {
|
|
220
230
|
try {
|
|
221
|
-
return await this.
|
|
231
|
+
return await this.namespaceStorageAdapter.removeMany(keys);
|
|
222
232
|
}
|
|
223
233
|
catch (error) {
|
|
224
234
|
if (error instanceof StorageError) {
|
|
@@ -229,7 +239,7 @@ export class Storage {
|
|
|
229
239
|
}
|
|
230
240
|
async getAndRemove(key) {
|
|
231
241
|
try {
|
|
232
|
-
return await this.
|
|
242
|
+
return await this.namespaceStorageAdapter.getAndRemove(key);
|
|
233
243
|
}
|
|
234
244
|
catch (error) {
|
|
235
245
|
if (error instanceof StorageError) {
|
|
@@ -240,7 +250,7 @@ export class Storage {
|
|
|
240
250
|
}
|
|
241
251
|
async getOrAdd(key, valueToAdd) {
|
|
242
252
|
try {
|
|
243
|
-
const value = await this.
|
|
253
|
+
const value = await this.namespaceStorageAdapter.getOrAdd(key, valueToAdd);
|
|
244
254
|
return value;
|
|
245
255
|
}
|
|
246
256
|
catch (error) {
|
|
@@ -252,7 +262,7 @@ export class Storage {
|
|
|
252
262
|
}
|
|
253
263
|
async increment(key, value = 1) {
|
|
254
264
|
try {
|
|
255
|
-
return await this.
|
|
265
|
+
return await this.namespaceStorageAdapter.increment(key, value);
|
|
256
266
|
}
|
|
257
267
|
catch (error) {
|
|
258
268
|
if (error instanceof StorageError) {
|
|
@@ -263,7 +273,7 @@ export class Storage {
|
|
|
263
273
|
}
|
|
264
274
|
async decrement(key, value = 1) {
|
|
265
275
|
try {
|
|
266
|
-
return await this.
|
|
276
|
+
return await this.namespaceStorageAdapter.increment(key, -value);
|
|
267
277
|
}
|
|
268
278
|
catch (error) {
|
|
269
279
|
if (error instanceof StorageError) {
|
|
@@ -274,7 +284,7 @@ export class Storage {
|
|
|
274
284
|
}
|
|
275
285
|
async clear() {
|
|
276
286
|
try {
|
|
277
|
-
await this.
|
|
287
|
+
await this.namespaceStorageAdapter.clear();
|
|
278
288
|
}
|
|
279
289
|
catch (error) {
|
|
280
290
|
if (error instanceof StorageError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,uBAAuB,EACvB,YAAY,EACZ,sBAAsB,GAEzB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,MAAM,OAAO,OAAO;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../src/utilities/_module.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../src/utilities/time-span/_module.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export class TimeSpan {
|
|
2
|
+
milliseconds;
|
|
3
|
+
static secondInMilliseconds = 1000;
|
|
4
|
+
static minuteInMilliseconds = 60 * TimeSpan.secondInMilliseconds;
|
|
5
|
+
static hourInMilliseconds = 60 * TimeSpan.minuteInMilliseconds;
|
|
6
|
+
static dayInMilliseconds = 24 * TimeSpan.hourInMilliseconds;
|
|
7
|
+
constructor(milliseconds = 0) {
|
|
8
|
+
this.milliseconds = milliseconds;
|
|
9
|
+
this.milliseconds = Math.max(0, this.milliseconds);
|
|
10
|
+
}
|
|
11
|
+
static fromMilliseconds(milliseconds) {
|
|
12
|
+
return new TimeSpan().addMilliseconds(milliseconds);
|
|
13
|
+
}
|
|
14
|
+
static fromSeconds(seconds) {
|
|
15
|
+
return new TimeSpan().addSeconds(seconds);
|
|
16
|
+
}
|
|
17
|
+
static fromMinutes(minutes) {
|
|
18
|
+
return new TimeSpan().addMinutes(minutes);
|
|
19
|
+
}
|
|
20
|
+
static fromHours(hours) {
|
|
21
|
+
return new TimeSpan().addHours(hours);
|
|
22
|
+
}
|
|
23
|
+
static fromDays(days) {
|
|
24
|
+
return new TimeSpan().addDays(days);
|
|
25
|
+
}
|
|
26
|
+
static fromTimeSpan(timeSpan) {
|
|
27
|
+
return new TimeSpan().addTimeSpan(timeSpan);
|
|
28
|
+
}
|
|
29
|
+
static fromDateRange(from, to) {
|
|
30
|
+
return new TimeSpan().addMilliseconds(to.getTime() - from.getTime());
|
|
31
|
+
}
|
|
32
|
+
addMilliseconds(milliseconds) {
|
|
33
|
+
return new TimeSpan(this.toMilliseconds() + milliseconds);
|
|
34
|
+
}
|
|
35
|
+
addSeconds(seconds) {
|
|
36
|
+
return this.addMilliseconds(TimeSpan.secondInMilliseconds * seconds);
|
|
37
|
+
}
|
|
38
|
+
addMinutes(minutes) {
|
|
39
|
+
return this.addMilliseconds(TimeSpan.minuteInMilliseconds * minutes);
|
|
40
|
+
}
|
|
41
|
+
addHours(hours) {
|
|
42
|
+
return this.addMilliseconds(TimeSpan.hourInMilliseconds * hours);
|
|
43
|
+
}
|
|
44
|
+
addDays(days) {
|
|
45
|
+
return this.addMilliseconds(TimeSpan.dayInMilliseconds * days);
|
|
46
|
+
}
|
|
47
|
+
addTimeSpan(timeSpan) {
|
|
48
|
+
return this.addMilliseconds(timeSpan.toMilliseconds());
|
|
49
|
+
}
|
|
50
|
+
subtractMilliseconds(milliseconds) {
|
|
51
|
+
return new TimeSpan(this.toMilliseconds() - milliseconds);
|
|
52
|
+
}
|
|
53
|
+
subtractSeconds(seconds) {
|
|
54
|
+
return this.subtractMilliseconds(TimeSpan.secondInMilliseconds * seconds);
|
|
55
|
+
}
|
|
56
|
+
subtractMinutes(minutes) {
|
|
57
|
+
return this.subtractMilliseconds(TimeSpan.minuteInMilliseconds * minutes);
|
|
58
|
+
}
|
|
59
|
+
subtractHours(hours) {
|
|
60
|
+
return this.subtractMilliseconds(TimeSpan.hourInMilliseconds * hours);
|
|
61
|
+
}
|
|
62
|
+
subtractDays(days) {
|
|
63
|
+
return this.subtractMilliseconds(TimeSpan.dayInMilliseconds * days);
|
|
64
|
+
}
|
|
65
|
+
subtractTimeSpan(timeSpan) {
|
|
66
|
+
return this.subtractMilliseconds(timeSpan.toMilliseconds());
|
|
67
|
+
}
|
|
68
|
+
multiply(value) {
|
|
69
|
+
return new TimeSpan(Math.round(value * this.toMilliseconds()));
|
|
70
|
+
}
|
|
71
|
+
divide(value) {
|
|
72
|
+
return new TimeSpan(Math.round(this.toMilliseconds() / value));
|
|
73
|
+
}
|
|
74
|
+
toMilliseconds() {
|
|
75
|
+
return this.milliseconds;
|
|
76
|
+
}
|
|
77
|
+
toSeconds() {
|
|
78
|
+
return Math.floor(this.milliseconds / TimeSpan.secondInMilliseconds);
|
|
79
|
+
}
|
|
80
|
+
toMinutes() {
|
|
81
|
+
return Math.floor(this.milliseconds / TimeSpan.minuteInMilliseconds);
|
|
82
|
+
}
|
|
83
|
+
toHours() {
|
|
84
|
+
return Math.floor(this.milliseconds / TimeSpan.hourInMilliseconds);
|
|
85
|
+
}
|
|
86
|
+
toDays() {
|
|
87
|
+
return Math.floor(this.milliseconds / TimeSpan.dayInMilliseconds);
|
|
88
|
+
}
|
|
89
|
+
toUTCTimestamp() {
|
|
90
|
+
return Math.round(this.toMilliseconds() / 1000);
|
|
91
|
+
}
|
|
92
|
+
toEndDate(startDate) {
|
|
93
|
+
return new Date(startDate.getTime() + this.toMilliseconds());
|
|
94
|
+
}
|
|
95
|
+
toStartDate(endDate) {
|
|
96
|
+
return new Date(endDate.getTime() - this.toMilliseconds());
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=time-span.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-span.js","sourceRoot":"","sources":["../../../../src/utilities/time-span/time-span.ts"],"names":[],"mappings":"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"}
|
package/dist/types/_module.d.ts
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from "../async/abortable/_module";
|
|
2
|
+
export * from "../async/abortable-iterable/_module";
|
|
3
|
+
export * from "../async/backof-policies/_module";
|
|
4
|
+
export * from "../async/delay/_module";
|
|
5
|
+
export * from "../async/delay-iterable/_module";
|
|
6
|
+
export * from "../async/lazy-promise/_module";
|
|
7
|
+
export * from "../async/retry/_module";
|
|
8
|
+
export { retryIterable as unstable_retryIterable } from "../async/retry-iterable/_module";
|
|
9
|
+
export * from "../async/timeout/_module";
|
|
10
|
+
export * from "../async/timeout-iterable/_module";
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Async
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @group Errors
|
|
6
|
+
*/
|
|
7
|
+
export declare class AsyncError extends Error {
|
|
8
|
+
constructor(message: string, cause?: unknown);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @group Errors
|
|
12
|
+
*/
|
|
13
|
+
export declare class AbortAsyncError extends AsyncError {
|
|
14
|
+
constructor(message: string, cause?: unknown);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @group Errors
|
|
18
|
+
*/
|
|
19
|
+
export declare class TimeoutAsyncError extends AsyncError {
|
|
20
|
+
constructor(message: string, cause?: unknown);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @group Errors
|
|
24
|
+
*/
|
|
25
|
+
export type RetryAsyncErrorData = {
|
|
26
|
+
cause?: unknown;
|
|
27
|
+
maxAttempts: number;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* @group Errors
|
|
31
|
+
*/
|
|
32
|
+
export declare class RetryAsyncError extends AsyncError {
|
|
33
|
+
readonly maxAttempts: number;
|
|
34
|
+
constructor(message: string, { cause, maxAttempts }: RetryAsyncErrorData);
|
|
35
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../async/abortable/abortable";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Async
|
|
3
|
+
*/
|
|
4
|
+
import { LazyPromise } from "../../async/lazy-promise/_module";
|
|
5
|
+
/**
|
|
6
|
+
* The <i>abortable</i> function makes a <i>{@link PromiseLike}</i> object abortable.
|
|
7
|
+
* @group Promise utilities
|
|
8
|
+
* @throws {AsyncError} {@link AsyncError}
|
|
9
|
+
* @throws {AbortAsyncError} {@link AbortAsyncError}
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { abortable } from "@daiso-tech/core"
|
|
13
|
+
*
|
|
14
|
+
* let a = 0;
|
|
15
|
+
* const abortController = new AbortController();
|
|
16
|
+
* const fn = async () => {
|
|
17
|
+
* a = 1;
|
|
18
|
+
* abortController.abort("My message")
|
|
19
|
+
* await new Promise<void>(resolve => {
|
|
20
|
+
* setTimeout(() => {
|
|
21
|
+
* resolve()
|
|
22
|
+
* }, 0)
|
|
23
|
+
* })
|
|
24
|
+
* a = 2;
|
|
25
|
+
* }
|
|
26
|
+
* const promise = abortable(fn, abortController.signal);
|
|
27
|
+
* (async () => {
|
|
28
|
+
* try {
|
|
29
|
+
* // An error will be thrown
|
|
30
|
+
* await promise;
|
|
31
|
+
* }
|
|
32
|
+
* finally {
|
|
33
|
+
* // Will be 1
|
|
34
|
+
* console.log(a);
|
|
35
|
+
* }
|
|
36
|
+
* })();
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function abortable<TValue>(asyncFn: () => PromiseLike<TValue>, abortSignal: AbortSignal): LazyPromise<TValue>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../async/abortable-iterable/abortable-iterable";
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Async
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* The <i>abortableIterable</i> function makes a <i>{@link AsyncIterable}</i> abortable.
|
|
6
|
+
* @group AsyncIterable utilities
|
|
7
|
+
* @throws {AsyncError} {@link AsyncError}
|
|
8
|
+
* @throws {AbortAsyncError} {@link AbortAsyncError}
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { abortableIterable } from "@daiso-tech/core"
|
|
12
|
+
*
|
|
13
|
+
* let a = 0;
|
|
14
|
+
* const abortController = new AbortController();
|
|
15
|
+
* const iterable: AsyncIterable<void> = {
|
|
16
|
+
* async *[Symbol.asyncIterator]() {
|
|
17
|
+
* a = 1;
|
|
18
|
+
* abortController.abort("My abort");
|
|
19
|
+
* yield undefined;
|
|
20
|
+
* a = 2;
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* const newIterable = abortableIterable(iterable, abortController.signal);
|
|
24
|
+
* (async () => {
|
|
25
|
+
* try {
|
|
26
|
+
* // An error will be thrown
|
|
27
|
+
* for await (const _ of newIterable);
|
|
28
|
+
* }
|
|
29
|
+
* finally {
|
|
30
|
+
* // Will be 1
|
|
31
|
+
* console.log(a);
|
|
32
|
+
* }
|
|
33
|
+
* })();
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function abortableIterable<TValue>(iterable: AsyncIterable<TValue>, abortSignal: AbortSignal): AsyncIterable<TValue>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { type BackoffPolicy } from "../../async/backof-policies/_shared";
|
|
2
|
+
export * from "../../async/backof-policies/constant-backoff-policy/_module";
|
|
3
|
+
export * from "../../async/backof-policies/exponential-backoff-policy/_module";
|
|
4
|
+
export * from "../../async/backof-policies/linear-backoff-policy/_module";
|
|
5
|
+
export * from "../../async/backof-policies/polynomial-backoff-policy/_module";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Async
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @group Backoff policies
|
|
6
|
+
* @returns Amount milliseconds to wait
|
|
7
|
+
*/
|
|
8
|
+
export type BackoffPolicy = (attempt: number, error: unknown) => number;
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare function withJitter(jitter: number, value: number, mathRandom: () => number): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../async/backof-policies/constant-backoff-policy/constant-backoff-policy";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Async
|
|
3
|
+
*/
|
|
4
|
+
import { TimeSpan } from "../../../utilities/_module";
|
|
5
|
+
import { type BackoffPolicy } from "../../../async/backof-policies/_shared";
|
|
6
|
+
/**
|
|
7
|
+
* @group Backoff policies
|
|
8
|
+
*/
|
|
9
|
+
export type ConstantBackoffPolicySettings = {
|
|
10
|
+
/**
|
|
11
|
+
* @default 1000 milliseconds
|
|
12
|
+
*/
|
|
13
|
+
delay?: TimeSpan;
|
|
14
|
+
/**
|
|
15
|
+
* @default {0.5}
|
|
16
|
+
*/
|
|
17
|
+
jitter?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Used only for testing
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
_mathRandom?: () => number;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Constant backoff policy with jitter
|
|
26
|
+
* @group Backoff policies
|
|
27
|
+
*/
|
|
28
|
+
export declare function constantBackoffPolicy(settings?: ConstantBackoffPolicySettings | ((error: unknown) => ConstantBackoffPolicySettings)): BackoffPolicy;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../async/backof-policies/exponential-backoff-policy/exponential-backoff-policy";
|
package/dist/types/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Async
|
|
3
|
+
*/
|
|
4
|
+
import { TimeSpan } from "../../../utilities/_module";
|
|
5
|
+
import type { BackoffPolicy } from "../../../async/backof-policies/_shared";
|
|
6
|
+
/**
|
|
7
|
+
* @group Backoff policies
|
|
8
|
+
*/
|
|
9
|
+
export type ExponentialBackoffPolicySettings = {
|
|
10
|
+
/**
|
|
11
|
+
* @default 60_000 milliseconds
|
|
12
|
+
*/
|
|
13
|
+
maxDelay?: TimeSpan;
|
|
14
|
+
/**
|
|
15
|
+
* @default 1_000 milliseconds
|
|
16
|
+
*/
|
|
17
|
+
minDelay?: TimeSpan;
|
|
18
|
+
/**
|
|
19
|
+
* @default {2}
|
|
20
|
+
*/
|
|
21
|
+
multiplier?: number;
|
|
22
|
+
/**
|
|
23
|
+
* @default {0.5}
|
|
24
|
+
*/
|
|
25
|
+
jitter?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Used only for testing
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
_mathRandom?: () => number;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Exponential backoff policy with jitter
|
|
34
|
+
* @group Backoff policies
|
|
35
|
+
*/
|
|
36
|
+
export declare function exponentialBackoffPolicy(settings?: ExponentialBackoffPolicySettings | ((error: unknown) => ExponentialBackoffPolicySettings)): BackoffPolicy;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../async/backof-policies/linear-backoff-policy/linear-backoff-policy";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Async
|
|
3
|
+
*/
|
|
4
|
+
import { TimeSpan } from "../../../utilities/_module";
|
|
5
|
+
import type { BackoffPolicy } from "../../../async/backof-policies/_shared";
|
|
6
|
+
/**
|
|
7
|
+
* @group Backoff policies
|
|
8
|
+
*/
|
|
9
|
+
export type LinearBackoffPolicySettings = {
|
|
10
|
+
/**
|
|
11
|
+
* @default 6000 milliseconds
|
|
12
|
+
*/
|
|
13
|
+
maxDelay?: TimeSpan;
|
|
14
|
+
/**
|
|
15
|
+
* @default 1_000 milliseconds
|
|
16
|
+
*/
|
|
17
|
+
minDelay?: TimeSpan;
|
|
18
|
+
/**
|
|
19
|
+
* @default {0.5}
|
|
20
|
+
*/
|
|
21
|
+
jitter?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Used only for testing
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
_mathRandom?: () => number;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Linear backoff policy with jitter
|
|
30
|
+
* @group Backoff policies
|
|
31
|
+
*/
|
|
32
|
+
export declare function linearBackoffPolicy(settings?: LinearBackoffPolicySettings | ((error: unknown) => LinearBackoffPolicySettings)): BackoffPolicy;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy";
|
package/dist/types/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Async
|
|
3
|
+
*/
|
|
4
|
+
import { TimeSpan } from "../../../utilities/_module";
|
|
5
|
+
import type { BackoffPolicy } from "../../../async/backof-policies/_shared";
|
|
6
|
+
/**
|
|
7
|
+
* @group Backoff policies
|
|
8
|
+
*/
|
|
9
|
+
export type PolynomialBackoffPolicySettings = {
|
|
10
|
+
/**
|
|
11
|
+
* @default 60_000 milliseconds
|
|
12
|
+
*/
|
|
13
|
+
maxDelay?: TimeSpan;
|
|
14
|
+
/**
|
|
15
|
+
* @default 1_000 milliseconds
|
|
16
|
+
*/
|
|
17
|
+
minDelay?: TimeSpan;
|
|
18
|
+
/**
|
|
19
|
+
* @default {2}
|
|
20
|
+
*/
|
|
21
|
+
degree?: number;
|
|
22
|
+
/**
|
|
23
|
+
* @default {0.5}
|
|
24
|
+
*/
|
|
25
|
+
jitter?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Used only for testing
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
_mathRandom?: () => number;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Polynomial backoff policy with jitter
|
|
34
|
+
* @group Backoff policies
|
|
35
|
+
*/
|
|
36
|
+
export declare function polynomialBackoffPolicy(settings?: PolynomialBackoffPolicySettings | ((error: unknown) => PolynomialBackoffPolicySettings)): BackoffPolicy;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../async/delay/delay";
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Async
|
|
3
|
+
*/
|
|
4
|
+
import type { TimeSpan } from "../../utilities/_module";
|
|
5
|
+
import { LazyPromise } from "../../async/lazy-promise/_module";
|
|
6
|
+
/**
|
|
7
|
+
* The <i>delay</i> function creates a promise that will be fulfilled after given <i>time</i> and can be aborted by providing <i>abortSignal</i>.
|
|
8
|
+
* @group Promise utilities
|
|
9
|
+
* @throws {AsyncError} {@link AsyncError}
|
|
10
|
+
* @throws {AbortAsyncError} {@link AbortAsyncError}
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { delay, TimeSpan } from "@daiso-tech/core";
|
|
14
|
+
* (async () => {
|
|
15
|
+
* console.log("a");
|
|
16
|
+
* await delay(TimeSpan.fromSeconds(2));
|
|
17
|
+
* console.log("b");
|
|
18
|
+
* })();
|
|
19
|
+
* ```
|
|
20
|
+
* @example with abortSignal
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { delay, TimeSpan } from "@daiso-tech/core";
|
|
23
|
+
*
|
|
24
|
+
* const abortController = new AbortController();
|
|
25
|
+
* setTimeout(() => {
|
|
26
|
+
* abortController.abort("My abort error");
|
|
27
|
+
* }, TimeSpan.fromSeconds(1).toMilliseconds());
|
|
28
|
+
* const promise = delay(TimeSpan.fromSeconds(2), abortController.signal);
|
|
29
|
+
*
|
|
30
|
+
* (async () => {
|
|
31
|
+
* console.log("a");
|
|
32
|
+
* // Will throw AbortAsyncError
|
|
33
|
+
* await promise;
|
|
34
|
+
* console.log("b");
|
|
35
|
+
* })();
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function delay(time: TimeSpan, abortSignal?: AbortSignal): LazyPromise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../async/delay-iterable/delay-iterable";
|