@livestore/livestore 0.0.21 → 0.0.23

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 (78) hide show
  1. package/README.md +14 -4
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/__tests__/react/fixture.d.ts.map +1 -1
  4. package/dist/__tests__/react/fixture.js +0 -2
  5. package/dist/__tests__/react/fixture.js.map +1 -1
  6. package/dist/__tests__/react/useQuery.test.js +1 -1
  7. package/dist/__tests__/react/useQuery.test.js.map +1 -1
  8. package/dist/__tests__/react/utils/stack-info.test.d.ts +2 -0
  9. package/dist/__tests__/react/utils/stack-info.test.d.ts.map +1 -0
  10. package/dist/__tests__/react/utils/stack-info.test.js +43 -0
  11. package/dist/__tests__/react/utils/stack-info.test.js.map +1 -0
  12. package/dist/__tests__/reactive.test.js +13 -1
  13. package/dist/__tests__/reactive.test.js.map +1 -1
  14. package/dist/__tests__/reactiveQueries/sql.test.js +3 -3
  15. package/dist/__tests__/reactiveQueries/sql.test.js.map +1 -1
  16. package/dist/inMemoryDatabase.d.ts +2 -1
  17. package/dist/inMemoryDatabase.d.ts.map +1 -1
  18. package/dist/inMemoryDatabase.js +3 -2
  19. package/dist/inMemoryDatabase.js.map +1 -1
  20. package/dist/react/index.d.ts +1 -0
  21. package/dist/react/index.d.ts.map +1 -1
  22. package/dist/react/index.js +1 -0
  23. package/dist/react/index.js.map +1 -1
  24. package/dist/react/useComponentState.d.ts.map +1 -1
  25. package/dist/react/useComponentState.js +19 -27
  26. package/dist/react/useComponentState.js.map +1 -1
  27. package/dist/react/useQuery.d.ts.map +1 -1
  28. package/dist/react/useQuery.js +46 -26
  29. package/dist/react/useQuery.js.map +1 -1
  30. package/dist/react/useTemporaryQuery.d.ts.map +1 -1
  31. package/dist/react/useTemporaryQuery.js +2 -0
  32. package/dist/react/useTemporaryQuery.js.map +1 -1
  33. package/dist/react/utils/stack-info.d.ts +11 -0
  34. package/dist/react/utils/stack-info.d.ts.map +1 -0
  35. package/dist/react/utils/stack-info.js +49 -0
  36. package/dist/react/utils/stack-info.js.map +1 -0
  37. package/dist/reactive.d.ts +33 -43
  38. package/dist/reactive.d.ts.map +1 -1
  39. package/dist/reactive.js +66 -255
  40. package/dist/reactive.js.map +1 -1
  41. package/dist/reactiveQueries/base-class.d.ts +15 -13
  42. package/dist/reactiveQueries/base-class.d.ts.map +1 -1
  43. package/dist/reactiveQueries/base-class.js +5 -8
  44. package/dist/reactiveQueries/base-class.js.map +1 -1
  45. package/dist/reactiveQueries/graphql.d.ts +4 -3
  46. package/dist/reactiveQueries/graphql.d.ts.map +1 -1
  47. package/dist/reactiveQueries/graphql.js +29 -34
  48. package/dist/reactiveQueries/graphql.js.map +1 -1
  49. package/dist/reactiveQueries/js.d.ts +2 -1
  50. package/dist/reactiveQueries/js.d.ts.map +1 -1
  51. package/dist/reactiveQueries/js.js +8 -9
  52. package/dist/reactiveQueries/js.js.map +1 -1
  53. package/dist/reactiveQueries/sql.d.ts +11 -5
  54. package/dist/reactiveQueries/sql.d.ts.map +1 -1
  55. package/dist/reactiveQueries/sql.js +31 -34
  56. package/dist/reactiveQueries/sql.js.map +1 -1
  57. package/dist/store.d.ts +26 -12
  58. package/dist/store.d.ts.map +1 -1
  59. package/dist/store.js +41 -255
  60. package/dist/store.js.map +1 -1
  61. package/package.json +3 -3
  62. package/src/__tests__/react/fixture.tsx +0 -3
  63. package/src/__tests__/react/useQuery.test.tsx +1 -1
  64. package/src/__tests__/react/utils/{extractStackInfoFromStackTrace.test.ts → stack-info.test.ts} +25 -20
  65. package/src/__tests__/reactive.test.ts +20 -1
  66. package/src/__tests__/reactiveQueries/sql.test.ts +3 -3
  67. package/src/inMemoryDatabase.ts +9 -6
  68. package/src/react/index.ts +1 -0
  69. package/src/react/useComponentState.ts +25 -30
  70. package/src/react/useQuery.ts +66 -34
  71. package/src/react/useTemporaryQuery.ts +2 -0
  72. package/src/react/utils/{extractStackInfoFromStackTrace.ts → stack-info.ts} +21 -5
  73. package/src/reactive.ts +148 -339
  74. package/src/reactiveQueries/base-class.ts +23 -22
  75. package/src/reactiveQueries/graphql.ts +34 -36
  76. package/src/reactiveQueries/js.ts +14 -10
  77. package/src/reactiveQueries/sql.ts +55 -48
  78. package/src/store.ts +70 -305
package/dist/store.js CHANGED
@@ -9,269 +9,31 @@ import { getDurationMsFromSpan } from './otel.js';
9
9
  import { dbGraph } from './reactiveQueries/graph.js';
10
10
  import { componentStateTables } from './schema.js';
11
11
  import { isPromise, prepareBindValues, sql } from './util.js';
