@livestore/livestore 0.0.16 → 0.0.21
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/README.md +18 -21
- package/dist/.tsbuildinfo +1 -1
- package/dist/QueryCache.d.ts +1 -1
- package/dist/QueryCache.d.ts.map +1 -1
- package/dist/QueryCache.js.map +1 -1
- package/dist/__tests__/react/fixture.d.ts +5 -4
- package/dist/__tests__/react/fixture.d.ts.map +1 -1
- package/dist/__tests__/react/fixture.js +5 -5
- package/dist/__tests__/react/fixture.js.map +1 -1
- package/dist/__tests__/react/useComponentState.test.d.ts +2 -0
- package/dist/__tests__/react/useComponentState.test.d.ts.map +1 -0
- package/dist/__tests__/react/useComponentState.test.js +68 -0
- package/dist/__tests__/react/useComponentState.test.js.map +1 -0
- package/dist/__tests__/react/useLQuery.test.d.ts +2 -0
- package/dist/__tests__/react/useLQuery.test.d.ts.map +1 -0
- package/dist/__tests__/react/useLQuery.test.js +38 -0
- package/dist/__tests__/react/useLQuery.test.js.map +1 -0
- package/dist/__tests__/react/useLiveStoreComponent.test.js +4 -9
- package/dist/__tests__/react/useLiveStoreComponent.test.js.map +1 -1
- package/dist/__tests__/react/useQuery.test.d.ts +2 -0
- package/dist/__tests__/react/useQuery.test.d.ts.map +1 -0
- package/dist/__tests__/react/useQuery.test.js +33 -0
- package/dist/__tests__/react/useQuery.test.js.map +1 -0
- package/dist/__tests__/react/utils/extractStackInfoFromStackTrace.test.d.ts +2 -0
- package/dist/__tests__/react/utils/extractStackInfoFromStackTrace.test.d.ts.map +1 -0
- package/dist/__tests__/react/utils/extractStackInfoFromStackTrace.test.js +38 -0
- package/dist/__tests__/react/utils/extractStackInfoFromStackTrace.test.js.map +1 -0
- package/dist/__tests__/reactive.test.js +167 -93
- package/dist/__tests__/reactive.test.js.map +1 -1
- package/dist/__tests__/reactiveQueries/sql.test.d.ts +2 -0
- package/dist/__tests__/reactiveQueries/sql.test.d.ts.map +1 -0
- package/dist/__tests__/reactiveQueries/sql.test.js +337 -0
- package/dist/__tests__/reactiveQueries/sql.test.js.map +1 -0
- package/dist/inMemoryDatabase.d.ts +2 -2
- package/dist/inMemoryDatabase.d.ts.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/react/index.d.ts +3 -3
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -2
- package/dist/react/index.js.map +1 -1
- package/dist/react/useComponentState.d.ts +50 -0
- package/dist/react/useComponentState.d.ts.map +1 -0
- package/dist/react/useComponentState.js +248 -0
- package/dist/react/useComponentState.js.map +1 -0
- package/dist/react/useGlobalQuery.d.ts +3 -0
- package/dist/react/useGlobalQuery.d.ts.map +1 -0
- package/dist/react/useGlobalQuery.js +26 -0
- package/dist/react/useGlobalQuery.js.map +1 -0
- package/dist/react/useGraphQL.d.ts +3 -3
- package/dist/react/useGraphQL.d.ts.map +1 -1
- package/dist/react/useGraphQL.js +10 -8
- package/dist/react/useGraphQL.js.map +1 -1
- package/dist/react/useLiveStoreComponent.d.ts +6 -6
- package/dist/react/useLiveStoreComponent.d.ts.map +1 -1
- package/dist/react/useLiveStoreComponent.js +143 -99
- package/dist/react/useLiveStoreComponent.js.map +1 -1
- package/dist/react/useQuery.d.ts +2 -2
- package/dist/react/useQuery.d.ts.map +1 -1
- package/dist/react/useQuery.js +26 -22
- package/dist/react/useQuery.js.map +1 -1
- package/dist/react/useTemporaryQuery.d.ts +8 -0
- package/dist/react/useTemporaryQuery.d.ts.map +1 -0
- package/dist/react/useTemporaryQuery.js +17 -0
- package/dist/react/useTemporaryQuery.js.map +1 -0
- package/dist/react/utils/extractNamesFromStackTrace.d.ts +3 -0
- package/dist/react/utils/extractNamesFromStackTrace.d.ts.map +1 -0
- package/dist/react/utils/extractNamesFromStackTrace.js +40 -0
- package/dist/react/utils/extractNamesFromStackTrace.js.map +1 -0
- package/dist/react/utils/extractStackInfoFromStackTrace.d.ts +7 -0
- package/dist/react/utils/extractStackInfoFromStackTrace.d.ts.map +1 -0
- package/dist/react/utils/extractStackInfoFromStackTrace.js +40 -0
- package/dist/react/utils/extractStackInfoFromStackTrace.js.map +1 -0
- package/dist/reactive.d.ts +42 -48
- package/dist/reactive.d.ts.map +1 -1
- package/dist/reactive.js +293 -186
- package/dist/reactive.js.map +1 -1
- package/dist/reactiveQueries/base-class.d.ts +28 -23
- package/dist/reactiveQueries/base-class.d.ts.map +1 -1
- package/dist/reactiveQueries/base-class.js +25 -18
- package/dist/reactiveQueries/base-class.js.map +1 -1
- package/dist/reactiveQueries/graph.d.ts +10 -0
- package/dist/reactiveQueries/graph.d.ts.map +1 -0
- package/dist/reactiveQueries/graph.js +6 -0
- package/dist/reactiveQueries/graph.js.map +1 -0
- package/dist/reactiveQueries/graphql.d.ts +34 -17
- package/dist/reactiveQueries/graphql.d.ts.map +1 -1
- package/dist/reactiveQueries/graphql.js +91 -10
- package/dist/reactiveQueries/graphql.js.map +1 -1
- package/dist/reactiveQueries/js.d.ts +16 -12
- package/dist/reactiveQueries/js.d.ts.map +1 -1
- package/dist/reactiveQueries/js.js +31 -8
- package/dist/reactiveQueries/js.js.map +1 -1
- package/dist/reactiveQueries/sql.d.ts +22 -18
- package/dist/reactiveQueries/sql.d.ts.map +1 -1
- package/dist/reactiveQueries/sql.js +82 -16
- package/dist/reactiveQueries/sql.js.map +1 -1
- package/dist/store.d.ts +12 -52
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +283 -264
- package/dist/store.js.map +1 -1
- package/package.json +10 -9
- package/src/QueryCache.ts +1 -1
- package/src/__tests__/react/fixture.tsx +12 -7
- package/src/__tests__/react/{useLiveStoreComponent.test.tsx → useComponentState.test.tsx} +9 -20
- package/src/__tests__/react/useQuery.test.tsx +48 -0
- package/src/__tests__/react/utils/extractStackInfoFromStackTrace.test.ts +40 -0
- package/src/__tests__/reactive.test.ts +193 -140
- package/src/__tests__/reactiveQueries/sql.test.ts +372 -0
- package/src/inMemoryDatabase.ts +2 -2
- package/src/index.ts +7 -11
- package/src/react/index.ts +3 -7
- package/src/react/{useLiveStoreComponent.ts → useComponentState.ts} +89 -247
- package/src/react/useQuery.ts +29 -27
- package/src/react/useTemporaryQuery.ts +21 -0
- package/src/react/utils/extractStackInfoFromStackTrace.ts +47 -0
- package/src/reactive.ts +385 -268
- package/src/reactiveQueries/base-class.ts +60 -44
- package/src/reactiveQueries/graph.ts +15 -0
- package/src/reactiveQueries/graphql.ts +145 -29
- package/src/reactiveQueries/js.ts +53 -20
- package/src/reactiveQueries/sql.ts +129 -36
- package/src/store.ts +338 -408
- package/src/react/useGraphQL.ts +0 -138
package/dist/reactive.d.ts
CHANGED
|
@@ -1,48 +1,52 @@
|
|
|
1
1
|
import type { PrettifyFlat } from '@livestore/utils';
|
|
2
2
|
import type * as otel from '@opentelemetry/api';
|
|
3
3
|
import { BoundArray } from './bounded-collections.js';
|
|
4
|
-
export
|
|
4
|
+
export declare const NOT_REFRESHED_YET: unique symbol;
|
|
5
|
+
export type NOT_REFRESHED_YET = typeof NOT_REFRESHED_YET;
|
|
6
|
+
export type GetAtom = <T>(atom: Atom<T, any>, otelContext?: otel.Context) => T;
|
|
5
7
|
export type Ref<T> = {
|
|
6
8
|
_tag: 'ref';
|
|
7
9
|
id: string;
|
|
8
|
-
|
|
10
|
+
isDirty: false;
|
|
11
|
+
previousResult: T;
|
|
9
12
|
height: 0;
|
|
10
|
-
|
|
11
|
-
sub: Set<Atom<any>>;
|
|
12
|
-
super: Set<Atom<any> | Effect>;
|
|
13
|
+
computeResult: () => T;
|
|
14
|
+
sub: Set<Atom<any, TODO>>;
|
|
15
|
+
super: Set<Atom<any, TODO> | Effect>;
|
|
13
16
|
label?: string;
|
|
14
17
|
/** Container for meta information (e.g. the LiveStore Store) */
|
|
15
18
|
meta?: any;
|
|
16
19
|
equal: (a: T, b: T) => boolean;
|
|
17
20
|
};
|
|
18
|
-
type BaseThunk<
|
|
21
|
+
type BaseThunk<TResult, TContext> = {
|
|
19
22
|
_tag: 'thunk';
|
|
20
23
|
id: string;
|
|
24
|
+
isDirty: boolean;
|
|
21
25
|
height: number;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
computeResult: (otelContext?: otel.Context) => TResult;
|
|
27
|
+
previousResult: TResult | NOT_REFRESHED_YET;
|
|
28
|
+
sub: Set<Atom<any, TContext>>;
|
|
29
|
+
super: Set<Atom<any, TContext> | Effect>;
|
|
25
30
|
label?: string;
|
|
26
31
|
/** Container for meta information (e.g. the LiveStore Store) */
|
|
27
32
|
meta?: any;
|
|
28
|
-
equal: (a:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
result: T;
|
|
33
|
+
equal: (a: TResult, b: TResult) => boolean;
|
|
34
|
+
recomputations: number;
|
|
35
|
+
__getResult: any;
|
|
32
36
|
};
|
|
33
|
-
export type
|
|
37
|
+
export type Thunk<T, TContext> = BaseThunk<T, TContext>;
|
|
38
|
+
export type Atom<T, TContext> = Ref<T> | Thunk<T, TContext>;
|
|
34
39
|
export type Effect = {
|
|
35
40
|
_tag: 'effect';
|
|
36
41
|
id: string;
|
|
37
|
-
doEffect: (
|
|
38
|
-
sub: Set<Atom<any>>;
|
|
42
|
+
doEffect: (otelContext?: otel.Context) => void;
|
|
43
|
+
sub: Set<Atom<any, TODO>>;
|
|
39
44
|
};
|
|
40
45
|
export type Taggable<T extends string = string> = {
|
|
41
46
|
_tag: T;
|
|
42
47
|
};
|
|
43
48
|
export type ReactiveGraphOptions = {
|
|
44
49
|
effectsWrapper?: (runEffects: () => void) => void;
|
|
45
|
-
otelTracer: otel.Tracer;
|
|
46
50
|
};
|
|
47
51
|
export type AtomDebugInfo<TDebugThunkInfo extends Taggable> = {
|
|
48
52
|
atom: SerializedAtom;
|
|
@@ -73,23 +77,18 @@ export type RefreshReasonWithGenericReasons<T extends Taggable> = T | {
|
|
|
73
77
|
export declare const unknownRefreshReason: () => {
|
|
74
78
|
_tag: "unknown";
|
|
75
79
|
};
|
|
76
|
-
export type SerializedAtom = Readonly<PrettifyFlat<Pick<Atom<unknown>, '_tag' | 'height' | 'id' | 'label' | 'meta'
|
|
80
|
+
export type SerializedAtom = Readonly<PrettifyFlat<Pick<Atom<unknown, TODO>, '_tag' | 'height' | 'id' | 'label' | 'meta'> & {
|
|
77
81
|
sub: string[];
|
|
78
82
|
super: string[];
|
|
79
83
|
}>>;
|
|
80
84
|
export type SerializedEffect = Readonly<PrettifyFlat<Pick<Effect, '_tag' | 'id'>>>;
|
|
81
85
|
type ReactiveGraphSnapshot = {
|
|
82
86
|
readonly atoms: SerializedAtom[];
|
|
83
|
-
readonly effects: SerializedEffect[];
|
|
84
|
-
/** IDs of atoms and effects that are dirty */
|
|
85
|
-
readonly dirtyNodes: string[];
|
|
86
87
|
};
|
|
87
|
-
export declare class ReactiveGraph<TDebugRefreshReason extends Taggable, TDebugThunkInfo extends Taggable> {
|
|
88
|
-
|
|
89
|
-
private effects;
|
|
90
|
-
private otelTracer;
|
|
91
|
-
readonly dirtyNodes: Set<Atom<any> | Effect>;
|
|
88
|
+
export declare class ReactiveGraph<TDebugRefreshReason extends Taggable, TDebugThunkInfo extends Taggable, TContext = {}> {
|
|
89
|
+
readonly atoms: Set<Atom<any, TContext>>;
|
|
92
90
|
effectsWrapper: (runEffects: () => void) => void;
|
|
91
|
+
context: TContext | undefined;
|
|
93
92
|
debugRefreshInfos: BoundArray<RefreshDebugInfo<RefreshReasonWithGenericReasons<TDebugRefreshReason>, TDebugThunkInfo>>;
|
|
94
93
|
constructor(options: ReactiveGraphOptions);
|
|
95
94
|
makeRef<T>(val: T, options?: {
|
|
@@ -97,28 +96,26 @@ export declare class ReactiveGraph<TDebugRefreshReason extends Taggable, TDebugT
|
|
|
97
96
|
meta?: unknown;
|
|
98
97
|
equal?: (a: T, b: T) => boolean;
|
|
99
98
|
}): Ref<T>;
|
|
100
|
-
makeThunk<T>(
|
|
99
|
+
makeThunk<T>(getResult_: (get: GetAtom, addDebugInfo: (debugInfo: TDebugThunkInfo) => void, ctx: TContext, otelContext: otel.Context | undefined) => T, options?: {
|
|
101
100
|
label?: string;
|
|
102
101
|
meta?: any;
|
|
103
102
|
equal?: (a: T, b: T) => boolean;
|
|
104
103
|
/** Debug info for initializing the thunk (i.e. running it the first time) */
|
|
105
104
|
debugRefreshReason?: RefreshReasonWithGenericReasons<TDebugRefreshReason>;
|
|
106
|
-
} | undefined
|
|
107
|
-
destroy(node: Atom<any> | Effect): void;
|
|
108
|
-
makeEffect(doEffect: (get: GetAtom) => void, options
|
|
105
|
+
} | undefined): Thunk<T, TContext>;
|
|
106
|
+
destroy(node: Atom<any, TContext> | Effect): void;
|
|
107
|
+
makeEffect(doEffect: (get: GetAtom, otelContext?: otel.Context) => void, options?: {
|
|
109
108
|
label?: string;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
skipRefresh?: boolean;
|
|
109
|
+
debugRefreshReason?: RefreshReasonWithGenericReasons<TDebugRefreshReason>;
|
|
110
|
+
} | undefined): Effect;
|
|
111
|
+
setRef<T>(ref: Ref<T>, val: T, options?: {
|
|
114
112
|
debugRefreshReason?: TDebugRefreshReason;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
skipRefresh?: boolean;
|
|
113
|
+
otelContext?: otel.Context;
|
|
114
|
+
} | undefined): void;
|
|
115
|
+
setRefs<T>(refs: [Ref<T>, T][], options?: {
|
|
119
116
|
debugRefreshReason?: TDebugRefreshReason;
|
|
120
|
-
|
|
121
|
-
|
|
117
|
+
otelContext?: otel.Context;
|
|
118
|
+
} | undefined): void;
|
|
122
119
|
/**
|
|
123
120
|
* Update the graph to be consistent with the current values of the root atoms.
|
|
124
121
|
* Generally we run this after a ref is updated.
|
|
@@ -126,15 +123,12 @@ export declare class ReactiveGraph<TDebugRefreshReason extends Taggable, TDebugT
|
|
|
126
123
|
*
|
|
127
124
|
* @param roots Root atoms to start the refresh from
|
|
128
125
|
*/
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
label(atom: Atom<any> | Effect): string;
|
|
134
|
-
addEdge(superComp: Atom<any> | Effect, subComp: Atom<any>): void;
|
|
135
|
-
removeEdge(superComp: Atom<any> | Effect, subComp: Atom<any>): void;
|
|
136
|
-
updateAtomHeight(atom: Atom<any> | Effect): void;
|
|
126
|
+
label(atom: Atom<any, TContext> | Effect): string;
|
|
127
|
+
addEdge(superComp: Atom<any, TContext> | Effect, subComp: Atom<any, TContext>): void;
|
|
128
|
+
removeEdge(superComp: Atom<any, TContext> | Effect, subComp: Atom<any, TContext>): void;
|
|
129
|
+
updateAtomHeight(atom: Atom<any, TContext> | Effect): void;
|
|
137
130
|
private getSnapshot;
|
|
131
|
+
get atomsCount(): number;
|
|
138
132
|
}
|
|
139
133
|
export {};
|
|
140
134
|
//# sourceMappingURL=reactive.d.ts.map
|
package/dist/reactive.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactive.d.ts","sourceRoot":"","sources":["../src/reactive.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"reactive.d.ts","sourceRoot":"","sources":["../src/reactive.ts"],"names":[],"mappings":"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"}
|