@effect-app/vue 4.0.5 → 4.0.6

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.
@@ -1,115 +1,392 @@
1
1
  import { DataDependencies } from "effect-app/client";
2
- import * as Hash from "effect/Hash";
3
- const entries = new Map();
2
+ import * as MutableHashMap from "effect/MutableHashMap";
3
+ import * as Option from "effect/Option";
4
+ const entries = MutableHashMap.empty();
5
+ const fetches = new WeakMap();
6
+ /** One shared `ready()` call per epoch; waiters detach on abort so none accumulate on the promise. */
7
+ let observation;
4
8
  let source;
5
9
  let unsubscribe;
6
- let discovering = 0;
7
- let bufferedWrites = DataDependencies.empty();
10
+ let subscribing = false;
11
+ let epoch = 0;
12
+ // a synchronous refresh can remove or replace registrations while dispatching
13
+ const isCurrent = (entry) => Option.getOrUndefined(MutableHashMap.get(entries, entry.key)) === entry;
14
+ const forEachCurrent = (f) => {
15
+ for (const entry of Array.from(MutableHashMap.values(entries))) {
16
+ if (isCurrent(entry))
17
+ f(entry);
18
+ }
19
+ };
8
20
  const invalidateEntry = (entry) => {
9
21
  entry.timer = undefined;
10
- source?.invalidate([entry.key]);
22
+ if (isCurrent(entry))
23
+ source?.invalidate([entry.key]);
24
+ };
25
+ // (re)arm for the strictest observer; a stricter observer or write can only bring the deadline forward
26
+ const arm = (entry) => {
27
+ const deadline = entry.firstWriteAt + Math.min(...entry.delays.keys());
28
+ if (entry.timer !== undefined) {
29
+ if (entry.deadline <= deadline)
30
+ return;
31
+ clearTimeout(entry.timer);
32
+ entry.timer = undefined;
33
+ }
34
+ entry.deadline = deadline;
35
+ const wait = deadline - Date.now();
36
+ if (wait <= 0)
37
+ return invalidateEntry(entry);
38
+ entry.timer = setTimeout(() => invalidateEntry(entry), wait);
11
39
  };
12
40
  const schedule = (entry) => {
41
+ if (entry.timer === undefined)
42
+ entry.firstWriteAt = Date.now();
43
+ arm(entry);
44
+ };
45
+ // catch-up replaces a refetch, so it bypasses write coalescing; a running refetch makes SWR skip its own
46
+ const invalidateNow = (entry) => {
47
+ if (entry.discovering > 0)
48
+ return void (entry.dirty = true);
13
49
  if (entry.timer !== undefined)
14
- return;
15
- const maxDelayMs = Math.min(...entry.delays.keys());
16
- if (maxDelayMs <= 0)
17
- return invalidateEntry(entry);
18
- entry.timer = setTimeout(() => invalidateEntry(entry), maxDelayMs);
50
+ clearTimeout(entry.timer);
51
+ invalidateEntry(entry);
19
52
  };
