@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.
Files changed (89) hide show
  1. package/cjs/async/arrays.js +1 -0
  2. package/cjs/async/arrays.js.map +1 -1
  3. package/cjs/async/misc.js +0 -6
  4. package/cjs/async/misc.js.map +1 -1
  5. package/cjs/async/timeout.js +1 -0
  6. package/cjs/async/timeout.js.map +1 -1
  7. package/cjs/fields/filter.js +0 -6
  8. package/cjs/fields/filter.js.map +1 -1
  9. package/cjs/fields/transfer.js +1 -0
  10. package/cjs/fields/transfer.js.map +1 -1
  11. package/cjs/functions/throttle.js +2 -2
  12. package/cjs/functions/throttle.js.map +1 -1
  13. package/cjs/lazy/index.js +8 -0
  14. package/cjs/lazy/index.js.map +1 -0
  15. package/cjs/lazy/{singleton.js → lazy.js} +5 -5
  16. package/cjs/lazy/lazy.js.map +1 -0
  17. package/cjs/lazy/promise.js +9 -7
  18. package/cjs/lazy/promise.js.map +1 -1
  19. package/cjs/localization/LocalizationManager.js +50 -0
  20. package/cjs/localization/LocalizationManager.js.map +1 -0
  21. package/cjs/localization/LocalizedValidationErrors.js +21 -0
  22. package/cjs/localization/LocalizedValidationErrors.js.map +1 -0
  23. package/cjs/localization/abstractions.js +3 -0
  24. package/cjs/localization/abstractions.js.map +1 -0
  25. package/cjs/localization/defaults/ValidationErrorsLocalization.js +26 -0
  26. package/cjs/localization/defaults/ValidationErrorsLocalization.js.map +1 -0
  27. package/cjs/localization/defaults/defaultShape.js +28 -0
  28. package/cjs/localization/defaults/defaultShape.js.map +1 -0
  29. package/cjs/localization/index.js +10 -0
  30. package/cjs/localization/index.js.map +1 -0
  31. package/cjs/models/Loading.js +2 -2
  32. package/cjs/models/Loading.js.map +1 -1
  33. package/cjs/structures/promiseCache.js +58 -30
  34. package/cjs/structures/promiseCache.js.map +1 -1
  35. package/esm/async/arrays.js +1 -0
  36. package/esm/async/arrays.js.map +1 -1
  37. package/esm/async/misc.js +0 -4
  38. package/esm/async/misc.js.map +1 -1
  39. package/esm/async/timeout.js +1 -0
  40. package/esm/async/timeout.js.map +1 -1
  41. package/esm/fields/filter.js +0 -6
  42. package/esm/fields/filter.js.map +1 -1
  43. package/esm/fields/transfer.js +1 -0
  44. package/esm/fields/transfer.js.map +1 -1
  45. package/esm/functions/throttle.js +1 -1
  46. package/esm/functions/throttle.js.map +1 -1
  47. package/esm/lazy/index.js +5 -0
  48. package/esm/lazy/index.js.map +1 -0
  49. package/esm/lazy/{singleton.js → lazy.js} +5 -5
  50. package/esm/lazy/lazy.js.map +1 -0
  51. package/esm/lazy/promise.js +9 -7
  52. package/esm/lazy/promise.js.map +1 -1
  53. package/esm/localization/LocalizationManager.js +46 -0
  54. package/esm/localization/LocalizationManager.js.map +1 -0
  55. package/esm/localization/LocalizedValidationErrors.js +17 -0
  56. package/esm/localization/LocalizedValidationErrors.js.map +1 -0
  57. package/esm/localization/abstractions.js +2 -0
  58. package/esm/localization/abstractions.js.map +1 -0
  59. package/esm/localization/defaults/ValidationErrorsLocalization.js +23 -0
  60. package/esm/localization/defaults/ValidationErrorsLocalization.js.map +1 -0
  61. package/esm/localization/defaults/defaultShape.js +25 -0
  62. package/esm/localization/defaults/defaultShape.js.map +1 -0
  63. package/esm/localization/index.js +5 -0
  64. package/esm/localization/index.js.map +1 -0
  65. package/esm/models/Loading.js +2 -2
  66. package/esm/models/Loading.js.map +1 -1
  67. package/esm/structures/promiseCache.js +58 -30
  68. package/esm/structures/promiseCache.js.map +1 -1
  69. package/package.json +13 -1
  70. package/tsconfig.cjs.tsbuildinfo +1 -1
  71. package/tsconfig.esm.tsbuildinfo +1 -1
  72. package/tsconfig.types.tsbuildinfo +1 -1
  73. package/types/async/misc.d.ts +0 -2
  74. package/types/fields/filter.d.ts +0 -4
  75. package/types/lazy/index.d.ts +4 -0
  76. package/types/lazy/{singleton.d.ts → lazy.d.ts} +2 -2
  77. package/types/lazy/promise.d.ts +4 -4
  78. package/types/lazy/types.d.ts +2 -2
  79. package/types/localization/LocalizationManager.d.ts +20 -0
  80. package/types/localization/LocalizedValidationErrors.d.ts +9 -0
  81. package/types/localization/abstractions.d.ts +12 -0
  82. package/types/localization/defaults/ValidationErrorsLocalization.d.ts +26 -0
  83. package/types/localization/defaults/defaultShape.d.ts +25 -0
  84. package/types/localization/index.d.ts +4 -0
  85. package/types/models/Loading.d.ts +1 -1
  86. package/types/models/types.d.ts +2 -0
  87. package/types/structures/promiseCache.d.ts +12 -5
  88. package/cjs/lazy/singleton.js.map +0 -1
  89. package/esm/lazy/singleton.js.map +0 -1
