@livestore/livestore 0.4.0-dev.9 → 0.5.0-dev.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 (132) hide show
  1. package/README.md +0 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/QueryCache.js +1 -1
  4. package/dist/QueryCache.js.map +1 -1
  5. package/dist/SqliteDbWrapper.d.ts +5 -5
  6. package/dist/SqliteDbWrapper.d.ts.map +1 -1
  7. package/dist/SqliteDbWrapper.js +15 -13
  8. package/dist/SqliteDbWrapper.js.map +1 -1
  9. package/dist/SqliteDbWrapper.test.js +24 -6
  10. package/dist/SqliteDbWrapper.test.js.map +1 -1
  11. package/dist/effect/LiveStore.d.ts +134 -6
  12. package/dist/effect/LiveStore.d.ts.map +1 -1
  13. package/dist/effect/LiveStore.js +190 -11
  14. package/dist/effect/LiveStore.js.map +1 -1
  15. package/dist/effect/LiveStore.test.d.ts +2 -0
  16. package/dist/effect/LiveStore.test.d.ts.map +1 -0
  17. package/dist/effect/LiveStore.test.js +41 -0
  18. package/dist/effect/LiveStore.test.js.map +1 -0
  19. package/dist/effect/mod.d.ts +1 -1
  20. package/dist/effect/mod.d.ts.map +1 -1
  21. package/dist/effect/mod.js +3 -1
  22. package/dist/effect/mod.js.map +1 -1
  23. package/dist/live-queries/base-class.d.ts +129 -9
  24. package/dist/live-queries/base-class.d.ts.map +1 -1
  25. package/dist/live-queries/base-class.js +30 -4
  26. package/dist/live-queries/base-class.js.map +1 -1
  27. package/dist/live-queries/client-document-get-query.d.ts +1 -1
  28. package/dist/live-queries/client-document-get-query.d.ts.map +1 -1
  29. package/dist/live-queries/client-document-get-query.js +4 -3
  30. package/dist/live-queries/client-document-get-query.js.map +1 -1
  31. package/dist/live-queries/computed.d.ts +56 -0
  32. package/dist/live-queries/computed.d.ts.map +1 -1
  33. package/dist/live-queries/computed.js +62 -6
  34. package/dist/live-queries/computed.js.map +1 -1
  35. package/dist/live-queries/db-query.d.ts +2 -2
  36. package/dist/live-queries/db-query.d.ts.map +1 -1
  37. package/dist/live-queries/db-query.js +41 -30
  38. package/dist/live-queries/db-query.js.map +1 -1
  39. package/dist/live-queries/db-query.test.js +112 -29
  40. package/dist/live-queries/db-query.test.js.map +1 -1
  41. package/dist/live-queries/signal.d.ts +49 -0
  42. package/dist/live-queries/signal.d.ts.map +1 -1
  43. package/dist/live-queries/signal.js +51 -2
  44. package/dist/live-queries/signal.js.map +1 -1
  45. package/dist/live-queries/signal.test.js +4 -4
  46. package/dist/live-queries/signal.test.js.map +1 -1
  47. package/dist/mod.d.ts +3 -3
  48. package/dist/mod.d.ts.map +1 -1
  49. package/dist/mod.js +3 -2
  50. package/dist/mod.js.map +1 -1
  51. package/dist/reactive.d.ts +10 -10
  52. package/dist/reactive.d.ts.map +1 -1
  53. package/dist/reactive.js +29 -27
  54. package/dist/reactive.js.map +1 -1
  55. package/dist/reactive.test.js +2 -2
  56. package/dist/reactive.test.js.map +1 -1
  57. package/dist/store/StoreRegistry.d.ts +215 -0
  58. package/dist/store/StoreRegistry.d.ts.map +1 -0
  59. package/dist/store/StoreRegistry.js +267 -0
  60. package/dist/store/StoreRegistry.js.map +1 -0
  61. package/dist/store/StoreRegistry.test.d.ts +2 -0
  62. package/dist/store/StoreRegistry.test.d.ts.map +1 -0
  63. package/dist/store/StoreRegistry.test.js +384 -0
  64. package/dist/store/StoreRegistry.test.js.map +1 -0
  65. package/dist/store/create-store.d.ts +99 -22
  66. package/dist/store/create-store.d.ts.map +1 -1
  67. package/dist/store/create-store.js +85 -37
  68. package/dist/store/create-store.js.map +1 -1
  69. package/dist/store/devtools.d.ts +6 -18
  70. package/dist/store/devtools.d.ts.map +1 -1
  71. package/dist/store/devtools.js +61 -19
  72. package/dist/store/devtools.js.map +1 -1
  73. package/dist/store/store-eventstream.test.d.ts +2 -0
  74. package/dist/store/store-eventstream.test.d.ts.map +1 -0
  75. package/dist/store/store-eventstream.test.js +65 -0
  76. package/dist/store/store-eventstream.test.js.map +1 -0
  77. package/dist/store/store-types.d.ts +271 -31
  78. package/dist/store/store-types.d.ts.map +1 -1
  79. package/dist/store/store-types.js +41 -1
  80. package/dist/store/store-types.js.map +1 -1
  81. package/dist/store/store-types.test.d.ts +2 -0
  82. package/dist/store/store-types.test.d.ts.map +1 -0
  83. package/dist/store/store-types.test.js +39 -0
  84. package/dist/store/store-types.test.js.map +1 -0
  85. package/dist/store/store.d.ts +255 -68
  86. package/dist/store/store.d.ts.map +1 -1
  87. package/dist/store/store.js +533 -186
  88. package/dist/store/store.js.map +1 -1
  89. package/dist/utils/dev.d.ts.map +1 -1
  90. package/dist/utils/dev.js +1 -1
  91. package/dist/utils/dev.js.map +1 -1
  92. package/dist/utils/stack-info.d.ts.map +1 -1
  93. package/dist/utils/stack-info.js +3 -2
  94. package/dist/utils/stack-info.js.map +1 -1
  95. package/dist/utils/tests/fixture.d.ts +46 -39
  96. package/dist/utils/tests/fixture.d.ts.map +1 -1
  97. package/dist/utils/tests/fixture.js +7 -0
  98. package/dist/utils/tests/fixture.js.map +1 -1
  99. package/dist/utils/tests/otel.d.ts.map +1 -1
  100. package/dist/utils/tests/otel.js +5 -5
  101. package/dist/utils/tests/otel.js.map +1 -1
  102. package/package.json +50 -18
  103. package/src/QueryCache.ts +1 -1
  104. package/src/SqliteDbWrapper.test.ts +30 -6
  105. package/src/SqliteDbWrapper.ts +21 -17
  106. package/src/ambient.d.ts +0 -7
  107. package/src/effect/LiveStore.test.ts +61 -0
  108. package/src/effect/LiveStore.ts +426 -22
  109. package/src/effect/mod.ts +13 -1
  110. package/src/live-queries/__snapshots__/db-query.test.ts.snap +814 -178
  111. package/src/live-queries/base-class.ts +162 -32
  112. package/src/live-queries/client-document-get-query.ts +6 -4
  113. package/src/live-queries/computed.ts +65 -8
  114. package/src/live-queries/db-query.test.ts +168 -30
  115. package/src/live-queries/db-query.ts +58 -43
  116. package/src/live-queries/signal.test.ts +5 -4
  117. package/src/live-queries/signal.ts +52 -3
  118. package/src/mod.ts +19 -2
  119. package/src/reactive.test.ts +3 -2
  120. package/src/reactive.ts +58 -49
  121. package/src/store/StoreRegistry.test.ts +543 -0
  122. package/src/store/StoreRegistry.ts +429 -0
  123. package/src/store/create-store.ts +227 -74
  124. package/src/store/devtools.ts +305 -261
  125. package/src/store/store-eventstream.test.ts +123 -0
  126. package/src/store/store-types.test.ts +52 -0
  127. package/src/store/store-types.ts +318 -44
  128. package/src/store/store.ts +695 -283
  129. package/src/utils/dev.ts +3 -4
  130. package/src/utils/stack-info.ts +5 -2
  131. package/src/utils/tests/fixture.ts +9 -1
  132. package/src/utils/tests/otel.ts +8 -7
