gemi 0.129.0 → 0.130.0

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 (60) hide show
  1. package/dist/{chunk-wmkrb1qv.js → chunk-13agap7z.js} +1 -1
  2. package/dist/{chunk-zw5z1k84.js → chunk-7ynnce4b.js} +1 -1
  3. package/dist/{chunk-sbdm4enk.js → chunk-xtqhagxz.js} +2 -2
  4. package/dist/{chunk-sbdm4enk.js.map → chunk-xtqhagxz.js.map} +1 -1
  5. package/dist/chunks/MutationError-DuKqBW8o.js +199 -0
  6. package/dist/chunks/MutationError-DuKqBW8o.js.map +1 -0
  7. package/dist/chunks/{RealtimeClient-CqGve6h8.js → RealtimeClient-DsWbFRC7.js} +11 -3
  8. package/dist/chunks/RealtimeClient-DsWbFRC7.js.map +1 -0
  9. package/dist/chunks/{ThemeProvider-DaX0eyqs.js → ThemeProvider-gWqXjGh-.js} +70 -91
  10. package/dist/chunks/ThemeProvider-gWqXjGh-.js.map +1 -0
  11. package/dist/chunks/channelKey-CIhHpX6x.js +10 -0
  12. package/dist/chunks/channelKey-CIhHpX6x.js.map +1 -0
  13. package/dist/chunks/fetchFileRequest-BSrgYnAy.js +57 -0
  14. package/dist/chunks/fetchFileRequest-BSrgYnAy.js.map +1 -0
  15. package/dist/chunks/{live-DIUDdLrA.js → live-CUdMhXHL.js} +22 -3
  16. package/dist/chunks/live-CUdMhXHL.js.map +1 -0
  17. package/dist/chunks/mutationExtras-CtY-X9m7.js +115 -0
  18. package/dist/chunks/mutationExtras-CtY-X9m7.js.map +1 -0
  19. package/dist/client/MutationError.d.ts +7 -9
  20. package/dist/client/MutationError.d.ts.map +1 -1
  21. package/dist/client/QueryResource.d.ts +3 -11
  22. package/dist/client/QueryResource.d.ts.map +1 -1
  23. package/dist/client/fetchFile.d.ts +4 -7
  24. package/dist/client/fetchFile.d.ts.map +1 -1
  25. package/dist/client/fetchFileRequest.d.ts +14 -0
  26. package/dist/client/fetchFileRequest.d.ts.map +1 -0
  27. package/dist/client/index.js +88 -339
  28. package/dist/client/index.js.map +1 -1
  29. package/dist/client/lazyModule.d.ts +32 -0
  30. package/dist/client/lazyModule.d.ts.map +1 -0
  31. package/dist/client/mutationErrorHelpers.d.ts +11 -0
  32. package/dist/client/mutationErrorHelpers.d.ts.map +1 -0
  33. package/dist/client/mutationExtras.d.ts +3 -0
  34. package/dist/client/mutationExtras.d.ts.map +1 -0
  35. package/dist/client/mutationModules.d.ts +17 -0
  36. package/dist/client/mutationModules.d.ts.map +1 -0
  37. package/dist/client/queryUpdates.d.ts +22 -0
  38. package/dist/client/queryUpdates.d.ts.map +1 -0
  39. package/dist/client/realtime/RealtimeClient.d.ts +5 -0
  40. package/dist/client/realtime/RealtimeClient.d.ts.map +1 -1
  41. package/dist/client/realtime/channelKey.d.ts +4 -0
  42. package/dist/client/realtime/channelKey.d.ts.map +1 -0
  43. package/dist/client/realtime/live.d.ts +6 -0
  44. package/dist/client/realtime/live.d.ts.map +1 -1
  45. package/dist/client/realtime/loader.d.ts +20 -23
  46. package/dist/client/realtime/loader.d.ts.map +1 -1
  47. package/dist/client/realtime/useChannelSubscription.d.ts.map +1 -1
  48. package/dist/client/useMutation.d.ts +1 -1
  49. package/dist/client/useMutation.d.ts.map +1 -1
  50. package/dist/client/useSetQueryData.d.ts +4 -17
  51. package/dist/client/useSetQueryData.d.ts.map +1 -1
  52. package/dist/server/index.js +1 -1
  53. package/dist/testing/index.js +4 -3
  54. package/dist/testing/index.js.map +1 -1
  55. package/package.json +1 -1
  56. package/dist/chunks/RealtimeClient-CqGve6h8.js.map +0 -1
  57. package/dist/chunks/ThemeProvider-DaX0eyqs.js.map +0 -1
  58. package/dist/chunks/live-DIUDdLrA.js.map +0 -1
  59. /package/dist/{chunk-wmkrb1qv.js.map → chunk-13agap7z.js.map} +0 -0
  60. /package/dist/{chunk-zw5z1k84.js.map → chunk-7ynnce4b.js.map} +0 -0
