@adviser/cement 0.4.23 → 0.4.25

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 (78) hide show
  1. package/cjs/future.cjs +1 -1
  2. package/cjs/future.cjs.map +1 -1
  3. package/cjs/future.d.ts.map +1 -1
  4. package/cjs/is-promise.cjs +4 -0
  5. package/cjs/is-promise.cjs.map +1 -1
  6. package/cjs/is-promise.d.ts +2 -0
  7. package/cjs/is-promise.d.ts.map +1 -1
  8. package/cjs/option.cjs +3 -0
  9. package/cjs/option.cjs.map +1 -1
  10. package/cjs/option.d.ts +1 -0
  11. package/cjs/option.d.ts.map +1 -1
  12. package/cjs/resolve-once.cjs +265 -93
  13. package/cjs/resolve-once.cjs.map +1 -1
  14. package/cjs/resolve-once.d.ts +48 -18
  15. package/cjs/resolve-once.d.ts.map +1 -1
  16. package/cjs/resolve-once.test.cjs +115 -9
  17. package/cjs/resolve-once.test.cjs.map +1 -1
  18. package/cjs/version.cjs +1 -1
  19. package/deno.json +1 -1
  20. package/esm/future.d.ts.map +1 -1
  21. package/esm/future.js +1 -1
  22. package/esm/future.js.map +1 -1
  23. package/esm/is-promise.d.ts +2 -0
  24. package/esm/is-promise.d.ts.map +1 -1
  25. package/esm/is-promise.js +3 -0
  26. package/esm/is-promise.js.map +1 -1
  27. package/esm/option.d.ts +1 -0
  28. package/esm/option.d.ts.map +1 -1
  29. package/esm/option.js +3 -0
  30. package/esm/option.js.map +1 -1
  31. package/esm/resolve-once.d.ts +48 -18
  32. package/esm/resolve-once.d.ts.map +1 -1
  33. package/esm/resolve-once.js +262 -92
  34. package/esm/resolve-once.js.map +1 -1
  35. package/esm/resolve-once.test.js +116 -10
  36. package/esm/resolve-once.test.js.map +1 -1
  37. package/esm/version.js +1 -1
  38. package/package.json +3 -3
  39. package/src/future.ts +2 -1
  40. package/src/is-promise.ts +6 -0
  41. package/src/option.ts +4 -0
  42. package/src/resolve-once.ts +342 -114
  43. package/ts/cjs/future.d.ts.map +1 -1
  44. package/ts/cjs/future.js +1 -1
  45. package/ts/cjs/future.js.map +1 -1
  46. package/ts/cjs/is-promise.d.ts +2 -0
  47. package/ts/cjs/is-promise.d.ts.map +1 -1
  48. package/ts/cjs/is-promise.js +4 -0
  49. package/ts/cjs/is-promise.js.map +1 -1
  50. package/ts/cjs/option.d.ts +1 -0
  51. package/ts/cjs/option.d.ts.map +1 -1
  52. package/ts/cjs/option.js +3 -0
  53. package/ts/cjs/option.js.map +1 -1
  54. package/ts/cjs/resolve-once.d.ts +48 -18
  55. package/ts/cjs/resolve-once.d.ts.map +1 -1
  56. package/ts/cjs/resolve-once.js +265 -93
  57. package/ts/cjs/resolve-once.js.map +1 -1
  58. package/ts/cjs/resolve-once.test.js +115 -9
  59. package/ts/cjs/resolve-once.test.js.map +1 -1
  60. package/ts/cjs/version.js +1 -1
  61. package/ts/esm/future.d.ts.map +1 -1
  62. package/ts/esm/future.js +1 -1
  63. package/ts/esm/future.js.map +1 -1
  64. package/ts/esm/is-promise.d.ts +2 -0
  65. package/ts/esm/is-promise.d.ts.map +1 -1
  66. package/ts/esm/is-promise.js +3 -0
  67. package/ts/esm/is-promise.js.map +1 -1
  68. package/ts/esm/option.d.ts +1 -0
  69. package/ts/esm/option.d.ts.map +1 -1
  70. package/ts/esm/option.js +3 -0
  71. package/ts/esm/option.js.map +1 -1
  72. package/ts/esm/resolve-once.d.ts +48 -18
  73. package/ts/esm/resolve-once.d.ts.map +1 -1
  74. package/ts/esm/resolve-once.js +262 -92
  75. package/ts/esm/resolve-once.js.map +1 -1
  76. package/ts/esm/resolve-once.test.js +116 -10
  77. package/ts/esm/resolve-once.test.js.map +1 -1
  78. package/ts/esm/version.js +1 -1
