@livestore/livestore 0.0.9 → 0.0.12

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 (152) hide show
  1. package/package.json +7 -7
  2. package/src/__tests__/react/fixture.tsx +1 -13
  3. package/src/__tests__/reactive.test.ts +39 -0
  4. package/src/inMemoryDatabase.ts +5 -5
  5. package/src/react/useGraphQL.ts +6 -7
  6. package/src/react/useLiveStoreComponent.ts +38 -48
  7. package/src/reactive.ts +12 -11
  8. package/src/reactiveQueries/graphql.ts +5 -3
  9. package/src/reactiveQueries/js.ts +1 -3
  10. package/src/reactiveQueries/sql.ts +6 -6
  11. package/src/store.ts +45 -31
  12. package/dist/.tsbuildinfo +0 -1
  13. package/dist/QueryCache.d.ts +0 -20
  14. package/dist/QueryCache.d.ts.map +0 -1
  15. package/dist/QueryCache.js +0 -71
  16. package/dist/QueryCache.js.map +0 -1
  17. package/dist/__tests__/react/fixture.d.ts +0 -141
  18. package/dist/__tests__/react/fixture.d.ts.map +0 -1
  19. package/dist/__tests__/react/fixture.js +0 -72
  20. package/dist/__tests__/react/fixture.js.map +0 -1
  21. package/dist/__tests__/react/useLiveStoreComponent.test.d.ts +0 -2
  22. package/dist/__tests__/react/useLiveStoreComponent.test.d.ts.map +0 -1
  23. package/dist/__tests__/react/useLiveStoreComponent.test.js +0 -78
  24. package/dist/__tests__/react/useLiveStoreComponent.test.js.map +0 -1
  25. package/dist/__tests__/reactive.test.d.ts +0 -2
  26. package/dist/__tests__/reactive.test.d.ts.map +0 -1
  27. package/dist/__tests__/reactive.test.js +0 -167
  28. package/dist/__tests__/reactive.test.js.map +0 -1
  29. package/dist/backends/base.d.ts +0 -13
  30. package/dist/backends/base.d.ts.map +0 -1
  31. package/dist/backends/base.js +0 -53
  32. package/dist/backends/base.js.map +0 -1
  33. package/dist/backends/index.d.ts +0 -45
  34. package/dist/backends/index.d.ts.map +0 -1
  35. package/dist/backends/index.js +0 -38
  36. package/dist/backends/index.js.map +0 -1
  37. package/dist/backends/noop.d.ts +0 -18
  38. package/dist/backends/noop.d.ts.map +0 -1
  39. package/dist/backends/noop.js +0 -21
  40. package/dist/backends/noop.js.map +0 -1
  41. package/dist/backends/tauri.d.ts +0 -22
  42. package/dist/backends/tauri.d.ts.map +0 -1
  43. package/dist/backends/tauri.js +0 -48
  44. package/dist/backends/tauri.js.map +0 -1
  45. package/dist/backends/utils/idb.d.ts +0 -10
  46. package/dist/backends/utils/idb.d.ts.map +0 -1
  47. package/dist/backends/utils/idb.js +0 -58
  48. package/dist/backends/utils/idb.js.map +0 -1
  49. package/dist/backends/web-in-memory.d.ts +0 -22
  50. package/dist/backends/web-in-memory.d.ts.map +0 -1
  51. package/dist/backends/web-in-memory.js +0 -45
  52. package/dist/backends/web-in-memory.js.map +0 -1
  53. package/dist/backends/web-worker.d.ts +0 -17
  54. package/dist/backends/web-worker.d.ts.map +0 -1
  55. package/dist/backends/web-worker.js +0 -139
  56. package/dist/backends/web-worker.js.map +0 -1
  57. package/dist/backends/web.d.ts +0 -27
  58. package/dist/backends/web.d.ts.map +0 -1
  59. package/dist/backends/web.js +0 -63
  60. package/dist/backends/web.js.map +0 -1
  61. package/dist/bounded-collections.d.ts +0 -34
  62. package/dist/bounded-collections.d.ts.map +0 -1
  63. package/dist/bounded-collections.js +0 -103
  64. package/dist/bounded-collections.js.map +0 -1
  65. package/dist/componentKey.d.ts +0 -20
  66. package/dist/componentKey.d.ts.map +0 -1
  67. package/dist/componentKey.js +0 -3
  68. package/dist/componentKey.js.map +0 -1
  69. package/dist/effect/LiveStore.d.ts +0 -42
  70. package/dist/effect/LiveStore.d.ts.map +0 -1
  71. package/dist/effect/LiveStore.js +0 -40
  72. package/dist/effect/LiveStore.js.map +0 -1
  73. package/dist/effect/index.d.ts +0 -2
  74. package/dist/effect/index.d.ts.map +0 -1
  75. package/dist/effect/index.js +0 -2
  76. package/dist/effect/index.js.map +0 -1
  77. package/dist/events.d.ts +0 -7
  78. package/dist/events.d.ts.map +0 -1
  79. package/dist/events.js +0 -2
  80. package/dist/events.js.map +0 -1
  81. package/dist/inMemoryDatabase.d.ts +0 -65
  82. package/dist/inMemoryDatabase.d.ts.map +0 -1
  83. package/dist/inMemoryDatabase.js +0 -241
  84. package/dist/inMemoryDatabase.js.map +0 -1
  85. package/dist/index.d.ts +0 -20
  86. package/dist/index.d.ts.map +0 -1
  87. package/dist/index.js +0 -10
  88. package/dist/index.js.map +0 -1
  89. package/dist/otel.d.ts +0 -5
  90. package/dist/otel.d.ts.map +0 -1
  91. package/dist/otel.js +0 -17
  92. package/dist/otel.js.map +0 -1
  93. package/dist/react/LiveStoreContext.d.ts +0 -11
  94. package/dist/react/LiveStoreContext.d.ts.map +0 -1
  95. package/dist/react/LiveStoreContext.js +0 -10
  96. package/dist/react/LiveStoreContext.js.map +0 -1
  97. package/dist/react/LiveStoreProvider.d.ts +0 -21
  98. package/dist/react/LiveStoreProvider.d.ts.map +0 -1
  99. package/dist/react/LiveStoreProvider.js +0 -48
  100. package/dist/react/LiveStoreProvider.js.map +0 -1
  101. package/dist/react/index.d.ts +0 -7
  102. package/dist/react/index.d.ts.map +0 -1
  103. package/dist/react/index.js +0 -6
  104. package/dist/react/index.js.map +0 -1
  105. package/dist/react/useGlobalQuery.d.ts +0 -3
  106. package/dist/react/useGlobalQuery.d.ts.map +0 -1
  107. package/dist/react/useGlobalQuery.js +0 -25
  108. package/dist/react/useGlobalQuery.js.map +0 -1
  109. package/dist/react/useGraphQL.d.ts +0 -11
  110. package/dist/react/useGraphQL.d.ts.map +0 -1
  111. package/dist/react/useGraphQL.js +0 -68
  112. package/dist/react/useGraphQL.js.map +0 -1
  113. package/dist/react/useLiveStoreComponent.d.ts +0 -70
  114. package/dist/react/useLiveStoreComponent.d.ts.map +0 -1
  115. package/dist/react/useLiveStoreComponent.js +0 -261
  116. package/dist/react/useLiveStoreComponent.js.map +0 -1
  117. package/dist/react/utils/useStateRefWithReactiveInput.d.ts +0 -13
  118. package/dist/react/utils/useStateRefWithReactiveInput.d.ts.map +0 -1
  119. package/dist/react/utils/useStateRefWithReactiveInput.js +0 -38
  120. package/dist/react/utils/useStateRefWithReactiveInput.js.map +0 -1
  121. package/dist/reactive.d.ts +0 -140
  122. package/dist/reactive.d.ts.map +0 -1
  123. package/dist/reactive.js +0 -301
  124. package/dist/reactive.js.map +0 -1
  125. package/dist/reactiveQueries/base-class.d.ts +0 -24
  126. package/dist/reactiveQueries/base-class.d.ts.map +0 -1
  127. package/dist/reactiveQueries/base-class.js +0 -22
  128. package/dist/reactiveQueries/base-class.js.map +0 -1
  129. package/dist/reactiveQueries/graphql.d.ts +0 -25
  130. package/dist/reactiveQueries/graphql.d.ts.map +0 -1
  131. package/dist/reactiveQueries/graphql.js +0 -14
  132. package/dist/reactiveQueries/graphql.js.map +0 -1
  133. package/dist/reactiveQueries/js.d.ts +0 -19
  134. package/dist/reactiveQueries/js.d.ts.map +0 -1
  135. package/dist/reactiveQueries/js.js +0 -13
  136. package/dist/reactiveQueries/js.js.map +0 -1
  137. package/dist/reactiveQueries/sql.d.ts +0 -31
  138. package/dist/reactiveQueries/sql.d.ts.map +0 -1
  139. package/dist/reactiveQueries/sql.js +0 -28
  140. package/dist/reactiveQueries/sql.js.map +0 -1
  141. package/dist/schema.d.ts +0 -163
  142. package/dist/schema.d.ts.map +0 -1
  143. package/dist/schema.js +0 -92
  144. package/dist/schema.js.map +0 -1
  145. package/dist/store.d.ts +0 -175
  146. package/dist/store.d.ts.map +0 -1
  147. package/dist/store.js +0 -549
  148. package/dist/store.js.map +0 -1
  149. package/dist/util.d.ts +0 -24
  150. package/dist/util.d.ts.map +0 -1
  151. package/dist/util.js +0 -51
  152. package/dist/util.js.map +0 -1