package/dist/reactive.js CHANGED
@@ -1,23 +1,7 @@
1
1
  // This is a simple implementation of a reactive dependency graph.
2
- // Key Terminology:
3
- // Ref: a mutable cell where values can be set
4
- // Thunk: a pure computation that depends on other values
5
- // Effect: a side effect that runs when a value changes; return value is ignored
6
- // Atom: a node returning a value that can be depended on: Ref | Thunk
7
- // Super computation: Nodes that depend on a given node ("downstream")
8
- // Sub computation: Nodes that a given node depends on ("upstream")
9
- // This vocabulary comes from the MiniAdapton paper linked below, although
10
- // we don't actually implement the MiniAdapton algorithm because we don't need lazy recomputation.
11
- // https://arxiv.org/abs/1609.05337
12
- // Features:
13
- // - Dependencies are tracked automatically in thunk computations by using a getter function
14
- // to reference other atoms.
15
- // - Whenever a ref is updated, the graph is eagerly refreshed to be consistent with the new values.
16
- // - We minimize recomputation by refreshing the graph in topological sort order. (The topological height
17
- // is maintained eagerly as edges are added and removed.)
18
- // - At every thunk we check value equality with the previous value and cutoff propagation if possible.
19
2
  import { BoundArray } from '@livestore/common';
