@effect-app/vue 4.0.0-beta.308 → 4.0.0-beta.309

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @effect-app/vue
2
2
 
3
+ ## 4.0.0-beta.309
4
+
5
+ ### Minor Changes
6
+
7
+ - 99c43c4: Add query-owned live invalidation with recorded dependency filtering, connect-before-fetch coordination, race buffering, and configurable client-side coalescing.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [99c43c4]
12
+ - effect-app@4.0.0-beta.309
13
+
3
14
  ## 4.0.0-beta.308
4
15
 
5
16
  ### Patch Changes
@@ -7,6 +7,7 @@ import * as Stream from "effect/Stream";
7
7
  import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
8
8
  import * as Atom from "effect/unstable/reactivity/Atom";
9
9
  import * as AtomRegistry from "effect/unstable/reactivity/AtomRegistry";
10
+ import { type LiveQueryOptions } from "./liveQueryInvalidation.js";
10
11
  /**
11
12
  * Invalidate the given keys and AWAIT the result. `keyAtoms` resolves all matching hierarchical
12
13
  * keys to a deduplicated set of query atoms. Refresh that set directly: sending the whole key set
@@ -54,10 +55,13 @@ export interface AtomQueryOptions {
54
55
  readonly structuralSharing?: boolean;
55
56
  /** poll: re-fetch every N ms (tanstack refetchInterval). */
56
57
  readonly refetchInterval?: number;
58
+ /** Refresh when writes intersect the dependencies recorded by this query. */
59
+ readonly live?: boolean | LiveQueryOptions;
57
60
  }
58
61
  export interface AtomQueryMetadata {
59
62
  readonly staleTimeMs: number;
60
63
  }
64
+ export declare const queryKeyForAtom: <A, E>(atom: Atom.Atom<AsyncResult.AsyncResult<A, E>>) => ReadonlyArray<unknown> | undefined;
61
65
  export declare const captureAtomQueryParentSpan: <A, E>(atom: Atom.Atom<AsyncResult.AsyncResult<A, E>>) => Effect.Effect<void>;
62
66
  export declare const refreshAtomWithCurrentSpan: <A, E>(registry: AtomRegistry.AtomRegistry, atom: Atom.Atom<AsyncResult.AsyncResult<A, E>>) => Effect.Effect<void>;
63
67
  export declare const getAtomQueryMetadata: <A, E>(atom: Atom.Atom<AsyncResult.AsyncResult<A, E>>) => AtomQueryMetadata | undefined;
@@ -69,7 +73,7 @@ export interface QueryFetchState {
69
73
  recovering: boolean;
70
74
  }
71
75
  export declare const queryFetchStates: WeakMap<Atom.Atom<any>, QueryFetchState>;
72
- export declare const withQueryOptions: <A, E>(self: Atom.Atom<AsyncResult.AsyncResult<A, E>>, opts?: AtomQueryOptions) => Atom.Atom<AsyncResult.AsyncResult<A, E>>;
76
+ export declare const withQueryOptions: <A, E>(self: Atom.Atom<AsyncResult.AsyncResult<A, E>>, opts?: AtomQueryOptions, liveKey?: ReadonlyArray<unknown>) => Atom.Atom<AsyncResult.AsyncResult<A, E>>;
73
77
  /** Constant atom for disabled / `mode:"optional"`-None queries: stays Initial, never fetches. */
74
78
  export declare const disabledQueryAtom: Atom.Atom<AsyncResult.AsyncResult<any, any>>;
75
79
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"atomQuery.d.ts","sourceRoot":"","sources":["../src/atomQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atomQuery.d.ts","sourceRoot":"","sources":["../src/atomQuery.ts"],"names":[],"mappings":"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"}
package/dist/atomQuery.js CHANGED
@@ -29,8 +29,9 @@ import { isHttpClientError } from "effect/unstable/http/HttpClientError";
29
29
  import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
30
30
  import * as Atom from "effect/unstable/reactivity/Atom";
31
31
  import * as AtomRegistry from "effect/unstable/reactivity/AtomRegistry";
32
- import { clearQueryReadDependencies, setQueryReadDependencies } from "./dependencyMetadata.js";
32
+ import { clearQueryReadDependencies, getQueryReadDependencies, setQueryReadDependencies } from "./dependencyMetadata.js";
33
33
  import { reportRuntimeError } from "./lib.js";
34
+ import { beginLiveQueryFetch, endLiveQueryFetch, registerLiveQuery } from "./liveQueryInvalidation.js";
34
35
  /** All non-empty prefixes of a key, longest last. `[a,b,c]` -> `[[a],[a,b],[a,b,c]]`. */
35
36
  const prefixesOf = (key) => key.map((_, i) => key.slice(0, i + 1));