@@ -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) {
@@ -1 +1 @@
1
- {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/async/arrays.ts"],"names":[],"mappings":";;AAEA,8BASC;AAED,gCASC;AAED,oCAIC;AAED,4BAOC;AAnCM,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;AAEM,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"}
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
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/async/misc.ts"],"names":[],"mappings":";;AACA,4BAEC;AAED,sCAKC;;AATM,KAAK,UAAU,QAAQ,CAAI,EAA0B,EAAE,OAAgB;IAC1E,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAEM,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;AAED,6DAAmC"}
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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../src/async/timeout.ts"],"names":[],"mappings":";;AACA,0CA0BC;AAED,wCAgCC;AAGD,sDAEC;AAjED,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,MAAM,IAAI,KAAK,CAAC,mHAAmH,CAAC,CAAC;AACzI,CAAC"}
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"}
@@ -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
@@ -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;AAED,WAAiB,YAAY;IACzB,SAAgB,OAAO,KAAwB,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAnD,oBAAO,UAA4C,CAAA;IACnE,SAAgB,OAAO,KAAwB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAAvD,oBAAO,UAAgD,CAAA;AAC3E,CAAC,EAHgB,YAAY,4BAAZ,YAAY,QAG5B"}
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"}
@@ -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;AAOD,oDAgBC;AAnFD,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,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
+ {"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 misc_js_1 = require("../async/misc.js");
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, misc_js_1.createManualPromise)();
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":"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"}
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 = (disposer) => {
33
+ withDisposer(disposer) {
34
34
  this._disposer = disposer;
35
35
  return this;
36
- };
37
- withExpire = (tracker) => {
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=singleton.js.map
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"}
@@ -27,10 +27,10 @@ class LazyPromise {
27
27
  get currentValue() {
28
28
  return this._instance;
29
29
  }
30
- withExpire = (tracker) => {
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 = (res) => {
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 = () => this.reset();
68
+ }
69
+ dispose() {
70
+ this.reset();
71
+ }
70
72
  }
71
73
  exports.LazyPromise = LazyPromise;
72
74
  //# sourceMappingURL=promise.js.map
@@ -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,GAAG,CAAC,OAAmC,EAAE,EAAE;QACxD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEQ,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,GAAG,CAAC,GAAkB,EAAE,EAAE;QACxC,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,CAAC;IAEF,KAAK,GAAG,GAAG,EAAE;QACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC9B,CAAC,CAAC;IAEF,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;CAChC;AAnFD,kCAmFC"}
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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=abstractions.js.map
@@ -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"}
@@ -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,GAAG,GAAG,EAAE;QAChB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC,CAAC;IAEK,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"}
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
- _fetchCache = {};
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[key];
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[key];
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[key];
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[key] != null) {
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[key] !== undefined || this._itemsStatus[key] !== undefined;
197
+ return this._itemsCache.get(key) !== undefined || this._itemsStatus.get(key) !== undefined;
182
198
  }
183
- keys() {
184
- return Object.keys(this._itemsCache);
199
+ keys(iterate = false) {
200
+ const iterator = this._itemsCache.keys();
201
+ return iterate
202
+ ? iterator
203
+ : Array.from(iterator);
185
204
  }
186
- keysParsed() {
187
- if (!this.keyParser) {
205
+ keysParsed(iterate = false) {
206
+ const kp = this.keyParser;
207
+ if (!kp) {
188
208
  return null;
189
209
  }
190
- return this.keys().map(this.keyParser);
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[key] = status;
243
+ this._itemsStatus.set(key, status);
216
244
  }
217
245
  /** @override */
218
246
  setPromise(key, promise) {
219
- this._fetchCache[key] = promise;
247
+ this._fetchCache.set(key, promise);
220
248
  }
221
249
  /** @override */
222
250
  storeResult(key, res) {
223
- this._itemsCache[key] = res;
251
+ this._itemsCache.set(key, res);
224
252
  this._timestamps.set(key, Date.now());
225
253
  }
226
254
  /** @override */
227
255
  onBeforeFetch(_key) {
228
- ++this._busyCount;
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
- --this._busyCount;
237
- delete this._fetchCache[key];
238
- this._itemsStatus[key] = false;
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, obj, val) {
290
+ function _setX(key, map, val) {
263
291
  if (val === undefined) {
264
- delete obj[key];
292
+ map.delete(key);
265
293
  }
266
294
  else {
267
- obj[key] = val;
295
+ map.set(key, val);
268
296
  }
269
297
  }
270
298
  //# sourceMappingURL=promiseCache.js.map