@@ -0,0 +1,32 @@
1
+ /**
2
+ * What a lazy `import()` resolved to, or a thrown error when it is missing.
3
+ * Vite's preload helper resolves the `import()` to `undefined` instead of
4
+ * rejecting when a `vite:preloadError` listener handled the failure (`init`'s
5
+ * chunk-load recovery does, as it starts a reload): treated as a failed load.
6
+ */
7
+ export declare function loadedModule<T>(module: T | undefined): T;
8
+ /**
9
+ * A module of `gemi/client` loaded with `import()` on first use (#891,
10
+ * #915). An app's bundler places a module by what reaches it statically, and
11
+ * every route's entry chunk reaches all of `gemi/client`, so code that only
12
+ * some pages need stays out of the entry this way.
13
+ *
14
+ * `current` is the module once it has loaded, for callers that must not wait
15
+ * when it is there; `load` is replaceable in tests. Declared as an object
16
+ * literal, never through a call: an app's bundler drops an unused literal and
17
+ * its `import()` with it, while an unused call's `import()` can still emit an
18
+ * orphaned chunk that changes how the app is split.
19
+ */
20
+ export interface LazyModule<M> {
21
+ current: M | null;
22
+ load: () => Promise<M | undefined>;
23
+ /** The load in flight, shared by every caller until it settles. */
24
+ loading?: Promise<M> | null;
25
+ }
26
+ /**
27
+ * The module, loading it if it is not there yet. Callers while it loads share
28
+ * one load, so their callbacks run in call order. A failed load is not kept:
29
+ * the next call runs `import()` again.
30
+ */
31
+ export declare function loadLazy<M>(lazy: LazyModule<M>): Promise<M>;
32
+ //# sourceMappingURL=lazyModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazyModule.d.ts","sourceRoot":"","sources":["../../client/lazyModule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,CAGxD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACnC,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAY3D"}
@@ -0,0 +1,11 @@
1
+ import { type WithMutationErrorHelpers } from "./MutationError";
2
+ /**
3
+ * Puts `list` and `field` on an error the hooks hand over, as non-enumerable
4
+ * properties, so `toEqual`, a spread and `JSON.stringify` see the same object
5
+ * as before. A key the error already has is left alone; a primitive or a
6
+ * frozen value is returned as it is.
7
+ *
8
+ * @internal
9
+ */
10
+ export declare function withMutationErrorHelpers<T>(error: T): WithMutationErrorHelpers<T>;
11
+ //# sourceMappingURL=mutationErrorHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationErrorHelpers.d.ts","sourceRoot":"","sources":["../../client/mutationErrorHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAC9B,MAAM,iBAAiB,CAAC;AA6DzB;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAkBjF"}
@@ -0,0 +1,3 @@
1
+ export { withMutationErrorHelpers } from "./mutationErrorHelpers";
2
+ export { applyQueryUpdates, writeQueryData } from "./queryUpdates";
3
+ //# sourceMappingURL=mutationExtras.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationExtras.d.ts","sourceRoot":"","sources":["../../client/mutationExtras.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type LazyModule } from "./lazyModule";
2
+ /**
3
+ * `./mutationExtras`, which a page only needs once it mutates: loaded when the
4
+ * first mutation hook, or `useSetQueryData()`, mounts (#915), so no route's
5
+ * entry chunk carries it. By the time a request settles it is normally there;
6
+ * one that settles first waits for it.
7
+ *
8
+ * Keep this module out of `gemi/testing`'s imports. Shared with that entry, it
9
+ * moves into the chunk both entries import, and there an app's bundler can
10
+ * emit `./mutationExtras` even for an app that never mutates, which splits the
11
+ * app's entry chunk ("needs no chunk besides the entry to start" in
12
+ * `packaging.test.ts`).
13
+ */
14
+ export declare const mutationExtras: LazyModule<typeof import("./mutationExtras")>;
15
+ /** Starts loading `./mutationExtras`: the hooks' mount effect. */
16
+ export declare function preloadMutationExtras(): void;
17
+ //# sourceMappingURL=mutationModules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationModules.d.ts","sourceRoot":"","sources":["../../client/mutationModules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC,cAAc,kBAAkB,CAAC,CAGxE,CAAC;AAEF,kEAAkE;AAClE,wBAAgB,qBAAqB,SAEpC"}
@@ -0,0 +1,22 @@
1
+ import type { QueryResource } from "./QueryResource";
2
+ import type { QueryTarget, QueryUpdate } from "./useSetQueryData";
3
+ type Resolve = (key: string) => QueryResource;
4
+ /** The value to write, or a function of the cached one. */
5
+ export type WriteQueryNext = {
6
+ value: unknown;
7
+ } | {
8
+ update: (current: any) => unknown;
9
+ };
10
+ /**
11
+ * Write into every variant `target` names. `next` is the value to write, or
12
+ * a function of the cached value; a function skips a variant with nothing
13
+ * cached. A value seeds a single variant that is not cached yet; a predicate
14
+ * only ever reaches variants that are.
15
+ */
16
+ export declare function writeQueryData(getResource: Resolve, routeParams: Record<string, any>, target: QueryTarget<any>, next: WriteQueryNext): void;
17
+ /**
18
+ * Write a mutation's `updates` with its answer.
19
+ */
20
+ export declare function applyQueryUpdates(getResource: Resolve, routeParams: Record<string, any>, updates: ReadonlyArray<QueryUpdate<any>> | undefined, answer: unknown): void;
21
+ export {};
22
+ //# sourceMappingURL=queryUpdates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryUpdates.d.ts","sourceRoot":"","sources":["../../client/queryUpdates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQlE,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,aAAa,CAAC;AAmB9C,2DAA2D;AAC3D,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAA;CAAE,CAAC;AAExF;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EACxB,IAAI,EAAE,cAAc,QAsBrB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,EACpD,MAAM,EAAE,OAAO,QAWhB"}
@@ -149,5 +149,10 @@ export declare class RealtimeClient implements RealtimeSocket {
149
149
  }