package/dist/reactive.js DELETED
@@ -1,301 +0,0 @@
1
- // This is a simple implementation of a reactive dependency graph.
2
- import { pick } from '@livestore/utils';
3
- import { isEqual, max, uniqueId } from 'lodash-es';
4
- import { BoundArray } from './bounded-collections.js';
5
- class DependencyNotReadyError extends Error {
6
- constructor(message) {
7
- super(message);
8
- this.name = 'DependencyNotReadyError';
9
- }
10
- }
11
- export const unknownRefreshReason = () => {
12
- debugger;
13
- return { _tag: 'unknown' };
14
- };
15
- const uniqueNodeId = () => uniqueId('node-');
16
- const uniqueRefreshInfoId = () => uniqueId('refresh-info-');
17
- const serializeAtom = (atom) => ({
18
- ...pick(atom, ['_tag', 'height', 'id', 'label', 'meta', 'result']),
19
- sub: Array.from(atom.sub).map((a) => a.id),
20
- super: Array.from(atom.super).map((a) => a.id),
21
- });
22
- const serializeEffect = (effect) => pick(effect, ['_tag', 'id']);
23
- export class ReactiveGraph {
24
- constructor(options) {
25
- this.atoms = new Set();
26
- this.effects = new Set();
27
- this.dirtyNodes = new Set();
28
- this.debugRefreshInfos = new BoundArray(5000);
29
- this.getSnapshot = () => ({
30
- atoms: Array.from(this.atoms).map(serializeAtom),
31
- effects: Array.from(this.effects).map(serializeEffect),
32
- dirtyNodes: Array.from(this.dirtyNodes).map((a) => a.id),
33
- });
34
- this.effectsWrapper = options?.effectsWrapper ?? ((runEffects) => runEffects());
35
- this.otelTracer = options.otelTracer;
36
- }
37
- makeRef(val, options) {
38
- const ref = {
39
- _tag: 'ref',
40
- id: uniqueNodeId(),
41
- result: val,
42
- height: 0,
43
- getResult: () => ref.result,
44
- sub: new Set(),
45
- super: new Set(),
46
- label: options?.label,
47
- meta: options?.meta,
48
- equal: options?.equal ?? isEqual,
49
- };
50
- this.atoms.add(ref);
51
- return ref;
52
- }
53
- makeThunk(getResult, options, parentSpanContext) {
54
- const thunk = {
55
- _tag: 'thunk',
56
- id: uniqueNodeId(),
57
- result: undefined,
58
- height: 0,
59
- getResult,
60
- sub: new Set(),
61
- super: new Set(),
62
- label: options?.label,
63
- meta: options?.meta,
64
- equal: options?.equal ?? isEqual,
65
- };
66
- this.atoms.add(thunk);
67
- this.dirtyNodes.add(thunk);
68
- this.refresh({
69
- otelHint: options?.label ?? 'makeThunk',
70
- debugRefreshReason: options?.debugRefreshReason ?? { _tag: 'makeThunk', label: options?.label },
71
- }, parentSpanContext);
72
- // Manually tell the typesystem this thunk is guaranteed to have a result at this point
73
- return thunk;
74
- }
75
- destroy(node) {
76
- // Recursively destroy any supercomputations
77
- if (node._tag === 'ref' || node._tag === 'thunk') {
78
- for (const superComp of node.super) {
79
- this.destroy(superComp);
80
- }
81
- }
82
- // Destroy this node
83
- for (const subComp of node.sub) {
84
- this.removeEdge(node, subComp);
85
- }
86
- if (node._tag === 'effect') {
87
- this.effects.delete(node);
88
- }
89
- else {
90
- this.atoms.delete(node);
91
- }
92
- }
93
- makeEffect(doEffect, options, parentSpanContext) {
94
- const effect = {
95
- _tag: 'effect',
96
- id: uniqueNodeId(),
97
- doEffect,
98
- sub: new Set(),
99
- };
100
- this.effects.add(effect);
101
- this.dirtyNodes.add(effect);
102
- this.refresh({ otelHint: 'makeEffect', debugRefreshReason: { _tag: 'makeEffect', label: options?.label } }, parentSpanContext);
103
- return effect;
104
- }
105
- setRef(ref, val, options, parentSpanContext) {
106
- const { otelHint, skipRefresh, debugRefreshReason } = options ?? {};
107
- ref.result = val;
108
- this.dirtyNodes.add(ref);
109
- if (skipRefresh) {
110
- const refreshDebugInfo = {
111
- id: uniqueRefreshInfoId(),
112
- reason: debugRefreshReason ?? unknownRefreshReason(),
113
- skippedRefresh: true,
114
- refreshedAtoms: [],
115
- durationMs: 0,
116
- completedTimestamp: Date.now(),
117
- graphSnapshot: this.getSnapshot(),
118
- };
119
- this.debugRefreshInfos.push(refreshDebugInfo);
120
- return;
121
- }
122
- this.refresh({ otelHint, debugRefreshReason }, parentSpanContext);
123
- }
124
- setRefs(refs, options, parentSpanContext) {
125
- const otelHint = options?.otelHint ?? '';
126
- const skipRefresh = options?.skipRefresh ?? false;
127
- const debugRefreshReason = options?.debugRefreshReason;
128
- for (const [ref, val] of refs) {
129
- ref.result = val;
130
- this.dirtyNodes.add(ref);
131
- }
132
- if (skipRefresh) {
133
- const refreshDebugInfo = {
134
- id: uniqueRefreshInfoId(),
135
- reason: debugRefreshReason ?? unknownRefreshReason(),
136
- skippedRefresh: true,
137
- refreshedAtoms: [],
138
- durationMs: 0,
139
- completedTimestamp: Date.now(),
140
- graphSnapshot: this.getSnapshot(),
141
- };
142
- this.debugRefreshInfos.push(refreshDebugInfo);
143
- return;
144
- }
145
- this.refresh({ otelHint, debugRefreshReason }, parentSpanContext);
146
- }
147
- get(atom, context) {
148
- // Autotracking: if we're getting the value of an atom,
149
- // that means it's a subcomputation for the currently refreshing atom.
150
- this.addEdge(context, atom);
151
- const dependencyMightBeStale = context._tag !== 'effect' && context.height <= atom.height;
152
- const dependencyNotRefreshedYet = atom.result === undefined;
153
- if (dependencyMightBeStale || dependencyNotRefreshedYet) {
154
- throw new DependencyNotReadyError(`${this.label(context)} referenced dependency ${this.label(atom)} which isn't ready`);
155
- }
156
- return atom.result;
157
- }
158
- /**
159
- * Update the graph to be consistent with the current values of the root atoms.
160
- * Generally we run this after a ref is updated.
161
- * At the end of the refresh, we run any effects that were scheduled.
162
- *
163
- * @param roots Root atoms to start the refresh from
164
- */
165
- refresh(options, parentSpanContext) {
166
- const otelHint = options?.otelHint ?? '';
167
- const debugRefreshReason = options?.debugRefreshReason;
168
- const roots = [...this.dirtyNodes];
169
- const debugInfoForRefreshedAtoms = [];
170
- // if (otelHint.includes('tableName')) {
171
- // console.log('refresh', otelHint, { shouldTrace })
172
- // }
173
- this.otelTracer.startActiveSpan(`LiveStore.refresh:${otelHint}`, {}, parentSpanContext, (span) => {
174
- const atomsToRefresh = roots.filter(isAtom);
175
- const effectsToRun = new Set(roots.filter(isEffect));
176
- span.setAttribute('livestore.hint', otelHint);
177
- span.setAttribute('livestore.rootsCount', roots.length);
178
- // span.setAttribute('sstack', new Error().stack!)
179
- // Sort in topological order, starting with minimum height
180
- while (atomsToRefresh.length > 0) {
181
- atomsToRefresh.sort((a, b) => a.height - b.height);
182
- const atomToRefresh = atomsToRefresh.shift();
183
- // Recompute the value
184
- let resultChanged = false;
185
- const debugInfoForAtom = {
186
- atom: serializeAtom(atomToRefresh),
187
- resultChanged,
188
- // debugInfo: unknownRefreshReason() as TDebugThunkInfo,
189
- debugInfo: { _tag: 'unknown' },
190
- durationMs: 0,
191
- };
192
- try {
193
- atomToRefresh.sub = new Set();
194
- const beforeTimestamp = performance.now();
195
- const newResult = atomToRefresh.getResult((atom) => this.get(atom, atomToRefresh), (debugInfo) => {
196
- debugInfoForAtom.debugInfo = debugInfo;
197
- });
198
- const afterTimestamp = performance.now();
199
- debugInfoForAtom.durationMs = afterTimestamp - beforeTimestamp;
200
- // Determine if the result changed to do early cutoff and avoid further unnecessary updates.
201
- // Refs never depend on anything, so if a ref is being refreshed it definitely changed.
202
- // For thunks, we use a deep equality check.
203
- resultChanged =
204
- atomToRefresh._tag === 'ref' ||
205
- (atomToRefresh._tag === 'thunk' && !atomToRefresh.equal(atomToRefresh.result, newResult));
206
- if (resultChanged) {
207
- atomToRefresh.result = newResult;
208
- }
209
- this.dirtyNodes.delete(atomToRefresh);
210
- }
211
- catch (e) {
212
- if (e instanceof DependencyNotReadyError) {
213
- // If we hit a dependency that wasn't ready yet,
214
- // abort this recomputation and try again later.
215
- if (!atomsToRefresh.includes(atomToRefresh)) {
216
- atomsToRefresh.push(atomToRefresh);
217
- }
218
- }
219
- else {
220
- throw e;
221
- }
222
- }
223
- debugInfoForRefreshedAtoms.push(debugInfoForAtom);
224
- if (!resultChanged) {
225
- continue;
226
- }
227
- // Schedule supercomputations
228
- for (const superComp of atomToRefresh.super) {
229
- switch (superComp._tag) {
230
- case 'ref':
231
- case 'thunk': {
232
- if (!atomsToRefresh.includes(superComp)) {
233
- atomsToRefresh.push(superComp);
234
- }
235
- break;
236
- }
237
- case 'effect': {
238
- effectsToRun.add(superComp);
239
- break;
240
- }
241
- }
242
- }
243
- }
244
- this.effectsWrapper(() => {
245
- for (const effect of effectsToRun) {
246
- effect.doEffect((atom) => this.get(atom, effect));
247
- this.dirtyNodes.delete(effect);
248
- }
249
- });
250
- span.end();
251
- const spanDurationHr = span._duration;
252
- const spanDurationMs = spanDurationHr[0] * 1000 + spanDurationHr[1] / 1000000;
253
- const refreshDebugInfo = {
254
- id: uniqueRefreshInfoId(),
255
- reason: debugRefreshReason ?? unknownRefreshReason(),
256
- refreshedAtoms: debugInfoForRefreshedAtoms,
257
- skippedRefresh: false,
258
- durationMs: spanDurationMs,
259
- completedTimestamp: Date.now(),
260
- graphSnapshot: this.getSnapshot(),
261
- };
262
- this.debugRefreshInfos.push(refreshDebugInfo);
263
- });
264
- }
265
- label(atom) {
266
- if (atom._tag === 'effect') {
267
- return `unknown effect`;
268
- }
269
- else {
270
- return atom.label ?? `unknown ${atom._tag}`;
271
- }
272
- }
273
- addEdge(superComp, subComp) {
274
- superComp.sub.add(subComp);
275
- subComp.super.add(superComp);
276
- this.updateAtomHeight(superComp);
277
- }
278
- removeEdge(superComp, subComp) {
279
- superComp.sub.delete(subComp);
280
- subComp.super.delete(superComp);
281
- this.updateAtomHeight(superComp);
282
- }
283
- updateAtomHeight(atom) {
284
- switch (atom._tag) {
285
- case 'ref': {
286
- atom.height = 0;
287
- break;
288
- }
289
- case 'thunk': {
290
- atom.height = (max([...atom.sub].map((atom) => atom.height)) || 0) + 1;
291
- break;
292
- }
293
- case 'effect': {
294
- break;
295
- }
296
- }
297
- }
298
- }
299
- const isAtom = (a) => a._tag === 'ref' || a._tag === 'thunk';
300
- const isEffect = (a) => a._tag === 'effect';
301
- //# sourceMappingURL=reactive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactive.js","sourceRoot":"","sources":["../src/reactive.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import * as otel from '@opentelemetry/api';
2
- import type { ComponentKey } from '../componentKey.js';
3
- import type { Store } from '../store.js';
4
- export type UnsubscribeQuery = () => void;
5
- export declare abstract class LiveStoreQueryBase {
6
- /** The key for the associated component */
7
- componentKey: ComponentKey;
8
- /** Human-readable label for the query for debugging */
9
- label: string;
10
- /** A pointer back to the store containing this query */
11
- store: Store<any>;
12
- /** Otel Span is started in LiveStore store but ended in this query */
13
- otelContext: otel.Context;
14
- /** The string key is used to identify a subscription from "outside" */
15
- activeSubscriptions: Map<string, UnsubscribeQuery>;
16
- constructor({ componentKey, label, store, otelContext, }: {
17
- componentKey: ComponentKey;
18
- label: string;
19
- store: Store<any>;
20
- otelContext: otel.Context;
21
- });
22
- destroy: () => void;
23
- }
24
- //# sourceMappingURL=base-class.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-class.d.ts","sourceRoot":"","sources":["../../src/reactiveQueries/base-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAA;AAEzC,8BAAsB,kBAAkB;IACtC,2CAA2C;IAC3C,YAAY,EAAE,YAAY,CAAA;IAC1B,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACjB,sEAAsE;IACtE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAA;IAEzB,uEAAuE;IACvE,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAY;gBAElD,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,WAAW,GACZ,EAAE;QACD,YAAY,EAAE,YAAY,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QACjB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAA;KAC1B;IAOD,OAAO,aAUN;CACF"}
@@ -1,22 +0,0 @@
1
- import * as otel from '@opentelemetry/api';
2
- export class LiveStoreQueryBase {
3
- constructor({ componentKey, label, store, otelContext, }) {
4
- /** The string key is used to identify a subscription from "outside" */
5
- this.activeSubscriptions = new Map();
6
- this.destroy = () => {
7
- const span = otel.trace.getSpan(this.otelContext);
8
- span.end();
9
- // NOTE usually the `unsubscribe` function is called by `useLiveStoreComponent` but this code path
10
- // is used for manual store destruction, so we need to manually unsubscribe here
11
- for (const [_key, unsubscribe] of this.activeSubscriptions) {
12
- // unsubscribe from the query
13
- unsubscribe();
14
- }
15
- };
16
- this.componentKey = componentKey;
17
- this.label = label;
18
- this.store = store;
19
- this.otelContext = otelContext;
20
- }
21
- }
22
- //# sourceMappingURL=base-class.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-class.js","sourceRoot":"","sources":["../../src/reactiveQueries/base-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAO1C,MAAM,OAAgB,kBAAkB;IAatC,YAAY,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,WAAW,GAMZ;QAbD,uEAAuE;QACvE,wBAAmB,GAAkC,IAAI,GAAG,EAAE,CAAA;QAmB9D,YAAO,GAAG,GAAG,EAAE;YACb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAE,CAAA;YAClD,IAAI,CAAC,GAAG,EAAE,CAAA;YAEV,kGAAkG;YAClG,gFAAgF;YAChF,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1D,6BAA6B;gBAC7B,WAAW,EAAE,CAAA;aACd;QACH,CAAC,CAAA;QAhBC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;CAaF"}
@@ -1,25 +0,0 @@
1
- import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
2
- import type * as otel from '@opentelemetry/api';
3
- import type { ComponentKey } from '../componentKey.js';
4
- import type { GetAtom, Thunk } from '../reactive.js';
5
- import type { BaseGraphQLContext, Store } from '../store.js';
6
- import { LiveStoreQueryBase } from './base-class.js';
7
- import type { LiveStoreJSQuery } from './js.js';
8
- export declare class LiveStoreGraphQLQuery<TResult extends Record<string, any>, VariableValues extends Record<string, any>, TContext extends BaseGraphQLContext> extends LiveStoreQueryBase {
9
- _tag: 'graphql';
10
- /** The abstract GraphQL query */
11
- document: DocumentNode<TResult, VariableValues>;
12
- /** A reactive thunk representing the query results */
13
- results$: Thunk<TResult>;
14
- constructor({ document, results$, ...baseProps }: {
15
- document: DocumentNode<TResult, VariableValues>;
16
- context: TContext;
17
- results$: Thunk<TResult>;
18
- componentKey: ComponentKey;
19
- label: string;
20
- store: Store<TContext>;
21
- otelContext: otel.Context;
22
- });
23
- pipe: <U>(f: (x: TResult, get: GetAtom) => U) => LiveStoreJSQuery<U>;
24
- }
25
- //# sourceMappingURL=graphql.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../src/reactiveQueries/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAC1F,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,qBAAa,qBAAqB,CAChC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1C,QAAQ,SAAS,kBAAkB,CACnC,SAAQ,kBAAkB;IAC1B,IAAI,EAAE,SAAS,CAAY;IAE3B,iCAAiC;IACjC,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAE/C,sDAAsD;IACtD,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;gBAEZ,EACV,QAAQ,EACR,QAAQ,EACR,GAAG,SAAS,EACb,EAAE;QACD,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QAC/C,OAAO,EAAE,QAAQ,CAAA;QACjB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QACxB,YAAY,EAAE,YAAY,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QACtB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAA;KAC1B;IAOD,IAAI,aAAc,OAAO,OAAO,OAAO,+BASpC;CACJ"}
@@ -1,14 +0,0 @@
1
- import { LiveStoreQueryBase } from './base-class.js';
2
- export class LiveStoreGraphQLQuery extends LiveStoreQueryBase {
3
- constructor({ document, results$, ...baseProps }) {
4
- super(baseProps);
5
- this._tag = 'graphql';
6
- this.pipe = (f) => this.store.queryJS((get) => {
7
- const results = get(this.results$);
8
- return f(results, get);
9
- }, this.componentKey, `${this.label}:js`, this.otelContext);
10
- this.document = document;
11
- this.results$ = results$;
12
- }
13
- }
14
- //# sourceMappingURL=graphql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/reactiveQueries/graphql.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,MAAM,OAAO,qBAIX,SAAQ,kBAAkB;IAS1B,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,GAAG,SAAS,EASb;QACC,KAAK,CAAC,SAAS,CAAC,CAAA;QArBlB,SAAI,GAAc,SAAS,CAAA;QA2B3B,SAAI,GAAG,CAAI,CAAkC,EAAuB,EAAE,CACpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACxB,CAAC,EACD,IAAI,CAAC,YAAY,EACjB,GAAG,IAAI,CAAC,KAAK,KAAK,EAClB,IAAI,CAAC,WAAW,CACjB,CAAA;QAbD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CAYF"}
@@ -1,19 +0,0 @@
1
- import type * as otel from '@opentelemetry/api';
2
- import type { ComponentKey } from '../componentKey.js';
3
- import type { GetAtom, Thunk } from '../reactive.js';
4
- import type { Store } from '../store.js';
5
- import { LiveStoreQueryBase } from './base-class.js';
6
- export declare class LiveStoreJSQuery<TResult> extends LiveStoreQueryBase {
7
- _tag: 'js';
8
- /** A reactive thunk representing the query results */
9
- results$: Thunk<TResult>;
10
- constructor({ results$, ...baseProps }: {
11
- results$: Thunk<TResult>;
12
- componentKey: ComponentKey;
13
- label: string;
14
- store: Store<any>;
15
- otelContext: otel.Context;
16
- });
17
- pipe: <U>(f: (x: TResult, get: GetAtom) => U) => LiveStoreJSQuery<U>;
18
- }
19
- //# sourceMappingURL=js.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../src/reactiveQueries/js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,qBAAa,gBAAgB,CAAC,OAAO,CAAE,SAAQ,kBAAkB;IAC/D,IAAI,EAAE,IAAI,CAAO;IACjB,sDAAsD;IACtD,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;gBAEZ,EACV,QAAQ,EACR,GAAG,SAAS,EACb,EAAE;QACD,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QACxB,YAAY,EAAE,YAAY,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QACjB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAA;KAC1B;IAMD,IAAI,aAAc,OAAO,OAAO,OAAO,+BASpC;CACJ"}
@@ -1,13 +0,0 @@
1
- import { LiveStoreQueryBase } from './base-class.js';
2
- export class LiveStoreJSQuery extends LiveStoreQueryBase {
3
- constructor({ results$, ...baseProps }) {
4
- super(baseProps);
5
- this._tag = 'js';
6
- this.pipe = (f) => this.store.queryJS((get) => {
7
- const results = get(this.results$);
8
- return f(results, get);
9
- }, this.componentKey, `${this.label}:js`, this.otelContext);
10
- this.results$ = results$;
11
- }
12
- }
13
- //# sourceMappingURL=js.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js.js","sourceRoot":"","sources":["../../src/reactiveQueries/js.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,MAAM,OAAO,gBAA0B,SAAQ,kBAAkB;IAK/D,YAAY,EACV,QAAQ,EACR,GAAG,SAAS,EAOb;QACC,KAAK,CAAC,SAAS,CAAC,CAAA;QAdlB,SAAI,GAAS,IAAI,CAAA;QAmBjB,SAAI,GAAG,CAAI,CAAkC,EAAuB,EAAE,CACpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACxB,CAAC,EACD,IAAI,CAAC,YAAY,EACjB,GAAG,IAAI,CAAC,KAAK,KAAK,EAClB,IAAI,CAAC,WAAW,CACjB,CAAA;QAZD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CAYF"}
@@ -1,31 +0,0 @@
1
- import type * as otel from '@opentelemetry/api';
2
- import type { ComponentKey } from '../componentKey.js';
3
- import type { GetAtom, Thunk } from '../reactive.js';
4
- import type { Store } from '../store.js';
5
- import { LiveStoreQueryBase } from './base-class.js';
6
- import type { LiveStoreJSQuery } from './js.js';
7
- export declare class LiveStoreSQLQuery<Row> extends LiveStoreQueryBase {
8
- _tag: 'sql';
9
- /** A reactive thunk representing the query text */
10
- queryString$: Thunk<string>;
11
- /** A reactive thunk representing the query results */
12
- results$: Thunk<Row[]>;
13
- constructor({ queryString$, results$, ...baseProps }: {
14
- queryString$: Thunk<string>;
15
- results$: Thunk<Row[]>;
16
- componentKey: ComponentKey;
17
- label: string;
18
- store: Store<any>;
19
- otelContext: otel.Context;
20
- });
21
- /**
22
- * Returns a new reactive query that contains the result of
23
- * running an arbitrary JS computation on the results of this SQL query.
24
- */
25
- pipe: <U>(f: (result: Row[], get: GetAtom) => U) => LiveStoreJSQuery<U>;
26
- /** Returns a reactive query */
27
- getFirstRow: (args?: {
28
- defaultValue?: Row;
29
- }) => LiveStoreJSQuery<Row>;
30
- }
31
- //# sourceMappingURL=sql.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/reactiveQueries/sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG/C,qBAAa,iBAAiB,CAAC,GAAG,CAAE,SAAQ,kBAAkB;IAC5D,IAAI,EAAE,KAAK,CAAQ;IACnB,mDAAmD;IACnD,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC3B,sDAAsD;IACtD,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;gBAEV,EACV,YAAY,EACZ,QAAQ,EACR,GAAG,SAAS,EACb,EAAE;QACD,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAC3B,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;QACtB,YAAY,EAAE,YAAY,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QACjB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAA;KAC1B;IAOD;;;OAGG;IACH,IAAI,kBAAmB,GAAG,EAAE,OAAO,OAAO,+BASvC;IAEH,gCAAgC;IAChC,WAAW,UAAW;QAAE,YAAY,CAAC,EAAE,GAAG,CAAA;KAAE,2BAazC;CACJ"}
@@ -1,28 +0,0 @@
1
- import { LiveStoreQueryBase } from './base-class.js';
2
- /* An object encapsulating a reactive SQL query */
3
- export class LiveStoreSQLQuery extends LiveStoreQueryBase {
4
- constructor({ queryString$, results$, ...baseProps }) {
5
- super(baseProps);
6
- this._tag = 'sql';
7
- /**
8
- * Returns a new reactive query that contains the result of
9
- * running an arbitrary JS computation on the results of this SQL query.
10
- */
11
- this.pipe = (f) => this.store.queryJS((get) => {
12
- const results = get(this.results$);
13
- return f(results, get);
14
- }, this.componentKey, `${this.label}:js`, this.otelContext);
15
- /** Returns a reactive query */
16
- this.getFirstRow = (args) => this.store.queryJS((get) => {
17
- const results = get(this.results$);
18
- if (results.length === 0 && args?.defaultValue === undefined) {
19
- const queryLabel = this._tag === 'sql' ? this.queryString$.result : this.label;
20
- throw new Error(`Expected query ${queryLabel} to return at least one result`);
21
- }
22
- return (results[0] ?? args?.defaultValue);
23
- }, this.componentKey, `${this.label}:first`, this.otelContext);
24
- this.queryString$ = queryString$;
25
- this.results$ = results$;
26
- }
27
- }
28
- //# sourceMappingURL=sql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/reactiveQueries/sql.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,kDAAkD;AAClD,MAAM,OAAO,iBAAuB,SAAQ,kBAAkB;IAO5D,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,GAAG,SAAS,EAQb;QACC,KAAK,CAAC,SAAS,CAAC,CAAA;QAlBlB,SAAI,GAAU,KAAK,CAAA;QAwBnB;;;WAGG;QACH,SAAI,GAAG,CAAI,CAAqC,EAAuB,EAAE,CACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACxB,CAAC,EACD,IAAI,CAAC,YAAY,EACjB,GAAG,IAAI,CAAC,KAAK,KAAK,EAClB,IAAI,CAAC,WAAW,CACjB,CAAA;QAEH,gCAAgC;QAChC,gBAAW,GAAG,CAAC,IAA6B,EAAE,EAAE,CAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,EAAE,YAAY,KAAK,SAAS,EAAE;gBAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;gBAC9E,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,gCAAgC,CAAC,CAAA;aAC9E;YACD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,YAAY,CAAQ,CAAA;QAClD,CAAC,EACD,IAAI,CAAC,YAAY,EACjB,GAAG,IAAI,CAAC,KAAK,QAAQ,EACrB,IAAI,CAAC,WAAW,CACjB,CAAA;QAjCD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CAgCF"}