@zajno/common 2.6.0 → 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/async/arrays.js +1 -0
- package/cjs/async/arrays.js.map +1 -1
- package/cjs/async/misc.js +0 -6
- package/cjs/async/misc.js.map +1 -1
- package/cjs/async/timeout.js +1 -0
- package/cjs/async/timeout.js.map +1 -1
- package/cjs/fields/filter.js +0 -6
- package/cjs/fields/filter.js.map +1 -1
- package/cjs/fields/transfer.js +1 -0
- package/cjs/fields/transfer.js.map +1 -1
- package/cjs/functions/throttle.js +2 -2
- package/cjs/functions/throttle.js.map +1 -1
- 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/localization/LocalizationManager.js +50 -0
- package/cjs/localization/LocalizationManager.js.map +1 -0
- package/cjs/localization/LocalizedValidationErrors.js +21 -0
- package/cjs/localization/LocalizedValidationErrors.js.map +1 -0
- package/cjs/localization/abstractions.js +3 -0
- package/cjs/localization/abstractions.js.map +1 -0
- package/cjs/localization/defaults/ValidationErrorsLocalization.js +26 -0
- package/cjs/localization/defaults/ValidationErrorsLocalization.js.map +1 -0
- package/cjs/localization/defaults/defaultShape.js +28 -0
- package/cjs/localization/defaults/defaultShape.js.map +1 -0
- package/cjs/localization/index.js +10 -0
- package/cjs/localization/index.js.map +1 -0
- 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/async/arrays.js +1 -0
- package/esm/async/arrays.js.map +1 -1
- package/esm/async/misc.js +0 -4
- package/esm/async/misc.js.map +1 -1
- package/esm/async/timeout.js +1 -0
- package/esm/async/timeout.js.map +1 -1
- package/esm/fields/filter.js +0 -6
- package/esm/fields/filter.js.map +1 -1
- package/esm/fields/transfer.js +1 -0
- package/esm/fields/transfer.js.map +1 -1
- package/esm/functions/throttle.js +1 -1
- package/esm/functions/throttle.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/localization/LocalizationManager.js +46 -0
- package/esm/localization/LocalizationManager.js.map +1 -0
- package/esm/localization/LocalizedValidationErrors.js +17 -0
- package/esm/localization/LocalizedValidationErrors.js.map +1 -0
- package/esm/localization/abstractions.js +2 -0
- package/esm/localization/abstractions.js.map +1 -0
- package/esm/localization/defaults/ValidationErrorsLocalization.js +23 -0
- package/esm/localization/defaults/ValidationErrorsLocalization.js.map +1 -0
- package/esm/localization/defaults/defaultShape.js +25 -0
- package/esm/localization/defaults/defaultShape.js.map +1 -0
- package/esm/localization/index.js +5 -0
- package/esm/localization/index.js.map +1 -0
- 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 +13 -1
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/tsconfig.types.tsbuildinfo +1 -1
- package/types/async/misc.d.ts +0 -2
- package/types/fields/filter.d.ts +0 -4
- 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/localization/LocalizationManager.d.ts +20 -0
- package/types/localization/LocalizedValidationErrors.d.ts +9 -0
- package/types/localization/abstractions.d.ts +12 -0
- package/types/localization/defaults/ValidationErrorsLocalization.d.ts +26 -0
- package/types/localization/defaults/defaultShape.d.ts +25 -0
- package/types/localization/index.d.ts +4 -0
- 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
package/cjs/async/arrays.js
CHANGED
|
@@ -27,6 +27,7 @@ async function forEachAsync(target, cb) {
|
|
|
27
27
|
await cb(target[i], i, target);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
+
// The difference with Promise.all is that callbacks called sequentially
|
|
30
31
|
async function mapAsync(target, cb) {
|
|
31
32
|
const results = [];
|
|
32
33
|
for (let i = 0; i < target.length; ++i) {
|
package/cjs/async/arrays.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/async/arrays.ts"],"names":[],"mappings":";;AAEA,8BASC;AAED,gCASC;AAED,oCAIC;
|
|
1
|
+
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/async/arrays.ts"],"names":[],"mappings":";;AAEA,8BASC;AAED,gCASC;AAED,oCAIC;AAGD,4BAOC;AApCM,KAAK,UAAU,SAAS,CAAI,MAAwB,EAAE,SAA6E;IACtI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,EAAE,EAAE,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,UAAU,CAAI,MAAwB,EAAE,SAA6E;IACvI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,YAAY,CAAI,MAAwB,EAAE,EAAmE;IAC/H,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;AACL,CAAC;AAED,wEAAwE;AACjE,KAAK,UAAU,QAAQ,CAAO,MAAwB,EAAE,EAAgE;IAC3H,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
package/cjs/async/misc.js
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OptAwait = OptAwait;
|
|
4
3
|
exports.chainPromises = chainPromises;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
async function OptAwait(cb, doAwait) {
|
|
7
|
-
return cb && (doAwait ? (await cb()) : cb());
|
|
8
|
-
}
|
|
9
4
|
async function chainPromises(...promises) {
|
|
10
5
|
const applyAsync = (acc, val) => acc.then(val);
|
|
11
6
|
return promises.reduce(applyAsync, Promise.resolve());
|
|
12
7
|
}
|
|
13
|
-
tslib_1.__exportStar(require("./manualPromise.js"), exports);
|
|
14
8
|
//# sourceMappingURL=misc.js.map
|
package/cjs/async/misc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/async/misc.ts"],"names":[],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/async/misc.ts"],"names":[],"mappings":";;AACA,sCAKC;AALM,KAAK,UAAU,aAAa,CAAC,GAAG,QAAiC;IAEpE,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,GAAwB,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnF,OAAO,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC"}
|
package/cjs/async/timeout.js
CHANGED
|
@@ -58,6 +58,7 @@ function timeoutPromise(p, timeoutMs, waitForMinElapsed) {
|
|
|
58
58
|
}
|
|
59
59
|
/** @deprecated Not Supported! Moved to `@zajno/common-web` package due to dependency on DOM's `requestAnimationFrame` */
|
|
60
60
|
function setTimeoutFramesAsync() {
|
|
61
|
+
/* istanbul ignore next -- @preserve */
|
|
61
62
|
throw new Error('setTimeoutFramesAsync has been moved to "@zajno/common-web" because it depends on "window.requestAnimationFrame".');
|
|
62
63
|
}
|
|
63
64
|
//# sourceMappingURL=timeout.js.map
|
package/cjs/async/timeout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../src/async/timeout.ts"],"names":[],"mappings":";;AACA,0CA0BC;AAED,wCAgCC;AAGD,
|
|
1
|
+
{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../src/async/timeout.ts"],"names":[],"mappings":";;AACA,0CA0BC;AAED,wCAgCC;AAGD,sDAGC;AAlED,SAAgB,eAAe,CAAC,EAAU,EAAE,YAA8C,IAAI;IAC1F,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,OAA4B,CAAC;IACjC,IAAI,KAAoC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,OAAO,GAAG,MAAM,CAAC;QACjB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,GAAG,EAAE;YAClB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC,CAAC;QACF,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAgB,cAAc,CAAI,CAAa,EAAE,SAAiB,EAAE,iBAA0B;IAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,GAAkB,EAAE,QAAiB,EAAE,EAAE;YACrD,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO;YACX,CAAC;YAED,QAAQ,GAAG,IAAI,CAAC;YAEhB,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAE7F,MAAM,IAAI,GAAG,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;gBACZ,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,QAAQ,EAAE,CAAC;YACf,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,YAAY,CAAC,UAAU,CAAC,CAAC;YACzB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,yHAAyH;AACzH,SAAgB,qBAAqB;IACjC,uCAAuC;IACvC,MAAM,IAAI,KAAK,CAAC,mHAAmH,CAAC,CAAC;AACzI,CAAC"}
|
package/cjs/fields/filter.js
CHANGED
|
@@ -19,10 +19,4 @@ function filterFields(source, ...fields) {
|
|
|
19
19
|
});
|
|
20
20
|
return res;
|
|
21
21
|
}
|
|
22
|
-
(function (filterFields) {
|
|
23
|
-
function Truethy() { return (v) => !!v; }
|
|
24
|
-
filterFields.Truethy = Truethy;
|
|
25
|
-
function NotNull() { return v => v != null; }
|
|
26
|
-
filterFields.NotNull = NotNull;
|
|
27
|
-
})(filterFields || (exports.filterFields = filterFields = {}));
|
|
28
22
|
//# sourceMappingURL=filter.js.map
|
package/cjs/fields/filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/fields/filter.ts"],"names":[],"mappings":";;AAGA,oCAkBC;AAlBD,SAAgB,YAAY,CAAI,MAAkB,EAAE,GAAG,MAA+D;IAClH,MAAM,GAAG,GAAe,EAAG,CAAC;IAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACf,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACd,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,EAAE,CAAC;gBACJ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/fields/filter.ts"],"names":[],"mappings":";;AAGA,oCAkBC;AAlBD,SAAgB,YAAY,CAAI,MAAkB,EAAE,GAAG,MAA+D;IAClH,MAAM,GAAG,GAAe,EAAG,CAAC;IAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACf,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACd,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,EAAE,CAAC;gBACJ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC"}
|
package/cjs/fields/transfer.js
CHANGED
|
@@ -35,6 +35,7 @@ function transferFields(source, predicate, destination, ...fields) {
|
|
|
35
35
|
function hasChangedFields(left, right, ...fields) {
|
|
36
36
|
return fields.some(f => left[f] !== right[f]);
|
|
37
37
|
}
|
|
38
|
+
// undefined fields are ignored
|
|
38
39
|
function extractChangedFields(source, image, ...fields) {
|
|
39
40
|
const res = {};
|
|
40
41
|
const count = transferFields(source, (f, v) => v !== undefined && v !== image[f], res, ...fields);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/fields/transfer.ts"],"names":[],"mappings":";;AACA,wCAgBC;AA0CD,4CAEC;
|
|
1
|
+
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/fields/transfer.ts"],"names":[],"mappings":";;AACA,wCAgBC;AA0CD,4CAEC;AAQD,oDAgBC;AApFD,SAAgB,cAAc,CAC1B,MAAS,EACT,SAAiD,EACjD,WAAuB,EACvB,GAAG,MAAmB;IAEtB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACf,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAChC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnB,EAAE,KAAK,CAAC;QACZ,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,WAAiB,cAAc;IAC3B,SAAgB,MAAM,CAClB,MAAS,EACT,WAAuB,EACvB,GAAG,MAAmB;QAEtB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;IACzE,CAAC;IANe,qBAAM,SAMrB,CAAA;IAED,SAAgB,OAAO,CACnB,MAAS,EACT,WAAuB,EACvB,GAAG,MAAmB;QAEtB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;IAC/E,CAAC;IANe,sBAAO,UAMtB,CAAA;IAED,SAAgB,OAAO,CACnB,MAAS,EACT,WAAuB,EACvB,GAAG,MAAmB;QAEtB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;IACrF,CAAC;IANe,sBAAO,UAMtB,CAAA;IAED,SAAgB,OAAO,CACnB,MAAS,EACT,OAAU,EACV,WAAuB,EACvB,GAAG,MAAmB;QAEtB,OAAO,cAAc,CACjB,MAAM,EACN,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACrD,WAAW,EACX,GAAG,MAAM,CACZ,CAAC;IACN,CAAC;IAZe,sBAAO,UAYtB,CAAA;AACL,CAAC,EAtCgB,cAAc,8BAAd,cAAc,QAsC9B;AAED,SAAgB,gBAAgB,CAAI,IAAO,EAAE,KAAQ,EAAE,GAAG,MAAmB;IACzE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAOD,+BAA+B;AAC/B,SAAgB,oBAAoB,CAChC,MAAkB,EAClB,KAAQ,EACR,GAAG,MAAmB;IAEtB,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,cAAc,CACxB,MAAM,EACN,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAC3C,GAAG,EACH,GAAG,MAAM,CACZ,CAAC;IACF,OAAO;QACH,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,GAAG;KACd,CAAC;AACN,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ThrottleProcessor = exports.ThrottleAction = void 0;
|
|
4
|
-
const
|
|
4
|
+
const manualPromise_js_1 = require("../async/manualPromise.js");
|
|
5
5
|
const index_js_1 = require("../logger/index.js");
|
|
6
6
|
const index_js_2 = require("../math/index.js");
|
|
7
7
|
const safe_js_1 = require("./safe.js");
|
|
@@ -44,7 +44,7 @@ class ThrottleAction {
|
|
|
44
44
|
tryRun(cb, restartTimeout = false) {
|
|
45
45
|
if (!this._timeoutRef) { // start new timeout
|
|
46
46
|
if (!this._currentRun) {
|
|
47
|
-
this._currentRun = (0,
|
|
47
|
+
this._currentRun = (0, manualPromise_js_1.createManualPromise)();
|
|
48
48
|
}
|
|
49
49
|
const result = this._currentRun.promise;
|
|
50
50
|
this._postponedCb = cb;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../../src/functions/throttle.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../../src/functions/throttle.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalizationManager = void 0;
|
|
4
|
+
const event_js_1 = require("../observing/event.js");
|
|
5
|
+
class LocalizationManager {
|
|
6
|
+
_dataSource;
|
|
7
|
+
_currentLocale = null;
|
|
8
|
+
_currentStrings = null;
|
|
9
|
+
_defaultStrings;
|
|
10
|
+
_dependents = [];
|
|
11
|
+
_localeUpdatedEvent = new event_js_1.Event();
|
|
12
|
+
constructor(_dataSource, initialLocale, defaultLocale = null) {
|
|
13
|
+
this._dataSource = _dataSource;
|
|
14
|
+
this._defaultStrings = this.getStrings(defaultLocale || initialLocale);
|
|
15
|
+
this.useLocale(initialLocale);
|
|
16
|
+
}
|
|
17
|
+
get Locale() { return this._currentLocale; }
|
|
18
|
+
get Current() { return this._currentStrings; }
|
|
19
|
+
get localeUpdated() { return this._localeUpdatedEvent.expose(); }
|
|
20
|
+
useLocale(locale) {
|
|
21
|
+
this._currentLocale = locale;
|
|
22
|
+
this._currentStrings = this.getStrings(this._currentLocale) || this._defaultStrings;
|
|
23
|
+
this.updateDependencies();
|
|
24
|
+
this._localeUpdatedEvent.trigger(this._currentLocale);
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
useDependency(dep, remove = false) {
|
|
28
|
+
const i = this._dependents.indexOf(dep);
|
|
29
|
+
if (i < 0 && !remove) {
|
|
30
|
+
this._dependents.push(dep);
|
|
31
|
+
this.updateDependencies();
|
|
32
|
+
}
|
|
33
|
+
else if (i >= 0 && remove) {
|
|
34
|
+
this._dependents.splice(i, 1);
|
|
35
|
+
}
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
updateDependencies() {
|
|
39
|
+
const { _currentLocale: locale, _currentStrings: strings } = this;
|
|
40
|
+
if (!strings || !locale) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this._dependents.forEach(d => d.updateLocale(strings, locale));
|
|
44
|
+
}
|
|
45
|
+
getStrings(locale) {
|
|
46
|
+
return this._dataSource[locale];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.LocalizationManager = LocalizationManager;
|
|
50
|
+
//# sourceMappingURL=LocalizationManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalizationManager.js","sourceRoot":"","sources":["../../../src/localization/LocalizationManager.ts"],"names":[],"mappings":";;;AAEA,oDAA8C;AAE9C,MAAa,mBAAmB;IAUP;IATb,cAAc,GAAuB,IAAI,CAAC;IAC1C,eAAe,GAAoB,IAAI,CAAC;IAE/B,eAAe,CAAW;IAC1B,WAAW,GAAqD,EAAE,CAAC;IAEnE,mBAAmB,GAAG,IAAI,gBAAK,EAAe,CAAC;IAEhE,YACqB,WAA2C,EAC5D,aAA0B,EAC1B,gBAAoC,IAAI;QAFvB,gBAAW,GAAX,WAAW,CAAgC;QAI5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACnD,IAAW,OAAO,KAAK,OAAO,IAAI,CAAC,eAAgB,CAAC,CAAC,CAAC;IACtD,IAAW,aAAa,KAAK,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEjE,SAAS,CAAC,MAAmB;QAChC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC;QACpF,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,aAAa,CAAC,GAAmD,EAAE,MAAM,GAAG,KAAK;QACpF,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,kBAAkB;QACtB,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAClE,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,UAAU,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACJ;AArDD,kDAqDC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalizedValidationErrors = void 0;
|
|
4
|
+
class LocalizedValidationErrors {
|
|
5
|
+
factory;
|
|
6
|
+
_strings = null;
|
|
7
|
+
constructor(factory) {
|
|
8
|
+
this.factory = factory;
|
|
9
|
+
}
|
|
10
|
+
get Errors() {
|
|
11
|
+
if (!this._strings) {
|
|
12
|
+
throw new Error('No strings provided, call updateLocale first');
|
|
13
|
+
}
|
|
14
|
+
return this._strings;
|
|
15
|
+
}
|
|
16
|
+
updateLocale(strings) {
|
|
17
|
+
this._strings = this.factory(strings);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.LocalizedValidationErrors = LocalizedValidationErrors;
|
|
21
|
+
//# sourceMappingURL=LocalizedValidationErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalizedValidationErrors.js","sourceRoot":"","sources":["../../../src/localization/LocalizedValidationErrors.ts"],"names":[],"mappings":";;;AAQA,MAAa,yBAAyB;IAKL;IAFrB,QAAQ,GAA4C,IAAI,CAAC;IAEjE,YAA6B,OAAmD;QAAnD,YAAO,GAAP,OAAO,CAA4C;IAAI,CAAC;IAErF,IAAW,MAAM;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,YAAY,CAAC,OAAiB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;CACJ;AAlBD,8DAkBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstractions.js","sourceRoot":"","sources":["../../../src/localization/abstractions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValidationErrorsLocalized = void 0;
|
|
4
|
+
const LocalizedValidationErrors_js_1 = require("../LocalizedValidationErrors.js");
|
|
5
|
+
const ValidationErrors_js_1 = require("../../validation/ValidationErrors.js");
|
|
6
|
+
function locationFactory(strings) {
|
|
7
|
+
return {
|
|
8
|
+
[ValidationErrors_js_1.ValidationErrors.None]: '',
|
|
9
|
+
[ValidationErrors_js_1.ValidationErrors.ShouldBeNonEmpty]: strings.Validation.Empty,
|
|
10
|
+
[ValidationErrors_js_1.ValidationErrors.InvalidNameFormat]: strings.Validation.Name,
|
|
11
|
+
[ValidationErrors_js_1.ValidationErrors.InvalidEmailFormat]: strings.Validation.Email,
|
|
12
|
+
[ValidationErrors_js_1.ValidationErrors.InvalidPasswordFormat]: strings.Validation.Password,
|
|
13
|
+
[ValidationErrors_js_1.ValidationErrors.OnlyEnglishLetters]: strings.Validation.EnglishOnly,
|
|
14
|
+
[ValidationErrors_js_1.ValidationErrors.InvalidPhoneFormat]: strings.Validation.Phone,
|
|
15
|
+
[ValidationErrors_js_1.ValidationErrors.InvalidCreditCardFormat]: strings.Validation.CreditCard,
|
|
16
|
+
[ValidationErrors_js_1.ValidationErrors.InvalidCreditCardExpiryDateFormat]: strings.Validation.CreditCardExpiryDate,
|
|
17
|
+
[ValidationErrors_js_1.ValidationErrors.InvalidCreditCardCvvFormat]: strings.Validation.CreditCardCvv,
|
|
18
|
+
[ValidationErrors_js_1.ValidationErrors.FirstName]: strings.Validation.FirstName,
|
|
19
|
+
[ValidationErrors_js_1.ValidationErrors.LastName]: strings.Validation.LastName,
|
|
20
|
+
[ValidationErrors_js_1.ValidationErrors.OnlyDigit]: strings.Validation.OnlyDigit,
|
|
21
|
+
[ValidationErrors_js_1.ValidationErrors.Website]: strings.Validation.Website,
|
|
22
|
+
[ValidationErrors_js_1.ValidationErrors.Linkedin]: strings.Validation.Linkedin,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
exports.ValidationErrorsLocalized = new LocalizedValidationErrors_js_1.LocalizedValidationErrors(locationFactory);
|
|
26
|
+
//# sourceMappingURL=ValidationErrorsLocalization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidationErrorsLocalization.js","sourceRoot":"","sources":["../../../../src/localization/defaults/ValidationErrorsLocalization.ts"],"names":[],"mappings":";;;AAEA,kFAA4E;AAC5E,8EAAwE;AAExE,SAAS,eAAe,CAAC,OAAqB;IAC1C,OAAO;QACH,CAAC,sCAAgB,CAAC,IAAI,CAAC,EAAE,EAAE;QAC3B,CAAC,sCAAgB,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;QAC7D,CAAC,sCAAgB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI;QAC7D,CAAC,sCAAgB,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;QAC/D,CAAC,sCAAgB,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ;QACrE,CAAC,sCAAgB,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW;QACrE,CAAC,sCAAgB,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;QAC/D,CAAC,sCAAgB,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU;QACzE,CAAC,sCAAgB,CAAC,iCAAiC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,oBAAoB;QAC7F,CAAC,sCAAgB,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa;QAE/E,CAAC,sCAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;QAC1D,CAAC,sCAAgB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ;QACxD,CAAC,sCAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;QAC1D,CAAC,sCAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;QACtD,CAAC,sCAAgB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ;KAC3D,CAAC;AACN,CAAC;AAEY,QAAA,yBAAyB,GAAG,IAAI,wDAAyB,CAAiC,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Strings = void 0;
|
|
4
|
+
exports.Strings = {
|
|
5
|
+
Ok: 'OK',
|
|
6
|
+
Cancel: 'Cancel',
|
|
7
|
+
Submit: 'Submit',
|
|
8
|
+
ForgotPassword: 'Forgot password?',
|
|
9
|
+
Validation: {
|
|
10
|
+
Empty: 'Value should be not empty',
|
|
11
|
+
Name: 'Invalid name format',
|
|
12
|
+
Email: 'Incorrect email',
|
|
13
|
+
Password: 'Must include at least 8 characters',
|
|
14
|
+
EnglishOnly: 'Only English letters supported',
|
|
15
|
+
Phone: 'Invalid phone number format: only digits allowed',
|
|
16
|
+
CreditCard: 'Invalid credit card number format',
|
|
17
|
+
CreditCardExpiryDate: 'Invalid expiry date format',
|
|
18
|
+
CreditCardCvv: 'Invalid CVV format',
|
|
19
|
+
PasswordsShouldMatch: 'Passwords should match',
|
|
20
|
+
FirstName: 'First name is required',
|
|
21
|
+
LastName: 'Last name is required',
|
|
22
|
+
OnlyDigit: 'Only digits are valid',
|
|
23
|
+
Website: 'Incorrect website',
|
|
24
|
+
Linkedin: 'Incorrect Linkedin link',
|
|
25
|
+
},
|
|
26
|
+
UnknownServerError: 'Something went wrong and we were not able to process your request. Please contact the administrator.',
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=defaultShape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultShape.js","sourceRoot":"","sources":["../../../../src/localization/defaults/defaultShape.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG;IACnB,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE,kBAAkB;IAClC,UAAU,EAAE;QACR,KAAK,EAAE,2BAA2B;QAClC,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,oCAAoC;QAC9C,WAAW,EAAE,gCAAgC;QAC7C,KAAK,EAAE,kDAAkD;QACzD,UAAU,EAAE,mCAAmC;QAC/C,oBAAoB,EAAE,4BAA4B;QAClD,aAAa,EAAE,oBAAoB;QACnC,oBAAoB,EAAE,wBAAwB;QAC9C,SAAS,EAAE,wBAAwB;QACnC,QAAQ,EAAE,uBAAuB;QACjC,SAAS,EAAE,uBAAuB;QAClC,OAAO,EAAE,mBAAmB;QAC5B,QAAQ,EAAE,yBAAyB;KACtC;IACD,kBAAkB,EAAE,sGAAsG;CAC7H,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalizedValidationErrors = exports.LocalizationManager = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const LocalizationManager_js_1 = require("./LocalizationManager.js");
|
|
6
|
+
Object.defineProperty(exports, "LocalizationManager", { enumerable: true, get: function () { return LocalizationManager_js_1.LocalizationManager; } });
|
|
7
|
+
const LocalizedValidationErrors_js_1 = require("./LocalizedValidationErrors.js");
|
|
8
|
+
Object.defineProperty(exports, "LocalizedValidationErrors", { enumerable: true, get: function () { return LocalizedValidationErrors_js_1.LocalizedValidationErrors; } });
|
|
9
|
+
tslib_1.__exportStar(require("./abstractions.js"), exports);
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/localization/index.ts"],"names":[],"mappings":";;;;AAAA,qEAA+D;AAKtD,oGALA,4CAAmB,OAKA;AAJ5B,iFAA2E;AAI7C,0GAJrB,wDAAyB,OAIqB;AAFvD,4DAAkC"}
|
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
|