150
150
  /** Full jitter, 1 to 30 s: `max(1 s, random × min(30 s, 1 s × 2^attempt))`. */
151
151
  export declare function backoffDelay(attempt: number, random: number): number;
152
+ /**
153
+ * The tab's client, created on first use with the options `configureRealtime`
154
+ * set. `loadRealtimeClient` in `./loader` calls it once this module is loaded.
155
+ */
156
+ export declare function tabClient(): RealtimeClient;
152
157
  export {};
153
158
  //# sourceMappingURL=RealtimeClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RealtimeClient.d.ts","sourceRoot":"","sources":["../../../client/realtime/RealtimeClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RealtimeClient.d.ts","sourceRoot":"","sources":["../../../client/realtime/RealtimeClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ChannelParamValues } from "./RealtimeClient";
2
+ /** `pattern` and its params, canonical: two hooks on one channel share a `sub`. */
3
+ export declare function channelKey(pattern: string, params: ChannelParamValues): string;
4
+ //# sourceMappingURL=channelKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelKey.d.ts","sourceRoot":"","sources":["../../../client/realtime/channelKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAM3D,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAK9E"}
@@ -22,4 +22,10 @@ export declare function resolveLiveChannel(live: LiveChannel | null | undefined
22
22
  * the channel is open, which pauses the query's polling.
23
23
  */
24
24
  export declare function subscribeLive(socket: RealtimeSocket, live: LiveChannel, resource: () => QueryResource, setOpen: (open: boolean) => void): () => void;
25
+ /**
26
+ * What `followLive` in `./loader` hands over to once this module is loaded:
27
+ * subscribes on the provided socket, or the tab's client, loading that first
28
+ * when it is not there yet. Returns the function that stops it.
29
+ */
30
+ export declare function followLive(provided: RealtimeSocket | null, live: LiveChannel, resource: () => QueryResource, setOpen: (open: boolean) => void): () => void;
25
31
  //# sourceMappingURL=live.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../client/realtime/live.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAC7C;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE7D,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,GAC3C;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAAG,IAAI,CAMxD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,aAAa,EAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAC/B,MAAM,IAAI,CAuBZ"}
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../client/realtime/live.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAI3E;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAC7C;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE7D,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,GAC3C;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAAG,IAAI,CAMxD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,aAAa,EAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAC/B,MAAM,IAAI,CAuBZ;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,cAAc,GAAG,IAAI,EAC/B,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,aAAa,EAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAC/B,MAAM,IAAI,CAmBZ"}
@@ -1,8 +1,15 @@
1
+ import { type LazyModule } from "../lazyModule";
1
2
  import type { QueryResource } from "../QueryResource";
2
3
  import type { LiveChannel } from "./live";
3
- import type { ChannelParamValues, RealtimeClient, RealtimeOptions, RealtimeSocket } from "./RealtimeClient";
4
- /** `pattern` and its params, canonical: two hooks on one channel share a `sub`. */
5
- export declare function channelKey(pattern: string, params: ChannelParamValues): string;
4
+ import type { RealtimeClient, RealtimeOptions, RealtimeSocket } from "./RealtimeClient";
5
+ /**
6
+ * The tab's client, once loaded and created (`tabClient` in
7
+ * `./RealtimeClient` creates it), and the options it is created with.
8
+ */
9
+ export declare const realtime: {
10
+ client: RealtimeClient | null;
11
+ options: RealtimeOptions;
12
+ };
6
13
  /**
7
14
  * Sets the socket options (`init({ realtime })` calls it). Takes effect on
8
15
  * the next connection.
@@ -10,18 +17,16 @@ export declare function channelKey(pattern: string, params: ChannelParamValues):
10
17
  export declare function configureRealtime(options?: RealtimeOptions): void;
11
18
  /** The tab's client if it is already loaded, else `null`. Never loads it. */
12
19
  export declare function loadedRealtimeClient(): RealtimeClient | null;
13
- /**
14
- * What a lazy `import()` resolved to, or a thrown error when it is missing.
15
- * Vite's preload helper resolves the `import()` to `undefined` instead of
16
- * rejecting when a `vite:preloadError` listener handled the failure (`init`'s
17
- * chunk-load recovery does, as it starts a reload): treated as a failed load.
18
- */
19
- export declare function loadedModule<T>(module: T | undefined): T;
20
- /** The lazily loaded modules. Replaceable in tests, to simulate a failed load. */
20
+ /** The lazily loaded client. Replaceable in tests, to simulate a failed load. */
21
21
  export declare const lazyModules: {
22
22
  client: () => Promise<typeof import("./RealtimeClient")>;
23
- live: () => Promise<typeof import("./live")>;
24
23
  };
24
+ /**
25
+ * `./live`, loaded by the first live query. `<Page>` in `gemi/testing` sets
26
+ * `current` up front, so a live query on a provided socket subscribes during
27
+ * its effect, as it did before the module was split out.
28
+ */
29
+ export declare const liveModule: LazyModule<Pick<typeof import("./live"), "followLive">>;
25
30
  /**
26
31
  * The tab's client, loading its module and creating it on first use. `null`
27
32
  * on the server. A failed load (a chunk gone after a deploy, the network) is
@@ -30,18 +35,11 @@ export declare const lazyModules: {
30
35
  * reload.
31
36
  */
32
37
  export declare function loadRealtimeClient(): Promise<RealtimeClient> | null;
33
- type LiveModule = typeof import("./live");
34
- /**
35
- * Makes `./live` available without loading it: `<Page>` in `gemi/testing`
36
- * passes it, so a live query on a provided socket subscribes during its
37
- * effect, as it did before the module was split out.
38
- */
39
- export declare function provideLiveModule(module: LiveModule): void;
40
38
  /**
41
39
  * Follows `useQuery`'s `live` channel until the returned function is called.
42
- * `./live` and the socket client are loaded on first use, so `useQuery`
43
- * carries only this; once both are loaded later queries subscribe at once.
44
- * `setOpen` reports `false` until the channel is open.
40
+ * `./live` loads on first use and does the rest, loading the socket client
41
+ * in turn, so `useQuery` carries only this. `setOpen` reports `false` until
42
+ * the channel is open.
45
43
  */
46
44
  export declare function followLive(provided: RealtimeSocket | null, live: LiveChannel, resource: () => QueryResource, setOpen: (open: boolean) => void): () => void;
47
45
  /**
@@ -55,5 +53,4 @@ export declare function reconnectRealtime(): void;
55
53
  * loads or creates the client.
56
54
  */
57
55
  export declare function currentSocketId(): string | null;
58
- export {};
59
56
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../client/realtime/loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,cAAc,EACf,MAAM,kBAAkB,CAAC;AAY1B,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAK9E;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,eAAoB,QAG9D;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,IAAI,cAAc,GAAG,IAAI,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,CAGxD;AAED,kFAAkF;AAClF,eAAO,MAAM,WAAW;;;CAGvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAWnE;AAED,KAAK,UAAU,GAAG,cAAc,QAAQ,CAAC,CAAC;AAG1C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,QAEnD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,cAAc,GAAG,IAAI,EAC/B,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,aAAa,EAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAC/B,MAAM,IAAI,CAqBZ;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,SAEhC;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../client/realtime/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAYxF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE;IAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAG/E,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,eAAoB,QAG9D;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,IAAI,cAAc,GAAG,IAAI,CAE5D;AAID,iFAAiF;AACjF,eAAO,MAAM,WAAW;;CAEvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,EAAE,YAAY,CAAC,CAG9E,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAWnE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,cAAc,GAAG,IAAI,EAC/B,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,aAAa,EAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAC/B,MAAM,IAAI,CAcZ;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,SAEhC;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"useChannelSubscription.d.ts","sourceRoot":"","sources":["../../../client/realtime/useChannelSubscription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAkB,MAAM,kBAAkB,CAAC;AAI1F,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,oEAAoE;IACpE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAKD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,GACf,YAAY,CAmDd;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,GAAE,MAA0B,GAAG,MAAM,IAAI,CAoBvF"}
1
+ {"version":3,"file":"useChannelSubscription.d.ts","sourceRoot":"","sources":["../../../client/realtime/useChannelSubscription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAkB,MAAM,kBAAkB,CAAC;AAI1F,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,oEAAoE;IACpE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAKD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,GACf,YAAY,CAqDd;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,GAAE,MAA0B,GAAG,MAAM,IAAI,CAoBvF"}
@@ -3,7 +3,7 @@ import type { ApiRouterHandler } from "../http/ApiRouter";
3
3
  import type { UnwrapPromise } from "../utils/type";
4
4
  import type { UrlParser } from "./types";
5
5
  import { type MutationError, type WithMutationErrorHelpers } from "./MutationError";
6
- import { type QueryUpdate } from "./useSetQueryData";
6
+ import type { QueryUpdate } from "./useSetQueryData";
7
7
  type Methods = {
8
8
  POST: {
9
9
  [K in keyof RPC as K extends `POST:${infer P}` ? P : never]: RPC[K];
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../client/useMutation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC9B,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAExE,KAAK,OAAO,GAAG;IACb,IAAI,EAAE;SACH,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,QAAQ,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;KACpE,CAAC;IACF,GAAG,EAAE;SACF,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,OAAO,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;KACnE,CAAC;IACF,KAAK,EAAE;SACJ,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,SAAS,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;KACrE,CAAC;IACF,MAAM,EAAE;SACL,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,UAAU,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;KACtE,CAAC;CACH,CAAC;AAWF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B;;;;;;;;OAQG;IACH,OAAO,CAAC,KAAK,EAAE,wBAAwB,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAClE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI;IAC7C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,CAAC,KAAK,EAAE,wBAAwB,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;CACpE,CAAC;AASF,KAAK,IAAI,CACP,CAAC,SAAS,MAAM,OAAO,EACvB,CAAC,SAAS,MAAM,OAAO,CAAC,CAAC,CAAC,IACxB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GACzD,aAAa,CAAC,CAAC,CAAC,GAChB,KAAK,CAAC;AAEV,KAAK,IAAI,CACP,CAAC,SAAS,MAAM,OAAO,EACvB,CAAC,SAAS,MAAM,OAAO,CAAC,CAAC,CAAC,IACxB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1E;;;GAGG;AACH,KAAK,OAAO,CACV,CAAC,SAAS,MAAM,OAAO,EACvB,CAAC,SAAS,MAAM,OAAO,CAAC,CAAC,CAAC,IACxB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/E,KAAK,WAAW,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;AAWjD,wBAAgB,WAAW,CACzB,CAAC,SAAS,MAAM,OAAO,EACvB,CAAC,SAAS,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EACd,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EACd,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAEjB,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,CAAC,EACN,GAAG,IAAI,EAAE;IACP,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAC/E,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/B;UAmNqB,CAAC;;;;;;;iBA3Jb,CAAC,SACH,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;2BAoJK,QAAQ;;EA4BvC;AAED,wBAAgB,OAAO,CACrB,CAAC,SAAS,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EACnB,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAEtB,GAAG,EAAE,CAAC,EACN,GAAG,IAAI,EAAE;IACP,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/B;;;;;;;;;2BAvC6B,QAAQ;;EA0CvC;AAED,wBAAgB,MAAM,CACpB,CAAC,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,EAC9B,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAClB,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAErB,GAAG,EAAE,CAAC,EACN,GAAG,IAAI,EAAE;IACP,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/B;;;;;;;;;2BArD6B,QAAQ;;EAwDvC;AAED,wBAAgB,QAAQ,CACtB,CAAC,SAAS,MAAM,OAAO,CAAC,OAAO,CAAC,EAChC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EACpB,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAEvB,GAAG,EAAE,CAAC,EACN,GAAG,IAAI,EAAE;IACP,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/B;;;;;;;;;2BAnE6B,QAAQ;;EAsEvC;AAED,wBAAgB,SAAS,CACvB,CAAC,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,EACjC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EACrB,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAExB,GAAG,EAAE,CAAC,EACN,GAAG,IAAI,EAAE;IACP,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/B;;;;;;;;;2BAjF6B,QAAQ;;EAoFvC;AAED,wBAAgB,SAAS,CACvB,CAAC,SAAS,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EACnB,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAEtB,GAAG,EAAE,CAAC,EACN,GAAG,IAAI,EAAE;IACP,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;CACpD;;;wBAoCW,QAAQ,GAAG,IAAI,GAAG,IAAI,KAC/B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;;EAiH1B"}
1
+ {"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../client/useMutation.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import type { ApiRouterHandler } from "../http/ApiRouter";
2
2
  import type { NestedPrettify, UnwrapPromise } from "../utils/type";
3
3
  import type { RPC } from "./rpc";
4
4
  import type { UrlParser } from "./types";
5
- import type { QueryResource } from "./QueryResource";
6
5
  type GetRPC = {
7
6
  [K in keyof RPC as K extends `GET:${infer P}` ? P : never]: RPC[K];
8
7
  };
@@ -33,22 +32,6 @@ export type QueryUpdate<T> = {
33
32
  data: (answer: T, current: QueryData<P>) => QueryData<P>;
34
33
  });
35
34
  }[keyof GetRPC];
36
- type Resolve = (key: string) => QueryResource;
37
- /**
38
- * Write into every variant `target` names. `next` is the value to write, or
39
- * a function of the cached value; a function skips a variant with nothing
40
- * cached. A value seeds a single variant that is not cached yet; a predicate
41
- * only ever reaches variants that are.
42
- */
43
- export declare function writeQueryData(getResource: Resolve, routeParams: Record<string, any>, target: QueryTarget<any>, next: {
44
- value: unknown;
45
- } | {
46
- update: (current: any) => unknown;
47
- }): void;
48
- /**
49
- * Write a mutation's `updates` with its answer.
50
- */
51
- export declare function applyQueryUpdates(getResource: Resolve, routeParams: Record<string, any>, updates: ReadonlyArray<QueryUpdate<any>> | undefined, answer: unknown): void;
52
35
  /**
53
36
  * Returns a function that writes into any query's cache by path, with no
54
37
  * refetch: for data the server already answered with. `useMutate` is the
@@ -63,6 +46,10 @@ export declare function applyQueryUpdates(getResource: Resolve, routeParams: Rec
63
46
  * A value replaces the variant's data, and seeds it when nothing is cached
64
47
  * yet. A function updates what is cached and skips a variant with nothing
65
48
  * cached. A predicate `search` reaches every cached variant it accepts.
49
+ *
50
+ * The code behind the writes is loaded when the hook mounts. A call made
51
+ * before it has arrived (during the first render, say) is written once it
52
+ * has, in order.
66
53
  */
67
54
  export declare function useSetQueryData(): <P extends keyof GetRPC>(target: QueryTarget<P>, next: QueryData<P> | ((current: QueryData<P>) => QueryData<P>)) => void;
68
55
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useSetQueryData.d.ts","sourceRoot":"","sources":["../../client/useSetQueryData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,KAAK,MAAM,GAAG;KACX,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,OAAO,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;CACnE,CAAC;AAEF,gDAAgD;AAChD,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,MAAM,IAAI,cAAc,CACrD,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CACvF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,MAAM,IAAI;IAChD,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC;CACvE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GACjC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACvB;QAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAA;KAAE,GAC7D;QAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;CACpE,CAAC,MAAM,MAAM,CAAC,CAAC;AAEhB,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,aAAa,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EACxB,IAAI,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAA;CAAE,QAsBjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,EACpD,MAAM,EAAE,OAAO,QAWhB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,KAIL,CAAC,SAAS,MAAM,MAAM,UAClC,WAAW,CAAC,CAAC,CAAC,QAChB,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAanE"}
1
+ {"version":3,"file":"useSetQueryData.d.ts","sourceRoot":"","sources":["../../client/useSetQueryData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAOzC,KAAK,MAAM,GAAG;KACX,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,OAAO,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;CACnE,CAAC;AAEF,gDAAgD;AAChD,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,MAAM,IAAI,cAAc,CACrD,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CACvF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,MAAM,IAAI;IAChD,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC;CACvE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GACjC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACvB;QAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAA;KAAE,GAC7D;QAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;CACpE,CAAC,MAAM,MAAM,CAAC,CAAC;AAEhB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,KAOL,CAAC,SAAS,MAAM,MAAM,UAClC,WAAW,CAAC,CAAC,CAAC,QAChB,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAmBnE"}
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Ca as f}from"../chunk-kk18xqgc.js";import{Da as S}from"../chunk-bnp6wpzd.js";import{Nk as Q,Pk as Z,Qk as P,Rk as y,Sk as U,Tk as A}from"../chunk-np73p641.js";import{Xk as H}from"../chunk-ty5sp1ym.js";import"../chunk-0vxwrc4t.js";import{cl as F}from"../chunk-xtnbcbkf.js";var x="/__gemi__/health",$=Symbol.for("gemi.server.health");function V(){let z=globalThis;return z[$]??={lagMs:0,consecutiveBreaches:0,degraded:!1,timer:void 0},z[$]}function W(){let z=V(),B=Q();return{healthy:!B&&!z.degraded,shuttingDown:B,lagMs:z.lagMs,consecutiveBreaches:z.consecutiveBreaches}}function E(z,B){let I=V();I.lagMs=z,I.consecutiveBreaches=z>B.maxLagMs?I.consecutiveBreaches+1:0;let J=I.consecutiveBreaches>=B.breaches;if(J&&!I.degraded)console.warn(`[gemi] Health: degraded (event-loop lag ${Math.round(z)}ms, ${I.consecutiveBreaches} samples in a row over ${B.maxLagMs}ms).`);else if(!J&&I.degraded)console.log(`[gemi] Health: recovered (event-loop lag ${Math.round(z)}ms).`);I.degraded=J}function G(z){let B=V();if(B.timer)return;let I=performance.now()+z.intervalMs;B.timer=setInterval(()=>{let J=performance.now();E(Math.max(0,J-I),z),I=J+z.intervalMs},z.intervalMs),B.timer.unref?.()}function _(z=process.env){return{paths:D(z.GEMI_HEALTH_PATH),intervalMs:O("GEMI_HEALTH_INTERVAL_MS",z.GEMI_HEALTH_INTERVAL_MS,500),maxLagMs:O("GEMI_HEALTH_MAX_LAG_MS",z.GEMI_HEALTH_MAX_LAG_MS,1000),breaches:Math.ceil(O("GEMI_HEALTH_BREACHES",z.GEMI_HEALTH_BREACHES,3))}}function D(z){if(z===void 0||z.trim()==="")return[x];if(z.trim().toLowerCase()==="off")return[];let B=z.split(",").map((J)=>J.trim()).filter(Boolean);if(B.filter((J)=>!J.startsWith("/")).length>0)throw Error(`GEMI_HEALTH_PATH: expected comma-separated paths starting with "/", or "off"; got ${JSON.stringify(z)}.`);return B}function O(z,B,I){if(B===void 0||B.trim()==="")return I;let J=Number(B);if(Number.isFinite(J)&&J>0)return J;return console.warn(`[gemi] Ignoring ${z}="${B}": expected a positive number.`),I}function j(z,B){if(B.length===0)return z;let I=new Set(B);return async(J,K)=>{if(!B.some((b)=>J.url.includes(b))||!I.has(new URL(J.url).pathname))return z(J,K);return y(R(J.method))}}function R(z){let B={"Cache-Control":"no-store","Content-Type":"text/plain; charset=utf-8"};if(z!=="GET"&&z!=="HEAD")return new Response("Method Not Allowed",{status:405,headers:{...B,Allow:"GET, HEAD"}});let{healthy:I,shuttingDown:J}=W();return new Response(z==="HEAD"?null:I?"ok":J?"shutting down":"degraded",{status:I?200:503,headers:B})}var L=Symbol.for("gemi.server.devGeneration"),X={graceMs:1e4,providerTimeoutMs:5000};class Y{app;inFlight=0;waiters=new Set;constructor(z){this.app=z}track(z){return async(B,I)=>{this.inFlight++;try{return await z(B,I)}finally{if(this.inFlight--,this.inFlight===0)this.wake()}}}get pending(){return this.inFlight}async retire({graceMs:z,providerTimeoutMs:B}){try{await this.idle(z),await Promise.resolve().then(()=>this.app.shutdown({timeoutMs:B}))}catch(I){C(I)}}idle(z){if(this.inFlight===0)return Promise.resolve();return new Promise((B)=>{let I=()=>{clearTimeout(J),this.waiters.delete(I),B()},J=setTimeout(I,z);this.waiters.add(I)})}wake(){for(let z of this.waiters)z()}}function N(z,B=X){let I=globalThis,J=I[L];if(I[L]=z,!J||J===z||typeof J.retire!=="function")return Promise.resolve();let K=J.retire.bind(J);return Promise.resolve().then(()=>K(B)).catch(C)}function C(z){console.error("[gemi] Shutting down the application a reload replaced failed:",z)}class k{app;instrumentation;handleSignals;server;stopping;settings;constructor(z){this.app=new S({kernel:z.kernel}),this.handleSignals=z.handleSignals??!0,this.instrumentation=U(z.instrumentation??((B,I)=>I(B)))}async start(){process.env.ROOT_DIR=H();let z=Bun.env.NODE_ENV==="production",B=_();if(z)G(B);let I=j(this.instrumentation,B.paths);if(z){if(this.handleSignals)A(()=>this.stop());this.settings=Z()}try{await this.app.waitForBoot()}catch(J){if(!z)this.app.shutdown({timeoutMs:X.providerTimeoutMs});throw J}if(z){let{httpProd:J}=await import("../chunk-wmkrb1qv.js");this.server=await J(this.app,I)}else{f();let{httpDev:J}=await import("../chunk-zw5z1k84.js"),K=new Y(this.app);this.server=await J(this.app,K.track(I)),N(K)}return this.server}stop(z={}){let B=this.app.sockets();return this.stopping??=P({server:this.server,closeSockets:B?()=>B.shutdown():void 0,shutdownProviders:(I)=>this.app.shutdown(I),settings:{...this.settings??Z(),...z}}),this.stopping}}export{W as liveness,Q as isShuttingDown,k as Server};
2
+ import{Ca as f}from"../chunk-kk18xqgc.js";import{Da as S}from"../chunk-bnp6wpzd.js";import{Nk as Q,Pk as Z,Qk as P,Rk as y,Sk as U,Tk as A}from"../chunk-np73p641.js";import{Xk as H}from"../chunk-ty5sp1ym.js";import"../chunk-0vxwrc4t.js";import{cl as F}from"../chunk-xtnbcbkf.js";var x="/__gemi__/health",$=Symbol.for("gemi.server.health");function V(){let z=globalThis;return z[$]??={lagMs:0,consecutiveBreaches:0,degraded:!1,timer:void 0},z[$]}function W(){let z=V(),B=Q();return{healthy:!B&&!z.degraded,shuttingDown:B,lagMs:z.lagMs,consecutiveBreaches:z.consecutiveBreaches}}function E(z,B){let I=V();I.lagMs=z,I.consecutiveBreaches=z>B.maxLagMs?I.consecutiveBreaches+1:0;let J=I.consecutiveBreaches>=B.breaches;if(J&&!I.degraded)console.warn(`[gemi] Health: degraded (event-loop lag ${Math.round(z)}ms, ${I.consecutiveBreaches} samples in a row over ${B.maxLagMs}ms).`);else if(!J&&I.degraded)console.log(`[gemi] Health: recovered (event-loop lag ${Math.round(z)}ms).`);I.degraded=J}function G(z){let B=V();if(B.timer)return;let I=performance.now()+z.intervalMs;B.timer=setInterval(()=>{let J=performance.now();E(Math.max(0,J-I),z),I=J+z.intervalMs},z.intervalMs),B.timer.unref?.()}function _(z=process.env){return{paths:D(z.GEMI_HEALTH_PATH),intervalMs:O("GEMI_HEALTH_INTERVAL_MS",z.GEMI_HEALTH_INTERVAL_MS,500),maxLagMs:O("GEMI_HEALTH_MAX_LAG_MS",z.GEMI_HEALTH_MAX_LAG_MS,1000),breaches:Math.ceil(O("GEMI_HEALTH_BREACHES",z.GEMI_HEALTH_BREACHES,3))}}function D(z){if(z===void 0||z.trim()==="")return[x];if(z.trim().toLowerCase()==="off")return[];let B=z.split(",").map((J)=>J.trim()).filter(Boolean);if(B.filter((J)=>!J.startsWith("/")).length>0)throw Error(`GEMI_HEALTH_PATH: expected comma-separated paths starting with "/", or "off"; got ${JSON.stringify(z)}.`);return B}function O(z,B,I){if(B===void 0||B.trim()==="")return I;let J=Number(B);if(Number.isFinite(J)&&J>0)return J;return console.warn(`[gemi] Ignoring ${z}="${B}": expected a positive number.`),I}function j(z,B){if(B.length===0)return z;let I=new Set(B);return async(J,K)=>{if(!B.some((b)=>J.url.includes(b))||!I.has(new URL(J.url).pathname))return z(J,K);return y(R(J.method))}}function R(z){let B={"Cache-Control":"no-store","Content-Type":"text/plain; charset=utf-8"};if(z!=="GET"&&z!=="HEAD")return new Response("Method Not Allowed",{status:405,headers:{...B,Allow:"GET, HEAD"}});let{healthy:I,shuttingDown:J}=W();return new Response(z==="HEAD"?null:I?"ok":J?"shutting down":"degraded",{status:I?200:503,headers:B})}var L=Symbol.for("gemi.server.devGeneration"),X={graceMs:1e4,providerTimeoutMs:5000};class Y{app;inFlight=0;waiters=new Set;constructor(z){this.app=z}track(z){return async(B,I)=>{this.inFlight++;try{return await z(B,I)}finally{if(this.inFlight--,this.inFlight===0)this.wake()}}}get pending(){return this.inFlight}async retire({graceMs:z,providerTimeoutMs:B}){try{await this.idle(z),await Promise.resolve().then(()=>this.app.shutdown({timeoutMs:B}))}catch(I){C(I)}}idle(z){if(this.inFlight===0)return Promise.resolve();return new Promise((B)=>{let I=()=>{clearTimeout(J),this.waiters.delete(I),B()},J=setTimeout(I,z);this.waiters.add(I)})}wake(){for(let z of this.waiters)z()}}function N(z,B=X){let I=globalThis,J=I[L];if(I[L]=z,!J||J===z||typeof J.retire!=="function")return Promise.resolve();let K=J.retire.bind(J);return Promise.resolve().then(()=>K(B)).catch(C)}function C(z){console.error("[gemi] Shutting down the application a reload replaced failed:",z)}class k{app;instrumentation;handleSignals;server;stopping;settings;constructor(z){this.app=new S({kernel:z.kernel}),this.handleSignals=z.handleSignals??!0,this.instrumentation=U(z.instrumentation??((B,I)=>I(B)))}async start(){process.env.ROOT_DIR=H();let z=Bun.env.NODE_ENV==="production",B=_();if(z)G(B);let I=j(this.instrumentation,B.paths);if(z){if(this.handleSignals)A(()=>this.stop());this.settings=Z()}try{await this.app.waitForBoot()}catch(J){if(!z)this.app.shutdown({timeoutMs:X.providerTimeoutMs});throw J}if(z){let{httpProd:J}=await import("../chunk-13agap7z.js");this.server=await J(this.app,I)}else{f();let{httpDev:J}=await import("../chunk-7ynnce4b.js"),K=new Y(this.app);this.server=await J(this.app,K.track(I)),N(K)}return this.server}stop(z={}){let B=this.app.sockets();return this.stopping??=P({server:this.server,closeSockets:B?()=>B.shutdown():void 0,shutdownProviders:(I)=>this.app.shutdown(I),settings:{...this.settings??Z(),...z}}),this.stopping}}export{W as liveness,Q as isShuttingDown,k as Server};
3
3
 
4
4
  //# debugId=EDD25C650124A74464756E2164756E21
@@ -1,6 +1,7 @@
1
- import { t as live_exports } from "../chunks/live-DIUDdLrA.js";
2
- import { A as ServerDataContext, F as ProgressManager, I as Action, K as toVariantKey, L as createMemoryHistory, R as RealtimeContext, W as provideLiveModule, X as QueryManagerProvider, Y as QueryManagerContext, at as Subject, c as ClientRouterContext, i as RouteTransitionProvider, k as I18nProvider, q as applyParams, r as m, t as ThemeProvider, z as channelKey } from "../chunks/ThemeProvider-DaX0eyqs.js";
1
+ import { t as followLive } from "../chunks/live-CUdMhXHL.js";
2
+ import { A as ServerDataContext, F as ProgressManager, I as Action, K as toVariantKey, L as createMemoryHistory, R as RealtimeContext, V as liveModule, X as QueryManagerProvider, Y as QueryManagerContext, at as Subject, c as ClientRouterContext, i as RouteTransitionProvider, k as I18nProvider, q as applyParams, r as m, t as ThemeProvider } from "../chunks/ThemeProvider-gWqXjGh-.js";
3
3
  import { r as RouteStateProvider } from "../chunks/useParams-BN3XXfmG.js";
4
+ import { t as channelKey } from "../chunks/channelKey-CIhHpX6x.js";
4
5
  import { Suspense, createElement, useContext, useMemo, useRef, useState } from "react";
5
6
  import { jsx } from "react/jsx-runtime";
6
7
  import { hydrateRoot } from "react-dom/client";
@@ -167,7 +168,7 @@ function fakeSocket() {
167
168
  }
168
169
  //#endregion
169
170
  //#region testing/Page.tsx
170
- provideLiveModule(live_exports);
171
+ liveModule.current = { followLive };
171
172
  /** `"?a=b"` (or `""`) from any of the shapes `searchParams` accepts. */
172
173
  function toSearchString(search) {
173
174
  if (!search) return "";