@livestore/react 0.4.0-dev.16 → 0.4.0-dev.18
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/dist/.tsbuildinfo +1 -1
- package/dist/LiveStoreProvider.test.js +2 -2
- package/dist/LiveStoreProvider.test.js.map +1 -1
- package/dist/experimental/multi-store/StoreRegistry.d.ts.map +1 -1
- package/dist/experimental/multi-store/StoreRegistry.js +58 -58
- package/dist/experimental/multi-store/StoreRegistry.js.map +1 -1
- package/dist/experimental/multi-store/StoreRegistry.test.d.ts +2 -0
- package/dist/experimental/multi-store/StoreRegistry.test.d.ts.map +1 -0
- package/dist/experimental/multi-store/StoreRegistry.test.js +373 -0
- package/dist/experimental/multi-store/StoreRegistry.test.js.map +1 -0
- package/dist/experimental/multi-store/useStore.d.ts.map +1 -1
- package/dist/experimental/multi-store/useStore.js +7 -3
- package/dist/experimental/multi-store/useStore.js.map +1 -1
- package/dist/experimental/multi-store/useStore.test.d.ts +2 -0
- package/dist/experimental/multi-store/useStore.test.d.ts.map +1 -0
- package/dist/experimental/multi-store/useStore.test.js +144 -0
- package/dist/experimental/multi-store/useStore.test.js.map +1 -0
- package/dist/useClientDocument.js +1 -1
- package/dist/useClientDocument.js.map +1 -1
- package/dist/useClientDocument.test.js +7 -3
- package/dist/useClientDocument.test.js.map +1 -1
- package/dist/useQuery.d.ts.map +1 -1
- package/dist/useQuery.js +3 -3
- package/dist/useQuery.js.map +1 -1
- package/dist/useQuery.test.js +9 -9
- package/dist/useQuery.test.js.map +1 -1
- package/package.json +6 -6
- package/src/LiveStoreProvider.test.tsx +2 -2
- package/src/experimental/multi-store/StoreRegistry.test.ts +511 -0
- package/src/experimental/multi-store/StoreRegistry.ts +63 -64
- package/src/experimental/multi-store/useStore.test.tsx +197 -0
- package/src/experimental/multi-store/useStore.ts +7 -3
- package/src/useClientDocument.test.tsx +73 -72
- package/src/useClientDocument.ts +1 -1
- package/src/useQuery.test.tsx +15 -9
- package/src/useQuery.ts +4 -3
package/src/useQuery.test.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** biome-ignore-all lint/a11y: test */
|
|
2
2
|
import * as LiveStore from '@livestore/livestore'
|
|
3
|
-
import { queryDb, signal } from '@livestore/livestore'
|
|
3
|
+
import { queryDb, StoreInternalsSymbol, signal } from '@livestore/livestore'
|
|
4
4
|
import { RG } from '@livestore/livestore/internal/testing-utils'
|
|
5
5
|
import { Effect, Schema } from '@livestore/utils/effect'
|
|
6
6
|
import { Vitest } from '@livestore/utils-dev/node-vitest'
|
|
@@ -38,14 +38,14 @@ Vitest.describe.each([{ strictMode: true }, { strictMode: false }] as const)(
|
|
|
38
38
|
|
|
39
39
|
expect(result.current.length).toBe(0)
|
|
40
40
|
expect(renderCount.val).toBe(1)
|
|
41
|
-
expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot()
|
|
41
|
+
expect(store[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot()
|
|
42
42
|
|
|
43
43
|
ReactTesting.act(() => store.commit(events.todoCreated({ id: 't1', text: 'buy milk', completed: false })))
|
|
44
44
|
|
|
45
45
|
expect(result.current.length).toBe(1)
|
|
46
46
|
expect(result.current[0]!.text).toBe('buy milk')
|
|
47
47
|
expect(renderCount.val).toBe(2)
|
|
48
|
-
expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot()
|
|
48
|
+
expect(store[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot()
|
|
49
49
|
}),
|
|
50
50
|
)
|
|
51
51
|
|
|
@@ -80,19 +80,25 @@ Vitest.describe.each([{ strictMode: true }, { strictMode: false }] as const)(
|
|
|
80
80
|
|
|
81
81
|
expect(result.current).toBe('buy milk')
|
|
82
82
|
expect(renderCount.val).toBe(1)
|
|
83
|
-
expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot(
|
|
83
|
+
expect(store[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot(
|
|
84
|
+
'1: after first render',
|
|
85
|
+
)
|
|
84
86
|
|
|
85
87
|
ReactTesting.act(() => store.commit(events.todoUpdated({ id: 't1', text: 'buy soy milk' })))
|
|
86
88
|
|
|
87
89
|
expect(result.current).toBe('buy soy milk')
|
|
88
90
|
expect(renderCount.val).toBe(2)
|
|
89
|
-
expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot(
|
|
91
|
+
expect(store[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot(
|
|
92
|
+
'2: after first commit',
|
|
93
|
+
)
|
|
90
94
|
|
|
91
95
|
rerender('t2')
|
|
92
96
|
|
|
93
97
|
expect(result.current).toBe('buy eggs')
|
|
94
98
|
expect(renderCount.val).toBe(3)
|
|
95
|
-
expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot(
|
|
99
|
+
expect(store[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot(
|
|
100
|
+
'3: after forced rerender',
|
|
101
|
+
)
|
|
96
102
|
}),
|
|
97
103
|
)
|
|
98
104
|
|
|
@@ -120,19 +126,19 @@ Vitest.describe.each([{ strictMode: true }, { strictMode: false }] as const)(
|
|
|
120
126
|
|
|
121
127
|
expect(result.current).toBe('buy milk')
|
|
122
128
|
expect(renderCount.val).toBe(1)
|
|
123
|
-
expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot()
|
|
129
|
+
expect(store[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot()
|
|
124
130
|
|
|
125
131
|
ReactTesting.act(() => store.commit(events.todoUpdated({ id: 't1', text: 'buy soy milk' })))
|
|
126
132
|
|
|
127
133
|
expect(result.current).toBe('buy soy milk')
|
|
128
134
|
expect(renderCount.val).toBe(2)
|
|
129
|
-
expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot()
|
|
135
|
+
expect(store[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot()
|
|
130
136
|
|
|
131
137
|
ReactTesting.act(() => store.setSignal(filter$, 't2'))
|
|
132
138
|
|
|
133
139
|
expect(result.current).toBe('buy eggs')
|
|
134
140
|
expect(renderCount.val).toBe(3)
|
|
135
|
-
expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot()
|
|
141
|
+
expect(store[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot()
|
|
136
142
|
}),
|
|
137
143
|
)
|
|
138
144
|
|
package/src/useQuery.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
type Queryable,
|
|
7
7
|
queryDb,
|
|
8
8
|
type SignalDef,
|
|
9
|
+
StoreInternalsSymbol,
|
|
9
10
|
stackInfoToString,
|
|
10
11
|
} from '@livestore/livestore'
|
|
11
12
|
import type { LiveQueries } from '@livestore/livestore/internal'
|
|
@@ -122,17 +123,17 @@ export const useQueryRef = <TQueryable extends Queryable<any>>(
|
|
|
122
123
|
const { queryRcRef, span, otelContext } = useRcResource(
|
|
123
124
|
rcRefKey,
|
|
124
125
|
() => {
|
|
125
|
-
const span = store.otel.tracer.startSpan(
|
|
126
|
+
const span = store[StoreInternalsSymbol].otel.tracer.startSpan(
|
|
126
127
|
options?.otelSpanName ?? `LiveStore:useQuery:${resourceLabel}`,
|
|
127
128
|
{ attributes: { label: resourceLabel, firstStackInfo: JSON.stringify(stackInfo) } },
|
|
128
|
-
options?.otelContext ?? store.otel.queriesSpanContext,
|
|
129
|
+
options?.otelContext ?? store[StoreInternalsSymbol].otel.queriesSpanContext,
|
|
129
130
|
)
|
|
130
131
|
|
|
131
132
|
const otelContext = otel.trace.setSpan(otel.context.active(), span)
|
|
132
133
|
|
|
133
134
|
const queryRcRef =
|
|
134
135
|
normalized._tag === 'definition'
|
|
135
|
-
? normalized.def.make(store.reactivityGraph.context!, otelContext)
|
|
136
|
+
? normalized.def.make(store[StoreInternalsSymbol].reactivityGraph.context!, otelContext)
|
|
136
137
|
: ({
|
|
137
138
|
value: normalized.query$,
|
|
138
139
|
deref: () => {},
|