20
3
  import { deepEqual, omitUndefineds, shouldNeverHappen } from '@livestore/utils';
4
+ import { Schema } from '@livestore/utils/effect';
21
5
  // import { getDurationMsFromSpan } from './otel.ts'
22
6
  export const NOT_REFRESHED_YET = Symbol.for('NOT_REFRESHED_YET');
23
7
  export const isThunk = (obj) => {
@@ -73,10 +57,10 @@ export class ReactiveGraph {
73
57
  isDirty: true,
74
58
  isDestroyed: false,
75
59
  computeResult: (otelContext, debugRefreshReason) => {
76
- if (thunk.isDirty) {
60
+ if (thunk.isDirty === true) {
77
61
  const neededCurrentRefresh = this.currentDebugRefresh === undefined;
78
62
  let localDebugRefresh;
79
- if (neededCurrentRefresh) {
63
+ if (neededCurrentRefresh === true) {
80
64
  // Use local variable to prevent corruption from nested computations
81
65
  localDebugRefresh = { refreshedAtoms: [], startMs: performance.now() };
82
66
  this.currentDebugRefresh = localDebugRefresh;
@@ -92,7 +76,7 @@ export class ReactiveGraph {
92
76
  debugInfo = debugInfo_;
93
77
  };
94
78
  const result = getResult(getAtom, setDebugInfo, this.context ?? throwContextNotSetError(this), otelContext, debugRefreshReason);
95
- const resultChanged = thunk.equal(thunk.previousResult, result) === false;
79
+ const resultChanged = !thunk.equal(thunk.previousResult, result);
96
80
  const debugInfoForAtom = {
97
81
  atom: serializeAtom(thunk, false),
98
82
  resultChanged,
@@ -100,13 +84,13 @@ export class ReactiveGraph {
100
84
  };
101
85
  // Use currentDebugRefresh if available (could be from parent or local)
102
86
  const debugRefresh = localDebugRefresh ?? this.currentDebugRefresh;
103
- if (debugRefresh) {
87
+ if (debugRefresh !== undefined) {
104
88
  debugRefresh.refreshedAtoms.push(debugInfoForAtom);
105
89
  }
106
90
  thunk.isDirty = false;
107
91
  thunk.previousResult = result;
108
92
  thunk.recomputations++;
109
- if (neededCurrentRefresh && localDebugRefresh) {
93
+ if (neededCurrentRefresh === true && localDebugRefresh !== undefined) {
110
94
  // Use local reference which can't be corrupted by nested calls
111
95
  const refreshedAtoms = localDebugRefresh.refreshedAtoms;
112
96
  const durationMs = performance.now() - localDebugRefresh.startMs;
@@ -199,7 +183,7 @@ export class ReactiveGraph {
199
183
  ref.refreshes++;
200
184
  markSuperCompDirtyRec(ref, effectsToRefresh);
201
185
  }
202
- if (options?.skipRefresh) {
186
+ if (options?.skipRefresh === true) {
203
187
  for (const effect of effectsToRefresh) {
204
188
  if (this.deferredEffects.has(effect) === false) {
205
189
  this.deferredEffects.set(effect, new Set());
@@ -311,10 +295,10 @@ export class ReactiveGraph {
311
295
  }
312
296
  const compute = (atom, otelContext, debugRefreshReason) => {
313
297
  // const __getResult = atom._tag === 'thunk' ? atom.__getResult.toString() : ''
314
- if (atom.isDestroyed) {
298
+ if (atom.isDestroyed === true) {
315
299
  shouldNeverHappen(`LiveStore Error: Attempted to compute destroyed ${atom._tag} (${atom.id}): ${atom.label ?? ''}`);
316
300
  }
317
- if (atom.isDirty) {
301
+ if (atom.isDirty === true) {
318
302
  // console.log('atom is dirty', atom.id, atom.label ?? '', atom._tag, __getResult)
319
303
  const result = atom.computeResult(otelContext, debugRefreshReason);
320
304
  atom.isDirty = false;
@@ -350,8 +334,26 @@ const serializeAtom = (atom, includeResult) => {
350
334
  for (const a of atom.super) {
351
335
  super_.push(a.id);
352
336
  }
353
- const previousResult = includeResult
354
- ? encodedOptionSome(atom.previousResult === NOT_REFRESHED_YET ? '"SYMBOL_NOT_REFRESHED_YET"' : JSON.stringify(atom.previousResult))
337
+ const previousResult = includeResult === true
338
+ ? encodedOptionSome(atom.previousResult === NOT_REFRESHED_YET
339
+ ? '"SYMBOL_NOT_REFRESHED_YET"'
340
+ : JSON.stringify(atom.previousResult, (key, nestedValue) => {
341
+ if (Schema.isSchema(nestedValue) === false)
342
+ return nestedValue;
343
+ // Query inputs carry schemas for result decoding, but graph snapshots use previousResult
344
+ // to explain reactive data flow. Omitting that field preserves the stable query shape
345
+ // without embedding Effect full schema object graph.
346
+ if (key === 'schema')
347
+ return undefined;
348
+ const annotations = Schema.resolveAnnotations(nestedValue);
349
+ return omitUndefineds({
350
+ _tag: 'Schema',
351
+ ast: nestedValue.ast._tag,
352
+ identifier: annotations?.identifier,
353
+ title: annotations?.title,
354
+ hash: Schema.hash(nestedValue),
355
+ });
356
+ }))
355
357
  : encodedOptionNone();
356
358
  if (atom._tag === 'ref') {
357
359
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"reactive.js","sourceRoot":"","sources":["../src/reactive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactive.js","sourceRoot":"","sources":["../src/reactive.ts"],"names":[],"mappings":"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"}
@@ -119,7 +119,7 @@ describe('a trivial graph', () => {
119
119
  expect(numberOfEffectRuns).toBe(0);
120
120
  const effect = graph.makeEffect((get) => {
121
121
  // establish a dependency on thunk c and mutate an outside value
122
- expect(get(c)).toBe(aHasChanged ? 3 : 4);
122
+ expect(get(c)).toBe(aHasChanged === true ? 3 : 4);
123
123
  numberOfEffectRuns++;
124
124
  });
125
125
  expect(numberOfEffectRuns).toBe(0);
@@ -447,7 +447,7 @@ describe('bug fix: node corruption protection', () => {
447
447
  const thunk2 = graph.makeThunk((get) => get(thunk1));
448
448
  let firstRun = true;
449
449
  const effect = graph.makeEffect((get) => {
450
- if (firstRun) {
450
+ if (firstRun !== undefined) {
451
451
  firstRun = false;
452
452
  graph.destroyNode(thunk1); // Destroy dependency mid-execution
453
453
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reactive.test.js","sourceRoot":"","sources":["../src/reactive.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactive.test.js","sourceRoot":"","sources":["../src/reactive.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,215 @@
1
+ import { UnknownError } from '@livestore/common';
2
+ import type { LiveStoreSchema } from '@livestore/common/schema';
3
+ import { type Context, Effect, type OtelTracer, type Schema, Scope } from '@livestore/utils/effect';
4
+ import { type CreateStoreOptions } from './create-store.ts';
5
+ import type { OtelOptions } from './store-types.ts';
6
+ import type { Store } from './store.ts';
7
+ /**
8
+ * Default time to keep unused stores in cache.
9
+ *
10
+ * - Browser: 60 seconds (60,000 ms)
11
+ * - SSR: Infinity (disables disposal to avoid disposing stores before server render completes)
12
+ *
13
+ * @internal Exported primarily for testing purposes.
14
+ */
15
+ export declare const DEFAULT_UNUSED_CACHE_TIME: number;
16
+ /**
17
+ * Configuration options for stores managed by a {@link StoreRegistry}.
18
+ *
19
+ * Extends {@link CreateStoreOptions} with registry-specific settings for caching and observability.
20
+ * Use with {@link storeOptions} helper to get full type inference when defining reusable store configurations.
21
+ *
22
+ * @typeParam TSchema - The LiveStore schema type
23
+ * @typeParam TContext - User-defined context attached to the store
24
+ * @typeParam TSyncPayloadSchema - Schema for the sync payload sent to the backend
25
+ *
26
+ * @see {@link storeOptions} for defining reusable store configurations
27
+ * @see {@link StoreRegistry} for managing store lifecycles
28
+ */
29
+ export interface RegistryStoreOptions<TSchema extends LiveStoreSchema = LiveStoreSchema.Any, TContext = {}, TSyncPayloadSchema extends Schema.Codec<Schema.Json, Schema.Json> = typeof Schema.Json> extends CreateStoreOptions<TSchema, TContext, TSyncPayloadSchema> {
30
+ /**
31
+ * OpenTelemetry configuration for tracing store operations.
32
+ *
33
+ * When provided, store operations (boot, queries, commits) will be traced
34
+ * under the given root span context using the specified tracer.
35
+ */
36
+ otelOptions?: Partial<OtelOptions>;
37
+ /**
38
+ * The time in milliseconds that this store should remain
39
+ * in memory after becoming unused. When this store becomes
40
+ * unused (no active retentions), it will be disposed after this duration.
41
+ *
42
+ * Stores transition to the unused state as soon as they have no
43
+ * active retentions, so when all components which use that store
44
+ * have unmounted.
45
+ *
46
+ * @remarks
47
+ * - Per-store values override the registry-level default (set via `StoreRegistry` constructor's
48
+ * `defaultOptions.unusedCacheTime`)
49
+ * - The value is fixed when the store is first loaded into the registry. If the same `storeId` is
50
+ * requested again with a different `unusedCacheTime`, the original value is kept.
51
+ * - If set to `Infinity`, will disable automatic disposal
52
+ * - The maximum allowed time is about {@link https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout#maximum_delay_value | 24 days}
53
+ *
54
+ * @defaultValue `60_000` (60 seconds) or `Infinity` during SSR to avoid
55
+ * disposing stores before server render completes.
56
+ */
57
+ unusedCacheTime?: number;
58
+ }
59
+ type StoreRegistryConfig = {
60
+ /**
61
+ * Default options that are applied to all stores when they are loaded.
62
+ *
63
+ * @remarks
64
+ * These are options that typically don't depend on the specific store being loaded:
65
+ * - Framework integration (`batchUpdates`)
66
+ * - Environment settings (`disableDevtools`, `debug`, `otelOptions`)
67
+ * - Behavior defaults (`confirmUnsavedChanges`, `unusedCacheTime`)
68
+ *
69
+ * Store-specific fields like `schema`, `adapter`, `storeId`, and `boot` are intentionally
70
+ * excluded since they vary per store definition.
71
+ */
72
+ defaultOptions?: Partial<Pick<RegistryStoreOptions, 'batchUpdates' | 'disableDevtools' | 'confirmUnsavedChanges' | 'debug' | 'otelOptions' | 'unusedCacheTime'>>;
73
+ /**
74
+ * Custom Effect context for all registry operations (loading, caching, etc.).
75
+ * When the context's scope closes, all managed stores are automatically shut down.
76
+ */
77
+ context?: Context.Context<Scope.Scope | OtelTracer.OtelTracer>;
78
+ };
79
+ /**
80
+ * Store Registry coordinating store loading, caching, and retention
81
+ *
82
+ * @public
83
+ */
84
+ export declare class StoreRegistry {
85
+ #private;
86
+ /**
87
+ * Creates a new StoreRegistry instance.
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * const registry = new StoreRegistry({
92
+ * defaultOptions: {
93
+ * batchUpdates,
94
+ * unusedCacheTime: 30_000,
95
+ * }
96
+ * })
97
+ * ```
98
+ */
99
+ constructor(config?: StoreRegistryConfig);
100
+ /**
101
+ * Gets a cached store or loads a new one, with the store lifetime scoped to the caller.
102
+ *
103
+ * @typeParam TSchema - The schema type for the store
104
+ * @typeParam TContext - The context type for the store
105
+ * @typeParam TSyncPayloadSchema - The sync payload schema type
106
+ * @returns An Effect that yields the store, scoped to the provided Scope
107
+ *
108
+ * @remarks
109
+ * - Stores are kept in cache and reused while any scope holds them
110
+ * - When the scope closes, the reference is released; the store is disposed after `unusedCacheTime`
111
+ * if no other scopes retain it
112
+ * - Concurrent calls with the same storeId share the same store instance
113
+ */
114
+ getOrLoad: <TSchema extends LiveStoreSchema, TContext = {}, TSyncPayloadSchema extends Schema.Codec<Schema.Json, Schema.Json> = typeof Schema.Json>(options: RegistryStoreOptions<TSchema, TContext, TSyncPayloadSchema>) => Effect.Effect<Store<TSchema, TContext>, UnknownError, Scope.Scope>;
115
+ /**
116
+ * Get or load a store, returning it directly if already loaded or a promise if loading.
117
+ *
118
+ * @typeParam TSchema - The schema type for the store
119
+ * @typeParam TContext - The context type for the store
120
+ * @typeParam TSyncPayloadSchema - The sync payload schema type
121
+ * @returns The loaded store if available, or a Promise that resolves to the loaded store
122
+ * @throws unknown - store loading error
123
+ *
124
+ * @remarks
125
+ * - Returns the store instance directly (synchronous) when already loaded
126
+ * - Returns a stable Promise reference when loading is in progress or needs to be initiated
127
+ * - Throws with the same error instance on subsequent calls after failure
128
+ * - Applies default options from registry config, with call-site options taking precedence
129
+ * - Concurrent calls with the same storeId share the same store instance
130
+ */
131
+ getOrLoadPromise: <TSchema extends LiveStoreSchema, TContext = {}, TSyncPayloadSchema extends Schema.Codec<Schema.Json, Schema.Json> = typeof Schema.Json>(options: RegistryStoreOptions<TSchema, TContext, TSyncPayloadSchema>) => Store<TSchema, TContext> | Promise<Store<TSchema, TContext>>;
132
+ /**
133
+ * Retains the store in cache.
134
+ *
135
+ * @typeParam TSchema - The schema type for the store
136
+ * @typeParam TContext - The context type for the store
137
+ * @typeParam TSyncPayloadSchema - The sync payload schema type
138
+ * @returns A release function that, when called, removes this retention hold
139
+ *
140
+ * @remarks
141
+ * - Multiple retains on the same store are independent; each must be released separately
142
+ * - If the store isn't cached yet, it will be loaded and then retained
143
+ * - The store will remain in cache until all retains are released and after `unusedCacheTime` expires
144
+ */
145
+ retain: <TSchema extends LiveStoreSchema, TContext = {}, TSyncPayloadSchema extends Schema.Codec<Schema.Json, Schema.Json> = typeof Schema.Json>(options: RegistryStoreOptions<TSchema, TContext, TSyncPayloadSchema>) => (() => void);
146
+ /**
147
+ * Loads a store (without suspending) to warm up the cache.
148
+ *
149
+ * @typeParam TSchema - The schema of the store to preload
150
+ * @typeParam TContext - The context type for the store
151
+ * @typeParam TSyncPayloadSchema - The sync payload schema type
152
+ * @returns A promise that resolves when the loading is complete (success or failure)
153
+ *
154
+ * @remarks
155
+ * - We don't return the store or throw as this is a fire-and-forget operation.
156
+ * - If the entry remains unused after preload resolves/rejects, it is scheduled for disposal.
157
+ * - Does not affect the retention of the store in cache.
158
+ */
159
+ preload: <TSchema extends LiveStoreSchema, TContext = {}, TSyncPayloadSchema extends Schema.Codec<Schema.Json, Schema.Json> = typeof Schema.Json>(options: RegistryStoreOptions<TSchema, TContext, TSyncPayloadSchema>) => Promise<void>;
160
+ /**
161
+ * Disposes the registry and all its managed stores, immediately releasing resources
162
+ * (database connections, WebSocket connections, web workers, etc.).
163
+ *
164
+ * Most applications should use a single `StoreRegistry` and don't need to call
165
+ * this method. It's only necessary when creating multiple short-lived registries to
166
+ * immediately release resources and avoid conflicts with subsequent registries.
167
+ *
168
+ * @returns A promise that resolves when disposal is complete
169
+ *
170
+ * @remarks
171
+ * - No-op if a custom `context` was provided to the constructor (caller owns cleanup)
172
+ * - Idempotent: safe to call multiple times
173
+ * - After disposal, the registry should not be used
174
+ */
175
+ dispose: () => Promise<void>;
176
+ }
177
+ /**
178
+ * Helper for defining reusable store options with full type inference. Returns
179
+ * options that can be passed to `useStore()` or `storeRegistry.preload()`.
180
+ *
181
+ * @remarks
182
+ * At runtime this is an identity function that returns the input unchanged.
183
+ * Its value lies in enabling TypeScript's excess property checking to catch
184
+ * typos and configuration errors, while allowing options to be shared across
185
+ * `useStore()`, `storeRegistry.preload()`, `storeRegistry.getOrLoad()`, etc.
186
+ *
187
+ * @typeParam TSchema - The LiveStore schema type
188
+ * @typeParam TContext - User-defined context attached to the store
189
+ * @typeParam TSyncPayloadSchema - Schema for the sync payload sent to the backend
190
+ * @param options - The store configuration options
191
+ * @returns The same options object, unchanged
192
+ *
193
+ * @example
194
+ * ```ts
195
+ * export const issueStoreOptions = (issueId: string) =>
196
+ * storeOptions({
197
+ * storeId: `issue-${issueId}`,
198
+ * schema,
199
+ * adapter,
200
+ * unusedCacheTime: 30_000,
201
+ * })
202
+ *
203
+ * // In a component
204
+ * const issueStore = useStore(issueStoreOptions(issueId))
205
+ *
206
+ * // In a route loader or event handler
207
+ * storeRegistry.preload({
208
+ * ...issueStoreOptions(issueId),
209
+ * unusedCacheTime: 10_000,
210
+ * });
211
+ * ```
212
+ */
213
+ export declare const storeOptions: <TSchema extends LiveStoreSchema, TContext = {}, TSyncPayloadSchema extends Schema.Codec<Schema.Json, Schema.Json> = typeof Schema.Json>(options: RegistryStoreOptions<TSchema, TContext, TSyncPayloadSchema>) => RegistryStoreOptions<TSchema, TContext, TSyncPayloadSchema>;
214
+ export {};
215
+ //# sourceMappingURL=StoreRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreRegistry.d.ts","sourceRoot":"","sources":["../../src/store/StoreRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,EAEL,KAAK,OAAO,EACZ,MAAM,EAQN,KAAK,UAAU,EAGf,KAAK,MAAM,EACX,KAAK,EACN,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,kBAAkB,EAAe,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,QAAoE,CAAA;AAE1G;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB,CACnC,OAAO,SAAS,eAAe,GAAG,eAAe,CAAC,GAAG,EACrD,QAAQ,GAAG,EAAE,EACb,kBAAkB,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,MAAM,CAAC,IAAI,CACtF,SAAQ,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC;IACjE;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAClC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,KAAK,mBAAmB,GAAG;IACzB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,CACtB,IAAI,CACF,oBAAoB,EACpB,cAAc,GAAG,iBAAiB,GAAG,uBAAuB,GAAG,OAAO,GAAG,aAAa,GAAG,iBAAiB,CAC3G,CACF,CAAA;IACD;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;CAC/D,CAAA;AAkCD;;;;GAIG;AACH,qBAAa,aAAa;;IAyBxB;;;;;;;;;;;;OAYG;gBACS,MAAM,GAAE,mBAAwB;IAsC5C;;;;;;;;;;;;;OAaG;IACH,SAAS,GACP,OAAO,SAAS,eAAe,EAC/B,QAAQ,GAAG,EAAE,EACb,kBAAkB,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,MAAM,CAAC,IAAI,EAEtF,SAAS,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,KACnE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAOG;IAExE;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,GACd,OAAO,SAAS,eAAe,EAC/B,QAAQ,GAAG,EAAE,EACb,kBAAkB,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,MAAM,CAAC,IAAI,EAEtF,SAAS,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,KACnE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CA+B9D;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,GACJ,OAAO,SAAS,eAAe,EAC/B,QAAQ,GAAG,EAAE,EACb,kBAAkB,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,MAAM,CAAC,IAAI,EAEtF,SAAS,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,KACnE,CAAC,MAAM,IAAI,CAAC,CAYd;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,GACL,OAAO,SAAS,eAAe,EAC/B,QAAQ,GAAG,EAAE,EACb,kBAAkB,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,MAAM,CAAC,IAAI,EAEtF,SAAS,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,KACnE,OAAO,CAAC,IAAI,CAAC,CAMf;IAED;;;;;;;;;;;;;;OAcG;IACH,OAAO,QAAa,OAAO,CAAC,IAAI,CAAC,CAEhC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,YAAY,GACvB,OAAO,SAAS,eAAe,EAC/B,QAAQ,GAAG,EAAE,EACb,kBAAkB,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,MAAM,CAAC,IAAI,EAEtF,SAAS,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,KACnE,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAY,CAAA"}