12
- export const globalComponentKey = { _tag: 'singleton', componentName: '__global', id: 'singleton' };
13
12
  export class Store {
14
13
  constructor({ db, dbProxy, schema, storage, graphQLOptions, otelTracer, otelRootSpanContext, }) {
15
- /**
16
- * Creates a reactive LiveStore SQL query
17
- *
18
- * NOTE The query is actually running (even if no one has subscribed to it yet) and will be kept up to date.
19
- */
20
- // querySQL = <TResult>(
21
- // genQueryString: string | ((get: GetAtomResult) => string),
22
- // {
23
- // queriedTables,
24
- // bindValues,
25
- // componentKey,
26
- // label,
27
- // otelContext = otel.context.active(),
28
- // }: {
29
- // /**
30
- // * List of tables that are queried in this query;
31
- // * used to determine reactive dependencies.
32
- // *
33
- // * NOTE In the future we want to auto-generate this via parsing the query
34
- // */
35
- // queriedTables: string[]
36
- // bindValues?: Bindable | undefined
37
- // componentKey?: ComponentKey | undefined
38
- // label?: string | undefined
39
- // otelContext?: otel.Context
40
- // },
41
- // ): LiveStoreSQLQuery<TResult> =>
42
- // this.otel.tracer.startActiveSpan(
43
- // 'querySQL', // NOTE span name will be overridden further down
44
- // { attributes: { label } },
45
- // otelContext,
46
- // (span) => {
47
- // const otelContext = otel.trace.setSpan(otel.context.active(), span)
48
- // const queryString$ = this.graph.makeThunk(
49
- // (get, addDebugInfo) => {
50
- // if (typeof genQueryString === 'function') {
51
- // const queryString = genQueryString(makeGetAtomResult(get))
52
- // addDebugInfo({ _tag: 'js', label: `${label}:queryString`, query: queryString })
53
- // return queryString
54
- // } else {
55
- // return genQueryString
56
- // }
57
- // },
58
- // { label: `${label}:queryString`, meta: { liveStoreThunkType: 'sqlQueryString' } },
59
- // otelContext,
60
- // )
61
- // label = label ?? queryString$.result
62
- // span.updateName(`querySQL:${label}`)
63
- // const queryLabel = `${label}:results` + (this.temporaryQueries ? ':temp' : '')
64
- // const results$ = this.graph.makeThunk<ReadonlyArray<TResult>>(
65
- // (get, addDebugInfo) =>
66
- // this.otel.tracer.startActiveSpan(
67
- // 'sql:', // NOTE span name will be overridden further down
68
- // {},
69
- // otelContext,
70
- // (span) => {
71
- // try {
72
- // const otelContext = otel.trace.setSpan(otel.context.active(), span)
73
- // // Establish a reactive dependency on the tables used in the query
74
- // for (const tableName of queriedTables) {
75
- // const tableRef =
76
- // this.tableRefs[tableName] ?? shouldNeverHappen(`No table ref found for ${tableName}`)
77
- // get(tableRef)
78
- // }
79
- // const sqlString = get(queryString$)
80
- // span.setAttribute('sql.query', sqlString)
81
- // span.updateName(`sql:${sqlString.slice(0, 50)}`)
82
- // const results = this.inMemoryDB.select<TResult>(sqlString, {
83
- // queriedTables,
84
- // bindValues: bindValues ? prepareBindValues(bindValues, sqlString) : undefined,
85
- // otelContext,
86
- // })
87
- // span.setAttribute('sql.rowsCount', results.length)
88
- // addDebugInfo({ _tag: 'sql', label: label ?? '', query: sqlString })
89
- // return results
90
- // } finally {
91
- // span.end()
92
- // }
93
- // },
94
- // ),
95
- // { label: queryLabel },
96
- // otelContext,
97
- // )
98
- // const query = new LiveStoreSQLQuery<TResult>({
99
- // label,
100
- // queryString$,
101
- // results$,
102
- // componentKey: componentKey ?? globalComponentKey,
103
- // store: this,
104
- // otelContext,
105
- // })
106
- // this.activeQueries.add(query)
107
- // // TODO get rid of temporary query workaround
108
- // if (this.temporaryQueries !== undefined) {
109
- // this.temporaryQueries.add(query)
110
- // }
111
- // // NOTE we are not ending the span here but in the query `destroy` method
112
- // return query
113
- // },
114
- // )
115
- // queryJS = <TResult>(
116
- // genResults: (get: GetAtomResult) => TResult,
117
- // {
118
- // componentKey = globalComponentKey,
119
- // label = `js${uniqueId()}`,
120
- // otelContext = otel.context.active(),
121
- // }: { componentKey?: ComponentKey; label?: string; otelContext?: otel.Context },
122
- // ): LiveStoreJSQuery<TResult> =>
123
- // this.otel.tracer.startActiveSpan(`queryJS:${label}`, { attributes: { label } }, otelContext, (span) => {
124
- // const otelContext = otel.trace.setSpan(otel.context.active(), span)
125
- // const queryLabel = `${label}:results` + (this.temporaryQueries ? ':temp' : '')
126
- // const results$ = this.graph.makeThunk(
127
- // (get, addDebugInfo) => {
128
- // addDebugInfo({ _tag: 'js', label, query: genResults.toString() })
129
- // return genResults(makeGetAtomResult(get))
130
- // },
131
- // { label: queryLabel, meta: { liveStoreThunkType: 'jsResults' } },
132
- // otelContext,
133
- // )
134
- // // const query = new LiveStoreJSQuery<TResult>({
135
- // // label,
136
- // // results$,
137
- // // componentKey,
138
- // // store: this,
139
- // // otelContext,
140
- // // })
141
- // this.activeQueries.add(query)
142
- // // TODO get rid of temporary query workaround
143
- // if (this.temporaryQueries !== undefined) {
144
- // this.temporaryQueries.add(query)
145
- // }
146
- // // NOTE we are not ending the span here but in the query `destroy` method
147
- // return query
148
- // })
149
- // queryGraphQL = <TResult extends Record<string, any>, TVariableValues extends Record<string, any>>(
150
- // document: DocumentNode<TResult, TVariableValues>,
151
- // genVariableValues: TVariableValues | ((get: GetAtomResult) => TVariableValues),
152
- // {
153
- // componentKey,
154
- // label,
155
- // otelContext = otel.context.active(),
156
- // }: {
157
- // componentKey: ComponentKey
158
- // label?: string
159
- // otelContext?: otel.Context
160
- // },
161
- // ): LiveStoreGraphQLQuery<TResult, TVariableValues, TGraphQLContext> =>
162
- // this.otel.tracer.startActiveSpan(
163
- // `queryGraphQL:`, // NOTE span name will be overridden further down
164
- // {},
165
- // otelContext,
166
- // (span) => {
167
- // const otelContext = otel.trace.setSpan(otel.context.active(), span)
168
- // if (this.graphQLContext === undefined) {
169
- // return shouldNeverHappen("Can't run a GraphQL query on a store without GraphQL context")
170
- // }
171
- // const labelWithDefault = label ?? graphql.getOperationAST(document)?.name?.value ?? 'graphql'
172
- // span.updateName(`queryGraphQL:${labelWithDefault}`)
173
- // const variableValues$ = this.graph.makeThunk(
174
- // (get) => {
175
- // if (typeof genVariableValues === 'function') {
176
- // return genVariableValues(makeGetAtomResult(get))
177
- // } else {
178
- // return genVariableValues
179
- // }
180
- // },
181
- // { label: `${labelWithDefault}:variableValues`, meta: { liveStoreThunkType: 'graphqlVariableValues' } },
182
- // // otelContext,
183
- // )
184
- // const resultsLabel = `${labelWithDefault}:results` + (this.temporaryQueries ? ':temp' : '')
185
- // const results$ = this.graph.makeThunk<TResult>(
186
- // (get, addDebugInfo) => {
187
- // const variableValues = get(variableValues$)
188
- // const { result, queriedTables } = this.queryGraphQLOnce(document, variableValues, otelContext)
189
- // // Add dependencies on any tables that were used
190
- // for (const tableName of queriedTables) {
191
- // const tableRef = this.tableRefs[tableName]
192
- // assertNever(tableRef !== undefined, `No table ref found for ${tableName}`)
193
- // get(tableRef!)
194
- // }
195
- // addDebugInfo({ _tag: 'graphql', label: resultsLabel, query: graphql.print(document) })
196
- // return result
197
- // },
198
- // { label: resultsLabel, meta: { liveStoreThunkType: 'graphqlResults' } },
199
- // // otelContext,
200
- // )
201
- // const query = new LiveStoreGraphQLQuery({
202
- // document,
203
- // context: this.graphQLContext,
204
- // results$,
205
- // componentKey,
206
- // label: labelWithDefault,
207
- // store: this,
208
- // otelContext,
209
- // })
210
- // this.activeQueries.add(query)
211
- // // TODO get rid of temporary query workaround
212
- // if (this.temporaryQueries !== undefined) {
213
- // this.temporaryQueries.add(query)
214
- // }
215
- // // NOTE we are not ending the span here but in the query `destroy` method
216
- // return query
217
- // },
218
- // )
219
- // queryGraphQLOnce = <TResult extends Record<string, any>, TVariableValues extends Record<string, any>>(
220
- // document: DocumentNode<TResult, TVariableValues>,
221
- // variableValues: TVariableValues,
222
- // otelContext: otel.Context = this.otel.queriesSpanContext,
223
- // ): { result: TResult; queriedTables: string[] } => {
224
- // const schema =
225
- // this.graphQLSchema ?? shouldNeverHappen("Can't run a GraphQL query on a store without GraphQL schema")
226
- // const context =
227
- // this.graphQLContext ?? shouldNeverHappen("Can't run a GraphQL query on a store without GraphQL context")
228
- // const tracer = this.otel.tracer
229
- // const operationName = graphql.getOperationAST(document)?.name?.value
230
- // return tracer.startActiveSpan(`executeGraphQLQuery: ${operationName}`, {}, otelContext, (span) => {
231
- // try {
232
- // span.setAttribute('graphql.variables', JSON.stringify(variableValues))
233
- // span.setAttribute('graphql.query', graphql.print(document))
234
- // context.queriedTables.clear()
235
- // context.otelContext = otel.trace.setSpan(otel.context.active(), span)
236
- // const res = graphql.executeSync({
237
- // document,
238
- // contextValue: context,
239
- // schema: schema,
240
- // variableValues,
241
- // })
242
- // // TODO track number of nested SQL queries via Otel + debug info
243
- // if (res.errors) {
244
- // span.setStatus({ code: otel.SpanStatusCode.ERROR, message: 'GraphQL error' })
245
- // span.setAttribute('graphql.error', res.errors.join('\n'))
246
- // span.setAttribute('graphql.error-detail', JSON.stringify(res.errors))
247
- // console.error(`graphql error (${operationName})`, res.errors)
248
- // }
249
- // return { result: res.data as unknown as TResult, queriedTables: Array.from(context.queriedTables.values()) }
250
- // } finally {
251
- // span.end()
252
- // }
253
- // })
254
- // }
255
14
  /**
256
15
  * Subscribe to the results of a query
257
16
  * Returns a function to cancel the subscription.
258
17
  */
259
- this.subscribe = (query, onNewValue, onSubsubscribe, options) => this.otel.tracer.startActiveSpan(`LiveStore.subscribe`, { attributes: { label: options?.label } }, options?.otelContext ?? this.otel.queriesSpanContext, (span) => {
18
+ this.subscribe = (query, onNewValue, onUnsubsubscribe, options) => this.otel.tracer.startActiveSpan(`LiveStore.subscribe`, { attributes: { label: options?.label } }, options?.otelContext ?? this.otel.queriesSpanContext, (span) => {
260
19
  const otelContext = otel.trace.setSpan(otel.context.active(), span);
261
20
  const label = `subscribe:${options?.label}`;
262
21
  const effect = this.graph.makeEffect((get) => onNewValue(get(query.results$)), { label });
263
- effect.doEffect(otelContext);
22
+ this.activeQueries.add(query);
23
+ // Running effect right away to get initial value (unless `skipInitialRun` is set)
24
+ if (options?.skipInitialRun !== true) {
25
+ effect.doEffect(otelContext);
26
+ }
264
27
  const unsubscribe = () => {
265
28
  try {
266
29
  this.graph.destroy(effect);
267
- this.activeQueries.delete(query);
268
- onSubsubscribe?.();
30
+ this.activeQueries.remove(query);
31
+ onUnsubsubscribe?.();
269
32
  }
270
33
  finally {
271
34
  span.end();
272
35
  }
273
36
  };
274
- this.activeQueries.add(query);
275
37
  return unsubscribe;
276
38
  });
277
39
  /**
@@ -479,8 +241,8 @@ export class Store {
479
241
  * This should only be used for framework-internal purposes;
480
242
  * all app writes should go through applyEvent.
481
243
  */
482
- this.execute = (query, params = {}, writeTables) => {
483
- this.inMemoryDB.execute(query, prepareBindValues(params, query), writeTables);
244
+ this.execute = (query, params = {}, writeTables, otelContext) => {
245
+ this.inMemoryDB.execute(query, prepareBindValues(params, query), writeTables, { otelContext });
484
246
  if (this.storage !== undefined) {
485
247
  const parentSpan = otel.trace.getSpan(otel.context.active());
486
248
  this.storage.execute(query, prepareBindValues(params, query), parentSpan);
@@ -488,21 +250,16 @@ export class Store {
488
250
  };
489
251
  this.inMemoryDB = db;
490
252
  this._proxyDb = dbProxy;
491
- // this.graph = new ReactiveGraph({
492
- // // TODO move this into React module
493
- // // Do all our updates inside a single React setState batch to avoid multiple UI re-renders
494
- // effectsWrapper: (run) => ReactDOM.unstable_batchedUpdates(() => run()),
495
- // otelTracer,
496
- // })
497
253
  this.schema = schema;
498
254
  // TODO generalize the `tableRefs` concept to allow finer-grained refs
499
255
  this.tableRefs = {};
500
- this.activeQueries = new Set();
256
+ this.activeQueries = new ReferenceCountedSet();
501
257
  this.storage = storage;
502
258
  const applyEventsSpan = otelTracer.startSpan('LiveStore:applyEvents', {}, otelRootSpanContext);
503
259
  const otelApplyEventsSpanContext = otel.trace.setSpan(otel.context.active(), applyEventsSpan);
504
260
  const queriesSpan = otelTracer.startSpan('LiveStore:queries', {}, otelRootSpanContext);
505
261
  const otelQueriesSpanContext = otel.trace.setSpan(otel.context.active(), queriesSpan);
262
+ // TODO allow passing in a custom graph
506
263
  this.graph = dbGraph;
507
264
  this.graph.context = { store: this, otelTracer, rootOtelContext: otelQueriesSpanContext };
508
265
  this.otel = {
@@ -619,4 +376,33 @@ const eventToSql = (event, eventDefinition) => {
619
376
  const bindValues = typeof eventDefinition.statement === 'function' && statement.argsAlreadyBound ? {} : prepareBindValues(event.args);
620
377
  return { statement, bindValues };
621
378
  };
379
+ class ReferenceCountedSet {
380
+ constructor() {
381
+ this.add = (key) => {
382
+ const count = this.map.get(key) ?? 0;
383
+ this.map.set(key, count + 1);
384
+ };
385
+ this.remove = (key) => {
386
+ const count = this.map.get(key) ?? 0;
387
+ if (count === 1) {
388
+ this.map.delete(key);
389
+ }
390
+ else {
391
+ this.map.set(key, count - 1);
392
+ }
393
+ };
394
+ this.has = (key) => {
395
+ return this.map.has(key);
396
+ };
397
+ this.map = new Map();
398
+ }
399
+ get size() {
400
+ return this.map.size;
401
+ }
402
+ *[Symbol.iterator]() {
403
+ for (const key of this.map.keys()) {
404
+ yield key;
405
+ }
406
+ }
407
+ }
622
408
  //# sourceMappingURL=store.js.map
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAG1C,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAA;AAGjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAIjD,OAAO,EAAkB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGlD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAsF7D,MAAM,OAAO,KAAK;IAmBhB,YAAoB,EAClB,EAAE,EACF,OAAO,EACP,MAAM,EACN,OAAO,EACP,cAAc,EACd,UAAU,EACV,mBAAmB,GACW;QA0DhC;;;WAGG;QACH,cAAS,GAAG,CACV,KAA+B,EAC/B,UAAoC,EACpC,gBAA6B,EAC7B,OAA8F,EAChF,EAAE,CAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAC9B,qBAAqB,EACrB,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EACzC,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,EACpD,CAAC,IAAI,EAAE,EAAE;YACP,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;YAEnE,MAAM,KAAK,GAAG,aAAa,OAAO,EAAE,KAAK,EAAE,CAAA;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YAEzF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAuB,CAAC,CAAA;YAE/C,kFAAkF;YAClF,IAAI,OAAO,EAAE,cAAc,KAAK,IAAI,EAAE;gBACpC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;aAC7B;YAED,MAAM,WAAW,GAAG,GAAG,EAAE;gBACvB,IAAI;oBACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBAC1B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAuB,CAAC,CAAA;oBAClD,gBAAgB,EAAE,EAAE,CAAA;iBACrB;wBAAS;oBACR,IAAI,CAAC,GAAG,EAAE,CAAA;iBACX;YACH,CAAC,CAAA;YAED,OAAO,WAAW,CAAA;QACpB,CAAC,CACF,CAAA;QAEH;;;;WAIG;QACH,YAAO,GAAG,GAAG,EAAE;YACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;YAEjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAE,CAAC,GAAG,EAAE,CAAA;YAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAE,CAAC,GAAG,EAAE,CAAA;YAEvD,oCAAoC;QACtC,CAAC,CAAA;QAED,kFAAkF;QAClF,eAAU,GAAG,CACX,SAAqB,EACrB,OAAmE,EAAE,EACrE,OAAmC,EACX,EAAE;YAC1B,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,KAAK,CAAA;YACjD,8DAA8D;YAE9D,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAE,CAAA;YAC7E,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;YAEtC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CACrC,sBAAsB,EACtB,EAAE,UAAU,EAAE,EAAE,EAAE,EAClB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAChC,CAAC,IAAI,EAAE,EAAE;gBACP,IAAI;oBACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;oBACnE,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,WAAW,CAAA;oBAE3F,MAAM,cAAc,GAAG,EAAmD,CAAA;oBAC1E,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;wBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;wBAC1C,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,0BAA0B,SAAS,EAAE,CAAC,CAAA;wBAC1E,cAAc,CAAC,IAAI,CAAC,CAAC,QAAS,EAAE,IAAI,CAAC,CAAC,CAAA;qBACvC;oBAED,MAAM,kBAAkB,GAAG;wBACzB,IAAI,EAAE,YAAqB;wBAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;wBAChC,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;qBAC9B,CAAA;oBAED,iFAAiF;oBACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC,CAAA;oBAEvE,IAAI,WAAW,KAAK,KAAK,EAAE;wBACzB,wBAAwB;wBACxB,sBAAsB;wBACtB,MAAM;wBACN,+BAA+B;wBAC/B,0BAA0B;wBAC1B,OAAO;wBACP,iBAAiB;wBACjB,IAAI;qBACL;iBACF;gBAAC,OAAO,CAAM,EAAE;oBACf,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;oBAE1E,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAChB,iBAAiB,CAAC,yBAAyB,SAAS,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;iBAC1E;wBAAS;oBACR,IAAI,CAAC,GAAG,EAAE,CAAA;oBAEV,OAAO,EAAE,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAA;iBACnD;YACH,CAAC,CACF,CAAA;QACH,CAAC,CAAA;QAED;;;;WAIG;QACH,gBAAW,GAAG;QACZ,qDAAqD;QACrD,MAAkD,EAClD,OAAmD,EAC3B,EAAE;YAC1B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,aAAa,CAAA;YAC7C,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,KAAK,CAAA;YAEjD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAE,CAAA;YAC7E,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;YAEvC,mEAAmE;YACnE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CACrC,uBAAuB,EACvB,EAAE,UAAU,EAAE,EAAE,4BAA4B,EAAE,KAAK,EAAE,EAAE,EACvD,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAChC,CAAC,IAAI,EAAE,EAAE;gBACP,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;gBAEnE,IAAI;oBACF,MAAM,WAAW,GAAgB,IAAI,GAAG,EAAE,CAAA;oBAE1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAC9B,yBAAyB,EACzB,EAAE,UAAU,EAAE,EAAE,4BAA4B,EAAE,KAAK,EAAE,EAAE,EACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAC/C,CAAC,IAAI,EAAE,EAAE;wBACP,IAAI;4BACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;4BAEnE,mDAAmD;4BACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;gCACvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oCAC1B,IAAI;wCACF,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,wBAAwB,CACxE,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,IAAI,EACV,WAAW,CACZ,CAAA;wCACD,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE;4CAC3C,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;yCAC3B;qCACF;oCAAC,OAAO,CAAM,EAAE;wCACf,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;qCACxB;iCACF;4BACH,CAAC,CAAC,CAAA;yBACH;wBAAC,OAAO,CAAM,EAAE;4BACf,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;4BAChB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;yBAC3E;gCAAS;4BACR,IAAI,CAAC,GAAG,EAAE,CAAA;yBACX;oBACH,CAAC,CACF,CAAA;oBAED,MAAM,cAAc,GAAG,EAAmD,CAAA;oBAC1E,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;wBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;wBAC1C,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,0BAA0B,SAAS,EAAE,CAAC,CAAA;wBAC1E,cAAc,CAAC,IAAI,CAAC,CAAC,QAAS,EAAE,IAAI,CAAC,CAAC,CAAA;qBACvC;oBAED,MAAM,kBAAkB,GAAG;wBACzB,IAAI,EAAE,aAAsB;wBAC5B,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBACrE,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;qBAC9B,CAAA;oBACD,iFAAiF;oBACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC,CAAA;oBAEvE,IAAI,WAAW,KAAK,KAAK,EAAE;wBACzB,wBAAwB;wBACxB,mFAAmF;qBACpF;iBACF;gBAAC,OAAO,CAAM,EAAE;oBACf,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;iBAC3E;wBAAS;oBACR,IAAI,CAAC,GAAG,EAAE,CAAA;oBAEV,OAAO,EAAE,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAA;iBACnD;YACH,CAAC,CACF,CAAA;QACH,CAAC,CAAA;QAED;;;WAGG;QACH,kBAAa,GAAG,CAAC,OAA4B,EAAE,EAAE;YAC/C,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAC9B,yBAAyB,EACzB,EAAE,UAAU,EAAE,EAAE,8BAA8B,EAAE,KAAK,EAAE,EAAE,EACzD,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAChC,CAAC,IAAI,EAAE,EAAE;gBACP,sEAAsE;gBACtE,wBAAwB;gBACxB,gHAAgH;gBAChH,IAAI,CAAC,GAAG,EAAE,CAAA;YACZ,CAAC,CACF,CAAA;QACH,CAAC,CAAA;QAED;;;;;WAKG;QACK,6BAAwB,GAAG,CACjC,SAAiB,EACjB,OAAY,EAAE,EACd,WAAyB,EACsB,EAAE;YACjD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CACrC,oCAAoC,EACpC;gBACE,UAAU,EAAE;oBACV,sBAAsB,EAAE,SAAS;oBACjC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAChD;aACF,EACD,WAAW,EACX,CAAC,IAAI,EAAE,EAAE;gBACP,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;gBAEnE,MAAM,iBAAiB,GAAwC;oBAC7D,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;oBAEtB,oCAAoC;oBACpC,oBAAoB,EAAE;wBACpB,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,WAAW,EAAyD,EAAE,EAAE;4BAClG,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,YAAY,CAAC,EAAE,GAAG,CAAA;4BAC9F,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,UAAU,OAAO,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;4BACjG,MAAM,IAAI,GAAG,GAAG,CAAA,UAAU,wBAAwB,CAAC,YAAY,CAAC,QAAQ,YAAY,IAAI,WAAW,EAAE,CAAA;4BAErG,OAAO;gCACL,GAAG,EAAE,IAAI;gCACT,WAAW,EAAE,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;6BACtD,CAAA;wBACH,CAAC;qBACF;oBAED,MAAM,EAAE;wBACN,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAA0C,EAAE,EAAE,CAAC,CAAC;4BAC5E,GAAG;4BACH,WAAW;4BACX,gBAAgB,EAAE,KAAK;yBACxB,CAAC;wBACF,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU;qBAClD;iBACF,CAAA;gBAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAA;gBAE9G,oCAAoC;gBACpC,MAAM,WAAW,GAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;gBAEzE,0DAA0D;gBAC1D,gGAAgG;gBAChG,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAA;gBAC3E,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAC5C,SAAS,CAAC,GAAG,EACb,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,EAC5C,SAAS,CAAC,WAAW,EACrB;oBACE,WAAW;iBACZ,CACF,CAAA;gBAED,gGAAgG;gBAChG,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;oBAC9B,+DAA+D;oBAC/D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;iBACxF;gBAED,yEAAyE;gBACzE,qHAAqH;gBAErH,oBAAoB;gBACpB,qDAAqD;gBACrD,yCAAyC;gBACzC,mCAAmC;gBAEnC,IAAI,CAAC,GAAG,EAAE,CAAA;gBAEV,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,CAAA;YAC3D,CAAC,CACF,CAAA;QACH,CAAC,CAAA;QAED;;;;WAIG;QACH,YAAO,GAAG,CAAC,KAAa,EAAE,SAAuB,EAAE,EAAE,WAAsB,EAAE,WAA0B,EAAE,EAAE;YACzG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,CAAA;YAE9F,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;gBAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;gBAC5D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,CAAA;aAC1E;QACH,CAAC,CAAA;QA/XC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,sEAAsE;QACtE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,EAAE,CAAA;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,uBAAuB,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAA;QAC9F,MAAM,0BAA0B,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAA;QAE7F,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAA;QACtF,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAA;QAErF,uCAAuC;QACvC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAA;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAA;QAEzF,IAAI,CAAC,IAAI,GAAG;YACV,MAAM,EAAE,UAAU;YAClB,sBAAsB,EAAE,0BAA0B;YAClD,kBAAkB,EAAE,sBAAsB;SAC3C,CAAA;QAED,MAAM,aAAa,GAAG;YACpB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAClC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC7C,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;SACrC,CAAA;QACD,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE;YACrC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;gBACnD,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;gBAClB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE;aACpC,CAAC,CAAA;SACH;QAED,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,MAAM,CAAA;YAC1C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SACvE;IACH,CAAC;;AAEM,iBAAW,GAAG,CACnB,YAA2C,EAC3C,UAAqB,EACG,EAAE;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAA;IACjE,OAAO,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,6BAA6B,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;QAC9F,IAAI;YACF,OAAO,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;SAC/B;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAA;SACX;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,AAZiB,CAYjB;AA2UH,mCAAmC;AACnC,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAA8C,EAC5E,MAAM,EACN,WAAW,EACX,cAAc,EACd,UAAU,GAAG,cAAc,EAAE,EAC7B,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAC3C,IAAI,EACJ,OAAO,GASR,EAAmC,EAAE;IACpC,OAAO,UAAU,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACvF,IAAI;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;YAEnE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,cAAc,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC/F,IAAI;oBACF,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAA;oBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,YAAY,EAAE,CAAA;oBAC9E,OAAO,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAA;iBACxC;wBAAS;oBACR,IAAI,CAAC,GAAG,EAAE,CAAA;iBACX;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,eAAe,CACpD,0BAA0B,EAC1B,EAAE,EACF,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,EAAE;gBACb,IAAI;oBACF,OAAO,MAAM,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;iBAC5C;wBAAS;oBACR,IAAI,CAAC,GAAG,EAAE,CAAA;iBACX;YACH,CAAC,CACF,CAAA;YAED,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAA;YAEnG,+DAA+D;YAC/D,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE;gBAC5B,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;oBAC1B,IAAI,IAAI,KAAK,SAAS,EAAE;wBACtB,MAAM,OAAO,GAAgC,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;4BACvF,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;4BACxC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;wBAC5D,CAAC,CAAA;wBACD,OAAO,OAAO,CAAA;qBACf;yBAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;wBAC5B,mGAAmG;wBACnG,qFAAqF;wBACrF,MAAM,MAAM,GAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;4BACjE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAiB,CAAC,CAAA;4BACjD,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;wBAClC,CAAC,CAAA;wBACD,OAAO,MAAM,CAAA;qBACd;yBAAM;wBACL,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;qBACvC;gBACH,CAAC;aACF,CAAC,CAAA;YAEF,UAAU,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtE,IAAI;oBACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;oBACnE,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;iBAChD;wBAAS;oBACR,IAAI,CAAC,GAAG,EAAE,CAAA;iBACX;YACH,CAAC,CAAC,CAAA;YAEF,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBACnC,iFAAiF;gBACjF,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;oBACtB,MAAM,OAAO,CAAA;iBACd;aACF;YAED,sFAAsF;YACtF,0CAA0C;YAC1C,gCAAgC;YAChC,OAAO,KAAK,CAAC,WAAW,CACtB,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,EACjF,IAAI,CACL,CAAA;SACF;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAA;SACX;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CACjB,KAAqB,EACrB,eAAiC,EAC2B,EAAE;IAC9D,MAAM,SAAS,GACb,OAAO,eAAe,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAA;IAErH,MAAM,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,IAAI,QAAQ,CAAA;IAEvE,MAAM,UAAU,GACd,OAAO,eAAe,CAAC,SAAS,KAAK,UAAU,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAEpH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,mBAAmB;IAGvB;QAIA,QAAG,GAAG,CAAC,GAAM,EAAE,EAAE;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QAC9B,CAAC,CAAA;QAED,WAAM,GAAG,CAAC,GAAM,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aACrB;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;aAC7B;QACH,CAAC,CAAA;QAED,QAAG,GAAG,CAAC,GAAM,EAAE,EAAE;YACf,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC1B,CAAC,CAAA;QAnBC,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAa,CAAA;IACjC,CAAC;IAoBD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;YACjC,MAAM,GAAG,CAAA;SACV;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/livestore",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -54,8 +54,8 @@
54
54
  "lodash-es": "^4.17.21",
55
55
  "sqlite-esm": "3.42.0-build6",
56
56
  "uuid": "^9.0.1",
57
- "@livestore/utils": "0.0.21",
58
- "effect-db-schema": "0.0.21"
57
+ "@livestore/utils": "0.0.23",
58
+ "effect-db-schema": "0.0.23"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@tauri-apps/api": "^1.5.0",
@@ -20,9 +20,6 @@ export type AppState = {
20
20
  filter: Filter
21
21
  }
22
22
 
23
- // const appState: LiveStore.QueryDefinition = (store) =>
24
- // store.querySQL<AppState>(() => `select newTodoText, filter from app;`, { queriedTables: ['app'] }).getFirstRow()
25
-
26
23
  export const schema = LiveStore.makeSchema({
27
24
  tables: {
28
25
  todos: LiveStore.DbSchema.table('todos', {
@@ -10,7 +10,7 @@ import { makeTodoMvc } from './fixture.js'
10
10
  const query = new LiveStoreSQLQuery<Todo>({
11
11
  label: 'todo',
12
12
  genQueryString: `select * from todos`,
13
- queriedTables: ['todos'],
13
+ // queriedTables: ['todos'],
14
14
  })
15
15
 
16
16
  describe('useQuery', () => {
@@ -1,6 +1,6 @@
1
1
  import { expect, it } from 'vitest'
2
2
 
3
- import { extractStackInfoFromStackTrace } from '../../../react/utils/extractStackInfoFromStackTrace.js'
3
+ import { extractStackInfoFromStackTrace } from '../../../react/utils/stack-info.js'
4
4
 
5
5
  it('RouteLink stacktrace', async () => {
6
6
  const stackTrace = `\
@@ -17,24 +17,29 @@ Error
17
17
  at mountIndeterminateComponent (https://localhost:8081/node_modules/.vite-web/deps/chunk-M23HUTQV.js?v=3eb66ed6:14921:21)
18
18
  `
19
19
 
20
- expect(extractStackInfoFromStackTrace(stackTrace)).toMatchInlineSnapshot(`
21
- [
22
- {
23
- "filePath": "https://localhost:8081/src/components/Link.tsx?t=1699550216884:36:7",
24
- "name": "RouteLink",
25
- },
26
- {
27
- "filePath": "https://localhost:8081/src/db/AppState.ts?t=1699550216884:74:22",
28
- "name": "useRoute",
29
- },
30
- {
31
- "filePath": "https://localhost:8081/src/db/AppState.ts?t=1699550216884:17:34",
32
- "name": "useAppState",
33
- },
34
- {
35
- "filePath": "https://localhost:8081/@fs/Users/schickling/Code/overtone/submodules/livestore/packages/@livestore/livestore/dist/react/useQuery.js?t=1699550216884:13:33",
36
- "name": "useQuery",
37
- },
38
- ]
20
+ const stackInfo = extractStackInfoFromStackTrace(stackTrace)
21
+ // Replacing file paths for snapshot testing as they are not stable
22
+ stackInfo.frames.forEach((_) => (_.filePath = '__REPLACED_FOR_SNAPSHOT__'))
23
+ expect(stackInfo).toMatchInlineSnapshot(`
24
+ {
25
+ "frames": [
26
+ {
27
+ "filePath": "__REPLACED_FOR_SNAPSHOT__",
28
+ "name": "RouteLink",
29
+ },
30
+ {
31
+ "filePath": "__REPLACED_FOR_SNAPSHOT__",
32
+ "name": "useRoute",
33
+ },
34
+ {
35
+ "filePath": "__REPLACED_FOR_SNAPSHOT__",
36
+ "name": "useAppState",
37
+ },
38
+ {
39
+ "filePath": "__REPLACED_FOR_SNAPSHOT__",
40
+ "name": "useQuery",
41
+ },
42
+ ],
43
+ }
39
44
  `)
40
45
  })
@@ -30,6 +30,8 @@ describe('a trivial graph', () => {
30
30
  // \ \
31
31
  // e = c + d
32
32
 
33
+ expect(graph.atoms.size).toBe(5)
34
+
33
35
  return { graph, a, b, c, d, e, numberOfRunsForC }
34
36
  }
35
37
 
@@ -56,7 +58,7 @@ describe('a trivial graph', () => {
56
58
  })
57
59
 
58
60
  it('does not rerun c when d is edited and e is rerun', () => {
59
- const { graph, c, d, e, numberOfRunsForC } = makeGraph()
61
+ const { graph, d, e, numberOfRunsForC } = makeGraph()
60
62
  expect(numberOfRunsForC.runs).toBe(0)
61
63
  expect(e.computeResult()).toBe(3 + 3)
62
64
  expect(numberOfRunsForC.runs).toBe(1)
@@ -190,6 +192,8 @@ describe('a dynamic graph', () => {
190
192
  // \ \
191
193
  // f = d * e
192
194
 
195
+ expect(graph.atoms.size).toBe(6)
196
+
193
197
  return { graph, a, b, c, d, e, f, numberOfRunsForD }
194
198
  }
195
199
 
@@ -252,6 +256,8 @@ describe('a diamond shaped graph', () => {
252
256
  // \ /
253
257
  // d = b + c
254
258
 
259
+ expect(graph.atoms.size).toBe(4)
260
+
255
261
  return { graph, a, b, c, d, dRuns }
256
262
  }
257
263
 
@@ -307,6 +313,8 @@ describe('a trivial graph with undefined', () => {
307
313
  // \ \
308
314
  // e = c + d
309
315
 
316
+ expect(graph.atoms.size).toBe(5)
317
+
310
318
  return { graph, a, b, c, d, e }
311
319
  }
312
320
 
@@ -316,3 +324,14 @@ describe('a trivial graph with undefined', () => {
316
324
  expect(e.computeResult()).toBe(4)
317
325
  })
318
326
  })
327
+
328
+ describe('error handling', () => {
329
+ it('throws an error when no context is set', () => {
330
+ const graph = new ReactiveGraph({})
331
+ const a = graph.makeRef(1)
332
+ const b = graph.makeThunk((get) => get(a) + 1)
333
+ expect(() => b.computeResult()).toThrowErrorMatchingInlineSnapshot(
334
+ '"LiveStore Error: `context` not set on ReactiveGraph"',
335
+ )
336
+ })
337
+ })
@@ -166,7 +166,7 @@ describe('otel', () => {
166
166
 
167
167
  const filter = queryJS(() => `where completed = 0`, { label: 'where-filter' })
168
168
  const query = querySQL((get) => `select * from todos ${get(filter)}`, {
169
- queriedTables: ['todos'],
169
+ // queriedTables: ['todos'],
170
170
  label: 'all todos',
171
171
  }).getFirstRow({
172
172
  defaultValue: defaultTodo,
@@ -264,7 +264,7 @@ describe('otel', () => {
264
264
  "_name": "LiveStore:queries",
265
265
  "children": [
266
266
  {
267
- "_name": "js:all todos:first",
267
+ "_name": "js:sql(all todos):first",
268
268
  "children": [
269
269
  {
270
270
  "_name": "sql:select * from todos where completed = 0",
@@ -289,7 +289,7 @@ describe('otel', () => {
289
289
  ],
290
290
  },
291
291
  {
292
- "_name": "js:all todos:first",
292
+ "_name": "js:sql(all todos):first",
293
293
  "children": [
294
294
  {
295
295
  "_name": "sql:select * from todos where completed = 0",
@@ -41,6 +41,7 @@ export class InMemoryDatabase {
41
41
  private cachedStmts = new BoundMap<string, Sqlite.PreparedStatement>(200)
42
42
  private tablesUsedCache = new BoundMap<string, string[]>(200)
43
43
  private resultCache = new QueryCache()
44
+ private tablesUsedStmt
44
45
  public debugInfo: DebugInfo = emptyDebugInfo()
45
46
 
46
47
  constructor(
@@ -48,7 +49,11 @@ export class InMemoryDatabase {
48
49
  private otelTracer: otel.Tracer,
49
50
  private otelRootSpanContext: otel.Context,
50
51
  public SQL: Sqlite.Sqlite3Static,
51
- ) {}
52
+ ) {
53
+ this.tablesUsedStmt = this.db.prepare(
54
+ `SELECT tbl_name FROM tables_used(?) AS u JOIN sqlite_master ON sqlite_master.name = u.name WHERE u.schema = 'main';`,
55
+ )
56
+ }
52
57
 
53
58
  static load({
54
59
  data,
@@ -113,9 +118,7 @@ export class InMemoryDatabase {
113
118
  if (cached) {
114
119
  return cached
115
120
  }
116
- const stmt = this.db.prepare(
117
- `SELECT tbl_name FROM tables_used(?) AS u JOIN sqlite_master ON sqlite_master.name = u.name WHERE u.schema = 'main';`,
118
- )
121
+ const stmt = this.tablesUsedStmt
119
122
  const tablesUsed = []
120
123
  try {
121
124
  stmt.bind([query])
@@ -123,7 +126,7 @@ export class InMemoryDatabase {
123
126
  tablesUsed.push(stmt.get(0))
124
127
  }
125
128
  } finally {
126
- stmt.finalize()
129
+ stmt.reset()
127
130
  }
128
131
  this.tablesUsedCache.set(query, tablesUsed as string[])
129
132
  return tablesUsed as string[]
@@ -133,7 +136,7 @@ export class InMemoryDatabase {
133
136
  query: string,
134
137
  bindValues?: PreparedBindValues,
135
138
  writeTables?: string[],
136
- options?: { hasNoEffects?: boolean; otelContext: otel.Context },
139
+ options?: { hasNoEffects?: boolean; otelContext?: otel.Context },
137
140
  ): { durationMs: number } {
138
141
  return this.otelTracer.startActiveSpan(
139
142
  'livestore.in-memory-db:execute',