36
37
  const uniqueKeys = (keys) => {
@@ -180,6 +181,8 @@ const isRetryable = (e) => isHttpClientError(e)
180
181
  const defaults = { staleTime: Duration.seconds(5), gcTime: Duration.minutes(5) };
181
182
  const atomQueryMetadata = new WeakMap();
182
183
  const atomQueryParentSpans = new WeakMap();
184
+ const atomQueryKeys = new WeakMap();
185
+ export const queryKeyForAtom = (atom) => atomQueryKeys.get(atom);
183
186
  const atomSpanTarget = (atom) => {
184
187
  let target = atom;
185
188
  while (target.initialValueTarget !== undefined) {
@@ -238,10 +241,18 @@ const recoverStuckWaitingOnMount = (familyAtom) => (wrapped) => Atom.transform(w
238
241
  }
239
242
  return current;
240
243
  }, { initialValueTarget: wrapped });
241
- export const withQueryOptions = (self, opts = {}) => {
244
+ export const withQueryOptions = (self, opts = {}, liveKey) => {
242
245
  setAtomQueryMetadata(self, opts);
243
246
  const staleTime = opts.staleTime ?? defaults.staleTime;
244
247
  let atom = self;
248
+ if (opts.live && liveKey !== undefined) {
249
+ const liveOptions = opts.live === true ? {} : opts.live;
250
+ atom = Atom.transform(atom, (get) => {
251
+ const unregister = registerLiveQuery(liveKey, () => getQueryReadDependencies(liveKey), liveOptions);
252
+ get.addFinalizer(unregister);
253
+ return get(self);
254
+ }, { initialValueTarget: self });
255
+ }
245
256
  const revalidateOnFocus = opts.revalidateOnFocus ?? true;
246
257
  atom = Atom.swr({
247
258
  staleTime,
@@ -316,7 +327,8 @@ export const buildQueryFamily = (rt, self) => {
316
327
  // A fetch is now running: the atom is not stuck, and any pending recovery is fulfilled.
317
328
  fetchState.recovering = false;
318
329
  fetchState.inFlight++;
319
- const recordReads = Effect.gen(function* () {
330
+ const recordReads = Effect
331
+ .gen(function* () {
320
332
  const readsRef = yield* Ref.make(DataDependencies.empty());
321
333
  const writesRef = yield* Ref.make(DataDependencies.empty());
322
334
  const recorder = DataDependencies.makeDataDependencyRecorder(readsRef, writesRef);
@@ -327,7 +339,13 @@ export const buildQueryFamily = (rt, self) => {
327
339
  setQueryReadDependencies(fullKey, lastReads);
328
340
  return result;
329
341
  });
330
- const effect = recordReads.pipe(Effect.retry({ times: 5, while: isRetryable }), Effect.tapCauseIf(Cause.hasDies, (cause) => reportRuntimeError(cause)),
342
+ let liveFetch = false;
343
+ const effect = Effect
344
+ .gen(function* () {
345
+ liveFetch = yield* Effect.promise(() => beginLiveQueryFetch(fullKey));
346
+ return yield* recordReads.pipe(Effect.retry({ times: 5, while: isRetryable }));
347
+ })
348
+ .pipe(Effect.ensuring(Effect.sync(() => endLiveQueryFetch(liveFetch))), Effect.tapCauseIf(Cause.hasDies, (cause) => reportRuntimeError(cause)),
331
349
  // On exit, the compute is no longer in-flight. An interrupt (subscriber lost interest / a
332
350
  // superseding refresh) may leave the result at `waiting`; with `inFlight` back at 0 that
333
351
  // reads as "stuck", so the next mount recovers it (`recoverStuckWaitingOnMount`). We do not
@@ -363,6 +381,7 @@ export const buildQueryFamily = (rt, self) => {
363
381
  const result = setAtomQueryMetadata(Atom.withLabel(`query-cache:${self.id}`)(writableWithTarget));
364
382
  // Key the fetch state by the atom `withQueryOptions` receives, so its mount hook can find it.
365
383
  queryFetchStates.set(result, fetchState);
384
+ atomQueryKeys.set(result, fullKey);
366
385
  return result;
367
386
  });
368
387
  };
@@ -383,4 +402,4 @@ export const buildStreamQueryFamily = (rt, self) => {
383
402
  };
384
403
  /** Await the first resolved (non-Waiting) result of an atom. Failing query results fail the Effect. */
385
404
  export const awaitAtomResult = (registry, atom) => AtomRegistry.getResult(registry, atom, { suspendOnWaiting: true });
386
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbVF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2F0b21RdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDbEUsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFDdEMsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFDckMsT0FBTyxLQUFLLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUVuQyxPQUFPLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQTtBQUNqQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUV2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUN4RSxPQUFPLEtBQUssV0FBVyxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JFLE9BQU8sS0FBSyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDdkQsT0FBTyxLQUFLLFlBQVksTUFBTSx5Q0FBeUMsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFN0MseUZBQXlGO0FBQ3pGLE1BQU0s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
405
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbVF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2F0b21RdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDbEUsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFDdEMsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFDckMsT0FBTyxLQUFLLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUVuQyxPQUFPLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQTtBQUNqQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUV2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUN4RSxPQUFPLEtBQUssV0FBVyxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JFLE9BQU8sS0FBSyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDdkQsT0FBTyxLQUFLLFlBQVksTUFBTSx5Q0FBeUMsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDN0MsT0FBTyxF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
@@ -1,6 +1,7 @@
1
1
  import { DataDependencies } from "effect-app/client";
2
2
  export declare const setQueryReadDependencies: (key: ReadonlyArray<unknown>, reads: DataDependencies.DataDependencies) => void;
3
3
  export declare const clearQueryReadDependencies: (key: ReadonlyArray<unknown>) => void;
4
+ export declare const getQueryReadDependencies: (key: ReadonlyArray<unknown>) => DataDependencies.DataDependencies;
4
5
  /**
5
6
  * Reactivity keys of every live query whose recorded read-dependencies intersect this
6
7
  * mutation's `writeDependencies`. Returned keys are passed to `invalidateAndAwait`, refreshing
@@ -1 +1 @@
1
- {"version":3,"file":"dependencyMetadata.d.ts","sourceRoot":"","sources":["../src/dependencyMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAUpD,eAAO,MAAM,wBAAwB,QAC9B,aAAa,CAAC,OAAO,CAAC,SACpB,gBAAgB,CAAC,gBAAgB,SAKzC,CAAA;AAED,eAAO,MAAM,0BAA0B,QAAS,aAAa,CAAC,OAAO,CAAC,SAErE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,sBAClB,gBAAgB,CAAC,gBAAgB,KACnD,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAOtC,CAAA"}
1
+ {"version":3,"file":"dependencyMetadata.d.ts","sourceRoot":"","sources":["../src/dependencyMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAUpD,eAAO,MAAM,wBAAwB,QAC9B,aAAa,CAAC,OAAO,CAAC,SACpB,gBAAgB,CAAC,gBAAgB,SAKzC,CAAA;AAED,eAAO,MAAM,0BAA0B,QAAS,aAAa,CAAC,OAAO,CAAC,SAErE,CAAA;AAED,eAAO,MAAM,wBAAwB,QAC9B,aAAa,CAAC,OAAO,CAAC,KAC1B,gBAAgB,CAAC,gBAA2F,CAAA;AAE/G;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,sBAClB,gBAAgB,CAAC,gBAAgB,KACnD,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAOtC,CAAA"}
@@ -11,6 +11,7 @@ export const setQueryReadDependencies = (key, reads) => {
11
11
  export const clearQueryReadDependencies = (key) => {
12
12
  readDependencies.delete(Hash.hash(key));
13
13
  };
14
+ export const getQueryReadDependencies = (key) => readDependencies.get(Hash.hash(key))?.reads ?? DataDependencies.empty();
14
15
  /**
15
16
  * Reactivity keys of every live query whose recorded read-dependencies intersect this
16
17
  * mutation's `writeDependencies`. Returned keys are passed to `invalidateAndAwait`, refreshing
@@ -26,4 +27,4 @@ export const getDerivedInvalidationKeys = (writeDependencies) => {
26
27
  }
27
28
  return keys;
28
29
  };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeU1ldGFkYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlcGVuZGVuY3lNZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNwRCxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQU9uQyxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFpQixDQUFBO0FBRWpELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQ3RDLEdBQTJCLEVBQzNCLEtBQXdDLEVBQ3hDLEVBQUU7SUFDRixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBOztRQUM5RCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7QUFDOUMsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxHQUEyQixFQUFFLEVBQUU7SUFDeEUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtBQUN6QyxDQUFDLENBQUE7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FDeEMsaUJBQW9ELEVBQ2IsRUFBRTtJQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFDOUQsTUFBTSxJQUFJLEdBQWtDLEVBQUUsQ0FBQTtJQUM5QyxLQUFLLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUN2RCxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQSJ9
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeU1ldGFkYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlcGVuZGVuY3lNZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNwRCxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQU9uQyxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFpQixDQUFBO0FBRWpELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQ3RDLEdBQTJCLEVBQzNCLEtBQXdDLEVBQ3hDLEVBQUU7SUFDRixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBOztRQUM5RCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7QUFDOUMsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxHQUEyQixFQUFFLEVBQUU7SUFDeEUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtBQUN6QyxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxHQUEyQixFQUNRLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtBQUUvRzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FDeEMsaUJBQW9ELEVBQ2IsRUFBRTtJQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFDOUQsTUFBTSxJQUFJLEdBQWtDLEVBQUUsQ0FBQTtJQUM5QyxLQUFLLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUN2RCxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQSJ9
@@ -0,0 +1,16 @@
1
+ import { DataDependencies } from "effect-app/client";
2
+ export interface LiveQueryOptions {
3
+ /** Fixed maximum delay from the first matching write. Zero reacts immediately. */
4
+ readonly maxDelayMs?: number;
5
+ }
6
+ export interface LiveQueryInvalidationSource {
7
+ /** Resolve only after events received after this point can no longer be missed. */
8
+ readonly ready: () => Promise<void>;
9
+ readonly subscribe: (onWrites: (writes: DataDependencies.DataDependencies) => void, onReset: () => void) => () => void;
10
+ readonly invalidate: (keys: ReadonlyArray<ReadonlyArray<unknown>>) => void;
11
+ }
12
+ export declare const configureLiveQueryInvalidation: (next: LiveQueryInvalidationSource) => void;
13
+ export declare const registerLiveQuery: (key: ReadonlyArray<unknown>, reads: () => DataDependencies.DataDependencies, options: LiveQueryOptions) => () => void;
14
+ export declare const beginLiveQueryFetch: (key: ReadonlyArray<unknown>) => Promise<boolean>;
15
+ export declare const endLiveQueryFetch: (wasLive: boolean) => void;
16
+ //# sourceMappingURL=liveQueryInvalidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveQueryInvalidation.d.ts","sourceRoot":"","sources":["../src/liveQueryInvalidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,WAAW,gBAAgB;IAC/B,kFAAkF;IAClF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE,CAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,gBAAgB,KAAK,IAAI,EAC7D,OAAO,EAAE,MAAM,IAAI,KAChB,MAAM,IAAI,CAAA;IACf,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,CAAA;CAC3E;AAwDD,eAAO,MAAM,8BAA8B,SAAU,2BAA2B,SAK/E,CAAA;AAED,eAAO,MAAM,iBAAiB,QACvB,aAAa,CAAC,OAAO,CAAC,SACpB,MAAM,gBAAgB,CAAC,gBAAgB,WACrC,gBAAgB,eAkC1B,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAe,aAAa,CAAC,OAAO,CAAC,qBAUpE,CAAA;AAED,eAAO,MAAM,iBAAiB,YAAa,OAAO,SAOjD,CAAA"}
@@ -0,0 +1,115 @@
1
+ import { DataDependencies } from "effect-app/client";
2
+ import * as Hash from "effect/Hash";
3
+ const entries = new Map();
4
+ let source;
5
+ let unsubscribe;
6
+ let discovering = 0;
7
+ let bufferedWrites = DataDependencies.empty();
8
+ const invalidateEntry = (entry) => {
9
+ entry.timer = undefined;
10
+ source?.invalidate([entry.key]);
11
+ };
12
+ const schedule = (entry) => {
13
+ 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);
19
+ };
20
+ const dispatch = (writes) => {
21
+ if (!DataDependencies.isNonEmpty(writes))
22
+ return;
23
+ for (const entry of entries.values()) {
24
+ if (DataDependencies.intersects(entry.reads(), writes))
25
+ schedule(entry);
26
+ }
27
+ };
28
+ const receive = (writes) => {
29
+ if (discovering > 0) {
30
+ bufferedWrites = DataDependencies.merge(bufferedWrites, writes);
31
+ return;
32
+ }
33
+ dispatch(writes);
34
+ };
35
+ const reset = () => {
36
+ bufferedWrites = DataDependencies.empty();
37
+ for (const entry of entries.values()) {
38
+ if (DataDependencies.isNonEmpty(entry.reads()))
39
+ schedule(entry);
40
+ }
41
+ };
42
+ const ensureSubscribed = () => {
43
+ if (unsubscribe === undefined && source !== undefined && entries.size > 0) {
44
+ unsubscribe = source.subscribe(receive, reset);
45
+ }
46
+ };
47
+ export const configureLiveQueryInvalidation = (next) => {
48
+ unsubscribe?.();
49
+ unsubscribe = undefined;
50
+ source = next;
51
+ ensureSubscribed();
52
+ };
53
+ export const registerLiveQuery = (key, reads, options) => {
54
+ const hash = Hash.hash(key);
55
+ 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);
60
+ }
61
+ else {
62
+ entries.set(hash, {
63
+ key,
64
+ reads,
65
+ observers: 1,
66
+ delays: new Map([[delay, 1]]),
67
+ timer: undefined
68
+ });
69
+ }
70
+ ensureSubscribed();
71
+ return () => {
72
+ const entry = entries.get(hash);
73
+ if (entry === undefined)
74
+ return;
75
+ const delayObservers = entry.delays.get(delay) ?? 0;
76
+ if (delayObservers <= 1)
77
+ entry.delays.delete(delay);
78
+ else
79
+ entry.delays.set(delay, delayObservers - 1);
80
+ if (--entry.observers > 0)
81
+ 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
+ }
90
+ };
91
+ };
92
+ export const beginLiveQueryFetch = async (key) => {
93
+ if (!entries.has(Hash.hash(key)) || source === undefined)
94
+ return false;
95
+ discovering++;
96
+ try {
97
+ await source.ready();
98
+ return true;
99
+ }
100
+ catch (error) {
101
+ discovering--;
102
+ throw error;
103
+ }
104
+ };
105
+ export const endLiveQueryFetch = (wasLive) => {
106
+ if (!wasLive)
107
+ 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);
114
+ };
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZVF1ZXJ5SW52YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xpdmVRdWVyeUludmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNwRCxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQXlCbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUE7QUFDakQsSUFBSSxNQUErQyxDQUFBO0FBQ25ELElBQUksV0FBcUMsQ0FBQTtBQUN6QyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUE7QUFDbkIsSUFBSSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUE7QUFFN0MsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUU7SUFDaEQsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUE7SUFDdkIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0FBQ2pDLENBQUMsQ0FBQTtBQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFO0lBQ3pDLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTO1FBQUUsT0FBTTtJQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELElBQUksVUFBVSxJQUFJLENBQUM7UUFBRSxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsRCxLQUFLLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUE7QUFDcEUsQ0FBQyxDQUFBO0FBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxN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
package/dist/query.d.ts CHANGED
@@ -10,6 +10,7 @@ import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
10
10
  import * as Atom from "effect/unstable/reactivity/Atom";
11
11
  import { type ComputedRef, type MaybeRefOrGetter, type WatchSource } from "vue";
12
12
  import { type AtomClientRuntime } from "./atomQuery.js";
13
+ import type { LiveQueryOptions } from "./liveQueryInvalidation.js";
13
14
  type DefaultError = Error;
14
15
  type QueryKey = ReadonlyArray<unknown>;
15
16
  /** Options accepted by `refetch()` — kept for source compatibility; the atom path ignores them. */
@@ -60,6 +61,7 @@ export interface CustomUseQueryOptions<TQueryFnData = unknown, TError = DefaultE
60
61
  readonly structuralSharing?: boolean;
61
62
  /** poll: re-fetch every N ms (tanstack refetchInterval) */
62
63
  readonly refetchInterval?: number;
64
+ readonly live?: boolean | LiveQueryOptions;
63
65
  readonly select?: (data: TQueryFnData) => TData;
64
66
  /** accepted for source compatibility; not used by the atom engine */
65
67
  readonly retry?: boolean | number;
@@ -89,6 +91,7 @@ export interface AtomQueryNewOptions<TQueryFnData = unknown, TData = TQueryFnDat
89
91
  readonly structuralSharing?: boolean;
90
92
  readonly refreshEvery?: number;
91
93
  readonly refetchInterval?: number;
94
+ readonly live?: boolean | LiveQueryOptions;
92
95
  readonly select?: (data: TQueryFnData) => TData;
93
96
  }
94
97
  export interface AtomStreamQueryOptions {
@@ -98,6 +101,7 @@ export interface AtomStreamQueryOptions {
98
101
  readonly revalidateOnFocus?: boolean;
99
102
  readonly refetchOnWindowFocus?: boolean;
100
103
  readonly refreshEvery?: number;
104
+ readonly live?: boolean | LiveQueryOptions;
101
105
  readonly refetchInterval?: number;
102
106
  }
103
107
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAgB,MAAM,kBAAkB,CAAA;AAE/D,OAAO,EAAgB,KAAK,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAoB,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAC3H,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAG1C,OAAO,KAAK,WAAW,MAAM,wCAAwC,CAAA;AACrE,OAAO,KAAK,IAAI,MAAM,iCAAiC,CAAA;AACvD,OAAO,EAAY,KAAK,WAAW,EAAe,KAAK,gBAAgB,EAA4D,KAAK,WAAW,EAAE,MAAM,KAAK,CAAA;AAChK,OAAO,EAAE,KAAK,iBAAiB,EAAmL,MAAM,gBAAgB,CAAA;AAIxO,KAAK,YAAY,GAAG,KAAK,CAAA;AACzB,KAAK,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AACtC,mGAAmG;AACnG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAChC;AACD,8EAA8E;AAC9E,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IACtD,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;IACpD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;CACrE;AACD,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IACxD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3D,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;CAC1C;AAyBD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,EACpE,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,EAC3C,KAAK,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EACzD,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KACtC,IAAI,CAAA;CACV;AAGD,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACpE,MAAM,MAAM,yBAAyB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC3E,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AACpF,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS;IAC9C,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,WAAW,CAAC,CAAC,CAAC;IACd,CAAC,OAAO,CAAC,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;IACxD,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAC9B,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,GAC7B;IACA,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;CAC9B,GACC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAE5B,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CACrC,KAAK,EAAE,CAAC,KACL,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAChF,MAAM,MAAM,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAyErG,eAAO,MAAM,qBAAqB,mBAAkC,CAAA;AACpE,eAAO,MAAM,6BAA6B,mBAAmC,CAAA;AAE7E,eAAO,MAAM,yBAAyB,UAAW,iBAAiB,UAAU,iBAAiB,KAAG,iBAK9F,CAAA;AAIF,eAAO,MAAM,oBAAoB,YAAa,iBAAiB,SAE9D,CAAA;AAID,MAAM,WAAW,qBAAqB,CACpC,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,EACzB,SAAS,SAAS,QAAQ,GAAG,QAAQ;IAErC,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;IACxD,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,qDAAqD;IACrD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACrC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,2DAA2D;IAC3D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,KAAK,CAAA;IAC/C,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;CACpD;AAGD,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAA;AAEzD,MAAM,WAAW,kCAAkC,CACjD,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,EACzB,SAAS,SAAS,QAAQ,GAAG,QAAQ,CACrC,SAAQ,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC;IACjF,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,CAAC,MAAM,YAAY,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;CACrH;AACD,MAAM,WAAW,gCAAgC,CAC/C,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,EACzB,SAAS,SAAS,QAAQ,GAAG,QAAQ,CACrC,SAAQ,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC;IACjF,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,CAAC,MAAM,YAAY,CAAC,CAAA;IACzD,QAAQ,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;CACrH;AAED,MAAM,WAAW,oCAAoC,CACnD,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,EACzB,SAAS,SAAS,QAAQ,GAAG,QAAQ,CACrC,SAAQ,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC;IACjF,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,CAAC,MAAM,YAAY,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,KAAK,UAAU,CAAC,CAAA;CACxG;AAED,MAAM,WAAW,mBAAmB,CAAC,YAAY,GAAG,OAAO,EAAE,KAAK,GAAG,YAAY;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;IACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,KAAK,CAAA;CAChD;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,aAExB;IAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CAAE,YAClD,OAAO,KAChB,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAgC3C,CAAA;AA8BD,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,QACzB,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KACnD,SAAS,CAAC,CAAC,EAAE,CAAC,CAuBhB,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,CAAC,QAC5B,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KACnD,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAuCjC,CAAA;AAED,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;CACjC,CAAA;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAC3C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;IACvG,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;IACxG,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;IACpD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;CACvE;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,QAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KACrD,eAAe,CAAC,CAAC,EAAE,CAAC,CAuCtB,CAAA;AA0HD,eAAO,MAAM,eAAe,GAAI,CAAC,eAAe,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,iBAAiB,MAEvG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,KAC7C,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KACpD,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAM7B,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,CAAC,eAAe,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,iBAAiB,MAErG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,KAC7C,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KACpD;IACD,CAAC,KAAK,GAAG,CAAC,EACR,GAAG,EAAE,CAAC,EACN,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,GACtD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;CAWhD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,CAAC,eAAe,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,iBAAiB,MAEpG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,KAC7C,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KACpD;IACD,CAAC,KAAK,GAAG,CAAC,EACR,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAClC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,GAC7E,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAEtB,CAAC,KAAK,GAAG,CAAC,EACR,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,EACnC,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,GACtC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;CAW3B,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,eAAe,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,iBAAiB,MA6EjG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,QAC1C,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KACvD;IACD,CAAC,KAAK,GAAG,CAAC,EACR,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAClC,OAAO,EAAE,IAAI,CAAC,kCAAkC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,GAC/G,SAAS,CACV,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAC9C,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC,EAC9B,CAAC,OAAO,CAAC,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1F,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAC7B,CAAA;IACD,CAAC,KAAK,GAAG,CAAC,EACR,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,gCAAgC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GACrE,SAAS,CACV,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAC9C,WAAW,CAAC,KAAK,CAAC,EAClB,CAAC,OAAO,CAAC,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1F,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAC7B,CAAA;IACD,CAAC,KAAK,GAAG,CAAC,EACR,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,oCAAoC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GACzE,SAAS,CACV,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAC9C,WAAW,CAAC,KAAK,CAAC,EAClB,CAAC,OAAO,CAAC,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1F,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAC7B,CAAA;IACD,CAAC,KAAK,GAAG,CAAC,EACR,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EACvB,OAAO,CAAC,EAAE,kCAAkC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GACxE,SAAS,CACV,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAC9C,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC,EAC9B,CAAC,OAAO,CAAC,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1F,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAC7B,CAAA;CASN,CAAA;AAGD,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;CAAG;AAYzE,eAAO,MAAM,qBAAqB,GAAI,CAAC,eAAe,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,iBAAiB,MAE7G,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,KAC7C,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAC1D,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAMnC,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,CAAC,eAAe,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,iBAAiB,MAE3G,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,KAC7C,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAC1D,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAO7F,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,eAAe,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,iBAAiB,MAE1G,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,KAC7C,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAC1D,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,sBAAsB,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,CAQ1F,CAAA;AAED,KAAK,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS;IACtC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5C,WAAW,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5B,CAAC,OAAO,CAAC,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC;CAC7B,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,cACnB,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aACzB,MAAM,iBAAiB,MAQ/B,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,KAC7C,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAC1D,CAAC,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAWzD,CAAA;AAGD,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC;CAAG;AAQrF,wBAAgB,cAAc,CAC5B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAE3D,OAAO,EAAE,CAAC,EACV,uBAAuB,CAAC,EAAE,OAAO,GAChC,WAAW,CAAC,WAAW,CACxB;KACG,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAChF,KAAK;CACV,EACD;KACG,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAChF,KAAK;CACV,CAAC,MAAM,CAAC,CAAC,CACX,CAwBA;AAED,eAAO,MAAM,cAAc,SAItB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI,SAAS,MAAM,SAC5C,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAClD,CAAC,WACC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KACxC,IAGN,CAAA"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
package/dist/query.js CHANGED
@@ -13,7 +13,7 @@ import * as Stream from "effect/Stream";
13
13
  import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
14
14
  import * as Atom from "effect/unstable/reactivity/Atom";
15
15
  import { computed, effectScope, onBeforeUnmount, onMounted, onScopeDispose, ref, toValue } from "vue";
16
- import { awaitAtomResult, buildQueryFamily, buildStreamQueryFamily, disabledQueryAtom, isStaleResult, refreshAtomWithCurrentSpan, staleTimeMsOf, withQueryOptions } from "./atomQuery.js";
16
+ import { awaitAtomResult, buildQueryFamily, buildStreamQueryFamily, disabledQueryAtom, isStaleResult, queryKeyForAtom, refreshAtomWithCurrentSpan, staleTimeMsOf, withQueryOptions } from "./atomQuery.js";
17
17
  import { latestDefined } from "./suspense.js";
18
18
  const useScopedSuspenseSetup = (setup) => {
19
19
  const scope = effectScope();
@@ -144,6 +144,8 @@ const normalizeQueryOptions = (options) => {
144
144
  const refetchInterval = options?.refreshEvery ?? options?.refetchInterval;
145
145
  if (refetchInterval !== undefined)
146
146
  out.refetchInterval = refetchInterval;
147
+ if (options?.live !== undefined)
148
+ out.live = options.live;
147
149
  return out;
148
150
  };
149
151
  export const useAtomQuery = (atom) => {
@@ -256,7 +258,7 @@ const optionValue = (arr, options) => {
256
258
  const enabled = options?.enabled;
257
259
  return [req, computed(() => enabled === undefined ? true : !!toValue(enabled))];
258
260
  };
259
- const observedAtom = (atom, options) => withQueryOptions(atom, normalizeQueryOptions(options));
261
+ const observedAtom = (atom, options) => withQueryOptions(atom, normalizeQueryOptions(options), queryKeyForAtom(atom));
260
262
  const observedStreamAtom = (atom, options) => {
261
263
  let next = atom;
262
264
  const refetchInterval = options?.refreshEvery ?? options?.refetchInterval;
@@ -418,4 +420,4 @@ export const useUpdateQuery = () => {
418
420
  const f = (query, input, updater) => activeQueryCacheUpdater.update(registry, query, input, updater);
419
421
  return f;
420
422
  };
421
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHNEQUFzRDtBQUN0RCx3REFBd0Q7QUFDeEQsNERBQTREO0FBQzVELCtEQUErRDtBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQy9ELE9BQU8sS0FBSyxLQUFLLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLG1CQUFtQixDQUFBO0FBSTFELE9BQU8sS0FBSyxNQUFNLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUUzQyxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEtBQUssV0FBVyxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JFLE9BQU8sS0FBSyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBb0IsV0FBVyxFQUF5QixlQUFlLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFvQixNQUFNLEtBQUssQ0FBQTtBQUNoSyxPQUFPLEVBQWlELGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsMEJBQTBCLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDeE8sT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQXVCN0MsTUFBTSxzQkFBc0IsR0FBRyxDQUFJLEtBQWMsRUFBRSxFQUFFO0lBQ25ELE1BQU0sS0FBSyxHQUFHLFdBQVcsRUFBRSxDQUFBO0lBQzNCLE1BQU0sVUFBVSxHQUFHLElBQUksZUFB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
423
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHNEQUFzRDtBQUN0RCx3REFBd0Q7QUFDeEQsNERBQTREO0FBQzVELCtEQUErRDtBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQy9ELE9BQU8sS0FBSyxLQUFLLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLG1CQUFtQixDQUFBO0FBSTFELE9BQU8sS0FBSyxNQUFNLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUUzQyxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEtBQUssV0FBVyxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JFLE9BQU8sS0FBSyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBb0IsV0FBVyxFQUF5QixlQUFlLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFvQixNQUFNLEtBQUssQ0FBQTtBQUNoSyxPQUFPLEVBQWlELGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLDBCQUEwQixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXpQLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUE7QUF1QjdDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBSSxLQUFjLEVBQUUsRUFBRTtJQUNuRCxNQUFNLEtBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQTtJQUMzQixNQUFNLFVBQVUsR0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/vue",
3
- "version": "4.0.0-beta.308",
3
+ "version": "4.0.0-beta.309",
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.0-beta.308"
18
+ "effect-app": "4.0.0-beta.309"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@effect/atom-vue": "^4.0.0-beta.90",
package/src/atomQuery.ts CHANGED
@@ -32,8 +32,9 @@ import { isHttpClientError } from "effect/unstable/http/HttpClientError"
32
32
  import * as AsyncResult from "effect/unstable/reactivity/AsyncResult"
33
33
  import * as Atom from "effect/unstable/reactivity/Atom"
34
34
  import * as AtomRegistry from "effect/unstable/reactivity/AtomRegistry"
35
- import { clearQueryReadDependencies, setQueryReadDependencies } from "./dependencyMetadata.ts"
35
+ import { clearQueryReadDependencies, getQueryReadDependencies, setQueryReadDependencies } from "./dependencyMetadata.ts"
36
36
  import { reportRuntimeError } from "./lib.ts"
37
+ import { beginLiveQueryFetch, endLiveQueryFetch, type LiveQueryOptions, registerLiveQuery } from "./liveQueryInvalidation.ts"
37
38
 
38
39
  /** All non-empty prefixes of a key, longest last. `[a,b,c]` -> `[[a],[a,b],[a,b,c]]`. */
39
40
  const prefixesOf = (key: ReadonlyArray<unknown>): ReadonlyArray<ReadonlyArray<unknown>> =>
@@ -226,6 +227,8 @@ export interface AtomQueryOptions {
226
227
  readonly structuralSharing?: boolean
227
228
  /** poll: re-fetch every N ms (tanstack refetchInterval). */
228
229
  readonly refetchInterval?: number
230
+ /** Refresh when writes intersect the dependencies recorded by this query. */
231
+ readonly live?: boolean | LiveQueryOptions
229
232
  }
230
233
 
231
234
  const defaults = { staleTime: Duration.seconds(5), gcTime: Duration.minutes(5) }
@@ -236,6 +239,11 @@ export interface AtomQueryMetadata {
236
239
 
237
240
  const atomQueryMetadata = new WeakMap<Atom.Atom<AsyncResult.AsyncResult<any, any>>, AtomQueryMetadata>()
238
241
  const atomQueryParentSpans = new WeakMap<Atom.Atom<AsyncResult.AsyncResult<any, any>>, Tracer.AnySpan>()
242
+ const atomQueryKeys = new WeakMap<Atom.Atom<AsyncResult.AsyncResult<any, any>>, ReadonlyArray<unknown>>()
243
+
244
+ export const queryKeyForAtom = <A, E>(
245
+ atom: Atom.Atom<AsyncResult.AsyncResult<A, E>>
246
+ ): ReadonlyArray<unknown> | undefined => atomQueryKeys.get(atom)
239
247
 
240
248
  const atomSpanTarget = <A, E>(atom: Atom.Atom<AsyncResult.AsyncResult<A, E>>) => {
241
249
  let target = atom
@@ -351,11 +359,24 @@ const recoverStuckWaitingOnMount =
351
359
 
352
360
  export const withQueryOptions = <A, E>(
353
361
  self: Atom.Atom<AsyncResult.AsyncResult<A, E>>,
354
- opts: AtomQueryOptions = {}
362
+ opts: AtomQueryOptions = {},
363
+ liveKey?: ReadonlyArray<unknown>
355
364
  ): Atom.Atom<AsyncResult.AsyncResult<A, E>> => {
356
365
  setAtomQueryMetadata(self, opts)
357
366
  const staleTime: Duration.Input = opts.staleTime ?? defaults.staleTime
358
367
  let atom = self
368
+ if (opts.live && liveKey !== undefined) {
369
+ const liveOptions = opts.live === true ? {} : opts.live
370
+ atom = Atom.transform(atom, (get) => {
371
+ const unregister = registerLiveQuery(
372
+ liveKey,
373
+ () => getQueryReadDependencies(liveKey),
374
+ liveOptions
375
+ )
376
+ get.addFinalizer(unregister)
377
+ return get(self)
378
+ }, { initialValueTarget: self })
379
+ }
359
380
  const revalidateOnFocus = opts.revalidateOnFocus ?? true
360
381
  atom = Atom.swr({
361
382
  staleTime,
@@ -442,31 +463,38 @@ export const buildQueryFamily = <I, A, E>(
442
463
  // A fetch is now running: the atom is not stuck, and any pending recovery is fulfilled.
443
464
  fetchState.recovering = false
444
465
  fetchState.inFlight++
445
- const recordReads = Effect.gen(function*() {
446
- const readsRef = yield* Ref.make(DataDependencies.empty())
447
- const writesRef = yield* Ref.make(DataDependencies.empty())
448
- const recorder = DataDependencies.makeDataDependencyRecorder(readsRef, writesRef)
449
- const result = yield* self
450
- .handler(input)
451
- .pipe(Effect.provideService(DataDependencies.DataDependencyRecorder, recorder))
452
- lastReads = yield* Ref.get(readsRef)
453
- setQueryReadDependencies(fullKey, lastReads)
454
- return result
455
- })
456
- const effect = recordReads.pipe(
457
- Effect.retry({ times: 5, while: isRetryable }),
458
- Effect.tapCauseIf(Cause.hasDies, (cause) => reportRuntimeError(cause)),
459
- // On exit, the compute is no longer in-flight. An interrupt (subscriber lost interest / a
460
- // superseding refresh) may leave the result at `waiting`; with `inFlight` back at 0 that
461
- // reads as "stuck", so the next mount recovers it (`recoverStuckWaitingOnMount`). We do not
462
- // re-fire here — the interrupt was intentional; recovery is driven by a genuine (re)mount.
463
- Effect.onExit(() =>
464
- Effect.sync(() => {
465
- fetchState.inFlight = Math.max(0, fetchState.inFlight - 1)
466
- })
467
- ),
468
- Effect.withSpan(`query ${self.id}`, {}, { captureStackTrace: false })
469
- )
466
+ const recordReads = Effect
467
+ .gen(function*() {
468
+ const readsRef = yield* Ref.make(DataDependencies.empty())
469
+ const writesRef = yield* Ref.make(DataDependencies.empty())
470
+ const recorder = DataDependencies.makeDataDependencyRecorder(readsRef, writesRef)
471
+ const result = yield* self
472
+ .handler(input)
473
+ .pipe(Effect.provideService(DataDependencies.DataDependencyRecorder, recorder))
474
+ lastReads = yield* Ref.get(readsRef)
475
+ setQueryReadDependencies(fullKey, lastReads)
476
+ return result
477
+ })
478
+ let liveFetch = false
479
+ const effect = Effect
480
+ .gen(function*() {
481
+ liveFetch = yield* Effect.promise(() => beginLiveQueryFetch(fullKey))
482
+ return yield* recordReads.pipe(Effect.retry({ times: 5, while: isRetryable }))
483
+ })
484
+ .pipe(
485
+ Effect.ensuring(Effect.sync(() => endLiveQueryFetch(liveFetch))),
486
+ Effect.tapCauseIf(Cause.hasDies, (cause) => reportRuntimeError(cause)),
487
+ // On exit, the compute is no longer in-flight. An interrupt (subscriber lost interest / a
488
+ // superseding refresh) may leave the result at `waiting`; with `inFlight` back at 0 that
489
+ // reads as "stuck", so the next mount recovers it (`recoverStuckWaitingOnMount`). We do not
490
+ // re-fire here — the interrupt was intentional; recovery is driven by a genuine (re)mount.
491
+ Effect.onExit(() =>
492
+ Effect.sync(() => {
493
+ fetchState.inFlight = Math.max(0, fetchState.inFlight - 1)
494
+ })
495
+ ),
496
+ Effect.withSpan(`query ${self.id}`, {}, { captureStackTrace: false })
497
+ )
470
498
  const parentSpan = takeAtomQueryParentSpan(atom)
471
499
  return parentSpan === undefined
472
500
  ? effect
@@ -500,6 +528,7 @@ export const buildQueryFamily = <I, A, E>(
500
528
  const result = setAtomQueryMetadata(Atom.withLabel(`query-cache:${self.id}`)(writableWithTarget))
501
529
  // Key the fetch state by the atom `withQueryOptions` receives, so its mount hook can find it.
502
530
  queryFetchStates.set(result, fetchState)
531
+ atomQueryKeys.set(result, fullKey)
503
532
  return result
504
533
  })
505
534
  }
@@ -21,6 +21,10 @@ export const clearQueryReadDependencies = (key: ReadonlyArray<unknown>) => {
21
21
  readDependencies.delete(Hash.hash(key))
22
22
  }
23
23
 
24
+ export const getQueryReadDependencies = (
25
+ key: ReadonlyArray<unknown>
26
+ ): DataDependencies.DataDependencies => readDependencies.get(Hash.hash(key))?.reads ?? DataDependencies.empty()
27
+
24
28
  /**
25
29
  * Reactivity keys of every live query whose recorded read-dependencies intersect this
26
30
  * mutation's `writeDependencies`. Returned keys are passed to `invalidateAndAwait`, refreshing
@@ -0,0 +1,138 @@
1
+ import { DataDependencies } from "effect-app/client"
2
+ import * as Hash from "effect/Hash"
3
+
4
+ export interface LiveQueryOptions {
5
+ /** Fixed maximum delay from the first matching write. Zero reacts immediately. */
6
+ readonly maxDelayMs?: number
7
+ }
8
+
9
+ export interface LiveQueryInvalidationSource {
10
+ /** Resolve only after events received after this point can no longer be missed. */
11
+ readonly ready: () => Promise<void>
12
+ readonly subscribe: (
13
+ onWrites: (writes: DataDependencies.DataDependencies) => void,
14
+ onReset: () => void
15
+ ) => () => void
16
+ readonly invalidate: (keys: ReadonlyArray<ReadonlyArray<unknown>>) => void
17
+ }
18
+
19
+ interface LiveQueryEntry {
20
+ readonly key: ReadonlyArray<unknown>
21
+ readonly reads: () => DataDependencies.DataDependencies
22
+ observers: number
23
+ readonly delays: Map<number, number>
24
+ timer: ReturnType<typeof setTimeout> | undefined
25
+ }
26
+
27
+ const entries = new Map<number, LiveQueryEntry>()
28
+ let source: LiveQueryInvalidationSource | undefined
29
+ let unsubscribe: (() => void) | undefined
30
+ let discovering = 0
31
+ let bufferedWrites = DataDependencies.empty()
32
+
33
+ const invalidateEntry = (entry: LiveQueryEntry) => {
34
+ entry.timer = undefined
35
+ source?.invalidate([entry.key])
36
+ }
37
+
38
+ const schedule = (entry: LiveQueryEntry) => {
39
+ if (entry.timer !== undefined) return
40
+ const maxDelayMs = Math.min(...entry.delays.keys())
41
+ if (maxDelayMs <= 0) return invalidateEntry(entry)
42
+ entry.timer = setTimeout(() => invalidateEntry(entry), maxDelayMs)
43
+ }
44
+
45
+ const dispatch = (writes: DataDependencies.DataDependencies) => {
46
+ if (!DataDependencies.isNonEmpty(writes)) return
47
+ for (const entry of entries.values()) {
48
+ if (DataDependencies.intersects(entry.reads(), writes)) schedule(entry)
49
+ }
50
+ }
51
+
52
+ const receive = (writes: DataDependencies.DataDependencies) => {
53
+ if (discovering > 0) {
54
+ bufferedWrites = DataDependencies.merge(bufferedWrites, writes)
55
+ return
56
+ }
57
+ dispatch(writes)
58
+ }
59
+
60
+ const reset = () => {
61
+ bufferedWrites = DataDependencies.empty()
62
+ for (const entry of entries.values()) {
63
+ if (DataDependencies.isNonEmpty(entry.reads())) schedule(entry)
64
+ }
65
+ }
66
+
67
+ const ensureSubscribed = () => {
68
+ if (unsubscribe === undefined && source !== undefined && entries.size > 0) {
69
+ unsubscribe = source.subscribe(receive, reset)
70
+ }
71
+ }
72
+
73
+ export const configureLiveQueryInvalidation = (next: LiveQueryInvalidationSource) => {
74
+ unsubscribe?.()
75
+ unsubscribe = undefined
76
+ source = next
77
+ ensureSubscribed()
78
+ }
79
+
80
+ export const registerLiveQuery = (
81
+ key: ReadonlyArray<unknown>,
82
+ reads: () => DataDependencies.DataDependencies,
83
+ options: LiveQueryOptions
84
+ ) => {
85
+ const hash = Hash.hash(key)
86
+ const delay = options.maxDelayMs ?? 0
87
+ const current = entries.get(hash)
88
+ if (current !== undefined) {
89
+ current.observers++
90
+ current.delays.set(delay, (current.delays.get(delay) ?? 0) + 1)
91
+ } else {
92
+ entries.set(hash, {
93
+ key,
94
+ reads,
95
+ observers: 1,
96
+ delays: new Map([[delay, 1]]),
97
+ timer: undefined
98
+ })
99
+ }
100
+ ensureSubscribed()
101
+
102
+ return () => {
103
+ const entry = entries.get(hash)
104
+ if (entry === undefined) return
105
+ const delayObservers = entry.delays.get(delay) ?? 0
106
+ if (delayObservers <= 1) entry.delays.delete(delay)
107
+ else entry.delays.set(delay, delayObservers - 1)
108
+ if (--entry.observers > 0) return
109
+ if (entry.timer !== undefined) clearTimeout(entry.timer)
110
+ entries.delete(hash)
111
+ if (entries.size === 0) {
112
+ unsubscribe?.()
113
+ unsubscribe = undefined
114
+ bufferedWrites = DataDependencies.empty()
115
+ }
116
+ }
117
+ }
118
+
119
+ export const beginLiveQueryFetch = async (key: ReadonlyArray<unknown>) => {
120
+ if (!entries.has(Hash.hash(key)) || source === undefined) return false
121
+ discovering++
122
+ try {
123
+ await source.ready()
124
+ return true
125
+ } catch (error) {
126
+ discovering--
127
+ throw error
128
+ }
129
+ }
130
+
131
+ export const endLiveQueryFetch = (wasLive: boolean) => {
132
+ if (!wasLive) return
133
+ discovering = Math.max(0, discovering - 1)
134
+ if (discovering > 0 || !DataDependencies.isNonEmpty(bufferedWrites)) return
135
+ const writes = bufferedWrites
136
+ bufferedWrites = DataDependencies.empty()
137
+ dispatch(writes)
138
+ }
package/src/query.ts CHANGED
@@ -17,7 +17,8 @@ import * as Stream from "effect/Stream"
17
17
  import * as AsyncResult from "effect/unstable/reactivity/AsyncResult"
18
18
  import * as Atom from "effect/unstable/reactivity/Atom"
19
19
  import { computed, type ComputedRef, effectScope, type MaybeRefOrGetter, onBeforeUnmount, onMounted, onScopeDispose, ref, toValue, type WatchSource } from "vue"
20
- import { type AtomClientRuntime, type AtomQueryOptions, awaitAtomResult, buildQueryFamily, buildStreamQueryFamily, disabledQueryAtom, isStaleResult, refreshAtomWithCurrentSpan, staleTimeMsOf, withQueryOptions } from "./atomQuery.ts"
20
+ import { type AtomClientRuntime, type AtomQueryOptions, awaitAtomResult, buildQueryFamily, buildStreamQueryFamily, disabledQueryAtom, isStaleResult, queryKeyForAtom, refreshAtomWithCurrentSpan, staleTimeMsOf, withQueryOptions } from "./atomQuery.ts"
21
+ import type { LiveQueryOptions } from "./liveQueryInvalidation.ts"
21
22
  import { latestDefined } from "./suspense.ts"
22
23
 
23
24
  // --- minimal local types (replacing the former @tanstack/vue-query type imports) ---
@@ -201,6 +202,7 @@ export interface CustomUseQueryOptions<
201
202
  readonly structuralSharing?: boolean
202
203
  /** poll: re-fetch every N ms (tanstack refetchInterval) */
203
204
  readonly refetchInterval?: number
205
+ readonly live?: boolean | LiveQueryOptions
204
206
  readonly select?: (data: TQueryFnData) => TData
205
207
  /** accepted for source compatibility; not used by the atom engine */
206
208
  readonly retry?: boolean | number
@@ -253,6 +255,7 @@ export interface AtomQueryNewOptions<TQueryFnData = unknown, TData = TQueryFnDat
253
255
  readonly structuralSharing?: boolean
254
256
  readonly refreshEvery?: number
255
257
  readonly refetchInterval?: number
258
+ readonly live?: boolean | LiveQueryOptions
256
259
  readonly select?: (data: TQueryFnData) => TData
257
260
  }
258
261
 
@@ -263,6 +266,7 @@ export interface AtomStreamQueryOptions {
263
266
  readonly revalidateOnFocus?: boolean
264
267
  readonly refetchOnWindowFocus?: boolean
265
268
  readonly refreshEvery?: number
269
+ readonly live?: boolean | LiveQueryOptions
266
270
  readonly refetchInterval?: number
267
271
  }
268
272
 
@@ -322,6 +326,7 @@ const normalizeQueryOptions = (options?: {
322
326
  readonly structuralSharing?: boolean
323
327
  readonly refetchInterval?: number
324
328
  readonly refreshEvery?: number
329
+ readonly live?: boolean | LiveQueryOptions
325
330
  }): AtomQueryOptions => {
326
331
  const out: {
327
332
  staleTime?: number
@@ -329,6 +334,7 @@ const normalizeQueryOptions = (options?: {
329
334
  revalidateOnFocus?: boolean
330
335
  structuralSharing?: boolean
331
336
  refetchInterval?: number
337
+ live?: boolean | LiveQueryOptions
332
338
  } = {}
333
339
  if (options?.staleTime !== undefined) out.staleTime = options.staleTime
334
340
  const gcTime = options?.idleTTL ?? options?.gcTime
@@ -338,6 +344,7 @@ const normalizeQueryOptions = (options?: {
338
344
  if (options?.structuralSharing !== undefined) out.structuralSharing = options.structuralSharing
339
345
  const refetchInterval = options?.refreshEvery ?? options?.refetchInterval
340
346
  if (refetchInterval !== undefined) out.refetchInterval = refetchInterval
347
+ if (options?.live !== undefined) out.live = options.live
341
348
  return out
342
349
  }
343
350
 
@@ -513,8 +520,10 @@ const observedAtom = <A, E>(
513
520
  readonly structuralSharing?: boolean
514
521
  readonly refetchInterval?: number
515
522
  readonly refreshEvery?: number
523
+ readonly live?: boolean | LiveQueryOptions
516
524
  }
517
- ): Atom.Atom<AsyncResult.AsyncResult<A, E>> => withQueryOptions(atom, normalizeQueryOptions(options))
525
+ ): Atom.Atom<AsyncResult.AsyncResult<A, E>> =>
526
+ withQueryOptions(atom, normalizeQueryOptions(options), queryKeyForAtom(atom))
518
527
 
519
528
  const observedStreamAtom = <A, E>(
520
529
  atom: Atom.Writable<Atom.PullResult<A, E>, void>,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveQueryInvalidation.test.d.ts","sourceRoot":"","sources":["../liveQueryInvalidation.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,108 @@
1
+ import { DataDependencies } from "effect-app/client"
2
+ import { afterEach, describe, expect, it, vi } from "vitest"
3
+ import { beginLiveQueryFetch, configureLiveQueryInvalidation, endLiveQueryFetch, registerLiveQuery } from "../src/liveQueryInvalidation.js"
4
+
5
+ const repo = DataDependencies.repo("Inventory", ["item-1"])
6
+ const otherId = DataDependencies.repo("Inventory", ["item-2"])
7
+
8
+ describe("live query invalidation", () => {
9
+ const cleanups: Array<() => void> = []
10
+
11
+ afterEach(() => {
12
+ while (cleanups.length > 0) cleanups.pop()?.()
13
+ vi.useRealTimers()
14
+ })
15
+
16
+ it("invalidates only live queries whose recorded reads intersect", () => {
17
+ const invalidations: Array<ReadonlyArray<ReadonlyArray<unknown>>> = []
18
+ let receive = (_writes: DataDependencies.DataDependencies) => {}
19
+ configureLiveQueryInvalidation({
20
+ ready: () => Promise.resolve(),
21
+ subscribe: (onWrites) => {
22
+ receive = onWrites
23
+ return () => {}
24
+ },
25
+ invalidate: (keys) => invalidations.push(keys)
26
+ })
27
+
28
+ const key = ["$Inventory", "List", undefined]
29
+ cleanups.push(registerLiveQuery(key, () => new Set([repo]), {}))
30
+ receive(new Set([otherId]))
31
+ expect(invalidations).toEqual([])
32
+
33
+ receive(new Set([repo]))
34
+ expect(invalidations).toEqual([[key]])
35
+ })
36
+
37
+ it("replays writes received while the initial query discovers its dependencies", async () => {
38
+ const invalidations: Array<ReadonlyArray<ReadonlyArray<unknown>>> = []
39
+ let receive = (_writes: DataDependencies.DataDependencies) => {}
40
+ let open = () => {}
41
+ const ready = new Promise<void>((resolve) => open = resolve)
42
+ configureLiveQueryInvalidation({
43
+ ready: () => ready,
44
+ subscribe: (onWrites) => {
45
+ receive = onWrites
46
+ return () => {}
47
+ },
48
+ invalidate: (keys) => invalidations.push(keys)
49
+ })
50
+
51
+ const key = ["$Inventory", "Get", { id: "item-1" }]
52
+ let reads = DataDependencies.empty()
53
+ cleanups.push(registerLiveQuery(key, () => reads, {}))
54
+
55
+ const starting = beginLiveQueryFetch(key)
56
+ receive(new Set([repo]))
57
+ open()
58
+ const wasLive = await starting
59
+ reads = new Set([repo])
60
+ endLiveQueryFetch(wasLive)
61
+
62
+ expect(invalidations).toEqual([[key]])
63
+ })
64
+
65
+ it("coalesces matching writes using the query's maximum delay", () => {
66
+ vi.useFakeTimers()
67
+ const invalidations: Array<ReadonlyArray<ReadonlyArray<unknown>>> = []
68
+ let receive = (_writes: DataDependencies.DataDependencies) => {}
69
+ configureLiveQueryInvalidation({
70
+ ready: () => Promise.resolve(),
71
+ subscribe: (onWrites) => {
72
+ receive = onWrites
73
+ return () => {}
74
+ },
75
+ invalidate: (keys) => invalidations.push(keys)
76
+ })
77
+
78
+ const key = ["$Inventory", "List", undefined]
79
+ cleanups.push(registerLiveQuery(key, () => new Set([repo]), { maxDelayMs: 2_000 }))
80
+ receive(new Set([repo]))
81
+ receive(new Set([repo]))
82
+ vi.advanceTimersByTime(1_999)
83
+ expect(invalidations).toEqual([])
84
+ vi.advanceTimersByTime(1)
85
+ expect(invalidations).toEqual([[key]])
86
+ })
87
+
88
+ it("fails safe by invalidating every live query when the source resets", () => {
89
+ const invalidations: Array<ReadonlyArray<ReadonlyArray<unknown>>> = []
90
+ let reset = () => {}
91
+ configureLiveQueryInvalidation({
92
+ ready: () => Promise.resolve(),
93
+ subscribe: (_onWrites, onReset) => {
94
+ reset = onReset
95
+ return () => {}
96
+ },
97
+ invalidate: (keys) => invalidations.push(keys)
98
+ })
99
+
100
+ const first = ["$Inventory", "List", undefined]
101
+ const second = ["$Orders", "List", undefined]
102
+ cleanups.push(registerLiveQuery(first, () => new Set([repo]), {}))
103
+ cleanups.push(registerLiveQuery(second, () => new Set([otherId]), {}))
104
+ reset()
105
+
106
+ expect(invalidations).toEqual([[first], [second]])
107
+ })
108
+ })