@livestore/livestore 0.4.0-dev.1 → 0.4.0-dev.11

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 (61) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/effect/LiveStore.d.ts.map +1 -1
  3. package/dist/effect/LiveStore.js +2 -4
  4. package/dist/effect/LiveStore.js.map +1 -1
  5. package/dist/live-queries/base-class.d.ts.map +1 -1
  6. package/dist/live-queries/base-class.js.map +1 -1
  7. package/dist/live-queries/db-query.d.ts.map +1 -1
  8. package/dist/live-queries/db-query.js +7 -4
  9. package/dist/live-queries/db-query.js.map +1 -1
  10. package/dist/live-queries/db-query.test.js +53 -24
  11. package/dist/live-queries/db-query.test.js.map +1 -1
  12. package/dist/mod.d.ts +2 -2
  13. package/dist/mod.d.ts.map +1 -1
  14. package/dist/mod.js +1 -1
  15. package/dist/mod.js.map +1 -1
  16. package/dist/reactive.d.ts +10 -10
  17. package/dist/reactive.d.ts.map +1 -1
  18. package/dist/reactive.js +36 -27
  19. package/dist/reactive.js.map +1 -1
  20. package/dist/reactive.test.js +115 -0
  21. package/dist/reactive.test.js.map +1 -1
  22. package/dist/store/create-store.d.ts.map +1 -1
  23. package/dist/store/create-store.js +3 -3
  24. package/dist/store/create-store.js.map +1 -1
  25. package/dist/store/store-types.d.ts +13 -2
  26. package/dist/store/store-types.d.ts.map +1 -1
  27. package/dist/store/store-types.js.map +1 -1
  28. package/dist/store/store.d.ts +45 -29
  29. package/dist/store/store.d.ts.map +1 -1
  30. package/dist/store/store.js +165 -100
  31. package/dist/store/store.js.map +1 -1
  32. package/dist/utils/dev.d.ts +3 -0
  33. package/dist/utils/dev.d.ts.map +1 -1
  34. package/dist/utils/dev.js.map +1 -1
  35. package/dist/utils/tests/fixture.d.ts.map +1 -1
  36. package/dist/utils/tests/fixture.js +2 -1
  37. package/dist/utils/tests/fixture.js.map +1 -1
  38. package/dist/utils/tests/otel.d.ts +15 -14
  39. package/dist/utils/tests/otel.d.ts.map +1 -1
  40. package/dist/utils/tests/otel.js +20 -15
  41. package/dist/utils/tests/otel.js.map +1 -1
  42. package/package.json +7 -7
  43. package/src/ambient.d.ts +3 -3
  44. package/src/effect/LiveStore.ts +2 -4
  45. package/src/live-queries/__snapshots__/db-query.test.ts.snap +354 -130
  46. package/src/live-queries/base-class.ts +6 -3
  47. package/src/live-queries/db-query.test.ts +70 -24
  48. package/src/live-queries/db-query.ts +7 -4
  49. package/src/mod.ts +10 -1
  50. package/src/reactive.test.ts +150 -1
  51. package/src/reactive.ts +47 -39
  52. package/src/store/create-store.ts +12 -4
  53. package/src/store/store-types.ts +23 -2
  54. package/src/store/store.ts +262 -193
  55. package/src/utils/dev.ts +5 -0
  56. package/src/utils/tests/fixture.ts +2 -1
  57. package/src/utils/tests/otel.ts +31 -20
  58. package/dist/store/store-shutdown.test.d.ts +0 -2
  59. package/dist/store/store-shutdown.test.d.ts.map +0 -1
  60. package/dist/store/store-shutdown.test.js +0 -103
  61. package/dist/store/store-shutdown.test.js.map +0 -1
@@ -2,6 +2,10 @@ import type {
2
2
  ClientSession,
3
3
  ClientSessionSyncProcessorSimulationParams,
4
4
  IntentionalShutdownCause,
5
+ InvalidPullError,
6
+ IsOfflineError,
7
+ MaterializeError,
8
+ QueryBuilder,
5
9
  StoreInterrupted,
6
10
  SyncError,
7
11
  UnexpectedError,
@@ -11,6 +15,7 @@ import type { Effect, Runtime, Scope } from '@livestore/utils/effect'
11
15
  import { Deferred } from '@livestore/utils/effect'
12
16
  import type * as otel from '@opentelemetry/api'
13
17
 
18
+ import type { LiveQuery, LiveQueryDef, SignalDef } from '../live-queries/base-class.ts'
14
19
  import type { DebugRefreshReasonBase } from '../reactive.ts'
15
20
  import type { StackInfo } from '../utils/stack-info.ts'
16
21
  import type { Store } from './store.ts'
@@ -28,11 +33,11 @@ export type LiveStoreContext =
28
33
 
29
34
  export type ShutdownDeferred = Deferred.Deferred<
30
35
  IntentionalShutdownCause,
31
- UnexpectedError | SyncError | StoreInterrupted
36
+ UnexpectedError | SyncError | StoreInterrupted | MaterializeError | InvalidPullError | IsOfflineError
32
37
  >
33
38
  export const makeShutdownDeferred: Effect.Effect<ShutdownDeferred> = Deferred.make<
34
39
  IntentionalShutdownCause,
35
- UnexpectedError | SyncError | StoreInterrupted
40
+ UnexpectedError | SyncError | StoreInterrupted | MaterializeError | InvalidPullError | IsOfflineError
36
41
  >()
37
42
 
38
43
  export type LiveStoreContextRunning = {
@@ -132,3 +137,19 @@ export type StoreEventsOptions<TSchema extends LiveStoreSchema> = {
132
137
  }
133
138
 
134
139
  export type Unsubscribe = () => void
140
+
141
+ export type SubscribeOptions<TResult> = {
142
+ onSubscribe?: (query$: LiveQuery<TResult>) => void
143
+ onUnsubsubscribe?: () => void
144
+ label?: string
145
+ skipInitialRun?: boolean
146
+ otelContext?: otel.Context
147
+ stackInfo?: StackInfo
148
+ }
149
+
150
+ /** All query definitions or instances the store can execute or subscribe to. */
151
+ export type Queryable<TResult> =
152
+ | LiveQueryDef<TResult>
153
+ | SignalDef<TResult>
154
+ | LiveQuery<TResult>
155
+ | QueryBuilder<TResult, any, any>