@livestore/livestore 0.0.56-dev.0 → 0.0.56-dev.1
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/{MainDatabaseWrapper.d.ts → SynchronousDatabaseWrapper.d.ts} +4 -4
- package/dist/SynchronousDatabaseWrapper.d.ts.map +1 -0
- package/dist/{MainDatabaseWrapper.js → SynchronousDatabaseWrapper.js} +2 -2
- package/dist/SynchronousDatabaseWrapper.js.map +1 -0
- package/dist/effect/LiveStore.d.ts +2 -2
- package/dist/effect/LiveStore.d.ts.map +1 -1
- package/dist/effect/LiveStore.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/reactiveQueries/sql.js +2 -2
- package/dist/row-query.js +1 -1
- package/dist/store-devtools.d.ts +4 -4
- package/dist/store-devtools.d.ts.map +1 -1
- package/dist/store-devtools.js +6 -6
- package/dist/store-devtools.js.map +1 -1
- package/dist/store.d.ts +3 -3
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +16 -16
- package/dist/store.js.map +1 -1
- package/package.json +5 -5
- package/src/{MainDatabaseWrapper.ts → SynchronousDatabaseWrapper.ts} +5 -5
- package/src/effect/LiveStore.ts +2 -2
- package/src/index.ts +2 -2
- package/src/reactiveQueries/sql.ts +2 -2
- package/src/row-query.ts +1 -1
- package/src/store-devtools.ts +10 -10
- package/src/store.ts +17 -17
- package/dist/MainDatabaseWrapper.d.ts.map +0 -1
- package/dist/MainDatabaseWrapper.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/livestore",
|
|
3
|
-
"version": "0.0.56-dev.
|
|
3
|
+
"version": "0.0.56-dev.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@graphql-typed-document-node/core": "^3.2.0",
|
|
32
32
|
"@opentelemetry/api": "^1.9.0",
|
|
33
|
-
"@livestore/
|
|
34
|
-
"effect-db-schema": "0.0.56-dev.
|
|
35
|
-
"@livestore/
|
|
33
|
+
"@livestore/common": "0.0.56-dev.1",
|
|
34
|
+
"effect-db-schema": "0.0.56-dev.1",
|
|
35
|
+
"@livestore/utils": "0.0.56-dev.1"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@opentelemetry/sdk-trace-base": "1.25.1",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"typescript": "5.5.4",
|
|
47
47
|
"vite": "5.3.5",
|
|
48
48
|
"vitest": "^2.0.4",
|
|
49
|
-
"@livestore/web": "0.0.56-dev.
|
|
49
|
+
"@livestore/web": "0.0.56-dev.1"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"graphql": "16.x",
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
import type {
|
|
4
4
|
DebugInfo,
|
|
5
|
-
InMemoryDatabase,
|
|
6
5
|
MutableDebugInfo,
|
|
7
6
|
PreparedBindValues,
|
|
8
7
|
PreparedStatement,
|
|
8
|
+
SynchronousDatabase,
|
|
9
9
|
} from '@livestore/common'
|
|
10
10
|
import { BoundArray, BoundMap, sql } from '@livestore/common'
|
|
11
11
|
import { shouldNeverHappen } from '@livestore/utils'
|
|
@@ -21,12 +21,12 @@ export const emptyDebugInfo = (): DebugInfo => ({
|
|
|
21
21
|
events: new BoundArray(1000),
|
|
22
22
|
})
|
|
23
23
|
|
|
24
|
-
export class
|
|
24
|
+
export class SynchronousDatabaseWrapper {
|
|
25
25
|
// TODO: how many unique active statements are expected?
|
|
26
26
|
private cachedStmts = new BoundMap<string, PreparedStatement>(200)
|
|
27
27
|
private tablesUsedCache = new BoundMap<string, Set<string>>(200)
|
|
28
28
|
private resultCache = new QueryCache()
|
|
29
|
-
private db:
|
|
29
|
+
private db: SynchronousDatabase
|
|
30
30
|
private otelTracer: otel.Tracer
|
|
31
31
|
private otelRootSpanContext: otel.Context
|
|
32
32
|
private tablesUsedStmt
|
|
@@ -36,7 +36,7 @@ export class MainDatabaseWrapper {
|
|
|
36
36
|
db,
|
|
37
37
|
otel,
|
|
38
38
|
}: {
|
|
39
|
-
db:
|
|
39
|
+
db: SynchronousDatabase
|
|
40
40
|
otel: {
|
|
41
41
|
tracer: otel.Tracer
|
|
42
42
|
rootSpanContext: otel.Context
|
|
@@ -244,7 +244,7 @@ export class MainDatabaseWrapper {
|
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
/** Set up SQLite performance; hasn't been super carefully optimized yet. */
|
|
247
|
-
const configureSQLite = (db:
|
|
247
|
+
const configureSQLite = (db: SynchronousDatabaseWrapper) => {
|
|
248
248
|
db.execute(
|
|
249
249
|
// TODO: revisit these tuning parameters for max performance
|
|
250
250
|
sql`
|
package/src/effect/LiveStore.ts
CHANGED
|
@@ -5,10 +5,10 @@ import { Context, Deferred, Duration, Effect, FiberSet, Layer, OtelTracer, pipe
|
|
|
5
5
|
import * as otel from '@opentelemetry/api'
|
|
6
6
|
import type { GraphQLSchema } from 'graphql'
|
|
7
7
|
|
|
8
|
-
import type { MainDatabaseWrapper } from '../MainDatabaseWrapper.js'
|
|
9
8
|
import type { LiveQuery } from '../reactiveQueries/base-class.js'
|
|
10
9
|
import type { BaseGraphQLContext, GraphQLOptions, OtelOptions, Store } from '../store.js'
|
|
11
10
|
import { createStore } from '../store.js'
|
|
11
|
+
import type { SynchronousDatabaseWrapper } from '../SynchronousDatabaseWrapper.js'
|
|
12
12
|
|
|
13
13
|
// TODO get rid of `LiveStoreContext` wrapper and only expose the `Store` directly
|
|
14
14
|
export type LiveStoreContext =
|
|
@@ -54,7 +54,7 @@ export type LiveStoreContextProps<GraphQLContext extends BaseGraphQLContext> = {
|
|
|
54
54
|
schema: LiveStoreSchema
|
|
55
55
|
graphQLOptions?: {
|
|
56
56
|
schema: Effect.Effect<GraphQLSchema, never, otel.Tracer>
|
|
57
|
-
makeContext: (db:
|
|
57
|
+
makeContext: (db: SynchronousDatabaseWrapper) => GraphQLContext
|
|
58
58
|
}
|
|
59
59
|
boot?: (db: BootDb) => Effect.Effect<void, unknown, otel.Tracer>
|
|
60
60
|
adapter: StoreAdapterFactory
|
package/src/index.ts
CHANGED
|
@@ -7,7 +7,7 @@ export type {
|
|
|
7
7
|
LiveStoreContextRunning as LiveStoreContext,
|
|
8
8
|
} from './effect/LiveStore.js'
|
|
9
9
|
|
|
10
|
-
export {
|
|
10
|
+
export { SynchronousDatabaseWrapper, emptyDebugInfo } from './SynchronousDatabaseWrapper.js'
|
|
11
11
|
|
|
12
12
|
export type {
|
|
13
13
|
GetAtom,
|
|
@@ -40,7 +40,7 @@ export {
|
|
|
40
40
|
sql,
|
|
41
41
|
type BootDb,
|
|
42
42
|
type BootStatus,
|
|
43
|
-
type
|
|
43
|
+
type SynchronousDatabase,
|
|
44
44
|
type DebugInfo,
|
|
45
45
|
type MutableDebugInfo,
|
|
46
46
|
prepareBindValues,
|
|
@@ -153,7 +153,7 @@ export class LiveStoreSQLQuery<
|
|
|
153
153
|
: get(queryString$OrQueryString, otelContext)
|
|
154
154
|
|
|
155
155
|
if (queriedTablesRef.current === undefined) {
|
|
156
|
-
queriedTablesRef.current = store.
|
|
156
|
+
queriedTablesRef.current = store.syncDbWrapper.getTablesUsed(sqlString)
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
// Establish a reactive dependency on the tables used in the query
|
|
@@ -165,7 +165,7 @@ export class LiveStoreSQLQuery<
|
|
|
165
165
|
span.setAttribute('sql.query', sqlString)
|
|
166
166
|
span.updateName(`sql:${sqlString.slice(0, 50)}`)
|
|
167
167
|
|
|
168
|
-
const rawResults = store.
|
|
168
|
+
const rawResults = store.syncDbWrapper.select<any>(sqlString, {
|
|
169
169
|
queriedTables,
|
|
170
170
|
bindValues: bindValues ? prepareBindValues(bindValues, sqlString) : undefined,
|
|
171
171
|
otelContext,
|
package/src/row-query.ts
CHANGED
|
@@ -163,7 +163,7 @@ const insertRowWithDefaultValuesOrIgnore = ({
|
|
|
163
163
|
otelContext: otel.Context
|
|
164
164
|
explicitDefaultValues: Partial<RowResult<DbSchema.TableDef>> | undefined
|
|
165
165
|
}) => {
|
|
166
|
-
const rowExists = store.
|
|
166
|
+
const rowExists = store.syncDbWrapper.select(`select 1 from ${table.sqliteDef.name} where id = '${id}'`).length === 1
|
|
167
167
|
if (rowExists) return
|
|
168
168
|
|
|
169
169
|
// const mutationDef = deriveCreateMutationDef(table)
|
package/src/store-devtools.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import type { DebugInfo, StoreAdapter } from '@livestore/common'
|
|
2
2
|
import { Devtools, liveStoreVersion, UnexpectedError } from '@livestore/common'
|
|
3
3
|
import { throttle } from '@livestore/utils'
|
|
4
|
-
import type {
|
|
4
|
+
import type { WebChannel } from '@livestore/utils/effect'
|
|
5
5
|
import { Effect, Stream } from '@livestore/utils/effect'
|
|
6
6
|
|
|
7
|
-
import type { MainDatabaseWrapper } from './MainDatabaseWrapper.js'
|
|
8
|
-
import { emptyDebugInfo as makeEmptyDebugInfo } from './MainDatabaseWrapper.js'
|
|
9
7
|
import { NOT_REFRESHED_YET } from './reactive.js'
|
|
10
8
|
import type { LiveQuery, ReactivityGraph } from './reactiveQueries/base-class.js'
|
|
9
|
+
import type { SynchronousDatabaseWrapper } from './SynchronousDatabaseWrapper.js'
|
|
10
|
+
import { emptyDebugInfo as makeEmptyDebugInfo } from './SynchronousDatabaseWrapper.js'
|
|
11
11
|
import type { ReferenceCountedSet } from './utils/data-structures.js'
|
|
12
12
|
|
|
13
13
|
type IStore = {
|
|
14
14
|
adapter: StoreAdapter
|
|
15
15
|
reactivityGraph: ReactivityGraph
|
|
16
|
-
|
|
16
|
+
syncDbWrapper: SynchronousDatabaseWrapper
|
|
17
17
|
activeQueries: ReferenceCountedSet<LiveQuery<any>>
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -25,7 +25,7 @@ export const connectDevtoolsToStore = ({
|
|
|
25
25
|
storeDevtoolsChannel,
|
|
26
26
|
store,
|
|
27
27
|
}: {
|
|
28
|
-
storeDevtoolsChannel:
|
|
28
|
+
storeDevtoolsChannel: WebChannel.WebChannel<Devtools.MessageToAppHostStore, Devtools.MessageFromAppHostStore>
|
|
29
29
|
store: IStore
|
|
30
30
|
}) =>
|
|
31
31
|
Effect.gen(function* () {
|
|
@@ -84,7 +84,7 @@ export const connectDevtoolsToStore = ({
|
|
|
84
84
|
case 'LSD.DebugInfoReq': {
|
|
85
85
|
sendToDevtools(
|
|
86
86
|
Devtools.DebugInfoRes.make({
|
|
87
|
-
debugInfo: store.
|
|
87
|
+
debugInfo: store.syncDbWrapper.debugInfo,
|
|
88
88
|
requestId,
|
|
89
89
|
channelId,
|
|
90
90
|
liveStoreVersion,
|
|
@@ -98,13 +98,13 @@ export const connectDevtoolsToStore = ({
|
|
|
98
98
|
let rafHandle: number | undefined
|
|
99
99
|
|
|
100
100
|
const tick = () => {
|
|
101
|
-
buffer.push(store.
|
|
101
|
+
buffer.push(store.syncDbWrapper.debugInfo)
|
|
102
102
|
|
|
103
103
|
// NOTE this resets the debug info, so all other "readers" e.g. in other `requestAnimationFrame` loops,
|
|
104
104
|
// will get the empty debug info
|
|
105
105
|
// TODO We need to come up with a more graceful way to do store. Probably via a single global
|
|
106
106
|
// `requestAnimationFrame` loop that is passed in somehow.
|
|
107
|
-
store.
|
|
107
|
+
store.syncDbWrapper.debugInfo = makeEmptyDebugInfo()
|
|
108
108
|
|
|
109
109
|
if (buffer.length > 10) {
|
|
110
110
|
sendToDevtools(
|
|
@@ -142,13 +142,13 @@ export const connectDevtoolsToStore = ({
|
|
|
142
142
|
break
|
|
143
143
|
}
|
|
144
144
|
case 'LSD.DebugInfoResetReq': {
|
|
145
|
-
store.
|
|
145
|
+
store.syncDbWrapper.debugInfo.slowQueries.clear()
|
|
146
146
|
sendToDevtools(Devtools.DebugInfoResetRes.make({ requestId, channelId, liveStoreVersion }))
|
|
147
147
|
break
|
|
148
148
|
}
|
|
149
149
|
case 'LSD.DebugInfoRerunQueryReq': {
|
|
150
150
|
const { queryStr, bindValues, queriedTables } = decodedMessage
|
|
151
|
-
store.
|
|
151
|
+
store.syncDbWrapper.select(queryStr, { bindValues, queriedTables, skipCache: true })
|
|
152
152
|
sendToDevtools(Devtools.DebugInfoRerunQueryRes.make({ requestId, channelId, liveStoreVersion }))
|
|
153
153
|
break
|
|
154
154
|
}
|
package/src/store.ts
CHANGED
|
@@ -34,11 +34,11 @@ import * as otel from '@opentelemetry/api'
|
|
|
34
34
|
import type { GraphQLSchema } from 'graphql'
|
|
35
35
|
|
|
36
36
|
import { globalReactivityGraph } from './global-state.js'
|
|
37
|
-
import { MainDatabaseWrapper } from './MainDatabaseWrapper.js'
|
|
38
37
|
import type { StackInfo } from './react/utils/stack-info.js'
|
|
39
38
|
import type { DebugRefreshReasonBase, Ref } from './reactive.js'
|
|
40
39
|
import type { LiveQuery, QueryContext, ReactivityGraph } from './reactiveQueries/base-class.js'
|
|
41
40
|
import { connectDevtoolsToStore } from './store-devtools.js'
|
|
41
|
+
import { SynchronousDatabaseWrapper } from './SynchronousDatabaseWrapper.js'
|
|
42
42
|
import { ReferenceCountedSet } from './utils/data-structures.js'
|
|
43
43
|
import { downloadBlob } from './utils/dev.js'
|
|
44
44
|
import { getDurationMsFromSpan } from './utils/otel.js'
|
|
@@ -51,7 +51,7 @@ export type BaseGraphQLContext = {
|
|
|
51
51
|
|
|
52
52
|
export type GraphQLOptions<TContext> = {
|
|
53
53
|
schema: GraphQLSchema
|
|
54
|
-
makeContext: (db:
|
|
54
|
+
makeContext: (db: SynchronousDatabaseWrapper, tracer: otel.Tracer) => TContext
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
export type OtelOptions = {
|
|
@@ -132,7 +132,7 @@ export class Store<
|
|
|
132
132
|
id = uniqueStoreId()
|
|
133
133
|
private fiberSet: FiberSet.FiberSet
|
|
134
134
|
reactivityGraph: ReactivityGraph
|
|
135
|
-
|
|
135
|
+
syncDbWrapper: SynchronousDatabaseWrapper
|
|
136
136
|
adapter: StoreAdapter
|
|
137
137
|
schema: LiveStoreSchema
|
|
138
138
|
graphQLSchema?: GraphQLSchema
|
|
@@ -166,7 +166,7 @@ export class Store<
|
|
|
166
166
|
}: StoreOptions<TGraphQLContext, TSchema>) {
|
|
167
167
|
super()
|
|
168
168
|
|
|
169
|
-
this.
|
|
169
|
+
this.syncDbWrapper = new SynchronousDatabaseWrapper({ otel: otelOptions, db: adapter.syncDb })
|
|
170
170
|
this.adapter = adapter
|
|
171
171
|
this.schema = schema
|
|
172
172
|
|
|
@@ -226,7 +226,7 @@ export class Store<
|
|
|
226
226
|
|
|
227
227
|
if (graphQLOptions) {
|
|
228
228
|
this.graphQLSchema = graphQLOptions.schema
|
|
229
|
-
this.graphQLContext = graphQLOptions.makeContext(this.
|
|
229
|
+
this.graphQLContext = graphQLOptions.makeContext(this.syncDbWrapper, this.otel.tracer)
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
Effect.gen(this, function* () {
|
|
@@ -422,7 +422,7 @@ export class Store<
|
|
|
422
422
|
|
|
423
423
|
if (mutationsEvents.length > 1) {
|
|
424
424
|
// TODO: what to do about coordinator transaction here?
|
|
425
|
-
this.
|
|
425
|
+
this.syncDbWrapper.txn(applyMutations)
|
|
426
426
|
} else {
|
|
427
427
|
applyMutations()
|
|
428
428
|
}
|
|
@@ -532,11 +532,11 @@ export class Store<
|
|
|
532
532
|
for (const {
|
|
533
533
|
statementSql,
|
|
534
534
|
bindValues,
|
|
535
|
-
writeTables = this.
|
|
535
|
+
writeTables = this.syncDbWrapper.getTablesUsed(statementSql),
|
|
536
536
|
} of execArgsArr) {
|
|
537
537
|
// TODO when the store doesn't have the lock, we need wait for the coordinator to confirm the mutation
|
|
538
538
|
// before executing the mutation on the main db
|
|
539
|
-
const { durationMs } = this.
|
|
539
|
+
const { durationMs } = this.syncDbWrapper.execute(statementSql, bindValues, writeTables, { otelContext })
|
|
540
540
|
|
|
541
541
|
durationMsTotal += durationMs
|
|
542
542
|
writeTables.forEach((table) => allWriteTables.add(table))
|
|
@@ -573,13 +573,13 @@ export class Store<
|
|
|
573
573
|
writeTables?: ReadonlySet<string>,
|
|
574
574
|
otelContext?: otel.Context,
|
|
575
575
|
) => {
|
|
576
|
-
this.
|
|
576
|
+
this.syncDbWrapper.execute(query, prepareBindValues(params, query), writeTables, { otelContext })
|
|
577
577
|
|
|
578
578
|
this.adapter.coordinator.execute(query, prepareBindValues(params, query)).pipe(runEffectFork)
|
|
579
579
|
}
|
|
580
580
|
|
|
581
581
|
select = (query: string, params: ParamsObject = {}) => {
|
|
582
|
-
return this.
|
|
582
|
+
return this.syncDbWrapper.select(query, { bindValues: prepareBindValues(params, query) })
|
|
583
583
|
}
|
|
584
584
|
|
|
585
585
|
makeTableRef = (tableName: string) =>
|
|
@@ -590,7 +590,7 @@ export class Store<
|
|
|
590
590
|
})
|
|
591
591
|
|
|
592
592
|
__devDownloadDb = () => {
|
|
593
|
-
const data = this.
|
|
593
|
+
const data = this.syncDbWrapper.export()
|
|
594
594
|
downloadBlob(data, `livestore-${Date.now()}.db`)
|
|
595
595
|
}
|
|
596
596
|
|
|
@@ -737,7 +737,7 @@ export const createStore = <
|
|
|
737
737
|
const bootDbImpl: BootDb = {
|
|
738
738
|
_tag: 'BootDb',
|
|
739
739
|
execute: (queryStr, bindValues) => {
|
|
740
|
-
const stmt = adapter.
|
|
740
|
+
const stmt = adapter.syncDb.prepare(queryStr)
|
|
741
741
|
stmt.execute(bindValues)
|
|
742
742
|
|
|
743
743
|
if (isInTxn === true) {
|
|
@@ -758,7 +758,7 @@ export const createStore = <
|
|
|
758
758
|
// const { bindValues, statementSql } = getExecArgsFromMutation({ mutationDef, mutationEventDecoded })
|
|
759
759
|
|
|
760
760
|
for (const { statementSql, bindValues } of execArgsArr) {
|
|
761
|
-
adapter.
|
|
761
|
+
adapter.syncDb.execute(statementSql, bindValues)
|
|
762
762
|
}
|
|
763
763
|
|
|
764
764
|
const mutationEventEncoded = Schema.encodeUnknownSync(mutationEventSchema)(mutationEventDecoded)
|
|
@@ -769,17 +769,17 @@ export const createStore = <
|
|
|
769
769
|
}
|
|
770
770
|
},
|
|
771
771
|
select: (queryStr, bindValues) => {
|
|
772
|
-
const stmt = adapter.
|
|
772
|
+
const stmt = adapter.syncDb.prepare(queryStr)
|
|
773
773
|
return stmt.select(bindValues)
|
|
774
774
|
},
|
|
775
775
|
txn: (callback) => {
|
|
776
776
|
try {
|
|
777
777
|
isInTxn = true
|
|
778
|
-
adapter.
|
|
778
|
+
adapter.syncDb.execute('BEGIN', undefined)
|
|
779
779
|
|
|
780
780
|
callback()
|
|
781
781
|
|
|
782
|
-
adapter.
|
|
782
|
+
adapter.syncDb.execute('COMMIT', undefined)
|
|
783
783
|
|
|
784
784
|
// adapter.coordinator.execute('BEGIN', undefined, undefined)
|
|
785
785
|
for (const [queryStr, bindValues] of txnExecuteStmnts) {
|
|
@@ -787,7 +787,7 @@ export const createStore = <
|
|
|
787
787
|
}
|
|
788
788
|
// adapter.coordinator.execute('COMMIT', undefined, undefined)
|
|
789
789
|
} catch (e: any) {
|
|
790
|
-
adapter.
|
|
790
|
+
adapter.syncDb.execute('ROLLBACK', undefined)
|
|
791
791
|
throw e
|
|
792
792
|
} finally {
|
|
793
793
|
isInTxn = false
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MainDatabaseWrapper.d.ts","sourceRoot":"","sources":["../src/MainDatabaseWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAK/C,eAAO,MAAM,cAAc,QAAO,SAKhC,CAAA;AAEF,qBAAa,mBAAmB;IAE9B,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,eAAe,CAAyC;IAChE,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,cAAc,CAAA;IACf,SAAS,EAAE,gBAAgB,CAAmB;gBAEzC,EACV,EAAE,EACF,IAAI,GACL,EAAE;QACD,EAAE,EAAE,gBAAgB,CAAA;QACpB,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;YACnB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAA;SAC9B,CAAA;KACF;IAcD,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAqBrC,aAAa,CAAC,KAAK,EAAE,MAAM;IA4B3B,OAAO,CACL,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,kBAAkB,EAC/B,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EACjC,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;KAAE,GAC/D;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAkDzB,MAAM,CAAC,CAAC,GAAG,GAAG,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QACnC,UAAU,CAAC,EAAE,kBAAkB,CAAA;QAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;KAC3B,GACA,aAAa,CAAC,CAAC,CAAC;IAkEnB,MAAM;CAQP"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MainDatabaseWrapper.js","sourceRoot":"","sources":["../src/MainDatabaseWrapper.ts"],"names":[],"mappings":"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"}
|