@zajno/common 2.0.21 → 2.1.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/async/timeout.js.map +1 -1
- package/controllers/PluggableController.js +2 -4
- package/controllers/PluggableController.js.map +1 -1
- package/dates/convert.js.map +1 -1
- package/dates/datex.d.ts.map +1 -1
- package/dates/datex.js +4 -1
- package/dates/datex.js.map +1 -1
- package/dates/format.js +2 -2
- package/dates/format.js.map +1 -1
- package/dates/parse.js +1 -1
- package/dates/parse.js.map +1 -1
- package/dates/period.js +1 -1
- package/dates/period.js.map +1 -1
- package/dates/types.js +1 -1
- package/dates/types.js.map +1 -1
- package/dates/tz.js +1 -1
- package/dates/tz.js.map +1 -1
- package/dates/yearDate.js +4 -4
- package/dates/yearDate.js.map +1 -1
- package/fields/filter.js +1 -1
- package/fields/filter.js.map +1 -1
- package/fields/skip.js +2 -2
- package/fields/skip.js.map +1 -1
- package/fields/transfer.js +1 -1
- package/fields/transfer.js.map +1 -1
- package/fields/update.d.ts.map +1 -1
- package/fields/update.js +11 -13
- package/fields/update.js.map +1 -1
- package/functions/disposer.js +9 -8
- package/functions/disposer.js.map +1 -1
- package/functions/safe.d.ts +2 -0
- package/functions/safe.d.ts.map +1 -0
- package/functions/safe.js +8 -0
- package/functions/safe.js.map +1 -0
- package/functions/throttle.d.ts.map +1 -1
- package/functions/throttle.js +51 -49
- package/functions/throttle.js.map +1 -1
- package/lazy/promise.d.ts +1 -1
- package/lazy/promise.d.ts.map +1 -1
- package/lazy/promise.js +15 -13
- package/lazy/promise.js.map +1 -1
- package/lazy/singleton.js +3 -1
- package/lazy/singleton.js.map +1 -1
- package/logger/batch.js.map +1 -1
- package/logger/console.js +4 -4
- package/logger/console.js.map +1 -1
- package/logger/file.d.ts.map +1 -1
- package/logger/file.js +18 -20
- package/logger/file.js.map +1 -1
- package/logger/index.js.map +1 -1
- package/logger/named.d.ts +1 -1
- package/logger/named.d.ts.map +1 -1
- package/logger/named.js +4 -4
- package/logger/named.js.map +1 -1
- package/logger/proxy.js +1 -1
- package/logger/proxy.js.map +1 -1
- package/math/arrays.d.ts +2 -0
- package/math/arrays.d.ts.map +1 -1
- package/math/arrays.js +9 -4
- package/math/arrays.js.map +1 -1
- package/math/distribution.js +1 -1
- package/math/distribution.js.map +1 -1
- package/math/object/helpers.d.ts +5 -4
- package/math/object/helpers.d.ts.map +1 -1
- package/math/object/helpers.js +2 -0
- package/math/object/helpers.js.map +1 -1
- package/math/object/math.composite.d.ts +1 -1
- package/math/object/math.composite.d.ts.map +1 -1
- package/math/object/math.composite.js +5 -1
- package/math/object/math.composite.js.map +1 -1
- package/math/object/math.d.ts +1 -1
- package/math/object/math.js.map +1 -1
- package/math/object/ops.composite.d.ts +2 -1
- package/math/object/ops.composite.d.ts.map +1 -1
- package/math/object/ops.composite.js +9 -1
- package/math/object/ops.composite.js.map +1 -1
- package/math/object/ops.d.ts +3 -3
- package/math/object/ops.d.ts.map +1 -1
- package/math/object/ops.js +3 -0
- package/math/object/ops.js.map +1 -1
- package/math/object/types.d.ts +9 -9
- package/math/object/types.d.ts.map +1 -1
- package/models/EntityWithStatus.js +2 -3
- package/models/EntityWithStatus.js.map +1 -1
- package/models/Model.js +9 -8
- package/models/Model.js.map +1 -1
- package/models/ValuesCollector.d.ts +1 -1
- package/models/ValuesCollector.js +1 -3
- package/models/ValuesCollector.js.map +1 -1
- package/models/wrappers.d.ts +1 -1
- package/models/wrappers.d.ts.map +1 -1
- package/models/wrappers.js +6 -4
- package/models/wrappers.js.map +1 -1
- package/observing/event.d.ts.map +1 -1
- package/observing/event.js +12 -8
- package/observing/event.js.map +1 -1
- package/observing/event.late.d.ts.map +1 -1
- package/observing/event.late.js +4 -6
- package/observing/event.late.js.map +1 -1
- package/observing/progressTracker.js +9 -8
- package/observing/progressTracker.js.map +1 -1
- package/observing/throttledEvent.d.ts.map +1 -1
- package/observing/throttledEvent.js +2 -5
- package/observing/throttledEvent.js.map +1 -1
- package/observing/timer.js +4 -3
- package/observing/timer.js.map +1 -1
- package/package.json +15 -15
- package/storage/asyncWrapper.js +1 -0
- package/storage/asyncWrapper.js.map +1 -1
- package/storage/keyStorage.js +5 -1
- package/storage/keyStorage.js.map +1 -1
- package/structures/helpers/enum.js +8 -4
- package/structures/helpers/enum.js.map +1 -1
- package/structures/linkedList.js +3 -5
- package/structures/linkedList.js.map +1 -1
- package/structures/nameof.js +2 -2
- package/structures/nameof.js.map +1 -1
- package/structures/pool.d.ts.map +1 -1
- package/structures/pool.js +4 -3
- package/structures/pool.js.map +1 -1
- package/structures/promiseCache.d.ts.map +1 -1
- package/structures/promiseCache.js +29 -28
- package/structures/promiseCache.js.map +1 -1
- package/structures/promiseProxy.d.ts +3 -3
- package/structures/promiseProxy.d.ts.map +1 -1
- package/structures/promiseProxy.js +1 -1
- package/structures/promiseProxy.js.map +1 -1
- package/structures/queue/parallel.js +24 -29
- package/structures/queue/parallel.js.map +1 -1
- package/structures/queue/tasks.js +29 -29
- package/structures/queue/tasks.js.map +1 -1
- package/structures/subscribersMap.d.ts +1 -1
- package/structures/subscribersMap.d.ts.map +1 -1
- package/structures/subscribersMap.js +10 -7
- package/structures/subscribersMap.js.map +1 -1
- package/structures/tempoCache.js +4 -2
- package/structures/tempoCache.js.map +1 -1
- package/types/comparator.js +1 -1
- package/types/comparator.js.map +1 -1
- package/types/deep.d.ts +16 -17
- package/types/deep.d.ts.map +1 -1
- package/types/functions.d.ts +2 -1
- package/types/functions.d.ts.map +1 -1
- package/types/getter.js +1 -1
- package/types/getter.js.map +1 -1
- package/types/ident.d.ts +1 -1
- package/types/ident.d.ts.map +1 -1
- package/types/index.d.ts +1 -20
- package/types/index.d.ts.map +1 -1
- package/types/index.js +1 -0
- package/types/index.js.map +1 -1
- package/types/misc.d.ts +24 -0
- package/types/misc.d.ts.map +1 -0
- package/types/misc.js +3 -0
- package/types/misc.js.map +1 -0
- package/validation/ValidationErrors.js +2 -2
- package/validation/ValidationErrors.js.map +1 -1
- package/validation/types.js +1 -1
- package/validation/types.js.map +1 -1
- package/functions/safeCall.d.ts +0 -2
- package/functions/safeCall.d.ts.map +0 -1
- package/functions/safeCall.js +0 -10
- package/functions/safeCall.js.map +0 -1
|
@@ -4,10 +4,7 @@ exports.ThrottledEvent = void 0;
|
|
|
4
4
|
const event_1 = require("./event");
|
|
5
5
|
const throttle_1 = require("../functions/throttle");
|
|
6
6
|
class ThrottledEvent extends event_1.Event {
|
|
7
|
-
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this._throttle = new throttle_1.ThrottleAction(100);
|
|
10
|
-
}
|
|
7
|
+
_throttle = new throttle_1.ThrottleAction(100);
|
|
11
8
|
setTimeout(timeout) {
|
|
12
9
|
this._throttle.timeout = timeout;
|
|
13
10
|
return this;
|
|
@@ -15,7 +12,7 @@ class ThrottledEvent extends event_1.Event {
|
|
|
15
12
|
trigger() {
|
|
16
13
|
this._throttle.tryRun(() => super.trigger());
|
|
17
14
|
}
|
|
18
|
-
|
|
15
|
+
triggerAsync() {
|
|
19
16
|
throw new Error('ThrottledEvent does not support triggerAsync');
|
|
20
17
|
}
|
|
21
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttledEvent.js","sourceRoot":"","sources":["../../src/observing/throttledEvent.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,oDAAuD;AAEvD,MAAa,cAAe,SAAQ,aAAK;
|
|
1
|
+
{"version":3,"file":"throttledEvent.js","sourceRoot":"","sources":["../../src/observing/throttledEvent.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,oDAAuD;AAEvD,MAAa,cAAe,SAAQ,aAAK;IAEpB,SAAS,GAAG,IAAI,yBAAc,CAAC,GAAG,CAAC,CAAC;IAE9C,UAAU,CAAC,OAAe;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,YAAY;QACf,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACpE,CAAC;CACJ;AAhBD,wCAgBC"}
|
package/observing/timer.js
CHANGED
|
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Timer = void 0;
|
|
4
4
|
const event_1 = require("./event");
|
|
5
5
|
class Timer {
|
|
6
|
+
interval;
|
|
7
|
+
_event = new event_1.Event();
|
|
8
|
+
_now = Date.now();
|
|
9
|
+
_handle = null;
|
|
6
10
|
constructor(interval = 3600 * 1000) {
|
|
7
11
|
this.interval = interval;
|
|
8
|
-
this._event = new event_1.Event();
|
|
9
|
-
this._now = Date.now();
|
|
10
|
-
this._handle = null;
|
|
11
12
|
this.restart();
|
|
12
13
|
}
|
|
13
14
|
get now() {
|
package/observing/timer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/observing/timer.ts"],"names":[],"mappings":";;;AACA,mCAAsD;AAEtD,MAAa,KAAK;
|
|
1
|
+
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/observing/timer.ts"],"names":[],"mappings":";;;AACA,mCAAsD;AAEtD,MAAa,KAAK;IAMO;IALJ,MAAM,GAAG,IAAI,aAAK,EAAU,CAAC;IAEtC,IAAI,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1B,OAAO,GAAG,IAAI,CAAC;IAEvB,YAAqB,WAAW,IAAI,GAAG,IAAI;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,EAAE,CAAC,OAA6B;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,OAA6B;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,2BAA2B;QAC3B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAEM,OAAO;QACV,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;CACJ;AApCD,sBAoCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zajno/common",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Zajno's re-usable utilities for JS/TS projects",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,23 +25,23 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@faker-js/faker": "^
|
|
29
|
-
"@types/jest": "^29.5.
|
|
30
|
-
"@types/node": "^18.
|
|
31
|
-
"@zajno/eslint-config": "^
|
|
32
|
-
"cpy-cli": "^
|
|
33
|
-
"eslint": "^8.
|
|
34
|
-
"fast-check": "^3.
|
|
35
|
-
"jest": "^29.
|
|
36
|
-
"jest-extended": "^
|
|
37
|
-
"rimraf": "^
|
|
38
|
-
"ts-jest": "^29.1.
|
|
28
|
+
"@faker-js/faker": "^8.2.0",
|
|
29
|
+
"@types/jest": "^29.5.6",
|
|
30
|
+
"@types/node": "^18.18.6",
|
|
31
|
+
"@zajno/eslint-config": "^3.0.0",
|
|
32
|
+
"cpy-cli": "^5.0.0",
|
|
33
|
+
"eslint": "^8.51.0",
|
|
34
|
+
"fast-check": "^3.13.1",
|
|
35
|
+
"jest": "^29.7.0",
|
|
36
|
+
"jest-extended": "^4.0.2",
|
|
37
|
+
"rimraf": "^5.0.5",
|
|
38
|
+
"ts-jest": "^29.1.1",
|
|
39
39
|
"ts-node": "^10.9.1",
|
|
40
|
-
"tslib": "^2.
|
|
41
|
-
"typescript": "^5.
|
|
40
|
+
"tslib": "^2.6.2",
|
|
41
|
+
"typescript": "^5.2.2"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"tslib": "^2.
|
|
44
|
+
"tslib": "^2.6"
|
|
45
45
|
},
|
|
46
46
|
"files": [
|
|
47
47
|
"LICENSE",
|
package/storage/asyncWrapper.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncWrapper.js","sourceRoot":"","sources":["../../src/storage/asyncWrapper.ts"],"names":[],"mappings":";;;AAEA,MAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"asyncWrapper.js","sourceRoot":"","sources":["../../src/storage/asyncWrapper.ts"],"names":[],"mappings":";;;AAEA,MAAa,mBAAmB;IAEP;IAArB,YAAqB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAI,CAAC;IAElD,QAAQ,CAAC,GAAW;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAa;QAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,GAAW;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,GAAW;QACd,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AArBD,kDAqBC"}
|
package/storage/keyStorage.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.KeyStorageConverted = exports.KeyStorage = void 0;
|
|
4
4
|
class KeyStorage {
|
|
5
|
+
storage;
|
|
6
|
+
key;
|
|
5
7
|
constructor(storage, key) {
|
|
6
8
|
this.storage = storage;
|
|
7
9
|
this.key = key;
|
|
@@ -17,10 +19,12 @@ class KeyStorage {
|
|
|
17
19
|
}
|
|
18
20
|
exports.KeyStorage = KeyStorage;
|
|
19
21
|
class KeyStorageConverted {
|
|
22
|
+
input;
|
|
23
|
+
output;
|
|
24
|
+
_storage = null;
|
|
20
25
|
constructor(storage, key, input = (v => JSON.stringify(v)), output = (s => JSON.parse(s || null))) {
|
|
21
26
|
this.input = input;
|
|
22
27
|
this.output = output;
|
|
23
|
-
this._storage = null;
|
|
24
28
|
this._storage = new KeyStorage(storage, key);
|
|
25
29
|
}
|
|
26
30
|
get value() { return this.output(this._storage.value); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyStorage.js","sourceRoot":"","sources":["../../src/storage/keyStorage.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"keyStorage.js","sourceRoot":"","sources":["../../src/storage/keyStorage.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IACE;IAAgC;IAArD,YAAqB,OAAqB,EAAW,GAAW;QAA3C,YAAO,GAAP,OAAO,CAAc;QAAW,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAErE,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,KAAK;QACR,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;CACJ;AAbD,gCAaC;AAED,MAAa,mBAAmB;IAMf;IACA;IANI,QAAQ,GAAe,IAAI,CAAC;IAE7C,YACI,OAAqB,EACrB,GAAW,EACF,QAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAClD,SAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAM,CAAC;QAD5D,UAAK,GAAL,KAAK,CAA6C;QAClD,WAAM,GAAN,MAAM,CAAsD;QAErE,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,KAAK,KAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,CAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,KAAK;QACR,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;CACJ;AAtBD,kDAsBC"}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EnumBitwiseHelper = exports.EnumStringHelper = void 0;
|
|
4
4
|
class EnumStringHelper {
|
|
5
|
+
_obj;
|
|
6
|
+
_valuesToStrings;
|
|
7
|
+
Keys = null;
|
|
8
|
+
Values = null;
|
|
5
9
|
constructor(_obj, _valuesToStrings = null) {
|
|
6
10
|
this._obj = _obj;
|
|
7
11
|
this._valuesToStrings = _valuesToStrings;
|
|
8
|
-
this.Keys = null;
|
|
9
|
-
this.Values = null;
|
|
10
12
|
this.Keys = Object.keys(this._obj)
|
|
11
13
|
.filter(k => typeof this._obj[k] === 'string');
|
|
12
14
|
this.Values = this.Keys.map(k => this._obj[k]);
|
|
@@ -32,11 +34,13 @@ class EnumStringHelper {
|
|
|
32
34
|
}
|
|
33
35
|
exports.EnumStringHelper = EnumStringHelper;
|
|
34
36
|
class EnumHelper {
|
|
37
|
+
_obj;
|
|
38
|
+
_valuesToStrings;
|
|
39
|
+
Keys = null;
|
|
40
|
+
Values = null;
|
|
35
41
|
constructor(_obj, _valuesToStrings = null) {
|
|
36
42
|
this._obj = _obj;
|
|
37
43
|
this._valuesToStrings = _valuesToStrings;
|
|
38
|
-
this.Keys = null;
|
|
39
|
-
this.Values = null;
|
|
40
44
|
this.Keys = Object.keys(this._obj)
|
|
41
45
|
.filter(k => typeof this._obj[k] === 'number');
|
|
42
46
|
this.Values = this.Keys.map(k => this._obj[k]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/structures/helpers/enum.ts"],"names":[],"mappings":";;;AAAA,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/structures/helpers/enum.ts"],"names":[],"mappings":"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"}
|
package/structures/linkedList.js
CHANGED
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LinkedList = void 0;
|
|
4
4
|
class LinkedList {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
this._length = 0;
|
|
9
|
-
}
|
|
5
|
+
_root = null;
|
|
6
|
+
_last = null;
|
|
7
|
+
_length = 0;
|
|
10
8
|
get root() { return this._root; }
|
|
11
9
|
get last() { return this._last; }
|
|
12
10
|
get length() { return this._length; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linkedList.js","sourceRoot":"","sources":["../../src/structures/linkedList.ts"],"names":[],"mappings":";;;AAiCA,MAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"linkedList.js","sourceRoot":"","sources":["../../src/structures/linkedList.ts"],"names":[],"mappings":"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"}
|
package/structures/nameof.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.nameof = void 0;
|
|
4
4
|
function nameof(key1, key2) {
|
|
5
|
-
return key2
|
|
5
|
+
return key2 ?? key1;
|
|
6
6
|
}
|
|
7
7
|
exports.nameof = nameof;
|
|
8
8
|
(function (nameof) {
|
|
@@ -23,5 +23,5 @@ exports.nameof = nameof;
|
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
nameof.full = full;
|
|
26
|
-
})(nameof
|
|
26
|
+
})(nameof || (exports.nameof = nameof = {}));
|
|
27
27
|
//# sourceMappingURL=nameof.js.map
|
package/structures/nameof.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nameof.js","sourceRoot":"","sources":["../../src/structures/nameof.ts"],"names":[],"mappings":";;;AAGA,SAAgB,MAAM,CAAC,IAAS,EAAE,IAAU;IAC1C,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"nameof.js","sourceRoot":"","sources":["../../src/structures/nameof.ts"],"names":[],"mappings":";;;AAGA,SAAgB,MAAM,CAAC,IAAS,EAAE,IAAU;IAC1C,OAAO,IAAI,IAAI,IAAI,CAAC;AACtB,CAAC;AAFD,wBAEC;AAED,WAAiB,MAAM;IAUnB,SAAS,aAAa,CAAI,CAAS,EAAE,IAAa;QAC9C,MAAM,GAAG,GAAG,IAAI;YACZ,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC,CAAC;QACR,OAAO;YACH,MAAM,EAAE,GAAG;YACX,GAAG,CAAC,GAAG,IAAI,OAAO,aAAa,CAAC,GAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;SACtD,CAAC;IACN,CAAC;IAED,SAAgB,IAAI,CAAI,IAAQ;QAC5B,OAAO;YACH,GAAG,CAAC,CAAC;gBACD,OAAO,aAAa,CAAC,CAAQ,CAAC,CAAC;YACnC,CAAC;SACJ,CAAC;IACN,CAAC;IANe,WAAI,OAMnB,CAAA;AACL,CAAC,EA3BgB,MAAM,sBAAN,MAAM,QA2BtB"}
|
package/structures/pool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/structures/pool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/structures/pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qBAAa,IAAI,CAAC,CAAC;IAIH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAFrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;gBAEjB,OAAO,EAAE,MAAM,CAAC;IAE9B,GAAG,IAAI,CAAC;IAQR,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;CAOnC;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAC;IAEhC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI;gBAAzD,OAAO,EAAE,MAAM,CAAC,EAAW,WAAW,GAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAW;IAIrE,GAAG,IAAI,CAAC;IAMR,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;CAQnC"}
|
package/structures/pool.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PoolDisposable = exports.Pool = void 0;
|
|
4
|
-
const safeCall_1 = require("../functions/safeCall");
|
|
5
4
|
class Pool {
|
|
5
|
+
factory;
|
|
6
|
+
_container = [];
|
|
6
7
|
constructor(factory) {
|
|
7
8
|
this.factory = factory;
|
|
8
|
-
this._container = [];
|
|
9
9
|
}
|
|
10
10
|
get() {
|
|
11
11
|
if (this._container.length > 0) {
|
|
@@ -26,13 +26,14 @@ class Pool {
|
|
|
26
26
|
}
|
|
27
27
|
exports.Pool = Pool;
|
|
28
28
|
class PoolDisposable extends Pool {
|
|
29
|
+
initializer;
|
|
29
30
|
constructor(factory, initializer = null) {
|
|
30
31
|
super(factory);
|
|
31
32
|
this.initializer = initializer;
|
|
32
33
|
}
|
|
33
34
|
get() {
|
|
34
35
|
const res = super.get();
|
|
35
|
-
|
|
36
|
+
this.initializer?.(res);
|
|
36
37
|
return res;
|
|
37
38
|
}
|
|
38
39
|
release(e) {
|
package/structures/pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/structures/pool.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/structures/pool.ts"],"names":[],"mappings":";;;AAEA,MAAa,IAAI;IAIQ;IAFJ,UAAU,GAAQ,EAAE,CAAC;IAEtC,YAAqB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAI,CAAC;IAEnC,GAAG;QACN,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;SAChC;aAAM;YACH,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;SACzB;IACL,CAAC;IAEM,OAAO,CAAC,CAAU;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9B;aAAM,IAAI,CAAC,EAAE;YACV,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3B;IACL,CAAC;CACJ;AArBD,oBAqBC;AAED,MAAa,cAAsC,SAAQ,IAAO;IAEvB;IAAvC,YAAY,OAAgB,EAAW,cAAiC,IAAI;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QADoB,gBAAW,GAAX,WAAW,CAA0B;IAE5E,CAAC;IAEM,GAAG;QACN,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,OAAO,CAAC,CAAU;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;SACjC;aAAM,IAAI,CAAC,EAAE;YACV,CAAC,CAAC,OAAO,EAAE,CAAC;SACf;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;CACJ;AApBD,wCAoBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseCache.d.ts","sourceRoot":"","sources":["../../src/structures/promiseCache.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,yBAAiB,cAAc,CAAC;IAErB,MAAM,KAAK,sBAKO,CAAC;CAC7B;AAED,qBAAa,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM;IAW/B,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC;IAXpE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAO;IACxD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAO;IAE/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAE/D,OAAO,CAAC,OAAO,CAAiB;IAChC,SAAS,CAAC,UAAU,SAAK;gBAGZ,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9B,UAAU,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EACvD,SAAS,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC;IAKpE,IAAW,SAAS,WAA8B;IAElD,OAAO,CAAC,GAAG;IAgBX,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM;IAKvB,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"promiseCache.d.ts","sourceRoot":"","sources":["../../src/structures/promiseCache.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,yBAAiB,cAAc,CAAC;IAErB,MAAM,KAAK,sBAKO,CAAC;CAC7B;AAED,qBAAa,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM;IAW/B,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC;IAXpE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAO;IACxD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAO;IAE/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAE/D,OAAO,CAAC,OAAO,CAAiB;IAChC,SAAS,CAAC,UAAU,SAAK;gBAGZ,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9B,UAAU,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EACvD,SAAS,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC;IAKpE,IAAW,SAAS,WAA8B;IAElD,OAAO,CAAC,GAAG;IAgBX,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM;IAKvB,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAUtC,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO;IAKzB,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,aAAa,UAAO,GAAG,CAAC;IAU1C,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAuBtB,SAAS,CAAC,aAAa,OAAc,CAAC,OAAO,MAAM,gBAajD;IAEF,UAAU,CAAC,EAAE,EAAE,CAAC;IAKhB,mBAAmB,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAKnC,MAAM,CAAC,EAAE,EAAE,CAAC;IAKZ,IAAI;IAIJ,UAAU;IAQV,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO;IAMvE,gBAAgB;IAChB,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAIhD,gBAAgB;IAChB,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAIrD,gBAAgB;IAChB,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;IAIpC,gBAAgB;IAChB,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAIvC,gBAAgB;IAChB,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAIlD,gBAAgB;IAChB,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM;CAKxC"}
|
|
@@ -11,33 +11,20 @@ var DeferredGetter;
|
|
|
11
11
|
get busy() { return undefined; },
|
|
12
12
|
isEmpty: true,
|
|
13
13
|
};
|
|
14
|
-
})(DeferredGetter
|
|
14
|
+
})(DeferredGetter || (exports.DeferredGetter = DeferredGetter = {}));
|
|
15
15
|
class PromiseCache {
|
|
16
|
+
fetcher;
|
|
17
|
+
keyAdapter;
|
|
18
|
+
keyParser;
|
|
19
|
+
_itemsCache = {};
|
|
20
|
+
_itemsStatus = {};
|
|
21
|
+
_fetchCache = {};
|
|
22
|
+
_logger = null;
|
|
23
|
+
_busyCount = 0;
|
|
16
24
|
constructor(fetcher, keyAdapter, keyParser) {
|
|
17
25
|
this.fetcher = fetcher;
|
|
18
26
|
this.keyAdapter = keyAdapter;
|
|
19
27
|
this.keyParser = keyParser;
|
|
20
|
-
this._itemsCache = {};
|
|
21
|
-
this._itemsStatus = {};
|
|
22
|
-
this._fetchCache = {};
|
|
23
|
-
this._logger = null;
|
|
24
|
-
this._busyCount = 0;
|
|
25
|
-
this._doFetchAsync = async (id, key) => {
|
|
26
|
-
var _a;
|
|
27
|
-
try {
|
|
28
|
-
this.onBeforeFetch(key);
|
|
29
|
-
let res = await this.fetcher(id);
|
|
30
|
-
if (this._fetchCache[key]) {
|
|
31
|
-
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.log(key, 'item\'s <promise> resolved to', res);
|
|
32
|
-
res = this.prepareResult(res);
|
|
33
|
-
this.storeResult(key, res);
|
|
34
|
-
}
|
|
35
|
-
return res;
|
|
36
|
-
}
|
|
37
|
-
finally {
|
|
38
|
-
this.onFetchComplete(key);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
28
|
//
|
|
42
29
|
}
|
|
43
30
|
get busyCount() { return this._busyCount; }
|
|
@@ -58,6 +45,7 @@ class PromiseCache {
|
|
|
58
45
|
return this;
|
|
59
46
|
}
|
|
60
47
|
getDeferred(key) {
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
61
49
|
const self = this;
|
|
62
50
|
return {
|
|
63
51
|
get current() { return self.getCurrent(key); },
|
|
@@ -70,26 +58,24 @@ class PromiseCache {
|
|
|
70
58
|
return this._itemsStatus[key];
|
|
71
59
|
}
|
|
72
60
|
getCurrent(id, initiateFetch = true) {
|
|
73
|
-
var _a;
|
|
74
61
|
const key = this._pk(id);
|
|
75
62
|
const item = this._itemsCache[key];
|
|
76
63
|
if (initiateFetch) {
|
|
77
64
|
this.get(id);
|
|
78
65
|
}
|
|
79
|
-
|
|
66
|
+
this._logger?.log(key, 'getCurrent returns', item);
|
|
80
67
|
return item;
|
|
81
68
|
}
|
|
82
69
|
get(id) {
|
|
83
|
-
var _a, _b;
|
|
84
70
|
const key = this._pk(id);
|
|
85
71
|
const item = this._itemsCache[key];
|
|
86
72
|
if (item !== undefined) {
|
|
87
|
-
|
|
73
|
+
this._logger?.log(key, 'item resolved to', item);
|
|
88
74
|
return Promise.resolve(item);
|
|
89
75
|
}
|
|
90
76
|
let promise = this._fetchCache[key];
|
|
91
|
-
if (promise) {
|
|
92
|
-
|
|
77
|
+
if (promise != null) {
|
|
78
|
+
this._logger?.log(key, 'item resolved to <promise>');
|
|
93
79
|
return promise;
|
|
94
80
|
}
|
|
95
81
|
this.setStatus(key, true);
|
|
@@ -97,6 +83,21 @@ class PromiseCache {
|
|
|
97
83
|
this.setPromise(key, promise);
|
|
98
84
|
return promise;
|
|
99
85
|
}
|
|
86
|
+
_doFetchAsync = async (id, key) => {
|
|
87
|
+
try {
|
|
88
|
+
this.onBeforeFetch(key);
|
|
89
|
+
let res = await this.fetcher(id);
|
|
90
|
+
if (this._fetchCache[key] != null) {
|
|
91
|
+
this._logger?.log(key, 'item\'s <promise> resolved to', res);
|
|
92
|
+
res = this.prepareResult(res);
|
|
93
|
+
this.storeResult(key, res);
|
|
94
|
+
}
|
|
95
|
+
return res;
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
this.onFetchComplete(key);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
100
101
|
invalidate(id) {
|
|
101
102
|
const key = this._pk(id);
|
|
102
103
|
this._set(key, undefined, undefined, undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseCache.js","sourceRoot":"","sources":["../../src/structures/promiseCache.ts"],"names":[],"mappings":";;;AAAA,sCAAkD;AAQlD,IAAiB,cAAc,CAQ9B;AARD,WAAiB,cAAc;IAC3B,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAY,SAAS,CAAC,CAAC;IAClD,oBAAK,GAAG;QACjB,IAAI,OAAO,KAAgB,OAAO,SAAS,CAAC,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAyB,OAAO,gBAAgB,CAAC,CAAC,CAAC;QAC9D,IAAI,IAAI,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;QAChC,OAAO,EAAE,IAAI;KACQ,CAAC;AAC9B,CAAC,EARgB,cAAc,
|
|
1
|
+
{"version":3,"file":"promiseCache.js","sourceRoot":"","sources":["../../src/structures/promiseCache.ts"],"names":[],"mappings":";;;AAAA,sCAAkD;AAQlD,IAAiB,cAAc,CAQ9B;AARD,WAAiB,cAAc;IAC3B,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAY,SAAS,CAAC,CAAC;IAClD,oBAAK,GAAG;QACjB,IAAI,OAAO,KAAgB,OAAO,SAAS,CAAC,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAyB,OAAO,gBAAgB,CAAC,CAAC,CAAC;QAC9D,IAAI,IAAI,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;QAChC,OAAO,EAAE,IAAI;KACQ,CAAC;AAC9B,CAAC,EARgB,cAAc,8BAAd,cAAc,QAQ9B;AAED,MAAa,YAAY;IAWR;IACA;IACA;IAXM,WAAW,GAAsB,EAAG,CAAC;IACrC,YAAY,GAA4B,EAAG,CAAC;IAE9C,WAAW,GAA+B,EAAG,CAAC;IAEvD,OAAO,GAAY,IAAI,CAAC;IACtB,UAAU,GAAG,CAAC,CAAC;IAEzB,YACa,OAA8B,EAC9B,UAAuD,EACvD,SAAuD;QAFvD,YAAO,GAAP,OAAO,CAAuB;QAC9B,eAAU,GAAV,UAAU,CAA6C;QACvD,cAAS,GAAT,SAAS,CAA8C;QAEhE,EAAE;IACN,CAAC;IAED,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAE1C,GAAG,CAAC,CAAI;QACZ,IAAI,CAAC,IAAI,IAAI,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAChE;QAED,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YACvB,OAAO,CAAC,CAAC;SACZ;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,IAAa;QACnB,IAAI,CAAC,OAAO,GAAG,IAAA,qBAAY,EAAC,iBAAiB,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,GAAM;QACd,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO;YACH,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7C,CAAC;IACN,CAAC;IAED,SAAS,CAAC,EAAK;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,EAAK,EAAE,aAAa,GAAG,IAAI;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,aAAa,EAAE;YACf,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,EAAK;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAChC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,OAAO,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;YACrD,OAAO,OAAO,CAAC;SAClB;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE1B,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAEtC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE9B,OAAO,OAAO,CAAC;IACnB,CAAC;IAES,aAAa,GAAG,KAAK,EAAE,EAAK,EAAE,GAAW,EAAE,EAAE;QACnD,IAAI;YACA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;gBAC/B,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,+BAA+B,EAAE,GAAG,CAAC,CAAC;gBAC7D,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAC9B;YACD,OAAO,GAAG,CAAC;SACd;gBAAS;YACN,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;SAC7B;IACL,CAAC,CAAC;IAEF,UAAU,CAAC,EAAK;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,mBAAmB,CAAC,EAAK,EAAE,KAAQ;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,EAAK;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;IACvF,CAAC;IAED,IAAI;QACA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,UAAU;QACN,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAES,IAAI,CAAC,GAAW,EAAE,IAAO,EAAE,OAAmB,EAAE,IAAa;QACnE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACtC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACpC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,gBAAgB;IACN,SAAS,CAAC,GAAW,EAAE,MAAe;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,gBAAgB;IACN,UAAU,CAAC,GAAW,EAAE,OAAmB;QACjD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IACpC,CAAC;IAED,gBAAgB;IACN,aAAa,CAAC,IAAY;QAChC,EAAE,IAAI,CAAC,UAAU,CAAC;IACtB,CAAC;IAED,gBAAgB;IACN,aAAa,CAAC,GAAe;QACnC,OAAO,GAAG,IAAI,IAAI,CAAC;IACvB,CAAC;IAED,gBAAgB;IACN,WAAW,CAAC,GAAW,EAAE,GAAe;QAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAChC,CAAC;IAED,gBAAgB;IACN,eAAe,CAAC,GAAW;QACjC,EAAE,IAAI,CAAC,UAAU,CAAC;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnC,CAAC;CACJ;AAxKD,oCAwKC;AAED,SAAS,KAAK,CAAI,GAAW,EAAE,GAAsB,EAAE,GAAM;IACzD,IAAI,GAAG,KAAK,SAAS,EAAE;QACnB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;KACnB;SAAM;QACH,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;KAClB;AACL,CAAC"}
|
|
@@ -2,8 +2,8 @@ import { LazyPromise } from '../lazy/promise';
|
|
|
2
2
|
import { FunctionKeys, StringKeys } from '../types';
|
|
3
3
|
declare const PromiseGetter: "__promise";
|
|
4
4
|
type AllowedFnKeys<T> = FunctionKeys<T, any[], void>;
|
|
5
|
-
type PromiseProxy<T, TKeys extends StringKeys<T> = StringKeys<T>, TFnKeys = never, TWrap extends
|
|
6
|
-
[K in TKeys]: T[K] extends
|
|
5
|
+
type PromiseProxy<T, TKeys extends StringKeys<T> = StringKeys<T>, TFnKeys = never, TWrap extends object = object> = {
|
|
6
|
+
[K in TKeys]: T[K] extends (...args: any) => any ? (K extends TFnKeys ? T[K] : never) : T[K];
|
|
7
7
|
} & {
|
|
8
8
|
readonly [PromiseGetter]: Promise<T>;
|
|
9
9
|
} & TWrap;
|
|
@@ -25,6 +25,6 @@ type Options<T, TFnKeys, TWrap, TLazy> = {
|
|
|
25
25
|
* @param wrap an object that will be used as a wrapper for the proxied object. can contain any fields that will be copied to the resolved object
|
|
26
26
|
* @returns a proxy object that will be resolved to the object returned by the loader function
|
|
27
27
|
*/
|
|
28
|
-
export declare function createPromiseProxy<T extends NoForbiddenKeys<T>, TFnKeys extends AllowedFnKeys<T> = never, TWrap extends
|
|
28
|
+
export declare function createPromiseProxy<T extends NoForbiddenKeys<T>, TFnKeys extends AllowedFnKeys<T> = never, TWrap extends object = object>(options: Options<T, TFnKeys, TWrap, typeof LazyPromise>): PromiseProxy<T, StringKeys<T>, TFnKeys, TWrap>;
|
|
29
29
|
export {};
|
|
30
30
|
//# sourceMappingURL=promiseProxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseProxy.d.ts","sourceRoot":"","sources":["../../src/structures/promiseProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEpD,QAAA,MAAM,aAAa,aAAuB,CAAC;AAE3C,KAAK,aAAa,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AAErD,KAAK,YAAY,CAAC,CAAC,EAAE,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,SAAS,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"promiseProxy.d.ts","sourceRoot":"","sources":["../../src/structures/promiseProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEpD,QAAA,MAAM,aAAa,aAAuB,CAAC;AAE3C,KAAK,aAAa,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AAErD,KAAK,YAAY,CAAC,CAAC,EAAE,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI;KAC/G,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAC1C,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAClC,CAAC,CAAC,CAAC,CAAC;CACb,GAAG;IACA,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACxC,GAAG,KAAK,CAAC;AAEV,KAAK,aAAa,GAAG,OAAO,aAAa,CAAC;AAC1C,KAAK,eAAe,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,aAAa,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CACzD,CAAC;AAEF,KAAK,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI;IACrC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,EACpI,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,WAAW,CAAC,GACxD,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAoFhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseProxy.js","sourceRoot":"","sources":["../../src/structures/promiseProxy.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAG9C,MAAM,aAAa,GAAG,WAAoB,CAAC;AAwB3C;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAC9B,OAAuD;IAEvD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,qBAAW,EAAE,GAAG,OAAO,CAAC;IAEpE,gFAAgF;IAChF,MAAM,OAAO,GAAG,IAAI,IAAI,EAA+B,CAAC;IACxD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEhD,IAAI,SAAS,GAAM,IAAI,CAAC;IAExB,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;QAC5B,iBAAiB;QACjB,MAAM,MAAM,GAAM,MAAM,MAAM,EAAE,CAAC;QACjC,qCAAqC;QACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7C,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE;gBACrD,MAAM,CAAC,GAAc,CAAC,GAAG,KAAmB,CAAC;aAChD;QACL,CAAC,CAAC,CAAC;QACH,iEAAiE;QACjE,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE;YACrC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAA6B,CAAC;YACnD,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAC1B;QAED,SAAS,GAAG,MAAM,CAAC;QACnB,IAAI,SAAS,EAAE;YACX,oDAAoD;YACpD,IAAI,GAAG,IAAI,CAAC;SACf;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;QAC7B,GAAG,CAAC,MAAM,EAAE,GAAG;YACX,IAAI,GAAG,KAAK,aAAa,EAAE;gBACvB,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;aAC1C;YAED,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC;YACxC,IAAI,OAAO,EAAE;gBACT,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE;oBAC1C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;iBACtB;gBACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBACzB,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;oBAC3B,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC5B;gBACD,OAAO,GAAG,CAAC;aACd;YAED,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"promiseProxy.js","sourceRoot":"","sources":["../../src/structures/promiseProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,26 +5,14 @@ const logger_1 = require("../../logger");
|
|
|
5
5
|
const event_1 = require("../../observing/event");
|
|
6
6
|
const event_late_1 = require("../../observing/event.late");
|
|
7
7
|
class ParallelQueue {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
this._finished = new event_late_1.OneTimeLateEvent();
|
|
17
|
-
this._executeLoader = async (l, priority, index) => {
|
|
18
|
-
var _a, _b;
|
|
19
|
-
try {
|
|
20
|
-
await l();
|
|
21
|
-
}
|
|
22
|
-
catch (err) {
|
|
23
|
-
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.warn('Failed to process queue item at priority =', priority, ' at index =', index || '?');
|
|
24
|
-
(_b = this._logger) === null || _b === void 0 ? void 0 : _b.error(err);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
}
|
|
8
|
+
_queues = {};
|
|
9
|
+
_inProgress = null;
|
|
10
|
+
_currentIndex = 0;
|
|
11
|
+
_maxIndex = 0;
|
|
12
|
+
_logger = null;
|
|
13
|
+
_beforePriorityRun = new event_1.Event();
|
|
14
|
+
_afterPriorityRun = new event_1.Event();
|
|
15
|
+
_finished = new event_late_1.OneTimeLateEvent();
|
|
28
16
|
get currentPriority() { return this._currentIndex; }
|
|
29
17
|
get inProgress() { return this._inProgress; }
|
|
30
18
|
get beforePriorityRun() { return this._beforePriorityRun.expose(); }
|
|
@@ -65,7 +53,6 @@ class ParallelQueue {
|
|
|
65
53
|
};
|
|
66
54
|
}
|
|
67
55
|
async start() {
|
|
68
|
-
var _a;
|
|
69
56
|
if (this._inProgress != null) {
|
|
70
57
|
return undefined;
|
|
71
58
|
}
|
|
@@ -74,7 +61,7 @@ class ParallelQueue {
|
|
|
74
61
|
await this.tryStartQueue();
|
|
75
62
|
}
|
|
76
63
|
catch (err) {
|
|
77
|
-
|
|
64
|
+
this._logger?.warn('Failed to process queue:', err);
|
|
78
65
|
return false;
|
|
79
66
|
}
|
|
80
67
|
return true;
|
|
@@ -88,38 +75,46 @@ class ParallelQueue {
|
|
|
88
75
|
return q;
|
|
89
76
|
}
|
|
90
77
|
async tryStartQueue() {
|
|
91
|
-
var _a, _b, _c, _d, _e;
|
|
92
78
|
let current = null;
|
|
93
79
|
let iterations = 0;
|
|
94
80
|
let totalItems = 0;
|
|
95
81
|
await this._beforePriorityRun.triggerAsync(this._currentIndex);
|
|
96
82
|
const MAX_ATTEMPTS = 5;
|
|
97
|
-
while ((
|
|
83
|
+
while ((current = this._queues[this._currentIndex])?.length) {
|
|
98
84
|
if (iterations++ > MAX_ATTEMPTS) {
|
|
99
|
-
|
|
85
|
+
this._logger?.warn('Tried to purge queue for priority =', this._currentIndex, 'for too many times of', MAX_ATTEMPTS, '; totalItems =', totalItems, '; skipping.');
|
|
100
86
|
break;
|
|
101
87
|
}
|
|
102
|
-
|
|
88
|
+
this._logger?.log('Processing priority =', this._currentIndex, '; count =', current.length);
|
|
103
89
|
const items = current.slice();
|
|
104
90
|
current.length = 0;
|
|
105
91
|
totalItems += items.length;
|
|
106
92
|
await Promise.all(items.map((loader, index) => this._executeLoader(loader, this._currentIndex, index)));
|
|
107
93
|
}
|
|
108
|
-
if (!
|
|
109
|
-
|
|
94
|
+
if (!current?.length && iterations === 0) {
|
|
95
|
+
this._logger?.log('Skipping priority =', this._currentIndex, '; no items');
|
|
110
96
|
}
|
|
111
97
|
await this._afterPriorityRun.triggerAsync(this._currentIndex);
|
|
112
98
|
const next = this._currentIndex + 1;
|
|
113
99
|
if (next > this._maxIndex) {
|
|
114
100
|
// looks like we've finished!
|
|
115
101
|
this._inProgress = false;
|
|
116
|
-
|
|
102
|
+
this._logger?.log('Finished processing at index =', this._currentIndex);
|
|
117
103
|
this._finished.trigger();
|
|
118
104
|
return;
|
|
119
105
|
}
|
|
120
106
|
++this._currentIndex;
|
|
121
107
|
await this.tryStartQueue();
|
|
122
108
|
}
|
|
109
|
+
_executeLoader = async (l, priority, index) => {
|
|
110
|
+
try {
|
|
111
|
+
await l();
|
|
112
|
+
}
|
|
113
|
+
catch (err) {
|
|
114
|
+
this._logger?.warn('Failed to process queue item at priority =', priority, ' at index =', index || '?');
|
|
115
|
+
this._logger?.error(err);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
123
118
|
}
|
|
124
119
|
exports.ParallelQueue = ParallelQueue;
|
|
125
120
|
//# sourceMappingURL=parallel.js.map
|