@evolu/common 8.0.0-next.2 → 8.0.0-next.4

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 (73) hide show
  1. package/dist/src/Assert.d.ts +5 -5
  2. package/dist/src/Assert.d.ts.map +1 -1
  3. package/dist/src/Assert.js +4 -4
  4. package/dist/src/Identicon.js +4 -4
  5. package/dist/src/LockManager.d.ts +74 -0
  6. package/dist/src/LockManager.d.ts.map +1 -0
  7. package/dist/src/LockManager.js +103 -0
  8. package/dist/src/Microtask.d.ts.map +1 -1
  9. package/dist/src/Microtask.js +90 -26
  10. package/dist/src/Object.d.ts.map +1 -1
  11. package/dist/src/RefCount.d.ts.map +1 -1
  12. package/dist/src/RefCount.js +153 -68
  13. package/dist/src/Resource.d.ts +6 -6
  14. package/dist/src/Resource.d.ts.map +1 -1
  15. package/dist/src/Resource.js +211 -162
  16. package/dist/src/Schedule.d.ts +5 -5
  17. package/dist/src/Schedule.d.ts.map +1 -1
  18. package/dist/src/Schedule.js +53 -44
  19. package/dist/src/Sqlite.d.ts +2 -0
  20. package/dist/src/Sqlite.d.ts.map +1 -1
  21. package/dist/src/Sqlite.js +64 -40
  22. package/dist/src/Task.d.ts +6 -33
  23. package/dist/src/Task.d.ts.map +1 -1
  24. package/dist/src/Task.js +213 -204
  25. package/dist/src/Test.d.ts +4 -4
  26. package/dist/src/Time.d.ts +5 -0
  27. package/dist/src/Time.d.ts.map +1 -1
  28. package/dist/src/Time.js +5 -0
  29. package/dist/src/Type.d.ts +7 -0
  30. package/dist/src/Type.d.ts.map +1 -1
  31. package/dist/src/Type.js +7 -0
  32. package/dist/src/WebSocket.d.ts.map +1 -1
  33. package/dist/src/WebSocket.js +7 -6
  34. package/dist/src/Worker.d.ts +42 -8
  35. package/dist/src/Worker.d.ts.map +1 -1
  36. package/dist/src/Worker.js +298 -75
  37. package/dist/src/index.d.ts +1 -0
  38. package/dist/src/index.d.ts.map +1 -1
  39. package/dist/src/index.js +1 -0
  40. package/dist/src/local-first/Db.d.ts +5 -4
  41. package/dist/src/local-first/Db.d.ts.map +1 -1
  42. package/dist/src/local-first/Db.js +44 -38
  43. package/dist/src/local-first/Evolu.d.ts +3 -2
  44. package/dist/src/local-first/Evolu.d.ts.map +1 -1
  45. package/dist/src/local-first/Evolu.js +90 -80
  46. package/dist/src/local-first/Owner.d.ts.map +1 -1
  47. package/dist/src/local-first/Shared.d.ts +65 -54
  48. package/dist/src/local-first/Shared.d.ts.map +1 -1
  49. package/dist/src/local-first/Shared.js +387 -373
  50. package/package.json +1 -1
  51. package/src/Array.ts +8 -8
  52. package/src/Assert.ts +5 -5
  53. package/src/Identicon.ts +4 -4
  54. package/src/LockManager.ts +181 -0
  55. package/src/Microtask.ts +17 -11
  56. package/src/Object.ts +3 -3
  57. package/src/RefCount.ts +25 -21
  58. package/src/Resource.ts +63 -56
  59. package/src/Schedule.ts +70 -48
  60. package/src/Set.ts +4 -4
  61. package/src/Sqlite.ts +41 -30
  62. package/src/Task.ts +77 -120
  63. package/src/Test.ts +4 -4
  64. package/src/Time.ts +7 -0
  65. package/src/Type.ts +9 -0
  66. package/src/WebSocket.ts +7 -6
  67. package/src/Worker.ts +240 -49
  68. package/src/index.ts +1 -0
  69. package/src/local-first/Db.ts +69 -46
  70. package/src/local-first/Evolu.ts +74 -68
  71. package/src/local-first/Owner.ts +1 -1
  72. package/src/local-first/Query.ts +1 -1
  73. package/src/local-first/Shared.ts +472 -464
