@zajno/common 2.6.1 → 2.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/lazy/index.js +8 -0
- package/cjs/lazy/index.js.map +1 -0
- package/cjs/lazy/{singleton.js → lazy.js} +5 -5
- package/cjs/lazy/lazy.js.map +1 -0
- package/cjs/lazy/promise.js +9 -7
- package/cjs/lazy/promise.js.map +1 -1
- package/cjs/models/Loading.js +2 -2
- package/cjs/models/Loading.js.map +1 -1
- package/cjs/structures/promiseCache.js +58 -30
- package/cjs/structures/promiseCache.js.map +1 -1
- package/esm/lazy/index.js +5 -0
- package/esm/lazy/index.js.map +1 -0
- package/esm/lazy/{singleton.js → lazy.js} +5 -5
- package/esm/lazy/lazy.js.map +1 -0
- package/esm/lazy/promise.js +9 -7
- package/esm/lazy/promise.js.map +1 -1
- package/esm/models/Loading.js +2 -2
- package/esm/models/Loading.js.map +1 -1
- package/esm/structures/promiseCache.js +58 -30
- package/esm/structures/promiseCache.js.map +1 -1
- package/package.json +7 -1
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/tsconfig.types.tsbuildinfo +1 -1
- package/types/lazy/index.d.ts +4 -0
- package/types/lazy/{singleton.d.ts → lazy.d.ts} +2 -2
- package/types/lazy/promise.d.ts +4 -4
- package/types/lazy/types.d.ts +2 -2
- package/types/models/Loading.d.ts +1 -1
- package/types/models/types.d.ts +2 -0
- package/types/structures/promiseCache.d.ts +12 -5
- package/cjs/lazy/singleton.js.map +0 -1
- package/esm/lazy/singleton.js.map +0 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./types.js"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./light.js"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./lazy.js"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./promise.js"), exports);
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lazy/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,qDAA2B;AAC3B,oDAA0B;AAC1B,uDAA6B"}
|
|
@@ -30,14 +30,14 @@ class Lazy {
|
|
|
30
30
|
}
|
|
31
31
|
return true;
|
|
32
32
|
}
|
|
33
|
-
withDisposer
|
|
33
|
+
withDisposer(disposer) {
|
|
34
34
|
this._disposer = disposer;
|
|
35
35
|
return this;
|
|
36
|
-
}
|
|
37
|
-
withExpire
|
|
36
|
+
}
|
|
37
|
+
withExpire(tracker) {
|
|
38
38
|
this._expireTracker = tracker;
|
|
39
39
|
return this;
|
|
40
|
-
}
|
|
40
|
+
}
|
|
41
41
|
ensureInstance() {
|
|
42
42
|
if (this.isValid) {
|
|
43
43
|
return;
|
|
@@ -66,4 +66,4 @@ class Lazy {
|
|
|
66
66
|
dispose() { this.reset(); }
|
|
67
67
|
}
|
|
68
68
|
exports.Lazy = Lazy;
|
|
69
|
-
//# sourceMappingURL=
|
|
69
|
+
//# sourceMappingURL=lazy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../../src/lazy/lazy.ts"],"names":[],"mappings":";;;AAGA,MAAa,IAAI;IAMkB;IAJrB,SAAS,GAAkB,SAAS,CAAC;IACvC,cAAc,CAA6B;IAC3C,SAAS,CAAqB;IAEtC,YAA+B,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;IAAI,CAAC;IAEvD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;IAEvD,IAAI,KAAK;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,iEAAiE;IACjE,IAAc,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,CAAC,QAA2B;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU,CAAC,OAAmC;QACjD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,cAAc;QAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAuB;QAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAC9B;AA7ED,oBA6EC"}
|
package/cjs/lazy/promise.js
CHANGED
|
@@ -27,10 +27,10 @@ class LazyPromise {
|
|
|
27
27
|
get currentValue() {
|
|
28
28
|
return this._instance;
|
|
29
29
|
}
|
|
30
|
-
withExpire
|
|
30
|
+
withExpire(tracker) {
|
|
31
31
|
this._expireTracker = tracker;
|
|
32
32
|
return this;
|
|
33
|
-
}
|
|
33
|
+
}
|
|
34
34
|
ensureInstanceLoading() {
|
|
35
35
|
if (this.busy === false && this._instance !== undefined && this._expireTracker?.isExpired) {
|
|
36
36
|
// do not reset the instance, just make sure it will be reloaded
|
|
@@ -49,7 +49,7 @@ class LazyPromise {
|
|
|
49
49
|
this.setInstance(res);
|
|
50
50
|
return res;
|
|
51
51
|
}
|
|
52
|
-
setInstance
|
|
52
|
+
setInstance(res) {
|
|
53
53
|
this._busy = false;
|
|
54
54
|
// refresh promise so it won't keep old callbacks
|
|
55
55
|
// + make sure it's resolved with the freshest value
|
|
@@ -60,13 +60,15 @@ class LazyPromise {
|
|
|
60
60
|
this._expireTracker.restart();
|
|
61
61
|
}
|
|
62
62
|
return res;
|
|
63
|
-
}
|
|
64
|
-
reset
|
|
63
|
+
}
|
|
64
|
+
reset() {
|
|
65
65
|
this._busy = null;
|
|
66
66
|
this._instance = this.initial;
|
|
67
67
|
this._promise = undefined;
|
|
68
|
-
}
|
|
69
|
-
dispose
|
|
68
|
+
}
|
|
69
|
+
dispose() {
|
|
70
|
+
this.reset();
|
|
71
|
+
}
|
|
70
72
|
}
|
|
71
73
|
exports.LazyPromise = LazyPromise;
|
|
72
74
|
//# sourceMappingURL=promise.js.map
|
package/cjs/lazy/promise.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../src/lazy/promise.ts"],"names":[],"mappings":";;;AAGA,MAAa,WAAW;IASC;IACA;IARb,SAAS,GAAkB,SAAS,CAAC;IACrC,KAAK,GAAmB,IAAI,CAAC;IAE7B,QAAQ,CAAyB;IACjC,cAAc,CAA6B;IAEnD,YACqB,QAA0B,EAC1B,UAAyB,SAAS;QADlC,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,YAAO,GAAP,OAAO,CAA2B;QAEnD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,QAAS,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAED,6BAA6B;IAC7B,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,UAAU,
|
|
1
|
+
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../src/lazy/promise.ts"],"names":[],"mappings":";;;AAGA,MAAa,WAAW;IASC;IACA;IARb,SAAS,GAAkB,SAAS,CAAC;IACrC,KAAK,GAAmB,IAAI,CAAC;IAE7B,QAAQ,CAAyB;IACjC,cAAc,CAA6B;IAEnD,YACqB,QAA0B,EAC1B,UAAyB,SAAS;QADlC,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,YAAO,GAAP,OAAO,CAA2B;QAEnD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,QAAS,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAED,6BAA6B;IAC7B,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,OAAmC;QACjD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,qBAAqB;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC;YACxF,gEAAgE;YAChE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAES,UAAU,CAAC,GAAM;QACvB,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,WAAW,CAAC,GAAkB;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,iDAAiD;QACjD,oDAAoD;QACpD,8DAA8D;QAC9D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAI,CAAC,CAAC;QAEtC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QAErB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;CACJ;AArFD,kCAqFC"}
|
package/cjs/models/Loading.js
CHANGED
|
@@ -40,10 +40,10 @@ class LoadingModel {
|
|
|
40
40
|
useLoading(cb, exclusive = false) {
|
|
41
41
|
return withLoading(this, cb, exclusive);
|
|
42
42
|
}
|
|
43
|
-
reset
|
|
43
|
+
reset() {
|
|
44
44
|
this._firstInit = false;
|
|
45
45
|
this._number.reset();
|
|
46
|
-
}
|
|
46
|
+
}
|
|
47
47
|
setValue(isLoading) {
|
|
48
48
|
if (isLoading) {
|
|
49
49
|
this.incrementLoading();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../../src/models/Loading.ts"],"names":[],"mappings":";;;AAYA,kCAmBC;AA/BD,yCAAmC;AAY5B,KAAK,UAAU,WAAW,CAAgB,KAA2B,EAAE,EAAoB,EAAE,YAA+B,KAAK;IACpI,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IAEnB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,EAAE,EAAE,CAAC;QACvB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,GAAG;SACd,CAAC;IACN,CAAC;YAAS,CAAC;QACP,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACxB,CAAC;AACL,CAAC;AAED,MAAa,YAAY;IAEF,OAAO,CAAwC;IACxD,UAAU,CAAU;IAE9B;;OAEG;IACH,YAAY,YAAY,GAAG,KAAK;QAC5B,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACnD,CAAC;IAED,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhE,IAAW,KAAK,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAW,KAAK,CAAC,CAAU;QACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAEM,UAAU,CAAI,EAAoB,EAAE,YAA+B,KAAK;QAC3E,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK
|
|
1
|
+
{"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../../src/models/Loading.ts"],"names":[],"mappings":";;;AAYA,kCAmBC;AA/BD,yCAAmC;AAY5B,KAAK,UAAU,WAAW,CAAgB,KAA2B,EAAE,EAAoB,EAAE,YAA+B,KAAK;IACpI,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IAEnB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,EAAE,EAAE,CAAC;QACvB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,GAAG;SACd,CAAC;IACN,CAAC;YAAS,CAAC;QACP,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACxB,CAAC;AACL,CAAC;AAED,MAAa,YAAY;IAEF,OAAO,CAAwC;IACxD,UAAU,CAAU;IAE9B;;OAEG;IACH,YAAY,YAAY,GAAG,KAAK;QAC5B,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACnD,CAAC;IAED,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhE,IAAW,KAAK,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAW,KAAK,CAAC,CAAU;QACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAEM,UAAU,CAAI,EAAoB,EAAE,YAA+B,KAAK;QAC3E,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEM,QAAQ,CAAC,SAAkB;QAC9B,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,kBAAkB;IACR,gBAAgB;QACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,kBAAkB;IACR,gBAAgB;QACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED;;0EAEsE;IAC5D,wBAAwB;QAC9B,OAAO,IAAI,gBAAK,CAAS,CAAC,CAAC,CAAC;IAChC,CAAC;CACJ;AAvDD,oCAuDC;AAED,MAAa,qBAAsB,SAAQ,KAAK;IAIxB;IAFpB,YACI,OAAO,GAAG,yEAAyE,EACnE,UAAmB;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,eAAU,GAAV,UAAU,CAAS;IAGvC,CAAC;CACJ;AARD,sDAQC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PromiseCache = exports.DeferredGetter = void 0;
|
|
4
4
|
const throttle_js_1 = require("../functions/throttle.js");
|
|
5
5
|
const index_js_1 = require("../logger/index.js");
|
|
6
|
+
const Model_js_1 = require("../models/Model.js");
|
|
6
7
|
var DeferredGetter;
|
|
7
8
|
(function (DeferredGetter) {
|
|
8
9
|
const _resolvedPromise = Promise.resolve(null);
|
|
@@ -24,23 +25,38 @@ class PromiseCache {
|
|
|
24
25
|
fetcher;
|
|
25
26
|
keyAdapter;
|
|
26
27
|
keyParser;
|
|
27
|
-
_itemsCache
|
|
28
|
-
_itemsStatus
|
|
29
|
-
|
|
28
|
+
_itemsCache;
|
|
29
|
+
_itemsStatus;
|
|
30
|
+
_busyCount;
|
|
31
|
+
_fetchCache;
|
|
30
32
|
_timestamps = new Map();
|
|
31
33
|
_batch = null;
|
|
32
34
|
_invalidationTimeMs = null;
|
|
33
35
|
_keepInstanceDuringInvalidation = false;
|
|
34
36
|
_logger = null;
|
|
35
37
|
_version = 0;
|
|
36
|
-
_busyCount = 0;
|
|
37
38
|
constructor(fetcher, keyAdapter, keyParser) {
|
|
38
39
|
this.fetcher = fetcher;
|
|
39
40
|
this.keyAdapter = keyAdapter;
|
|
40
41
|
this.keyParser = keyParser;
|
|
41
|
-
|
|
42
|
+
this._busyCount = this.pure_createBusyCount();
|
|
43
|
+
this._itemsCache = this.pure_createItemsCache();
|
|
44
|
+
this._itemsStatus = this.pure_createItemsStatus();
|
|
45
|
+
this._fetchCache = this.pure_createFetchCache();
|
|
46
|
+
}
|
|
47
|
+
get busyCount() { return this._busyCount.value; }
|
|
48
|
+
pure_createBusyCount() {
|
|
49
|
+
return new Model_js_1.Model(0);
|
|
50
|
+
}
|
|
51
|
+
pure_createItemsCache() {
|
|
52
|
+
return new Map();
|
|
53
|
+
}
|
|
54
|
+
pure_createItemsStatus() {
|
|
55
|
+
return new Map();
|
|
56
|
+
}
|
|
57
|
+
pure_createFetchCache() {
|
|
58
|
+
return new Map();
|
|
42
59
|
}
|
|
43
|
-
get busyCount() { return this._busyCount; }
|
|
44
60
|
_pk(k) {
|
|
45
61
|
if (k == null) {
|
|
46
62
|
throw new Error('PromiseCache: null keys are not supported');
|
|
@@ -94,7 +110,7 @@ class PromiseCache {
|
|
|
94
110
|
}
|
|
95
111
|
getIsBusy(id) {
|
|
96
112
|
const key = this._pk(id);
|
|
97
|
-
const res = this._itemsStatus
|
|
113
|
+
const res = this._itemsStatus.get(key);
|
|
98
114
|
if (res) {
|
|
99
115
|
return res;
|
|
100
116
|
}
|
|
@@ -105,7 +121,7 @@ class PromiseCache {
|
|
|
105
121
|
const key = this._pk(id);
|
|
106
122
|
const isInvalid = this.getIsInvalidated(key);
|
|
107
123
|
// make sure current item is hooked here from the cache (required by observers)
|
|
108
|
-
const item = this._itemsCache
|
|
124
|
+
const item = this._itemsCache.get(key);
|
|
109
125
|
if (isInvalid) {
|
|
110
126
|
this._logger?.log(key, 'item is invalidated');
|
|
111
127
|
}
|
|
@@ -131,7 +147,7 @@ class PromiseCache {
|
|
|
131
147
|
this._logger?.log(key, 'get: item resolved to', item, isInvalid ? '(invalidated)' : '');
|
|
132
148
|
return Promise.resolve(item);
|
|
133
149
|
}
|
|
134
|
-
let promise = this._fetchCache
|
|
150
|
+
let promise = this._fetchCache.get(key);
|
|
135
151
|
if (promise != null) {
|
|
136
152
|
this._logger?.log(key, 'get: item resolved to <promise>');
|
|
137
153
|
return promise;
|
|
@@ -152,7 +168,7 @@ class PromiseCache {
|
|
|
152
168
|
// resolve with actual result but don't store it
|
|
153
169
|
return res;
|
|
154
170
|
}
|
|
155
|
-
if (this._fetchCache
|
|
171
|
+
if (this._fetchCache.get(key) != null) {
|
|
156
172
|
this._logger?.log(key, 'item\'s <promise> resolved to', res);
|
|
157
173
|
res = this.prepareResult(res);
|
|
158
174
|
this.storeResult(key, res);
|
|
@@ -178,24 +194,36 @@ class PromiseCache {
|
|
|
178
194
|
}
|
|
179
195
|
hasKey(id) {
|
|
180
196
|
const key = this._pk(id);
|
|
181
|
-
return this._itemsCache
|
|
197
|
+
return this._itemsCache.get(key) !== undefined || this._itemsStatus.get(key) !== undefined;
|
|
182
198
|
}
|
|
183
|
-
keys() {
|
|
184
|
-
|
|
199
|
+
keys(iterate = false) {
|
|
200
|
+
const iterator = this._itemsCache.keys();
|
|
201
|
+
return iterate
|
|
202
|
+
? iterator
|
|
203
|
+
: Array.from(iterator);
|
|
185
204
|
}
|
|
186
|
-
keysParsed() {
|
|
187
|
-
|
|
205
|
+
keysParsed(iterate = false) {
|
|
206
|
+
const kp = this.keyParser;
|
|
207
|
+
if (!kp) {
|
|
188
208
|
return null;
|
|
189
209
|
}
|
|
190
|
-
|
|
210
|
+
const keysIterator = this.keys(true);
|
|
211
|
+
if (!iterate) {
|
|
212
|
+
return Array.from(keysIterator, key => kp(key));
|
|
213
|
+
}
|
|
214
|
+
return (function* () {
|
|
215
|
+
for (const key of keysIterator) {
|
|
216
|
+
yield kp(key);
|
|
217
|
+
}
|
|
218
|
+
})();
|
|
191
219
|
}
|
|
192
220
|
clear() {
|
|
193
221
|
++this._version;
|
|
194
|
-
this._busyCount = 0;
|
|
222
|
+
this._busyCount.value = 0;
|
|
195
223
|
this._batch?.clear();
|
|
196
|
-
this._itemsCache
|
|
197
|
-
this._itemsStatus
|
|
198
|
-
this._fetchCache
|
|
224
|
+
this._itemsCache.clear();
|
|
225
|
+
this._itemsStatus.clear();
|
|
226
|
+
this._fetchCache.clear();
|
|
199
227
|
}
|
|
200
228
|
_set(key, item, promise, busy) {
|
|
201
229
|
_setX(key, this._fetchCache, promise);
|
|
@@ -212,20 +240,20 @@ class PromiseCache {
|
|
|
212
240
|
/** @override */
|
|
213
241
|
setStatus(key, status) {
|
|
214
242
|
this._logger?.log(key, 'status update:', status);
|
|
215
|
-
this._itemsStatus
|
|
243
|
+
this._itemsStatus.set(key, status);
|
|
216
244
|
}
|
|
217
245
|
/** @override */
|
|
218
246
|
setPromise(key, promise) {
|
|
219
|
-
this._fetchCache
|
|
247
|
+
this._fetchCache.set(key, promise);
|
|
220
248
|
}
|
|
221
249
|
/** @override */
|
|
222
250
|
storeResult(key, res) {
|
|
223
|
-
this._itemsCache
|
|
251
|
+
this._itemsCache.set(key, res);
|
|
224
252
|
this._timestamps.set(key, Date.now());
|
|
225
253
|
}
|
|
226
254
|
/** @override */
|
|
227
255
|
onBeforeFetch(_key) {
|
|
228
|
-
|
|
256
|
+
this._busyCount.value = this._busyCount.value + 1;
|
|
229
257
|
}
|
|
230
258
|
/** @override */
|
|
231
259
|
prepareResult(res) {
|
|
@@ -233,9 +261,9 @@ class PromiseCache {
|
|
|
233
261
|
}
|
|
234
262
|
/** @override */
|
|
235
263
|
onFetchComplete(key) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
this._itemsStatus
|
|
264
|
+
this._busyCount.value = this._busyCount.value - 1;
|
|
265
|
+
this._fetchCache.delete(key);
|
|
266
|
+
this._itemsStatus.set(key, false);
|
|
239
267
|
}
|
|
240
268
|
/** @pure */
|
|
241
269
|
async tryFetchInBatch(id) {
|
|
@@ -259,12 +287,12 @@ class PromiseCache {
|
|
|
259
287
|
}
|
|
260
288
|
}
|
|
261
289
|
exports.PromiseCache = PromiseCache;
|
|
262
|
-
function _setX(key,
|
|
290
|
+
function _setX(key, map, val) {
|
|
263
291
|
if (val === undefined) {
|
|
264
|
-
delete
|
|
292
|
+
map.delete(key);
|
|
265
293
|
}
|
|
266
294
|
else {
|
|
267
|
-
|
|
295
|
+
map.set(key, val);
|
|
268
296
|
}
|
|
269
297
|
}
|
|
270
298
|
//# sourceMappingURL=promiseCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseCache.js","sourceRoot":"","sources":["../../../src/structures/promiseCache.ts"],"names":[],"mappings":";;;AAAA,0DAA6D;AAC7D,iDAA2D;
|
|
1
|
+
{"version":3,"file":"promiseCache.js","sourceRoot":"","sources":["../../../src/structures/promiseCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lazy/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
|
|
@@ -27,14 +27,14 @@ export class Lazy {
|
|
|
27
27
|
}
|
|
28
28
|
return true;
|
|
29
29
|
}
|
|
30
|
-
withDisposer
|
|
30
|
+
withDisposer(disposer) {
|
|
31
31
|
this._disposer = disposer;
|
|
32
32
|
return this;
|
|
33
|
-
}
|
|
34
|
-
withExpire
|
|
33
|
+
}
|
|
34
|
+
withExpire(tracker) {
|
|
35
35
|
this._expireTracker = tracker;
|
|
36
36
|
return this;
|
|
37
|
-
}
|
|
37
|
+
}
|
|
38
38
|
ensureInstance() {
|
|
39
39
|
if (this.isValid) {
|
|
40
40
|
return;
|
|
@@ -62,4 +62,4 @@ export class Lazy {
|
|
|
62
62
|
}
|
|
63
63
|
dispose() { this.reset(); }
|
|
64
64
|
}
|
|
65
|
-
//# sourceMappingURL=
|
|
65
|
+
//# sourceMappingURL=lazy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../../src/lazy/lazy.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,IAAI;IAMkB;IAJrB,SAAS,GAAkB,SAAS,CAAC;IACvC,cAAc,CAA6B;IAC3C,SAAS,CAAqB;IAEtC,YAA+B,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;IAAI,CAAC;IAEvD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;IAEvD,IAAI,KAAK;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,iEAAiE;IACjE,IAAc,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,CAAC,QAA2B;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU,CAAC,OAAmC;QACjD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,cAAc;QAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAuB;QAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAC9B"}
|
package/esm/lazy/promise.js
CHANGED
|
@@ -24,10 +24,10 @@ export class LazyPromise {
|
|
|
24
24
|
get currentValue() {
|
|
25
25
|
return this._instance;
|
|
26
26
|
}
|
|
27
|
-
withExpire
|
|
27
|
+
withExpire(tracker) {
|
|
28
28
|
this._expireTracker = tracker;
|
|
29
29
|
return this;
|
|
30
|
-
}
|
|
30
|
+
}
|
|
31
31
|
ensureInstanceLoading() {
|
|
32
32
|
if (this.busy === false && this._instance !== undefined && this._expireTracker?.isExpired) {
|
|
33
33
|
// do not reset the instance, just make sure it will be reloaded
|
|
@@ -46,7 +46,7 @@ export class LazyPromise {
|
|
|
46
46
|
this.setInstance(res);
|
|
47
47
|
return res;
|
|
48
48
|
}
|
|
49
|
-
setInstance
|
|
49
|
+
setInstance(res) {
|
|
50
50
|
this._busy = false;
|
|
51
51
|
// refresh promise so it won't keep old callbacks
|
|
52
52
|
// + make sure it's resolved with the freshest value
|
|
@@ -57,12 +57,14 @@ export class LazyPromise {
|
|
|
57
57
|
this._expireTracker.restart();
|
|
58
58
|
}
|
|
59
59
|
return res;
|
|
60
|
-
}
|
|
61
|
-
reset
|
|
60
|
+
}
|
|
61
|
+
reset() {
|
|
62
62
|
this._busy = null;
|
|
63
63
|
this._instance = this.initial;
|
|
64
64
|
this._promise = undefined;
|
|
65
|
-
}
|
|
66
|
-
dispose
|
|
65
|
+
}
|
|
66
|
+
dispose() {
|
|
67
|
+
this.reset();
|
|
68
|
+
}
|
|
67
69
|
}
|
|
68
70
|
//# sourceMappingURL=promise.js.map
|
package/esm/lazy/promise.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../src/lazy/promise.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,WAAW;IASC;IACA;IARb,SAAS,GAAkB,SAAS,CAAC;IACrC,KAAK,GAAmB,IAAI,CAAC;IAE7B,QAAQ,CAAyB;IACjC,cAAc,CAA6B;IAEnD,YACqB,QAA0B,EAC1B,UAAyB,SAAS;QADlC,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,YAAO,GAAP,OAAO,CAA2B;QAEnD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,QAAS,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAED,6BAA6B;IAC7B,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,UAAU,
|
|
1
|
+
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../src/lazy/promise.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,WAAW;IASC;IACA;IARb,SAAS,GAAkB,SAAS,CAAC;IACrC,KAAK,GAAmB,IAAI,CAAC;IAE7B,QAAQ,CAAyB;IACjC,cAAc,CAA6B;IAEnD,YACqB,QAA0B,EAC1B,UAAyB,SAAS;QADlC,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,YAAO,GAAP,OAAO,CAA2B;QAEnD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,QAAS,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAED,6BAA6B;IAC7B,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,OAAmC;QACjD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,qBAAqB;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC;YACxF,gEAAgE;YAChE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAES,UAAU,CAAC,GAAM;QACvB,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,WAAW,CAAC,GAAkB;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,iDAAiD;QACjD,oDAAoD;QACpD,8DAA8D;QAC9D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAI,CAAC,CAAC;QAEtC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QAErB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;CACJ"}
|
package/esm/models/Loading.js
CHANGED
|
@@ -36,10 +36,10 @@ export class LoadingModel {
|
|
|
36
36
|
useLoading(cb, exclusive = false) {
|
|
37
37
|
return withLoading(this, cb, exclusive);
|
|
38
38
|
}
|
|
39
|
-
reset
|
|
39
|
+
reset() {
|
|
40
40
|
this._firstInit = false;
|
|
41
41
|
this._number.reset();
|
|
42
|
-
}
|
|
42
|
+
}
|
|
43
43
|
setValue(isLoading) {
|
|
44
44
|
if (isLoading) {
|
|
45
45
|
this.incrementLoading();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../../src/models/Loading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAYnC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAgB,KAA2B,EAAE,EAAoB,EAAE,YAA+B,KAAK;IACpI,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IAEnB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,EAAE,EAAE,CAAC;QACvB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,GAAG;SACd,CAAC;IACN,CAAC;YAAS,CAAC;QACP,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACxB,CAAC;AACL,CAAC;AAED,MAAM,OAAO,YAAY;IAEF,OAAO,CAAwC;IACxD,UAAU,CAAU;IAE9B;;OAEG;IACH,YAAY,YAAY,GAAG,KAAK;QAC5B,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACnD,CAAC;IAED,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhE,IAAW,KAAK,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAW,KAAK,CAAC,CAAU;QACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAEM,UAAU,CAAI,EAAoB,EAAE,YAA+B,KAAK;QAC3E,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK
|
|
1
|
+
{"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../../src/models/Loading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAYnC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAgB,KAA2B,EAAE,EAAoB,EAAE,YAA+B,KAAK;IACpI,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IAEnB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,EAAE,EAAE,CAAC;QACvB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,GAAG;SACd,CAAC;IACN,CAAC;YAAS,CAAC;QACP,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACxB,CAAC;AACL,CAAC;AAED,MAAM,OAAO,YAAY;IAEF,OAAO,CAAwC;IACxD,UAAU,CAAU;IAE9B;;OAEG;IACH,YAAY,YAAY,GAAG,KAAK;QAC5B,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACnD,CAAC;IAED,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhE,IAAW,KAAK,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAW,KAAK,CAAC,CAAU;QACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAEM,UAAU,CAAI,EAAoB,EAAE,YAA+B,KAAK;QAC3E,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEM,QAAQ,CAAC,SAAkB;QAC9B,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,kBAAkB;IACR,gBAAgB;QACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,kBAAkB;IACR,gBAAgB;QACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED;;0EAEsE;IAC5D,wBAAwB;QAC9B,OAAO,IAAI,KAAK,CAAS,CAAC,CAAC,CAAC;IAChC,CAAC;CACJ;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAIxB;IAFpB,YACI,OAAO,GAAG,yEAAyE,EACnE,UAAmB;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,eAAU,GAAV,UAAU,CAAS;IAGvC,CAAC;CACJ"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ThrottleProcessor } from '../functions/throttle.js';
|
|
2
2
|
import { createLogger } from '../logger/index.js';
|
|
3
|
+
import { Model } from '../models/Model.js';
|
|
3
4
|
export var DeferredGetter;
|
|
4
5
|
(function (DeferredGetter) {
|
|
5
6
|
const _resolvedPromise = Promise.resolve(null);
|
|
@@ -21,23 +22,38 @@ export class PromiseCache {
|
|
|
21
22
|
fetcher;
|
|
22
23
|
keyAdapter;
|
|
23
24
|
keyParser;
|
|
24
|
-
_itemsCache
|
|
25
|
-
_itemsStatus
|
|
26
|
-
|
|
25
|
+
_itemsCache;
|
|
26
|
+
_itemsStatus;
|
|
27
|
+
_busyCount;
|
|
28
|
+
_fetchCache;
|
|
27
29
|
_timestamps = new Map();
|
|
28
30
|
_batch = null;
|
|
29
31
|
_invalidationTimeMs = null;
|
|
30
32
|
_keepInstanceDuringInvalidation = false;
|
|
31
33
|
_logger = null;
|
|
32
34
|
_version = 0;
|
|
33
|
-
_busyCount = 0;
|
|
34
35
|
constructor(fetcher, keyAdapter, keyParser) {
|
|
35
36
|
this.fetcher = fetcher;
|
|
36
37
|
this.keyAdapter = keyAdapter;
|
|
37
38
|
this.keyParser = keyParser;
|
|
38
|
-
|
|
39
|
+
this._busyCount = this.pure_createBusyCount();
|
|
40
|
+
this._itemsCache = this.pure_createItemsCache();
|
|
41
|
+
this._itemsStatus = this.pure_createItemsStatus();
|
|
42
|
+
this._fetchCache = this.pure_createFetchCache();
|
|
43
|
+
}
|
|
44
|
+
get busyCount() { return this._busyCount.value; }
|
|
45
|
+
pure_createBusyCount() {
|
|
46
|
+
return new Model(0);
|
|
47
|
+
}
|
|
48
|
+
pure_createItemsCache() {
|
|
49
|
+
return new Map();
|
|
50
|
+
}
|
|
51
|
+
pure_createItemsStatus() {
|
|
52
|
+
return new Map();
|
|
53
|
+
}
|
|
54
|
+
pure_createFetchCache() {
|
|
55
|
+
return new Map();
|
|
39
56
|
}
|
|
40
|
-
get busyCount() { return this._busyCount; }
|
|
41
57
|
_pk(k) {
|
|
42
58
|
if (k == null) {
|
|
43
59
|
throw new Error('PromiseCache: null keys are not supported');
|
|
@@ -91,7 +107,7 @@ export class PromiseCache {
|
|
|
91
107
|
}
|
|
92
108
|
getIsBusy(id) {
|
|
93
109
|
const key = this._pk(id);
|
|
94
|
-
const res = this._itemsStatus
|
|
110
|
+
const res = this._itemsStatus.get(key);
|
|
95
111
|
if (res) {
|
|
96
112
|
return res;
|
|
97
113
|
}
|
|
@@ -102,7 +118,7 @@ export class PromiseCache {
|
|
|
102
118
|
const key = this._pk(id);
|
|
103
119
|
const isInvalid = this.getIsInvalidated(key);
|
|
104
120
|
// make sure current item is hooked here from the cache (required by observers)
|
|
105
|
-
const item = this._itemsCache
|
|
121
|
+
const item = this._itemsCache.get(key);
|
|
106
122
|
if (isInvalid) {
|
|
107
123
|
this._logger?.log(key, 'item is invalidated');
|
|
108
124
|
}
|
|
@@ -128,7 +144,7 @@ export class PromiseCache {
|
|
|
128
144
|
this._logger?.log(key, 'get: item resolved to', item, isInvalid ? '(invalidated)' : '');
|
|
129
145
|
return Promise.resolve(item);
|
|
130
146
|
}
|
|
131
|
-
let promise = this._fetchCache
|
|
147
|
+
let promise = this._fetchCache.get(key);
|
|
132
148
|
if (promise != null) {
|
|
133
149
|
this._logger?.log(key, 'get: item resolved to <promise>');
|
|
134
150
|
return promise;
|
|
@@ -149,7 +165,7 @@ export class PromiseCache {
|
|
|
149
165
|
// resolve with actual result but don't store it
|
|
150
166
|
return res;
|
|
151
167
|
}
|
|
152
|
-
if (this._fetchCache
|
|
168
|
+
if (this._fetchCache.get(key) != null) {
|
|
153
169
|
this._logger?.log(key, 'item\'s <promise> resolved to', res);
|
|
154
170
|
res = this.prepareResult(res);
|
|
155
171
|
this.storeResult(key, res);
|
|
@@ -175,24 +191,36 @@ export class PromiseCache {
|
|
|
175
191
|
}
|
|
176
192
|
hasKey(id) {
|
|
177
193
|
const key = this._pk(id);
|
|
178
|
-
return this._itemsCache
|
|
194
|
+
return this._itemsCache.get(key) !== undefined || this._itemsStatus.get(key) !== undefined;
|
|
179
195
|
}
|
|
180
|
-
keys() {
|
|
181
|
-
|
|
196
|
+
keys(iterate = false) {
|
|
197
|
+
const iterator = this._itemsCache.keys();
|
|
198
|
+
return iterate
|
|
199
|
+
? iterator
|
|
200
|
+
: Array.from(iterator);
|
|
182
201
|
}
|
|
183
|
-
keysParsed() {
|
|
184
|
-
|
|
202
|
+
keysParsed(iterate = false) {
|
|
203
|
+
const kp = this.keyParser;
|
|
204
|
+
if (!kp) {
|
|
185
205
|
return null;
|
|
186
206
|
}
|
|
187
|
-
|
|
207
|
+
const keysIterator = this.keys(true);
|
|
208
|
+
if (!iterate) {
|
|
209
|
+
return Array.from(keysIterator, key => kp(key));
|
|
210
|
+
}
|
|
211
|
+
return (function* () {
|
|
212
|
+
for (const key of keysIterator) {
|
|
213
|
+
yield kp(key);
|
|
214
|
+
}
|
|
215
|
+
})();
|
|
188
216
|
}
|
|
189
217
|
clear() {
|
|
190
218
|
++this._version;
|
|
191
|
-
this._busyCount = 0;
|
|
219
|
+
this._busyCount.value = 0;
|
|
192
220
|
this._batch?.clear();
|
|
193
|
-
this._itemsCache
|
|
194
|
-
this._itemsStatus
|
|
195
|
-
this._fetchCache
|
|
221
|
+
this._itemsCache.clear();
|
|
222
|
+
this._itemsStatus.clear();
|
|
223
|
+
this._fetchCache.clear();
|
|
196
224
|
}
|
|
197
225
|
_set(key, item, promise, busy) {
|
|
198
226
|
_setX(key, this._fetchCache, promise);
|
|
@@ -209,20 +237,20 @@ export class PromiseCache {
|
|
|
209
237
|
/** @override */
|
|
210
238
|
setStatus(key, status) {
|
|
211
239
|
this._logger?.log(key, 'status update:', status);
|
|
212
|
-
this._itemsStatus
|
|
240
|
+
this._itemsStatus.set(key, status);
|
|
213
241
|
}
|
|
214
242
|
/** @override */
|
|
215
243
|
setPromise(key, promise) {
|
|
216
|
-
this._fetchCache
|
|
244
|
+
this._fetchCache.set(key, promise);
|
|
217
245
|
}
|
|
218
246
|
/** @override */
|
|
219
247
|
storeResult(key, res) {
|
|
220
|
-
this._itemsCache
|
|
248
|
+
this._itemsCache.set(key, res);
|
|
221
249
|
this._timestamps.set(key, Date.now());
|
|
222
250
|
}
|
|
223
251
|
/** @override */
|
|
224
252
|
onBeforeFetch(_key) {
|
|
225
|
-
|
|
253
|
+
this._busyCount.value = this._busyCount.value + 1;
|
|
226
254
|
}
|
|
227
255
|
/** @override */
|
|
228
256
|
prepareResult(res) {
|
|
@@ -230,9 +258,9 @@ export class PromiseCache {
|
|
|
230
258
|
}
|
|
231
259
|
/** @override */
|
|
232
260
|
onFetchComplete(key) {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
this._itemsStatus
|
|
261
|
+
this._busyCount.value = this._busyCount.value - 1;
|
|
262
|
+
this._fetchCache.delete(key);
|
|
263
|
+
this._itemsStatus.set(key, false);
|
|
236
264
|
}
|
|
237
265
|
/** @pure */
|
|
238
266
|
async tryFetchInBatch(id) {
|
|
@@ -255,12 +283,12 @@ export class PromiseCache {
|
|
|
255
283
|
return res.result[res.index];
|
|
256
284
|
}
|
|
257
285
|
}
|
|
258
|
-
function _setX(key,
|
|
286
|
+
function _setX(key, map, val) {
|
|
259
287
|
if (val === undefined) {
|
|
260
|
-
delete
|
|
288
|
+
map.delete(key);
|
|
261
289
|
}
|
|
262
290
|
else {
|
|
263
|
-
|
|
291
|
+
map.set(key, val);
|
|
264
292
|
}
|
|
265
293
|
}
|
|
266
294
|
//# sourceMappingURL=promiseCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseCache.js","sourceRoot":"","sources":["../../../src/structures/promiseCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAW,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"promiseCache.js","sourceRoot":"","sources":["../../../src/structures/promiseCache.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zajno/common",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.2",
|
|
4
4
|
"description": "Zajno's re-usable utilities for JS/TS projects",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -91,6 +91,12 @@
|
|
|
91
91
|
"require": "./cjs/functions/index.js",
|
|
92
92
|
"default": "./cjs/functions/index.js"
|
|
93
93
|
},
|
|
94
|
+
"./lazy": {
|
|
95
|
+
"types": "./types/lazy/index.d.ts",
|
|
96
|
+
"import": "./esm/lazy/index.js",
|
|
97
|
+
"require": "./cjs/lazy/index.js",
|
|
98
|
+
"default": "./cjs/lazy/index.js"
|
|
99
|
+
},
|
|
94
100
|
"./localization": {
|
|
95
101
|
"types": "./types/localization/index.d.ts",
|
|
96
102
|
"import": "./esm/localization/index.js",
|
package/tsconfig.cjs.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api/builder.ts","../src/api/call.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/helpers.ts","../src/api/index.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/processor.ts","../src/api/register.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/
|
|
1
|
+
{"root":["../src/api/builder.ts","../src/api/call.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/helpers.ts","../src/api/index.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/processor.ts","../src/api/register.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/abstractions.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/file.ts","../src/logger/index.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/proxy.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timer.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.ts","../src/structures/path/utils.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
package/tsconfig.esm.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api/builder.ts","../src/api/call.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/helpers.ts","../src/api/index.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/processor.ts","../src/api/register.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/
|
|
1
|
+
{"root":["../src/api/builder.ts","../src/api/call.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/helpers.ts","../src/api/index.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/processor.ts","../src/api/register.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/abstractions.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/file.ts","../src/logger/index.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/proxy.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timer.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.ts","../src/structures/path/utils.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api/builder.ts","../src/api/call.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/helpers.ts","../src/api/index.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/processor.ts","../src/api/register.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/
|
|
1
|
+
{"root":["../src/api/builder.ts","../src/api/call.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/helpers.ts","../src/api/index.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/processor.ts","../src/api/register.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/abstractions.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/file.ts","../src/logger/index.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/proxy.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timer.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.ts","../src/structures/path/utils.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
@@ -11,8 +11,8 @@ export declare class Lazy<T> implements ILazy<T> {
|
|
|
11
11
|
get currentValue(): T | undefined;
|
|
12
12
|
/** Override me: additional way to make sure instance is valid */
|
|
13
13
|
protected get isValid(): boolean;
|
|
14
|
-
withDisposer
|
|
15
|
-
withExpire
|
|
14
|
+
withDisposer(disposer: (prev: T) => void): this;
|
|
15
|
+
withExpire(tracker: IExpireTracker | undefined): this;
|
|
16
16
|
private ensureInstance;
|
|
17
17
|
prewarm(): this;
|
|
18
18
|
setInstance(instance: T | undefined): void;
|
package/types/lazy/promise.d.ts
CHANGED
|
@@ -14,10 +14,10 @@ export declare class LazyPromise<T> implements ILazyPromise<T> {
|
|
|
14
14
|
get value(): NonNullable<T>;
|
|
15
15
|
/** does not calls factory */
|
|
16
16
|
get currentValue(): T | undefined;
|
|
17
|
-
withExpire
|
|
17
|
+
withExpire(tracker: IExpireTracker | undefined): this;
|
|
18
18
|
protected ensureInstanceLoading(): void;
|
|
19
19
|
protected onResolved(res: T): T;
|
|
20
|
-
setInstance
|
|
21
|
-
reset
|
|
22
|
-
dispose
|
|
20
|
+
setInstance(res: T | undefined): T | undefined;
|
|
21
|
+
reset(): void;
|
|
22
|
+
dispose(): void;
|
|
23
23
|
}
|
package/types/lazy/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IDisposable } from '../functions/disposer.js';
|
|
2
|
-
import { IResetableModel } from '../models/types.js';
|
|
1
|
+
import type { IDisposable } from '../functions/disposer.js';
|
|
2
|
+
import type { IResetableModel } from '../models/types.js';
|
|
3
3
|
export type ILazy<T> = IDisposable & IResetableModel & {
|
|
4
4
|
readonly value: T;
|
|
5
5
|
readonly hasValue: boolean;
|
|
@@ -18,7 +18,7 @@ export declare class LoadingModel implements IValueModel<boolean>, IResetableMod
|
|
|
18
18
|
get value(): boolean;
|
|
19
19
|
set value(v: boolean);
|
|
20
20
|
useLoading<T>(cb: LoadingWorker<T>, exclusive?: boolean | 'throw'): Promise<LoadingResult<T>>;
|
|
21
|
-
reset
|
|
21
|
+
reset(): void;
|
|
22
22
|
setValue(isLoading: boolean): void;
|
|
23
23
|
/** override me */
|
|
24
24
|
protected incrementLoading(): void;
|
package/types/models/types.d.ts
CHANGED
|
@@ -22,3 +22,5 @@ export interface ICountableModel {
|
|
|
22
22
|
readonly selectedCount?: number;
|
|
23
23
|
readonly isEmpty: boolean;
|
|
24
24
|
}
|
|
25
|
+
/** Lighter version of ES2015 Map with no constructor/symbols stuff. */
|
|
26
|
+
export type IMapModel<K, V> = Pick<Map<K, V>, 'clear' | 'delete' | 'get' | 'has' | 'set' | 'size' | 'entries' | 'keys' | 'values' | 'forEach'>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ILogger } from '../logger/index.js';
|
|
2
|
+
import { IMapModel, IValueModel } from '../models/types.js';
|
|
2
3
|
export type DeferredGetter<T> = {
|
|
3
4
|
readonly current: T | null | undefined;
|
|
4
5
|
readonly promise: Promise<T | null>;
|
|
@@ -22,18 +23,22 @@ export declare class PromiseCache<T, K = string> {
|
|
|
22
23
|
private readonly fetcher;
|
|
23
24
|
private readonly keyAdapter?;
|
|
24
25
|
private readonly keyParser?;
|
|
25
|
-
protected _itemsCache:
|
|
26
|
-
protected _itemsStatus:
|
|
27
|
-
|
|
28
|
-
private
|
|
26
|
+
protected readonly _itemsCache: IMapModel<string, T | null | undefined>;
|
|
27
|
+
protected readonly _itemsStatus: IMapModel<string, boolean>;
|
|
28
|
+
protected readonly _busyCount: IValueModel<number>;
|
|
29
|
+
private readonly _fetchCache;
|
|
30
|
+
private readonly _timestamps;
|
|
29
31
|
private _batch;
|
|
30
32
|
private _invalidationTimeMs;
|
|
31
33
|
private _keepInstanceDuringInvalidation;
|
|
32
34
|
private _logger;
|
|
33
35
|
private _version;
|
|
34
|
-
protected _busyCount: number;
|
|
35
36
|
constructor(fetcher: (id: K) => Promise<T>, keyAdapter?: (K extends string ? null : (k: K) => string) | undefined, keyParser?: (K extends string ? null : (id: string) => K) | undefined);
|
|
36
37
|
get busyCount(): number;
|
|
38
|
+
protected pure_createBusyCount(): IValueModel<number>;
|
|
39
|
+
protected pure_createItemsCache(): IMapModel<string, T | null | undefined>;
|
|
40
|
+
protected pure_createItemsStatus(): IMapModel<string, boolean>;
|
|
41
|
+
protected pure_createFetchCache(): IMapModel<string, Promise<T | null>>;
|
|
37
42
|
private _pk;
|
|
38
43
|
useLogger(nameOrLogger?: string | ILogger): this;
|
|
39
44
|
/**
|
|
@@ -63,7 +68,9 @@ export declare class PromiseCache<T, K = string> {
|
|
|
63
68
|
invalidate(id: K): void;
|
|
64
69
|
updateValueDirectly(id: K, value: T | null): void;
|
|
65
70
|
hasKey(id: K): boolean;
|
|
71
|
+
keys(iterate: true): MapIterator<string>;
|
|
66
72
|
keys(): string[];
|
|
73
|
+
keysParsed(iterate: true): Generator<K> | null;
|
|
67
74
|
keysParsed(): K[] | null;
|
|
68
75
|
clear(): void;
|
|
69
76
|
protected _set(key: string, item: T | null | undefined, promise: Promise<T> | undefined, busy: boolean | undefined): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../src/lazy/singleton.ts"],"names":[],"mappings":";;;AAGA,MAAa,IAAI;IAMkB;IAJrB,SAAS,GAAkB,SAAS,CAAC;IACvC,cAAc,CAA6B;IAC3C,SAAS,CAAqB;IAEtC,YAA+B,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;IAAI,CAAC;IAEvD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;IAEvD,IAAI,KAAK;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,iEAAiE;IACjE,IAAc,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,GAAG,CAAC,QAA2B,EAAE,EAAE;QAClD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEK,UAAU,GAAG,CAAC,OAAmC,EAAE,EAAE;QACxD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEM,cAAc;QAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAuB;QAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAC9B;AA7ED,oBA6EC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../src/lazy/singleton.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,IAAI;IAMkB;IAJrB,SAAS,GAAkB,SAAS,CAAC;IACvC,cAAc,CAA6B;IAC3C,SAAS,CAAqB;IAEtC,YAA+B,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;IAAI,CAAC;IAEvD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;IAEvD,IAAI,KAAK;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,iEAAiE;IACjE,IAAc,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,GAAG,CAAC,QAA2B,EAAE,EAAE;QAClD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEK,UAAU,GAAG,CAAC,OAAmC,EAAE,EAAE;QACxD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEM,cAAc;QAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAuB;QAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAC9B"}
|