20
- const dispatch = (writes) => {
53
+ const receive = (writes) => {
21
54
  if (!DataDependencies.isNonEmpty(writes))
22
55
  return;
23
- for (const entry of entries.values()) {
24
- if (DataDependencies.intersects(entry.reads(), writes))
56
+ forEachCurrent((entry) => {
57
+ if (entry.discovering > 0)
58
+ entry.buffered = DataDependencies.merge(entry.buffered, writes);
59
+ else if (DataDependencies.intersects(entry.reads(), writes))
25
60
  schedule(entry);
26
- }
61
+ });
27
62
  };
28
- const receive = (writes) => {
29
- if (discovering > 0) {
30
- bufferedWrites = DataDependencies.merge(bufferedWrites, writes);
63
+ const reset = () => {
64
+ forEachCurrent((entry) => {
65
+ if (entry.discovering > 0)
66
+ entry.dirty = true;
67
+ else if (DataDependencies.isNonEmpty(entry.reads()))
68
+ schedule(entry);
69
+ });
70
+ };
71
+ const settle = (current, outcome) => {
72
+ if (observation === current)
73
+ observation = undefined;
74
+ if (current.epoch !== epoch)
31
75
  return;
76
+ const waiters = Array.from(current.waiters);
77
+ current.waiters.clear();
78
+ for (const f of waiters)
79
+ f(outcome);
80
+ };
81
+ const observeReady = (waiter) => {
82
+ let current = observation;
83
+ if (current === undefined || current.epoch !== epoch) {
84
+ const started = { epoch, waiters: new Set([waiter]) };
85
+ current = observation = started;
86
+ // the waiter is attached first: `ready()` may reconfigure synchronously
87
+ let ready;
88
+ try {
89
+ ready = source?.ready() ?? Promise.resolve();
90
+ }
91
+ catch (error) {
92
+ ready = Promise.reject(error);
93
+ }
94
+ ready.then(() => settle(started, { _tag: "ready" }), (error) => settle(started, { _tag: "failed", error }));
95
+ }
96
+ else {
97
+ current.waiters.add(waiter);
32
98
  }
33
- dispatch(writes);
99
+ const observed = current;
100
+ return () => observed.waiters.delete(waiter);
34
101
  };
35
- const reset = () => {
36
- bufferedWrites = DataDependencies.empty();
37
- for (const entry of entries.values()) {
38
- if (DataDependencies.isNonEmpty(entry.reads()))
39
- schedule(entry);
102
+ /** Whether the current source became ready before being replaced; rejects with its error or on abort. */
103
+ const readyOnce = (signal) => new Promise((resolve, reject) => {
104
+ if (signal?.aborted === true)
105
+ return reject(signal.reason);
106
+ if (source === undefined)
107
+ return resolve(true);
108
+ let detach;
109
+ let aborted = false;
110
+ const onAbort = () => {
111
+ aborted = true;
112
+ detach?.();
113
+ reject(signal?.reason);
114
+ };
115
+ signal?.addEventListener("abort", onAbort, { once: true });
116
+ // `ready()` may abort synchronously, before `detach` exists
117
+ detach = observeReady((outcome) => {
118
+ signal?.removeEventListener("abort", onAbort);
119
+ if (outcome._tag === "failed")
120
+ reject(outcome.error);
121
+ else
122
+ resolve(outcome._tag === "ready");
123
+ });
124
+ if (aborted)
125
+ detach();
126
+ });
127
+ /** Resolves with the epoch whose readiness was observed; a reconfigured source supersedes the wait. */
128
+ const waitReady = async (signal) => {
129
+ const target = epoch;
130
+ let ready;
131
+ try {
132
+ ready = await readyOnce(signal);
40
133
  }
134
+ catch (error) {
135
+ // a reconfiguration can run between settlement and this continuation
136
+ if (epoch === target || signal?.aborted === true)
137
+ throw error;
138
+ return waitReady(signal);
139
+ }
140
+ return ready && epoch === target ? target : waitReady(signal);
141
+ };
142
+ const cancelCatchUp = (entry) => {
143
+ entry.catchUp?.abort();
144
+ entry.catchUp = undefined;
145
+ };
146
+ // a reconfigured source restarts it; a live fetch or unregistering cancels it
147
+ const catchUp = (entry) => {
148
+ cancelCatchUp(entry);
149
+ if (source === undefined)
150
+ return;
151
+ const target = epoch;
152
+ const controller = new AbortController();
153
+ entry.catchUp = controller;
154
+ readyOnce(controller.signal).then((ready) => {
155
+ if (entry.catchUp === controller)
156
+ entry.catchUp = undefined;
157
+ if (!ready || epoch !== target || !isCurrent(entry))
158
+ return;
159
+ if (entry.awaitingReady === 0 && entry.coveredEpoch !== target)
160
+ invalidateNow(entry);
161
+ }, () => { });
162
+ };
163
+ const unsubscribeNow = () => {
164
+ const current = unsubscribe;
165
+ unsubscribe = undefined;
166
+ current?.();
41
167
  };
42
168
  const ensureSubscribed = () => {
43
- if (unsubscribe === undefined && source !== undefined && entries.size > 0) {
44
- unsubscribe = source.subscribe(receive, reset);
169
+ if (unsubscribe !== undefined || subscribing || source === undefined || MutableHashMap.size(entries) === 0)
170
+ return;
171
+ const target = epoch;
172
+ const active = () => epoch === target;
173
+ subscribing = true;
174
+ let handle;
175
+ try {
176
+ handle = source.subscribe((writes) => {
177
+ if (active())
178
+ receive(writes);
179
+ }, () => {
180
+ if (active())
181
+ reset();
182
+ });
183
+ }
184
+ finally {
185
+ subscribing = false;
186
+ }
187
+ if (!active() || MutableHashMap.size(entries) === 0) {
188
+ handle();
189
+ return ensureSubscribed();
45
190
  }
191
+ unsubscribe = handle;
46
192
  };
47
193
  export const configureLiveQueryInvalidation = (next) => {
48
- unsubscribe?.();
49
- unsubscribe = undefined;
194
+ unsubscribeNow();
50
195
  source = next;
196
+ epoch++;
197
+ const previous = observation;
198
+ observation = undefined;
199
+ if (previous !== undefined) {
200
+ const waiters = Array.from(previous.waiters);
201
+ previous.waiters.clear();
202
+ for (const f of waiters)
203
+ f({ _tag: "switched" });
204
+ }
51
205
  ensureSubscribed();
206
+ forEachCurrent(catchUp);
52
207
  };
53
208
  export const registerLiveQuery = (key, reads, options) => {
54
- const hash = Hash.hash(key);
55
209
  const delay = options.maxDelayMs ?? 0;
56
- const current = entries.get(hash);
57
- if (current !== undefined) {
58
- current.observers++;
59
- current.delays.set(delay, (current.delays.get(delay) ?? 0) + 1);
210
+ let entry = Option.getOrUndefined(MutableHashMap.get(entries, key));
211
+ if (entry !== undefined) {
212
+ entry.observers++;
213
+ entry.delays.set(delay, (entry.delays.get(delay) ?? 0) + 1);
214
+ if (entry.timer !== undefined)
215
+ arm(entry);
60
216
  }
61
217
  else {
62
- entries.set(hash, {
218
+ entry = {
63
219
  key,
64
220
  reads,
65
221
  observers: 1,
66
222
  delays: new Map([[delay, 1]]),
67
- timer: undefined
68
- });
223
+ timer: undefined,
224
+ firstWriteAt: 0,
225
+ deadline: 0,
226
+ discovering: 0,
227
+ awaitingReady: 0,
228
+ buffered: DataDependencies.empty(),
229
+ dirty: false,
230
+ coveredEpoch: -1,
231
+ catchUp: undefined
232
+ };
233
+ MutableHashMap.set(entries, key, entry);
234
+ ensureSubscribed();
235
+ // writes missed while unsubscribed (cached result, or a fetch that started before this registration)
236
+ catchUp(entry);
69
237
  }
70
- ensureSubscribed();
238
+ const registered = entry;
239
+ let active = true;
71
240
  return () => {
72
- const entry = entries.get(hash);
73
- if (entry === undefined)
241
+ if (!active)
74
242
  return;
75
- const delayObservers = entry.delays.get(delay) ?? 0;
243
+ active = false;
244
+ const delayObservers = registered.delays.get(delay) ?? 0;
76
245
  if (delayObservers <= 1)
77
- entry.delays.delete(delay);
246
+ registered.delays.delete(delay);
78
247
  else
79
- entry.delays.set(delay, delayObservers - 1);
80
- if (--entry.observers > 0)
248
+ registered.delays.set(delay, delayObservers - 1);
249
+ if (--registered.observers > 0)
81
250
  return;
82
- if (entry.timer !== undefined)
83
- clearTimeout(entry.timer);
84
- entries.delete(hash);
85
- if (entries.size === 0) {
86
- unsubscribe?.();
87
- unsubscribe = undefined;
88
- bufferedWrites = DataDependencies.empty();
89
- }
251
+ if (registered.timer !== undefined)
252
+ clearTimeout(registered.timer);
253
+ registered.timer = undefined;
254
+ cancelCatchUp(registered);
255
+ if (isCurrent(registered))
256
+ MutableHashMap.remove(entries, key);
257
+ if (MutableHashMap.size(entries) === 0)
258
+ unsubscribeNow();
90
259
  };
91
260
  };
261
+ /** Synchronously starts a live fetch for a registered key; release it with `releaseLiveQueryFetch` on every exit. */
262
+ export const acquireLiveQueryFetch = (key) => {
263
+ const entry = Option.getOrUndefined(MutableHashMap.get(entries, key));
264
+ if (entry === undefined || source === undefined)
265
+ return undefined;
266
+ entry.discovering++;
267
+ entry.awaitingReady++;
268
+ // this fetch awaits readiness itself, covering the epoch the catch-up was waiting for
269
+ cancelCatchUp(entry);
270
+ const fetch = { key };
271
+ fetches.set(fetch, { entry, awaiting: true, released: false });
272
+ return fetch;
273
+ };
274
+ const stopAwaiting = (state) => {
275
+ if (!state.awaiting)
276
+ return;
277
+ state.awaiting = false;
278
+ state.entry.awaitingReady--;
279
+ };
280
+ /** Waits until writes after this point reach the fetch; abort to stop waiting. */
281
+ export const awaitLiveQueryFetch = async (fetch, signal) => {
282
+ const state = fetches.get(fetch);
283
+ if (state === undefined || state.released)
284
+ return;
285
+ try {
286
+ // every `await` is a gap in which the source can be switched: only settle for a still-current epoch
287
+ for (;;) {
288
+ const target = epoch;
289
+ let ready;
290
+ try {
291
+ ready = await waitReady(signal);
292
+ }
293
+ catch (error) {
294
+ if (signal?.aborted === true || epoch === target)
295
+ throw error;
296
+ continue;
297
+ }
298
+ if (ready !== epoch)
299
+ continue;
300
+ state.entry.coveredEpoch = Math.max(state.entry.coveredEpoch, ready);
301
+ break;
302
+ }
303
+ }
304
+ finally {
305
+ stopAwaiting(state);
306
+ }
307
+ };
308
+ export const releaseLiveQueryFetch = (fetch) => {
309
+ const state = fetches.get(fetch);
310
+ if (state === undefined || state.released)
311
+ return;
312
+ state.released = true;
313
+ stopAwaiting(state);
314
+ state.entry.discovering--;
315
+ finishDiscovery(state.entry);
316
+ };
317
+ const finishDiscovery = (entry) => {
318
+ if (entry.discovering > 0 || !isCurrent(entry))
319
+ return;
320
+ const { buffered, dirty } = entry;
321
+ entry.buffered = DataDependencies.empty();
322
+ entry.dirty = false;
323
+ if (dirty || DataDependencies.intersects(entry.reads(), buffered))
324
+ schedule(entry);
325
+ };
326
+ /** Waits for the current source; a reconfigured source supersedes a pending wait on the previous one. */
327
+ export const liveQueryReady = async () => {
328
+ for (;;) {
329
+ const target = epoch;
330
+ try {
331
+ if (await waitReady() === epoch)
332
+ return;
333
+ }
334
+ catch (error) {
335
+ if (epoch === target)
336
+ throw error;
337
+ }
338
+ }
339
+ };
340
+ // Boolean callers cannot say which fetch ended: their entries keep buffering until every legacy fetch has
341
+ // ended. Other queries are unaffected; bookkeeping is per entry, not per call.
342
+ const legacyEntries = new Map();
343
+ let legacyDiscovering = 0;
344
+ /** @deprecated Waits for all concurrent legacy fetches; use `acquireLiveQueryFetch` + `awaitLiveQueryFetch`. */
92
345
  export const beginLiveQueryFetch = async (key) => {
93
- if (!entries.has(Hash.hash(key)) || source === undefined)
346
+ const fetch = acquireLiveQueryFetch(key);
347
+ const state = fetch && fetches.get(fetch);
348
+ if (fetch === undefined || state === undefined)
94
349
  return false;
95
- discovering++;
350
+ // hand the discovery count over to the legacy barrier
351
+ state.released = true;
352
+ legacyDiscovering++;
353
+ legacyEntries.set(state.entry, (legacyEntries.get(state.entry) ?? 0) + 1);
96
354
  try {
97
- await source.ready();
98
- return true;
355
+ for (;;) {
356
+ const target = epoch;
357
+ let ready;
358
+ try {
359
+ ready = await waitReady();
360
+ }
361
+ catch (error) {
362
+ if (epoch === target)
363
+ throw error;
364
+ continue;
365
+ }
366
+ if (ready !== epoch)
367
+ continue;
368
+ state.entry.coveredEpoch = Math.max(state.entry.coveredEpoch, ready);
369
+ break;
370
+ }
99
371
  }
100
372
  catch (error) {
101
- discovering--;
373
+ endLiveQueryFetch(true);
102
374
  throw error;
103
375
  }
376
+ finally {
377
+ stopAwaiting(state);
378
+ }
379
+ return true;
104
380
  };
381
+ /** @deprecated Pairs with `beginLiveQueryFetch`; use `releaseLiveQueryFetch`. */
105
382
  export const endLiveQueryFetch = (wasLive) => {
106
- if (!wasLive)
383
+ if (!wasLive || legacyDiscovering === 0 || --legacyDiscovering > 0)
107
384
  return;
108
- discovering = Math.max(0, discovering - 1);
109
- if (discovering > 0 || !DataDependencies.isNonEmpty(bufferedWrites))
110
- return;
111
- const writes = bufferedWrites;
112
- bufferedWrites = DataDependencies.empty();
113
- dispatch(writes);
385
+ const ended = Array.from(legacyEntries);
386
+ legacyEntries.clear();
387
+ for (const [entry, count] of ended) {
388
+ entry.discovering -= count;
389
+ finishDiscovery(entry);
390
+ }
114
391
  };
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZVF1ZXJ5SW52YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xpdmVRdWVyeUludmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNwRCxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQXlCbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUE7QUFDakQsSUFBSSxNQUErQyxDQUFBO0FBQ25ELElBQUksV0FBcUMsQ0FBQTtBQUN6QyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUE7QUFDbkIsSUFBSSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUE7QUFFN0MsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUU7SUFDaEQsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUE7SUFDdkIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0FBQ2pDLENBQUMsQ0FBQTtBQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFO0lBQ3pDLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTO1FBQUUsT0FBTTtJQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELElBQUksVUFBVSxJQUFJLENBQUM7UUFBRSxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsRCxLQUFLLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUE7QUFDcEUsQ0FBQyxDQUFBO0FBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxN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
392
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZVF1ZXJ5SW52YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xpdmVRdWVyeUludmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNwRCxPQUFPLEtBQUssY0FBYyxNQUFNLHVCQUF1QixDQUFBO0FBQ3ZELE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBaUR2QyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsS0FBSyxFQUEwQyxDQUFBO0FBQzlFLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUE4QixDQUFBO0FBS3pELHNHQUFzRztBQUN0RyxJQUFJLFdBQTJHLENBQUE7QUFDL0csSUFBSSxNQUErQyxDQUFBO0FBQ25ELElBQUksV0FBcUMsQ0FBQTtBQUN6QyxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUE7QUFDdkIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFBO0FBRWIsOEVBQThFO0FBQzlFLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUE7QUFFcEgsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFrQyxFQUFFLEVBQUU7SUFDNUQsS0FBSyxNQUFNLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9ELElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQztZQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUU7SUFDaEQsS0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/vue",
3
- "version": "4.0.5",
3
+ "version": "4.0.6",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -15,7 +15,7 @@
15
15
  "@vueuse/core": "^14.3.0",
16
16
  "change-case": "^5.4.4",
17
17
  "query-string": "^9.4.0",
18
- "effect-app": "4.0.5"
18
+ "effect-app": "4.0.6"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@effect/atom-vue": "^4.0.6",