@@ -78,10 +78,6 @@ export declare const createResourceRef: <T extends Resource, D>(create: Task<T,
78
78
  * times than acquired is a programmer error checked with {@link assert}.
79
79
  */
80
80
  export interface SharedResource<T extends Resource, D = unknown> extends AsyncDisposable {
81
- /** Returns the current shared-resource state for monitoring/debugging. */
82
- readonly snapshot: () => SharedResourceSnapshot;
83
- /** Returns the current resource, or `undefined` if absent. */
84
- readonly get: () => BorrowedResource<T> | undefined;
85
81
  /**
86
82
  * Acquires a shared reference.
87
83
  *
@@ -112,6 +108,10 @@ export interface SharedResource<T extends Resource, D = unknown> extends AsyncDi
112
108
  readonly release: Task<void, never, D>;
113
109
  /** Returns the current acquire count. */
114
110
  readonly getCount: Task<NonNegativeInt, never, D>;
111
+ /** Returns the current resource, or `undefined` if absent. */
112
+ readonly get: () => BorrowedResource<T> | undefined;
113
+ /** Returns the current shared-resource state for monitoring/debugging. */
114
+ readonly snapshot: () => SharedResourceSnapshot;
115
115
  }
116
116
  /** Snapshot returned by {@link SharedResource.snapshot}. */
117
117
  export interface SharedResourceSnapshot {
@@ -166,8 +166,6 @@ export declare const createSharedResource: <T extends Resource, D>(create: Task<
166
166
  * lookup} so logical equality is based on a derived stable key.
167
167
  */
168
168
  export interface SharedResourceByKey<K, T extends Resource, D = unknown> extends AsyncDisposable {
169
- /** Returns the current resource for `key`, or `undefined` if absent. */
170
- readonly get: (key: K) => BorrowedResource<T> | undefined;
171
169
  /**
172
170
  * Acquires the shared resource for `key`, creating it on first use.
173
171
  *
@@ -192,6 +190,8 @@ export interface SharedResourceByKey<K, T extends Resource, D = unknown> extends
192
190
  readonly release: (key: K) => Task<void, never, D>;
193
191
  /** Returns the current acquire count for `key`. Missing keys return `0`. */
194
192
  readonly getCount: (key: K) => Task<NonNegativeInt, never, D>;
193
+ /** Returns the current resource for `key`, or `undefined` if absent. */
194
+ readonly get: (key: K) => BorrowedResource<T> | undefined;
195
195
  /** Returns current keyed resources and their per-key mutex state. */
196
196
  readonly snapshot: () => SharedResourceByKeySnapshot<K, T>;
197
197
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../../src/Resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../../src/Resource.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAQrB,OAAO,EAQL,KAAK,iBAAiB,EACtB,KAAK,IAAI,EACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAsB,MAAM,WAAW,CAAC;AAE/D,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,QAAQ,EACb,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,eAAe,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,QAAQ,IAAI,IAAI,CACrD,CAAC,EACD,OAAO,MAAM,CAAC,OAAO,GAAG,OAAO,MAAM,CAAC,YAAY,CACnD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,QAAQ,EAClB,CAAC,GAAG,OAAO,CACX,SAAQ,eAAe;IACvB,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAElD;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;CACnE;AAED,mCAAmC;AACnC,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,EACrD,QAAQ,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KACxB,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAsC/B,CAAC;AAEL;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc,CAC7B,CAAC,SAAS,QAAQ,EAClB,CAAC,GAAG,OAAO,CACX,SAAQ,eAAe;IACvB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAEtD;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAEvC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAElD,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,EAAE,MAAM,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAEpD,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,sBAAsB,CAAC;CACjD;AAED,4DAA4D;AAC5D,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;CACnC;AAED,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAEjD,iEAAiE;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC;AAED,sCAAsC;AACtC,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,EACxD,QAAQ,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EACzB,mCAAkC,qBAA0B,KAC3D,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAsFlC,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,mBAAmB,CAClC,CAAC,EACD,CAAC,SAAS,QAAQ,EAClB,CAAC,GAAG,OAAO,CACX,SAAQ,eAAe;IACvB;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAElE;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAEnD,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAE9D,wEAAwE;IACxE,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAE1D,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,MAAM,2BAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC5D;AAED,iEAAiE;AACjE,MAAM,WAAW,2BAA2B,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ;IAChE,yCAAyC;IACzC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,iEAAiE;IACjE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC,CAAC;CAC/D;AAED,qDAAqD;AACrD,MAAM,WAAW,0BAA0B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAClD,SAAQ,IAAI,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3E,qEAAqE;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,CAAC,GAAG,OAAO,EACX,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,GAAG,OAAO,EAEX,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GACpC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAChD,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EACvE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EACrC,OAAO,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,GACxC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AA2HhD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,6BAA6B,CAC5C,CAAC,EACD,CAAC,EACD,CAAC,SAAS,QAAQ,EAClB,CAAC,GAAG,OAAO,CACX,SAAQ,eAAe;IACvB,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,CAAC,EACR,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,KAC3B,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAE1B,kEAAkE;IAClE,QAAQ,CAAC,WAAW,EAAE,CACpB,KAAK,EAAE,CAAC,EACR,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,KAC3B,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAE1B,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAElE,yDAAyD;IACzD,QAAQ,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IAE1D,oEAAoE;IACpE,QAAQ,CAAC,uBAAuB,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IAE/D,gEAAgE;IAChE,QAAQ,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/E;AAED,+DAA+D;AAC/D,MAAM,WAAW,oCAAoC,CACnD,CAAC,EACD,CAAC,EACD,CAAC,SAAS,QAAQ,EAClB,EAAE,GAAG,CAAC,EACN,EAAE,GAAG,CAAC,CACN,SAAQ,IAAI,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;IACvD,gFAAgF;IAChF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAExC,yEAAyE;IACzE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAErC,mEAAmE;IACnE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC3B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC7B,WAAW,EAAE,CAAC,KACX,IAAI,CAAC;IAEV,mEAAmE;IACnE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC7B,WAAW,EAAE,CAAC,KACX,IAAI,CAAC;CACX;AAED;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CACjD,CAAC,SAAS,QAAQ,EAClB,CAAC,GAAG,OAAO,EACX,CAAC,GAAG,OAAO,EACX,CAAC,GAAG,OAAO,EAEX,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GACpC,IAAI,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7D,wBAAgB,mCAAmC,CACjD,CAAC,SAAS,QAAQ,EAClB,CAAC,EACD,CAAC,EACD,CAAC,EACD,EAAE,GAAG,CAAC,EACN,EAAE,GAAG,CAAC,EAEN,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EACrC,OAAO,EAAE,oCAAoC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAC7D,IAAI,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC"}
@@ -70,18 +70,18 @@ export const createResourceRef = (create) => unabortable(async (run) => {
70
70
  const env_1 = { stack: [], error: void 0, hasError: false };
71
71
  try {
72
72
  const resourceRefRun = run.create();
73
- const stack = __addDisposableResource(env_1, new AsyncDisposableStack(), true);
74
- stack.use(resourceRefRun);
73
+ const disposer = __addDisposableResource(env_1, new AsyncDisposableStack(), true);
74
+ disposer.use(resourceRefRun);
75
75
  const initial = await resourceRefRun(create);
76
76
  if (!initial.ok)
77
77
  return initial;
78
78
  let current = createOwnedResource(initial.value);
79
- const mutex = stack.use(createMutex());
80
- stack.defer(() => current.stack.disposeAsync());
79
+ const mutex = disposer.use(createMutex());
80
+ disposer.defer(() => current.stack.disposeAsync());
81
81
  // Register as the last so disposal aborts further calls first.
82
82
  // Repeated registration is safe because disposal is idempotent.
83
- stack.use(resourceRefRun);
84
- const moved = stack.move();
83
+ disposer.use(resourceRefRun);
84
+ const disposables = disposer.move();
85
85
  return ok({
86
86
  get: () => resourceRefRun(mutex.withLock(() => ok(current.resource))),
87
87
  set: (create) => unabortable(() => resourceRefRun(mutex.withLock(async (run) => {
@@ -92,7 +92,7 @@ export const createResourceRef = (create) => unabortable(async (run) => {
92
92
  current = createOwnedResource(next.value);
93
93
  return ok();
94
94
  }))),
95
- [Symbol.asyncDispose]: () => moved.disposeAsync(),
95
+ [Symbol.asyncDispose]: () => disposables.disposeAsync(),
96
96
  });
97
97
  }
98
98
  catch (e_1) {
@@ -106,173 +106,222 @@ export const createResourceRef = (create) => unabortable(async (run) => {
106
106
  }
107
107
  });
108
108
  /** Creates {@link SharedResource}. */
109
- export const createSharedResource = (create, { idleDisposeAfter, onDisposed } = {}) => unabortable((run) => {
110
- const sharedResourceRun = run.create();
111
- let current;
112
- let idleDisposeFiber;
113
- const stack = new AsyncDisposableStack();
114
- const refCount = stack.use(createRefCount());
115
- const mutex = stack.use(createMutex());
116
- const disposeCurrent = async () => {
117
- const env_2 = { stack: [], error: void 0, hasError: false };
118
- try {
119
- if (!current)
120
- return;
121
- const stack = __addDisposableResource(env_2, new AsyncDisposableStack(), true);
122
- if (onDisposed)
123
- stack.defer(onDisposed);
124
- stack.use(current.stack);
125
- current = undefined;
126
- }
127
- catch (e_2) {
128
- env_2.error = e_2;
129
- env_2.hasError = true;
130
- }
131
- finally {
132
- const result_2 = __disposeResources(env_2);
133
- if (result_2)
134
- await result_2;
135
- }
136
- };
137
- stack.defer(disposeCurrent);
138
- // Register as the last so disposal aborts further calls first.
139
- stack.use(sharedResourceRun);
140
- const moved = stack.move();
141
- return ok({
142
- snapshot: () => ({
143
- isIdle: refCount.getCount() === 0 && !current && !idleDisposeFiber,
144
- mutex: mutex.snapshot(),
145
- }),
146
- get: () => current?.resource,
147
- acquire: unabortable(() => sharedResourceRun(mutex.withLock(async (run) => {
148
- if (idleDisposeFiber) {
149
- idleDisposeFiber.abort();
150
- idleDisposeFiber = undefined;
109
+ export const createSharedResource = (create, { idleDisposeAfter, onDisposed } = {}) => unabortable(async (run) => {
110
+ const env_2 = { stack: [], error: void 0, hasError: false };
111
+ try {
112
+ const sharedResourceRun = run.create();
113
+ let current;
114
+ let idleDisposeFiber;
115
+ const disposer = __addDisposableResource(env_2, new AsyncDisposableStack(), true);
116
+ const refCount = disposer.use(createRefCount());
117
+ const mutex = disposer.use(createMutex());
118
+ const disposeCurrent = async () => {
119
+ const env_3 = { stack: [], error: void 0, hasError: false };
120
+ try {
121
+ if (!current)
122
+ return;
123
+ const disposer = __addDisposableResource(env_3, new AsyncDisposableStack(), true);
124
+ if (onDisposed)
125
+ disposer.defer(onDisposed);
126
+ disposer.use(current.stack);
127
+ current = undefined;
151
128
  }
152
- if (!current) {
153
- const resource = await run(create);
154
- if (!resource.ok)
155
- return resource;
156
- current = createOwnedResource(resource.value);
129
+ catch (e_3) {
130
+ env_3.error = e_3;
131
+ env_3.hasError = true;
157
132
  }
158
- refCount.increment();
159
- return ok(current.resource);
160
- }))),
161
- release: unabortable(() => sharedResourceRun(mutex.withLock(async () => {
162
- if (refCount.decrement() > 0)
163
- return ok();
164
- if (!idleDisposeAfter) {
165
- await disposeCurrent();
166
- return ok();
133
+ finally {
134
+ const result_3 = __disposeResources(env_3);
135
+ if (result_3)
136
+ await result_3;
167
137
  }
168
- idleDisposeFiber = sharedResourceRun(async (run) => {
169
- const slept = await run(sleep(idleDisposeAfter));
170
- if (!slept.ok)
171
- return slept;
172
- return run(mutex.withLock(async () => {
138
+ };
139
+ disposer.defer(disposeCurrent);
140
+ // Register as the last so disposal aborts further calls first.
141
+ disposer.use(sharedResourceRun);
142
+ const disposables = disposer.move();
143
+ return ok({
144
+ acquire: unabortable(() => sharedResourceRun(mutex.withLock(async (run) => {
145
+ if (idleDisposeFiber) {
146
+ idleDisposeFiber.abort();
173
147
  idleDisposeFiber = undefined;
148
+ }
149
+ if (!current) {
150
+ const resource = await run(create);
151
+ if (!resource.ok)
152
+ return resource;
153
+ current = createOwnedResource(resource.value);
154
+ }
155
+ refCount.increment();
156
+ return ok(current.resource);
157
+ }))),
158
+ release: unabortable(() => sharedResourceRun(mutex.withLock(async () => {
159
+ if (refCount.decrement() > 0)
160
+ return ok();
161
+ if (!idleDisposeAfter) {
174
162
  await disposeCurrent();
175
163
  return ok();
176
- }));
177
- });
178
- return ok();
179
- }))),
180
- getCount: () => sharedResourceRun(mutex.withLock(() => ok(refCount.getCount()))),
181
- [Symbol.asyncDispose]: () => moved.disposeAsync(),
182
- });
164
+ }
165
+ idleDisposeFiber = sharedResourceRun(async (run) => {
166
+ const slept = await run(sleep(idleDisposeAfter));
167
+ if (!slept.ok)
168
+ return slept;
169
+ return run(mutex.withLock(async () => {
170
+ idleDisposeFiber = undefined;
171
+ await disposeCurrent();
172
+ return ok();
173
+ }));
174
+ });
175
+ return ok();
176
+ }))),
177
+ getCount: () => sharedResourceRun(mutex.withLock(() => ok(refCount.getCount()))),
178
+ get: () => current?.resource,
179
+ snapshot: () => ({
180
+ isIdle: refCount.getCount() === 0 && !current && !idleDisposeFiber,
181
+ mutex: mutex.snapshot(),
182
+ }),
183
+ [Symbol.asyncDispose]: () => disposables.disposeAsync(),
184
+ });
185
+ }
186
+ catch (e_2) {
187
+ env_2.error = e_2;
188
+ env_2.hasError = true;
189
+ }
190
+ finally {
191
+ const result_2 = __disposeResources(env_2);
192
+ if (result_2)
193
+ await result_2;
194
+ }
183
195
  });
184
196
  export function createSharedResourceByKey(create, { idleDisposeAfter, lookup = identity, onDisposed, } = {}) {
185
- return unabortable((run) => {
186
- const sharedResourceByKeyRun = run.create();
187
- const sharedResourcesByKey = createLookupMap({
188
- lookup,
189
- });
190
- const stack = new AsyncDisposableStack();
191
- const mutexByKey = stack.use(createMutexByKey({ lookup }));
192
- stack.defer(async () => {
193
- const stack = new AsyncDisposableStack();
194
- for (const resource of sharedResourcesByKey.values())
195
- stack.use(resource);
196
- await stack.disposeAsync();
197
- sharedResourcesByKey.clear();
198
- });
199
- // Register as the last so disposal aborts further calls first.
200
- stack.use(sharedResourceByKeyRun);
201
- const moved = stack.move();
202
- return ok({
203
- get: (key) => sharedResourcesByKey.get(key)?.get(),
204
- acquire: (key) => unabortable(() => sharedResourceByKeyRun(mutexByKey.withLock(key, async (run) => {
205
- let sharedResource = sharedResourcesByKey.get(key);
206
- if (!sharedResource) {
207
- const sharedResourceResult = await run(createSharedResource(create(key), {
208
- idleDisposeAfter,
209
- onDisposed: () => {
210
- onDisposed?.(key);
211
- void sharedResourceByKeyRun(mutexByKey.withLock(key, async () => {
212
- if (sharedResource &&
213
- sharedResourcesByKey.get(key) === sharedResource &&
214
- sharedResource.snapshot().isIdle) {
215
- sharedResourcesByKey.delete(key);
216
- await sharedResource[Symbol.asyncDispose]();
217
- }
218
- return ok();
219
- }));
220
- },
221
- }));
222
- assertNotAborted(sharedResourceResult);
223
- sharedResource = sharedResourceResult.value;
224
- sharedResourcesByKey.set(key, sharedResource);
197
+ return unabortable(async (run) => {
198
+ const env_4 = { stack: [], error: void 0, hasError: false };
199
+ try {
200
+ const sharedResourceByKeyRun = run.create();
201
+ const sharedResourcesByKey = createLookupMap({
202
+ lookup,
203
+ });
204
+ const disposer = __addDisposableResource(env_4, new AsyncDisposableStack(), true);
205
+ const mutexByKey = disposer.use(createMutexByKey({ lookup }));
206
+ disposer.defer(async () => {
207
+ const env_5 = { stack: [], error: void 0, hasError: false };
208
+ try {
209
+ const disposer = __addDisposableResource(env_5, new AsyncDisposableStack(), true);
210
+ for (const resource of sharedResourcesByKey.values())
211
+ disposer.use(resource);
212
+ await disposer.disposeAsync();
213
+ sharedResourcesByKey.clear();
225
214
  }
226
- return run(sharedResource.acquire);
227
- }))),
228
- release: (key) => unabortable(() => sharedResourceByKeyRun(mutexByKey.withLock(key, async () => {
229
- const sharedResource = sharedResourcesByKey.get(key);
230
- assert(sharedResource, "Release must not be called more times than acquire.");
231
- return sharedResourceByKeyRun(sharedResource.release);
232
- }))),
233
- getCount: (key) => () => sharedResourceByKeyRun(mutexByKey.withLock(key, async (run) => {
234
- const sharedResource = sharedResourcesByKey.get(key);
235
- if (!sharedResource)
236
- return ok(zeroNonNegativeInt);
237
- return run(sharedResource.getCount);
238
- })),
239
- snapshot: () => {
240
- const resourcesByKey = new Map();
241
- const mutexSnapshotsByKey = new Map();
242
- for (const [key, sharedResource] of sharedResourcesByKey.entries()) {
243
- const resource = sharedResource.get();
244
- if (!resource)
245
- continue;
246
- resourcesByKey.set(key, resource);
247
- mutexSnapshotsByKey.set(key, mutexByKey.snapshot(key));
215
+ catch (e_5) {
216
+ env_5.error = e_5;
217
+ env_5.hasError = true;
248
218
  }
249
- return {
250
- resourcesByKey,
251
- mutexByKey: mutexSnapshotsByKey,
252
- };
253
- },
254
- [Symbol.asyncDispose]: () => moved.disposeAsync(),
255
- });
219
+ finally {
220
+ const result_5 = __disposeResources(env_5);
221
+ if (result_5)
222
+ await result_5;
223
+ }
224
+ });
225
+ // Register as the last so disposal aborts further calls first.
226
+ disposer.use(sharedResourceByKeyRun);
227
+ const disposables = disposer.move();
228
+ return ok({
229
+ acquire: (key) => unabortable(() => sharedResourceByKeyRun(mutexByKey.withLock(key, async (run) => {
230
+ let sharedResource = sharedResourcesByKey.get(key);
231
+ if (!sharedResource) {
232
+ const sharedResourceResult = await run(createSharedResource(create(key), {
233
+ idleDisposeAfter,
234
+ onDisposed: () => {
235
+ onDisposed?.(key);
236
+ void sharedResourceByKeyRun(mutexByKey.withLock(key, async () => {
237
+ if (sharedResource &&
238
+ sharedResourcesByKey.get(key) === sharedResource &&
239
+ sharedResource.snapshot().isIdle) {
240
+ sharedResourcesByKey.delete(key);
241
+ await sharedResource[Symbol.asyncDispose]();
242
+ }
243
+ return ok();
244
+ }));
245
+ },
246
+ }));
247
+ assertNotAborted(sharedResourceResult);
248
+ sharedResource = sharedResourceResult.value;
249
+ sharedResourcesByKey.set(key, sharedResource);
250
+ }
251
+ return run(sharedResource.acquire);
252
+ }))),
253
+ release: (key) => unabortable(() => sharedResourceByKeyRun(mutexByKey.withLock(key, async () => {
254
+ const sharedResource = sharedResourcesByKey.get(key);
255
+ assert(sharedResource, "Release must not be called more times than acquire.");
256
+ return sharedResourceByKeyRun(sharedResource.release);
257
+ }))),
258
+ getCount: (key) => () => sharedResourceByKeyRun(mutexByKey.withLock(key, async (run) => {
259
+ const sharedResource = sharedResourcesByKey.get(key);
260
+ if (!sharedResource)
261
+ return ok(zeroNonNegativeInt);
262
+ return run(sharedResource.getCount);
263
+ })),
264
+ get: (key) => sharedResourcesByKey.get(key)?.get(),
265
+ snapshot: () => {
266
+ const resourcesByKey = new Map();
267
+ const mutexSnapshotsByKey = new Map();
268
+ for (const [key, sharedResource] of sharedResourcesByKey.entries()) {
269
+ const resource = sharedResource.get();
270
+ if (!resource)
271
+ continue;
272
+ resourcesByKey.set(key, resource);
273
+ mutexSnapshotsByKey.set(key, mutexByKey.snapshot(key));
274
+ }
275
+ return {
276
+ resourcesByKey,
277
+ mutexByKey: mutexSnapshotsByKey,
278
+ };
279
+ },
280
+ [Symbol.asyncDispose]: () => disposables.disposeAsync(),
281
+ });
282
+ }
283
+ catch (e_4) {
284
+ env_4.error = e_4;
285
+ env_4.hasError = true;
286
+ }
287
+ finally {
288
+ const result_4 = __disposeResources(env_4);
289
+ if (result_4)
290
+ await result_4;
291
+ }
256
292
  });
257
293
  }
258
294
  export function createSharedResourceByKeyWithClaims(create, { idleDisposeAfter, resourceLookup = identity, claimLookup = identity, onFirstClaimAdded, onLastClaimRemoved, } = {}) {
259
295
  return unabortable(async (run) => {
260
- const env_3 = { stack: [], error: void 0, hasError: false };
296
+ const env_6 = { stack: [], error: void 0, hasError: false };
261
297
  try {
262
298
  const sharedResourceClaimsRun = run.create();
263
- const stack = __addDisposableResource(env_3, new AsyncDisposableStack(), true);
299
+ const disposer = __addDisposableResource(env_6, new AsyncDisposableStack(), true);
264
300
  const keyByClaim = createRelation({
265
301
  lookupA: claimLookup,
266
302
  lookupB: resourceLookup,
267
303
  });
268
- const pairRefCountsByClaim = stack.adopt(createLookupMap({ lookup: claimLookup }), (pairRefCountsByClaim) => {
269
- for (const pairRefCountByKey of pairRefCountsByClaim.values()) {
270
- pairRefCountByKey[Symbol.dispose]();
304
+ const pairRefCountsByClaim = disposer.adopt(createLookupMap({ lookup: claimLookup }), (pairRefCountsByClaim) => {
305
+ const env_7 = { stack: [], error: void 0, hasError: false };
306
+ try {
307
+ const disposer = __addDisposableResource(env_7, new DisposableStack(), false);
308
+ disposer.defer(() => {
309
+ pairRefCountsByClaim.clear();
310
+ });
311
+ for (const pairRefCountByKey of pairRefCountsByClaim.values()) {
312
+ disposer.use(pairRefCountByKey);
313
+ }
314
+ }
315
+ catch (e_7) {
316
+ env_7.error = e_7;
317
+ env_7.hasError = true;
318
+ }
319
+ finally {
320
+ __disposeResources(env_7);
271
321
  }
272
- pairRefCountsByClaim.clear();
273
322
  });
274
- const mutexByKey = stack.use(createMutexByKey({ lookup: resourceLookup }));
275
- stack.defer(() => {
323
+ const mutexByKey = disposer.use(createMutexByKey({ lookup: resourceLookup }));
324
+ disposer.defer(() => {
276
325
  keyByClaim.clear();
277
326
  });
278
327
  const sharedResourcesByKeyResult = await sharedResourceClaimsRun(createSharedResourceByKey(create, {
@@ -280,9 +329,9 @@ export function createSharedResourceByKeyWithClaims(create, { idleDisposeAfter,
280
329
  lookup: resourceLookup,
281
330
  }));
282
331
  assertNotAborted(sharedResourcesByKeyResult);
283
- const sharedResourcesByKey = stack.use(sharedResourcesByKeyResult.value);
332
+ const sharedResourcesByKey = disposer.use(sharedResourcesByKeyResult.value);
284
333
  // Register as the last so disposal aborts further calls first.
285
- stack.use(sharedResourceClaimsRun);
334
+ disposer.use(sharedResourceClaimsRun);
286
335
  /** Asserts that one call does not contain the same logical key twice. */
287
336
  const assertNoDuplicateResourceKeys = (resourceKeys) => {
288
337
  assert(createLookupSet({
@@ -290,7 +339,7 @@ export function createSharedResourceByKeyWithClaims(create, { idleDisposeAfter,
290
339
  values: resourceKeys,
291
340
  }).size === resourceKeys.length, "resourceKeys must not contain lookup duplicates.");
292
341
  };
293
- const moved = stack.move();
342
+ const disposables = disposer.move();
294
343
  return ok({
295
344
  addClaim: (claim, resourceKeys) => unabortable(() => sharedResourceClaimsRun(async (run) => {
296
345
  assertNoDuplicateResourceKeys(resourceKeys);
@@ -365,17 +414,17 @@ export function createSharedResourceByKeyWithClaims(create, { idleDisposeAfter,
365
414
  }
366
415
  return resources;
367
416
  },
368
- [Symbol.asyncDispose]: () => moved.disposeAsync(),
417
+ [Symbol.asyncDispose]: () => disposables.disposeAsync(),
369
418
  });
370
419
  }
371
- catch (e_3) {
372
- env_3.error = e_3;
373
- env_3.hasError = true;
420
+ catch (e_6) {
421
+ env_6.error = e_6;
422
+ env_6.hasError = true;
374
423
  }
375
424
  finally {
376
- const result_3 = __disposeResources(env_3);
377
- if (result_3)
378
- await result_3;
425
+ const result_6 = __disposeResources(env_6);
426
+ if (result_6)
427
+ await result_6;
379
428
  }
380
429
  });
381
430
  }
@@ -677,15 +677,15 @@ export declare function passthrough<Output, Input>(schedule: Schedule<Output, In
677
677
  * // Outputs: 100, 300, 700, 1500, ... (cumulative)
678
678
  *
679
679
  * // Collect all outputs
680
- * const collected = foldSchedule([] as Millis[], (acc, delay: Millis) => [
681
- * ...acc,
682
- * delay,
683
- * ])(take(3)(spaced("1s")));
680
+ * const collected = foldSchedule<ReadonlyArray<Millis>, Millis>(
681
+ * [],
682
+ * (acc, delay) => [...acc, delay],
683
+ * )(take(3)(spaced("1s")));
684
684
  * // Outputs: [1000], [1000, 1000], [1000, 1000, 1000]
685
685
  *
686
686
  * // Count attempts with custom output
687
687
  * const counted = foldSchedule(
688
- * { attempts: 0, lastDelay: 0 as Millis },
688
+ * { attempts: 0, lastDelay: minMillis },
689
689
  * (acc, delay: Millis) => ({
690
690
  * attempts: acc.attempts + 1,
691
691
  * lastDelay: delay,
@@ -1 +1 @@
1
- {"version":3,"file":"Schedule.d.ts","sourceRoot":"","sources":["../../src/Schedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Schedule.d.ts","sourceRoot":"","sources":["../../src/Schedule.ts"],"names":[],"mappings":"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"}