package/cjs/future.cjs CHANGED
@@ -15,7 +15,7 @@ class Future {
15
15
  this.#rejectFn = reject;
16
16
  });
17
17
  }
18
- async asPromise() {
18
+ asPromise() {
19
19
  return this.#promise;
20
20
  }
21
21
  resolve(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"future.js","sourceRoot":"","sources":["../../../src/future.ts"],"names":[],"mappings":";;;AAAA;IACW,QAAQ,CAAa;IAC9B,UAAU,GAAuB,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,CAC7D,CAAC;IACF,SAAS,GAA8B,GAAG,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,CAC7D,CAAC;IAEF,cAAc;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QAAA,CACzB,CAAC,CAAC;IAAA,CACJ;IAED,KAAK,CAAC,SAAS,GAAe;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC;IAAA,CACtB;IAED,OAAO,CAAC,KAAQ,EAAQ;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAAA,CACxB;IACD,MAAM,CAAC,MAAe,EAAQ;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAAA,CACxB;CACF"}
1
+ {"version":3,"file":"future.js","sourceRoot":"","sources":["../../../src/future.ts"],"names":[],"mappings":";;;AAAA;IAEW,QAAQ,CAAa;IAC9B,UAAU,GAAuB,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,CAC7D,CAAC;IACF,SAAS,GAA8B,GAAG,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,CAC7D,CAAC;IAEF,cAAc;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QAAA,CACzB,CAAC,CAAC;IAAA,CACJ;IAED,SAAS,GAAe;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC;IAAA,CACtB;IAED,OAAO,CAAC,KAAQ,EAAQ;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAAA,CACxB;IACD,MAAM,CAAC,MAAe,EAAQ;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAAA,CACxB;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"future.d.ts","sourceRoot":"","sources":["../../../src/future.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM,CAAC,CAAC;;IASnB,cAKC;IAEK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAE5B;IAED,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAEtB;IACD,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE5B;CACF"}
1
+ {"version":3,"file":"future.d.ts","sourceRoot":"","sources":["../../../src/future.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM,CAAC,CAAC;;IAUnB,cAKC;IAED,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAEtB;IAED,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAEtB;IACD,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE5B;CACF"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isPromise = isPromise;
4
+ exports.isNotPromise = isNotPromise;
4
5
  function isPromise(a) {
5
6
  const mayBe = a;
6
7
  return (mayBe instanceof Promise ||
@@ -10,4 +11,7 @@ function isPromise(a) {
10
11
  typeof mayBe.catch === "function" &&
11
12
  typeof mayBe.finally === "function"));
12
13
  }
14
+ function isNotPromise(a) {
15
+ return !isPromise(a);
16
+ }
13
17
  //# sourceMappingURL=is-promise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../../src/is-promise.ts"],"names":[],"mappings":";;;AAKA,mBAA6B,CAAI,EAA+C;IAC9E,MAAM,KAAK,GAAG,CAA4E,CAAC;IAC3F,OAAO,CACL,KAAK,YAAY,OAAO;QACxB,CAAC,CAAC,CACA,KAAK;YACL,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU;YAChC,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;YACjC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CACpC,CACF,CAAC;AAAA,CACH"}
1
+ {"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../../src/is-promise.ts"],"names":[],"mappings":";;;;AAOA,mBAA6B,CAAI,EAA+C;IAC9E,MAAM,KAAK,GAAG,CAA4E,CAAC;IAC3F,OAAO,CACL,KAAK,YAAY,OAAO;QACxB,CAAC,CAAC,CACA,KAAK;YACL,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU;YAChC,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;YACjC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CACpC,CACF,CAAC;AAAA,CACH;AAED,sBAAgC,CAAI,EAAK;IACvC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAM,CAAC;AAAA,CAC3B"}
@@ -1,5 +1,7 @@
1
1
  export type UnPromisify<T> = T extends Promise<infer U> ? U : T;
2
2
  export type WithoutPromise<T> = UnPromisify<T>;
3
+ export type IsNotPromise<T> = T extends Promise<never> ? never : T;
3
4
  export type Promisable<T> = T | Promise<T>;
4
5
  export declare function isPromise<T>(a: T): a is T extends Promise<unknown> ? T : never;
6
+ export declare function isNotPromise<T>(a: T): T;
5
7
  //# sourceMappingURL=is-promise.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-promise.d.ts","sourceRoot":"","sources":["../../../src/is-promise.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3C,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAY9E"}
1
+ {"version":3,"file":"is-promise.d.ts","sourceRoot":"","sources":["../../../src/is-promise.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAEnE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3C,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAY9E;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAEvC"}
package/cjs/option.cjs CHANGED
@@ -17,6 +17,9 @@ class Option {
17
17
  }
18
18
  return new Some(t);
19
19
  }
20
+ toValue() {
21
+ return this.is_some() ? this.unwrap() : undefined;
22
+ }
20
23
  IsNone() {
21
24
  return this.is_none();
22
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"option.js","sourceRoot":"","sources":["../../../src/option.ts"],"names":[],"mappings":";;;AAAA;IACE,MAAM,CAAC,IAAI,CAAI,CAAI,EAAa;QAC9B,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAAA,CACpB;IAED,MAAM,CAAC,IAAI,GAAiB;QAC1B,OAAO,IAAI,IAAI,EAAE,CAAC;IAAA,CACnB;IAED,MAAM,CAAC,EAAE,CAAI,CAAU,EAAkB;QACvC,OAAO,CAAC,YAAY,MAAM,CAAC;IAAA,CAC5B;IAED,MAAM,CAAC,IAAI,CAAI,CAAK,EAAa;QAC/B,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAAA,CACpB;IAED,MAAM,GAAY;QAChB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAAA,CACvB;IAED,MAAM,GAAY;QAChB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAAA,CACvB;IACD,MAAM,GAAM;QACV,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IAAA,CACtB;CAKF;;AAED,UAAqB,SAAQ,MAAS;IAC5B,EAAE,CAAI;IACd,YAAY,EAAK,EAAE;QACjB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAAA,CACd;IAED,OAAO,GAAY;QACjB,OAAO,KAAK,CAAC;IAAA,CACd;IACD,OAAO,GAAY;QACjB,OAAO,IAAI,CAAC;IAAA,CACb;IACD,MAAM,GAAM;QACV,OAAO,IAAI,CAAC,EAAE,CAAC;IAAA,CAChB;CACF;;AAED,UAAqB,SAAQ,MAAS;IACpC,OAAO,GAAY;QACjB,OAAO,IAAI,CAAC;IAAA,CACb;IACD,OAAO,GAAY;QACjB,OAAO,KAAK,CAAC;IAAA,CACd;IACD,MAAM,GAAM;QACV,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IAAA,CAChC;CACF"}
1
+ {"version":3,"file":"option.js","sourceRoot":"","sources":["../../../src/option.ts"],"names":[],"mappings":";;;AAAA;IACE,MAAM,CAAC,IAAI,CAAI,CAAI,EAAa;QAC9B,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAAA,CACpB;IAED,MAAM,CAAC,IAAI,GAAiB;QAC1B,OAAO,IAAI,IAAI,EAAE,CAAC;IAAA,CACnB;IAED,MAAM,CAAC,EAAE,CAAI,CAAU,EAAkB;QACvC,OAAO,CAAC,YAAY,MAAM,CAAC;IAAA,CAC5B;IAED,MAAM,CAAC,IAAI,CAAI,CAAK,EAAa;QAC/B,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAAA,CACpB;IAED,OAAO,GAAkB;QACvB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAAA,CACnD;IAED,MAAM,GAAY;QAChB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAAA,CACvB;IAED,MAAM,GAAY;QAChB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAAA,CACvB;IACD,MAAM,GAAM;QACV,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IAAA,CACtB;CAKF;;AAED,UAAqB,SAAQ,MAAS;IAC5B,EAAE,CAAI;IACd,YAAY,EAAK,EAAE;QACjB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAAA,CACd;IAED,OAAO,GAAY;QACjB,OAAO,KAAK,CAAC;IAAA,CACd;IACD,OAAO,GAAY;QACjB,OAAO,IAAI,CAAC;IAAA,CACb;IACD,MAAM,GAAM;QACV,OAAO,IAAI,CAAC,EAAE,CAAC;IAAA,CAChB;CACF;;AAED,UAAqB,SAAQ,MAAS;IACpC,OAAO,GAAY;QACjB,OAAO,IAAI,CAAC;IAAA,CACb;IACD,OAAO,GAAY;QACjB,OAAO,KAAK,CAAC;IAAA,CACd;IACD,MAAM,GAAM;QACV,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IAAA,CAChC;CACF"}
package/cjs/option.d.ts CHANGED
@@ -3,6 +3,7 @@ export declare abstract class Option<T> {
3
3
  static None<T>(): Option<T>;
4
4
  static Is<T>(t: unknown): t is Option<T>;
5
5
  static From<T>(t?: T): Option<T>;
6
+ toValue(): T | undefined;
6
7
  IsNone(): boolean;
7
8
  IsSome(): boolean;
8
9
  Unwrap(): T;
@@ -1 +1 @@
1
- {"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../../../src/option.ts"],"names":[],"mappings":"AAAA,8BAAsB,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAE9B;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAE1B;IAED,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAEvC;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAK/B;IAED,MAAM,IAAI,OAAO,CAEhB;IAED,MAAM,IAAI,OAAO,CAEhB;IACD,MAAM,IAAI,CAAC,CAEV;IAED,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;CACtB;AAED,qBAAa,IAAI,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,CAAI;IACd,YAAY,EAAE,EAAE,CAAC,EAGhB;IAED,OAAO,IAAI,OAAO,CAEjB;IACD,OAAO,IAAI,OAAO,CAEjB;IACD,MAAM,IAAI,CAAC,CAEV;CACF;AAED,qBAAa,IAAI,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IACpC,OAAO,IAAI,OAAO,CAEjB;IACD,OAAO,IAAI,OAAO,CAEjB;IACD,MAAM,IAAI,CAAC,CAEV;CACF;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../../../src/option.ts"],"names":[],"mappings":"AAAA,8BAAsB,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAE9B;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAE1B;IAED,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAEvC;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAK/B;IAED,OAAO,IAAI,CAAC,GAAG,SAAS,CAEvB;IAED,MAAM,IAAI,OAAO,CAEhB;IAED,MAAM,IAAI,OAAO,CAEhB;IACD,MAAM,IAAI,CAAC,CAEV;IAED,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;CACtB;AAED,qBAAa,IAAI,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,CAAI;IACd,YAAY,EAAE,EAAE,CAAC,EAGhB;IAED,OAAO,IAAI,OAAO,CAEjB;IACD,OAAO,IAAI,OAAO,CAEjB;IACD,MAAM,IAAI,CAAC,CAEV;CACF;AAED,qBAAa,IAAI,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IACpC,OAAO,IAAI,OAAO,CAEjB;IACD,OAAO,IAAI,OAAO,CAEjB;IACD,MAAM,IAAI,CAAC,CAEV;CACF;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyedResolvSeq = exports.KeyedResolvOnce = exports.Keyed = exports.ResolveOnce = exports.ResolveSeq = void 0;
3
+ exports.KeyedResolvSeq = exports.KeyedResolvOnce = exports.Keyed = exports.ResolveOnce = exports.AsyncResolveOnce = exports.SyncResolveOnce = exports.ResolveSeq = void 0;
4
4
  exports.Lazy = Lazy;
5
5
  const future_js_1 = require("./future.cjs");
6
6
  const is_promise_js_1 = require("./is-promise.cjs");
7
7
  const lru_map_set_js_1 = require("./lru-map-set.cjs");
8
8
  const result_js_1 = require("./result.cjs");
9
+ const option_js_1 = require("./option.cjs");
9
10
  class ResolveSeq {
10
11
  ctx;
11
12
  constructor(ctx) {
@@ -22,24 +23,33 @@ class ResolveSeq {
22
23
  }
23
24
  return Promise.resolve();
24
25
  }
25
- _step(item) {
26
+ async _step(item) {
26
27
  if (!item) {
27
28
  this._flushWaiting.forEach((f) => f.resolve());
28
29
  this._flushWaiting?.splice(0, this._flushWaiting.length);
29
30
  return Promise.resolve();
30
31
  }
31
- item
32
- .fn(this.ctx)
33
- .then((value) => item.future.resolve(value))
34
- .catch((e) => item.future.reject(e))
35
- .finally(() => {
32
+ let value;
33
+ try {
34
+ const promiseOrValue = item.fn(this.ctx);
35
+ if ((0, is_promise_js_1.isPromise)(promiseOrValue)) {
36
+ value = await promiseOrValue;
37
+ }
38
+ else {
39
+ value = promiseOrValue;
40
+ }
41
+ item.future.resolve(value);
42
+ }
43
+ catch (e) {
44
+ item.future.reject(e);
45
+ }
46
+ finally {
36
47
  this._seqFutures.shift();
37
- void this._step(this._seqFutures[0]);
38
- });
39
- return Promise.resolve();
48
+ }
49
+ return this._step(this._seqFutures[0]);
40
50
  }
41
51
  _seqFutures = [];
42
- async add(fn, id) {
52
+ add(fn, id) {
43
53
  const future = new future_js_1.Future();
44
54
  this._seqFutures.push({ future, fn, id });
45
55
  if (this._seqFutures.length === 1) {
@@ -49,110 +59,269 @@ class ResolveSeq {
49
59
  }
50
60
  }
51
61
  exports.ResolveSeq = ResolveSeq;
52
- class ResolveOnce {
53
- _onceDone = false;
54
- _onceFutures = [];
55
- _onceOk = false;
56
- _onceValue;
57
- _onceError;
58
- _isPromise = false;
59
- _inProgress;
60
- ctx;
61
- constructor(ctx) {
62
- this.ctx = ctx;
62
+ class SyncResolveOnce {
63
+ state = "initial";
64
+ #value;
65
+ #error;
66
+ queueLength = 0;
67
+ get value() {
68
+ return this.#value;
69
+ }
70
+ get error() {
71
+ return this.#error;
63
72
  }
64
73
  get ready() {
65
- return this._onceDone;
74
+ return this.state === "processed";
66
75
  }
67
- get value() {
68
- return this._onceDone ? this._onceValue : undefined;
76
+ #ctx;
77
+ constructor(ctx) {
78
+ this.#ctx = ctx;
69
79
  }
70
- reset() {
71
- this._onceDone = false;
72
- this._onceOk = false;
73
- this._onceValue = undefined;
74
- this._onceError = undefined;
75
- if (this._inProgress) {
76
- const idx = this._onceFutures.findIndex((f) => f === this._inProgress);
77
- if (idx >= 0) {
78
- this._onceFutures.push(...this._onceFutures.splice(2).slice(1));
80
+ resolve(fn) {
81
+ if (this.state === "initial") {
82
+ this.state = "processed";
83
+ try {
84
+ this.#value = fn(this.#ctx);
85
+ }
86
+ catch (e) {
87
+ this.#error = e;
88
+ }
89
+ if ((0, is_promise_js_1.isPromise)(this.value)) {
90
+ throw new Error("SyncResolveOnce.once fn returned a promise");
79
91
  }
80
92
  }
81
- else {
82
- this._onceFutures.length = 0;
93
+ if (this.#error) {
94
+ throw this.#error;
83
95
  }
96
+ return this.#value;
84
97
  }
85
- once(fn) {
86
- if (this._onceDone) {
87
- if (this._onceError) {
88
- if (this._isPromise) {
89
- return Promise.reject(this._onceError);
90
- }
91
- else {
92
- throw this._onceError;
98
+ reset(fn) {
99
+ this.state = "initial";
100
+ this.#value = undefined;
101
+ this.#error = undefined;
102
+ if (fn) {
103
+ return this.resolve(fn);
104
+ }
105
+ return undefined;
106
+ }
107
+ }
108
+ exports.SyncResolveOnce = SyncResolveOnce;
109
+ class AsyncResolveItem {
110
+ id = Math.random();
111
+ #state = "initial";
112
+ #toResolve;
113
+ #value = option_js_1.Option.None();
114
+ #error;
115
+ constructor(fn) {
116
+ this.#toResolve = fn;
117
+ }
118
+ get value() {
119
+ return this.#value.IsSome() ? this.#value.unwrap() : undefined;
120
+ }
121
+ get error() {
122
+ return this.#error;
123
+ }
124
+ #queue = [];
125
+ get queuelength() {
126
+ return this.#queue.length;
127
+ }
128
+ isDisposable() {
129
+ return this.#state === "processed" && this.#queue.length === 0;
130
+ }
131
+ #resolveFuture(future) {
132
+ if (!future) {
133
+ return;
134
+ }
135
+ if (this.#error) {
136
+ future.reject(this.#error);
137
+ return;
138
+ }
139
+ if (this.#value.IsSome()) {
140
+ future.resolve(this.#value.Unwrap());
141
+ }
142
+ }
143
+ #promiseResult() {
144
+ if (this.#error) {
145
+ return Promise.reject(this.#error);
146
+ }
147
+ if (this.#value.IsSome()) {
148
+ return Promise.resolve(this.#value.Unwrap());
149
+ }
150
+ throw new Error("AsyncResolveItem.#promiseResult impossible");
151
+ }
152
+ resolve() {
153
+ if (this.#state === "initial") {
154
+ this.#state = "waiting";
155
+ const future = new future_js_1.Future();
156
+ this.#queue.push(future);
157
+ this.#toResolve
158
+ .then((value) => {
159
+ this.#value = option_js_1.Option.Some(value);
160
+ })
161
+ .catch((e) => {
162
+ this.#error = e;
163
+ })
164
+ .finally(() => {
165
+ this.#state = "processed";
166
+ while (this.#queue.length > 0) {
167
+ this.#resolveFuture(this.#queue.shift());
93
168
  }
94
- }
95
- if (this._onceOk) {
96
- if (this._isPromise) {
97
- return Promise.resolve(this._onceValue);
169
+ });
170
+ return future.asPromise();
171
+ }
172
+ if (this.#state === "processed") {
173
+ return this.#promiseResult();
174
+ }
175
+ if (this.#state === "waiting") {
176
+ const future = new future_js_1.Future();
177
+ this.#queue.push(future);
178
+ return future.asPromise();
179
+ }
180
+ throw new Error("AsyncResolveItem.resolve impossible");
181
+ }
182
+ }
183
+ class AsyncResolveOnce {
184
+ state = "initial";
185
+ #queue = [];
186
+ #ctx;
187
+ constructor(ctx) {
188
+ this.#ctx = ctx;
189
+ }
190
+ #active() {
191
+ const r = this.#queue[this.#queue.length - 1];
192
+ if (!r) {
193
+ throw new Error("AsyncResolveOnce.#active impossible");
194
+ }
195
+ return r;
196
+ }
197
+ get queueLength() {
198
+ return this.#queue.reduce((acc, r) => acc + r.queuelength, this.#queue.length);
199
+ }
200
+ get ready() {
201
+ return this.state !== "initial";
202
+ }
203
+ get value() {
204
+ if (this.state === "initial") {
205
+ return undefined;
206
+ }
207
+ return this.#active().value;
208
+ }
209
+ get error() {
210
+ if (this.state === "initial") {
211
+ return undefined;
212
+ }
213
+ return this.#active().error;
214
+ }
215
+ resolve(fn) {
216
+ if (this.state === "initial") {
217
+ this.state = "waiting";
218
+ let promiseResult;
219
+ try {
220
+ const couldBePromise = fn(this.#ctx);
221
+ if (!(0, is_promise_js_1.isPromise)(couldBePromise)) {
222
+ promiseResult = Promise.resolve(couldBePromise);
98
223
  }
99
224
  else {
100
- return this._onceValue;
225
+ promiseResult = couldBePromise;
101
226
  }
102
227
  }
103
- throw new Error("ResolveOnce.once impossible");
228
+ catch (e) {
229
+ promiseResult = Promise.reject(e);
230
+ }
231
+ this.#queue.push(new AsyncResolveItem(promiseResult));
104
232
  }
105
- const future = new future_js_1.Future();
106
- this._onceFutures.push(future);
107
- if (this._onceFutures.length === 1) {
108
- const okFn = (value) => {
109
- this._onceValue = value;
110
- this._onceOk = true;
111
- this._onceDone = true;
112
- if (this._isPromise) {
113
- this._onceFutures.forEach((f) => f.resolve(this._onceValue));
114
- }
115
- this._onceFutures.length = 0;
116
- };
117
- const catchFn = (e) => {
118
- this._onceError = e;
119
- this._onceOk = false;
120
- this._onceValue = undefined;
121
- this._onceDone = true;
122
- if (this._isPromise) {
123
- this._onceFutures.forEach((f) => f.reject(this._onceError));
124
- }
125
- this._onceFutures.length = 0;
126
- };
127
- this._inProgress = future;
233
+ this.#queue
234
+ .slice(0, -1)
235
+ .map((i, idx) => (i.isDisposable() ? idx : undefined))
236
+ .filter((i) => i !== undefined)
237
+ .reverse()
238
+ .forEach((idx) => this.#queue.splice(idx, 1));
239
+ return this.#active().resolve();
240
+ }
241
+ reset(fn) {
242
+ this.state = "initial";
243
+ if (fn) {
244
+ return this.resolve(fn);
245
+ }
246
+ return undefined;
247
+ }
248
+ }
249
+ exports.AsyncResolveOnce = AsyncResolveOnce;
250
+ class ResolveOnce {
251
+ #state = "initial";
252
+ #syncOrAsync = option_js_1.Option.None();
253
+ #ctx;
254
+ constructor(ctx) {
255
+ this.#ctx = ctx;
256
+ }
257
+ get ready() {
258
+ return this.#state !== "initial" && this.#syncOrAsync.Unwrap().ready;
259
+ }
260
+ get value() {
261
+ if (this.#state === "initial") {
262
+ return undefined;
263
+ }
264
+ return this.#syncOrAsync.Unwrap().value;
265
+ }
266
+ get queueLength() {
267
+ if (this.#state === "initial") {
268
+ return 0;
269
+ }
270
+ return this.#syncOrAsync.Unwrap().queueLength;
271
+ }
272
+ get error() {
273
+ if (this.#state === "initial") {
274
+ return undefined;
275
+ }
276
+ return this.#syncOrAsync.Unwrap().error;
277
+ }
278
+ get state() {
279
+ if (this.#state === "initial") {
280
+ return "initial";
281
+ }
282
+ return this.#syncOrAsync.Unwrap().state;
283
+ }
284
+ once(fn) {
285
+ let resultFn;
286
+ if (this.#state === "initial") {
287
+ this.#state = "processing";
128
288
  try {
129
- const ret = fn(this.ctx);
130
- if ((0, is_promise_js_1.isPromise)(ret)) {
131
- this._isPromise = true;
132
- ret
133
- .then(okFn)
134
- .catch(catchFn)
135
- .finally(() => {
136
- this._inProgress = undefined;
137
- });
289
+ const isSyncOrAsync = fn(this.#ctx);
290
+ if ((0, is_promise_js_1.isPromise)(isSyncOrAsync)) {
291
+ this.#syncOrAsync = option_js_1.Option.Some(new AsyncResolveOnce(this.#ctx));
138
292
  }
139
293
  else {
140
- okFn(ret);
294
+ this.#syncOrAsync = option_js_1.Option.Some(new SyncResolveOnce(this.#ctx));
141
295
  }
296
+ resultFn = () => isSyncOrAsync;
142
297
  }
143
298
  catch (e) {
144
- catchFn(e);
299
+ this.#syncOrAsync = option_js_1.Option.Some(new SyncResolveOnce(this.#ctx));
300
+ resultFn = () => {
301
+ throw e;
302
+ };
145
303
  }
146
- if (!this._isPromise) {
147
- this._inProgress = undefined;
304
+ finally {
305
+ this.#state = "processed";
148
306
  }
149
307
  }
150
- if (this._isPromise) {
151
- return future.asPromise();
152
- }
153
308
  else {
309
+ resultFn = fn;
310
+ }
311
+ if (!this.#syncOrAsync) {
312
+ throw new Error("ResolveOnce.once impossible");
313
+ }
314
+ return this.#syncOrAsync.Unwrap().resolve(resultFn);
315
+ }
316
+ reset(fn) {
317
+ if (this.#state === "initial") {
154
318
  return this.once(fn);
155
319
  }
320
+ if (this.#state === "processing") {
321
+ console.warn("ResolveOnce.reset dropped was called while processing");
322
+ return undefined;
323
+ }
324
+ return this.#syncOrAsync.Unwrap().reset(fn);
156
325
  }
157
326
  }
158
327
  exports.ResolveOnce = ResolveOnce;
@@ -192,6 +361,9 @@ class Keyed {
192
361
  }
193
362
  return this._map.has(key);
194
363
  }
364
+ delete(key) {
365
+ this._map.delete(key);
366
+ }
195
367
  unget(key) {
196
368
  const keyed = this._map.get(key);
197
369
  keyed?.reset();
@@ -209,14 +381,14 @@ class KeyedResolvOnce extends Keyed {
209
381
  }
210
382
  *entries() {
211
383
  for (const [k, v] of this._map.entries()) {
212
- if (!v._onceDone) {
384
+ if (!v.ready) {
213
385
  continue;
214
386
  }
215
- if (v._onceError) {
216
- yield { key: k, value: result_js_1.Result.Err(v._onceError) };
387
+ if (v.error) {
388
+ yield { key: k, value: result_js_1.Result.Err(v.error) };
217
389
  }
218
390
  else {
219
- yield { key: k, value: result_js_1.Result.Ok(v._onceValue) };
391
+ yield { key: k, value: result_js_1.Result.Ok(v.value) };
220
392
  }
221
393
  }
222
394
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-once.js","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-once.js","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}