@livestore/livestore 0.0.41-dev.2 → 0.0.42-dev.0
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/{inMemoryDatabase.d.ts → MainDatabaseWrapper.d.ts} +11 -18
- package/dist/MainDatabaseWrapper.d.ts.map +1 -0
- package/dist/{inMemoryDatabase.js → MainDatabaseWrapper.js} +26 -72
- package/dist/MainDatabaseWrapper.js.map +1 -0
- package/dist/__tests__/react/fixture.d.ts +41 -40
- package/dist/__tests__/react/fixture.d.ts.map +1 -1
- package/dist/__tests__/react/fixture.js +2 -8
- package/dist/__tests__/react/fixture.js.map +1 -1
- package/dist/cud.d.ts +9 -9
- package/dist/cud.d.ts.map +1 -1
- package/dist/cud.js +7 -8
- package/dist/cud.js.map +1 -1
- package/dist/effect/LiveStore.d.ts +10 -10
- package/dist/effect/LiveStore.d.ts.map +1 -1
- package/dist/effect/LiveStore.js +2 -11
- package/dist/effect/LiveStore.js.map +1 -1
- package/dist/global-state.d.ts +2 -2
- package/dist/global-state.d.ts.map +1 -1
- package/dist/global-state.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/migrations.d.ts +5 -5
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +37 -21
- package/dist/migrations.js.map +1 -1
- package/dist/query-info.d.ts +8 -9
- package/dist/query-info.d.ts.map +1 -1
- package/dist/query-info.js +1 -1
- package/dist/query-info.js.map +1 -1
- package/dist/react/LiveStoreProvider.d.ts +7 -7
- package/dist/react/LiveStoreProvider.d.ts.map +1 -1
- package/dist/react/LiveStoreProvider.js +11 -19
- package/dist/react/LiveStoreProvider.js.map +1 -1
- package/dist/react/useRow.d.ts +6 -6
- package/dist/react/useRow.d.ts.map +1 -1
- package/dist/react/useRow.js +2 -2
- package/dist/react/useRow.js.map +1 -1
- package/dist/reactiveQueries/sql.js +2 -2
- package/dist/reactiveQueries/sql.js.map +1 -1
- package/dist/reactiveQueries/sql.test.js +12 -31
- package/dist/reactiveQueries/sql.test.js.map +1 -1
- package/dist/row-query.d.ts +6 -6
- package/dist/row-query.d.ts.map +1 -1
- package/dist/row-query.js +9 -12
- package/dist/row-query.js.map +1 -1
- package/dist/store.d.ts +18 -18
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +80 -86
- package/dist/store.js.map +1 -1
- package/dist/utils/bounded-collections.d.ts +1 -1
- package/dist/utils/bounded-collections.d.ts.map +1 -1
- package/dist/utils/bounded-collections.js +2 -1
- package/dist/utils/bounded-collections.js.map +1 -1
- package/dist/utils/util.d.ts +0 -16
- package/dist/utils/util.d.ts.map +1 -1
- package/dist/utils/util.js +0 -38
- package/dist/utils/util.js.map +1 -1
- package/package.json +8 -44
- package/src/{inMemoryDatabase.ts → MainDatabaseWrapper.ts} +40 -94
- package/src/__tests__/react/fixture.tsx +3 -9
- package/src/cud.ts +17 -16
- package/src/effect/LiveStore.ts +12 -24
- package/src/global-state.ts +3 -2
- package/src/index.ts +7 -23
- package/src/migrations.ts +51 -34
- package/src/query-info.ts +10 -9
- package/src/react/LiveStoreProvider.tsx +19 -27
- package/src/react/useRow.ts +24 -12
- package/src/reactiveQueries/sql.test.ts +12 -31
- package/src/reactiveQueries/sql.ts +2 -2
- package/src/row-query.ts +32 -29
- package/src/store.ts +98 -103
- package/src/utils/bounded-collections.ts +3 -2
- package/src/utils/util.ts +0 -44
- package/tsconfig.json +1 -1
- package/vitest.config.js +4 -0
- package/dist/inMemoryDatabase.d.ts.map +0 -1
- package/dist/inMemoryDatabase.js.map +0 -1
- package/dist/schema/index.d.ts +0 -42
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/schema/index.js +0 -42
- package/dist/schema/index.js.map +0 -1
- package/dist/schema/mutations.d.ts +0 -81
- package/dist/schema/mutations.d.ts.map +0 -1
- package/dist/schema/mutations.js +0 -29
- package/dist/schema/mutations.js.map +0 -1
- package/dist/schema/parse-utils.d.ts +0 -6
- package/dist/schema/parse-utils.d.ts.map +0 -1
- package/dist/schema/parse-utils.js +0 -22
- package/dist/schema/parse-utils.js.map +0 -1
- package/dist/schema/system-tables.d.ts +0 -76
- package/dist/schema/system-tables.d.ts.map +0 -1
- package/dist/schema/system-tables.js +0 -11
- package/dist/schema/system-tables.js.map +0 -1
- package/dist/schema/table-def.d.ts +0 -100
- package/dist/schema/table-def.d.ts.map +0 -1
- package/dist/schema/table-def.js +0 -70
- package/dist/schema/table-def.js.map +0 -1
- package/dist/storage/in-memory/index.d.ts +0 -19
- package/dist/storage/in-memory/index.d.ts.map +0 -1
- package/dist/storage/in-memory/index.js +0 -16
- package/dist/storage/in-memory/index.js.map +0 -1
- package/dist/storage/index.d.ts +0 -18
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/storage/index.js +0 -9
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/tauri/index.d.ts +0 -23
- package/dist/storage/tauri/index.d.ts.map +0 -1
- package/dist/storage/tauri/index.js +0 -46
- package/dist/storage/tauri/index.js.map +0 -1
- package/dist/storage/utils/idb.d.ts +0 -11
- package/dist/storage/utils/idb.d.ts.map +0 -1
- package/dist/storage/utils/idb.js +0 -71
- package/dist/storage/utils/idb.js.map +0 -1
- package/dist/storage/web-worker/common.d.ts +0 -11
- package/dist/storage/web-worker/common.d.ts.map +0 -1
- package/dist/storage/web-worker/common.js +0 -2
- package/dist/storage/web-worker/common.js.map +0 -1
- package/dist/storage/web-worker/index.d.ts +0 -34
- package/dist/storage/web-worker/index.d.ts.map +0 -1
- package/dist/storage/web-worker/index.js +0 -134
- package/dist/storage/web-worker/index.js.map +0 -1
- package/dist/storage/web-worker/make-worker.d.ts +0 -20
- package/dist/storage/web-worker/make-worker.d.ts.map +0 -1
- package/dist/storage/web-worker/make-worker.js +0 -155
- package/dist/storage/web-worker/make-worker.js.map +0 -1
- package/dist/storage/web-worker/vite-dev-polyfill.d.ts +0 -2
- package/dist/storage/web-worker/vite-dev-polyfill.d.ts.map +0 -1
- package/dist/storage/web-worker/vite-dev-polyfill.js +0 -35
- package/dist/storage/web-worker/vite-dev-polyfill.js.map +0 -1
- package/src/schema/index.ts +0 -100
- package/src/schema/mutations.ts +0 -128
- package/src/schema/parse-utils.ts +0 -42
- package/src/schema/system-tables.ts +0 -21
- package/src/schema/table-def.ts +0 -270
- package/src/storage/in-memory/index.ts +0 -28
- package/src/storage/index.ts +0 -36
- package/src/storage/tauri/index.ts +0 -66
- package/src/storage/utils/idb.ts +0 -85
- package/src/storage/web-worker/common.ts +0 -6
- package/src/storage/web-worker/index.ts +0 -185
- package/src/storage/web-worker/make-worker.ts +0 -214
- package/src/storage/web-worker/vite-dev-polyfill.ts +0 -33
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/tauri/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAIxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAQvD,MAAM,OAAO,YAAY;IAEZ;IACA;IACA;IACA;IAJX,YACW,UAAkB,EAClB,SAAiB,EACjB,UAAuB,EACvB,UAAqB;QAHrB,eAAU,GAAV,UAAU,CAAQ;QAClB,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAa;QACvB,eAAU,GAAV,UAAU,CAAW;IAC7B,CAAC;IAEJ,MAAM,CAAC,IAAI,GACT,CAAC,EAAE,SAAS,EAAE,aAAa,EAAuB,EAAE,EAAE,CACtD,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAoB,EAAE,EAAE;QACrD,MAAM,UAAU,GAAG,GAAG,SAAS,IAAI,aAAa,EAAE,CAAA;QAClD,MAAM,MAAM,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAEjG,OAAO,IAAI,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;IACxE,CAAC,CAAA;IAEH,OAAO,GAAG,CAAC,KAAa,EAAE,UAA+B,EAAE,UAAsB,EAAQ,EAAE;QACzF,2FAA2F;QAC3F,KAAK,MAAM,CAAC,SAAS,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,KAAK;YACL,MAAM,EAAE,iBAAiB,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,CAAC;YAClD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;SACvC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,GAAG,CAAC,qBAAwC,EAAE,WAAmC,EAAE,EAAE,GAAE,CAAC,CAAA;IAE9F,gBAAgB,GAAG,KAAK,EAAE,UAAsB,EAAuB,EAAE;QACvE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;QAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,oBAAoB,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QAE/E,OAAO,KAAK,CAAC,uDAAuD,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACtG,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAC9E,CAAA;IACH,CAAC,CAAA;IAED,OAAO;IACP,kBAAkB,GAAG,KAAK,IAAyB,EAAE,CAAC,IAAI,UAAU,EAAE,CAAA;IAEtE,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAC5B,OAAO;IACT,CAAC,CAAA;IAEO,WAAW,GAAG,CAAC,UAAsB,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAE,CAAA;;AAGhG,MAAM,YAAY,GAAG,CAAC,UAAiC,EAAE,EAAE;IACzD,MAAM,WAAW,GAAG,UAAU,EAAE,WAAW,EAAE,CAAA;IAC7C,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACjG,CAAC,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare class IDB {
|
|
2
|
-
private dbName;
|
|
3
|
-
private storeName;
|
|
4
|
-
private db;
|
|
5
|
-
constructor(dbName: string, storeName?: string);
|
|
6
|
-
private open;
|
|
7
|
-
get(key: string): Promise<Uint8Array | undefined>;
|
|
8
|
-
put(key: string, value: Uint8Array): Promise<void>;
|
|
9
|
-
deleteDb(): Promise<void>;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=idb.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"idb.d.ts","sourceRoot":"","sources":["../../../src/storage/utils/idb.ts"],"names":[],"mappings":"AAGA,qBAAa,GAAG;IAIZ,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS;IAJnB,OAAO,CAAC,EAAE,CAA2B;gBAG3B,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAAuB;YAG9B,IAAI;IAwBL,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAkBjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAavC"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/* eslint-disable unicorn/prefer-add-event-listener */
|
|
2
|
-
/* eslint-disable prefer-arrow/prefer-arrow-functions */
|
|
3
|
-
export class IDB {
|
|
4
|
-
dbName;
|
|
5
|
-
storeName;
|
|
6
|
-
db = null;
|
|
7
|
-
constructor(dbName, storeName = 'binary_store') {
|
|
8
|
-
this.dbName = dbName;
|
|
9
|
-
this.storeName = storeName;
|
|
10
|
-
}
|
|
11
|
-
async open() {
|
|
12
|
-
if (this.db)
|
|
13
|
-
return this.db;
|
|
14
|
-
return new Promise((resolve, reject) => {
|
|
15
|
-
const openRequest = indexedDB.open(this.dbName, 1);
|
|
16
|
-
openRequest.onupgradeneeded = () => {
|
|
17
|
-
const db = openRequest.result;
|
|
18
|
-
if (!db.objectStoreNames.contains(this.storeName)) {
|
|
19
|
-
db.createObjectStore(this.storeName);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
openRequest.onsuccess = () => {
|
|
23
|
-
this.db = openRequest.result;
|
|
24
|
-
resolve(this.db);
|
|
25
|
-
};
|
|
26
|
-
openRequest.onerror = () => {
|
|
27
|
-
reject(new Error('Failed to open database.'));
|
|
28
|
-
};
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
async get(key) {
|
|
32
|
-
const db = await this.open();
|
|
33
|
-
return new Promise((resolve, reject) => {
|
|
34
|
-
const transaction = db.transaction(this.storeName, 'readonly');
|
|
35
|
-
const store = transaction.objectStore(this.storeName);
|
|
36
|
-
const getRequest = store.get(key);
|
|
37
|
-
getRequest.onsuccess = () => {
|
|
38
|
-
resolve(getRequest.result);
|
|
39
|
-
};
|
|
40
|
-
getRequest.onerror = () => {
|
|
41
|
-
reject(new Error('Failed to get data.'));
|
|
42
|
-
};
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
async put(key, value) {
|
|
46
|
-
const db = await this.open();
|
|
47
|
-
return new Promise((resolve, reject) => {
|
|
48
|
-
const transaction = db.transaction(this.storeName, 'readwrite');
|
|
49
|
-
const store = transaction.objectStore(this.storeName);
|
|
50
|
-
const putRequest = store.put(value, key);
|
|
51
|
-
putRequest.onsuccess = () => {
|
|
52
|
-
resolve();
|
|
53
|
-
};
|
|
54
|
-
putRequest.onerror = () => {
|
|
55
|
-
reject(new Error('Failed to write data.'));
|
|
56
|
-
};
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
async deleteDb() {
|
|
60
|
-
return new Promise((resolve, reject) => {
|
|
61
|
-
const deleteRequest = indexedDB.deleteDatabase(this.dbName);
|
|
62
|
-
deleteRequest.onsuccess = () => {
|
|
63
|
-
resolve();
|
|
64
|
-
};
|
|
65
|
-
deleteRequest.onerror = () => {
|
|
66
|
-
reject(new Error('Failed to delete database.'));
|
|
67
|
-
};
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=idb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"idb.js","sourceRoot":"","sources":["../../../src/storage/utils/idb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { MutationEvent } from '../../schema/mutations.js';
|
|
2
|
-
import type { PreparedBindValues } from '../../utils/util.js';
|
|
3
|
-
export type ExecutionBacklogItem = {
|
|
4
|
-
_tag: 'execute';
|
|
5
|
-
query: string;
|
|
6
|
-
bindValues?: PreparedBindValues;
|
|
7
|
-
} | {
|
|
8
|
-
_tag: 'mutate';
|
|
9
|
-
mutationEventEncoded: MutationEvent.Any;
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/storage/web-worker/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,oBAAoB,EAAE,aAAa,CAAC,GAAG,CAAA;CAAE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/storage/web-worker/common.ts"],"names":[],"mappings":""}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type * as otel from '@opentelemetry/api';
|
|
2
|
-
import * as Comlink from 'comlink';
|
|
3
|
-
import type { MutationEvent } from '../../index.js';
|
|
4
|
-
import type { PreparedBindValues } from '../../utils/util.js';
|
|
5
|
-
import type { Storage, StorageOtelProps } from '../index.js';
|
|
6
|
-
import type { ExecutionBacklogItem } from './common.js';
|
|
7
|
-
import type { WrappedWorker } from './make-worker.js';
|
|
8
|
-
export type StorageType = 'opfs' | 'indexeddb';
|
|
9
|
-
export type StorageOptionsWeb = {
|
|
10
|
-
/** Specifies where to persist data for this storage */
|
|
11
|
-
type: StorageType;
|
|
12
|
-
fileName: string;
|
|
13
|
-
worker: Worker | (new (options?: {
|
|
14
|
-
name: string;
|
|
15
|
-
}) => Worker);
|
|
16
|
-
};
|
|
17
|
-
export declare class WebWorkerStorage implements Storage {
|
|
18
|
-
worker: Worker;
|
|
19
|
-
wrappedWorker: Comlink.Remote<WrappedWorker>;
|
|
20
|
-
options: StorageOptionsWeb;
|
|
21
|
-
otelTracer: otel.Tracer;
|
|
22
|
-
executionBacklog: ExecutionBacklogItem[];
|
|
23
|
-
executionPromise: Promise<void> | undefined;
|
|
24
|
-
private constructor();
|
|
25
|
-
static load: (options: StorageOptionsWeb) => ({ otelTracer }: StorageOtelProps) => WebWorkerStorage;
|
|
26
|
-
execute: (query: string, bindValues?: PreparedBindValues, _parentSpan?: otel.Span | undefined) => void;
|
|
27
|
-
mutate: (mutationEventEncoded: MutationEvent.Any, _parentSpan?: otel.Span | undefined) => void;
|
|
28
|
-
private scheduleExecution;
|
|
29
|
-
private executeBacklog;
|
|
30
|
-
getPersistedData: (_parentSpan?: otel.Span) => Promise<Uint8Array>;
|
|
31
|
-
getMutationLogData: (_parentSpan?: otel.Span) => Promise<Uint8Array>;
|
|
32
|
-
dangerouslyReset: () => Promise<void>;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/web-worker/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,CAAA;AAE9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uDAAuD;IACvD,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,GAAG,CAAC,KAAK,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC,CAAA;CAC9D,CAAA;AAED,qBAAa,gBAAiB,YAAW,OAAO;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAC5C,OAAO,EAAE,iBAAiB,CAAA;IAC1B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAA;IAEvB,gBAAgB,EAAE,oBAAoB,EAAE,CAAK;IAC7C,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;IAE3C,OAAO;IAsBP,MAAM,CAAC,IAAI,YAAa,iBAAiB,sBAKf,gBAAgB,sBAQzC;IAED,OAAO,UAAW,MAAM,eAAe,kBAAkB,gBAAgB,KAAK,IAAI,GAAG,SAAS,UAG7F;IAED,MAAM,yBAA0B,cAAc,GAAG,gBAAgB,KAAK,IAAI,GAAG,SAAS,UAGrF;IAED,OAAO,CAAC,iBAAiB,CAWxB;IAED,OAAO,CAAC,cAAc,CAIrB;IAED,gBAAgB,iBAAwB,KAAK,IAAI,KAAG,QAAQ,UAAU,CAAC,CAAkC;IAEzG,kBAAkB,iBAAwB,KAAK,IAAI,KAAG,QAAQ,UAAU,CAAC,CAAoC;IAE7G,gBAAgB,sBAIf;CACF"}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { casesHandled, notYetImplemented } from '@livestore/utils';
|
|
2
|
-
import * as Comlink from 'comlink';
|
|
3
|
-
import { IDB } from '../utils/idb.js';
|
|
4
|
-
export class WebWorkerStorage {
|
|
5
|
-
worker;
|
|
6
|
-
wrappedWorker;
|
|
7
|
-
options;
|
|
8
|
-
otelTracer;
|
|
9
|
-
executionBacklog = [];
|
|
10
|
-
executionPromise;
|
|
11
|
-
constructor({ worker, wrappedWorker, options, otelTracer, executionPromise, }) {
|
|
12
|
-
this.worker = worker;
|
|
13
|
-
this.wrappedWorker = wrappedWorker;
|
|
14
|
-
this.options = options;
|
|
15
|
-
this.otelTracer = otelTracer;
|
|
16
|
-
this.executionPromise = executionPromise;
|
|
17
|
-
executionPromise.then(() => this.executeBacklog());
|
|
18
|
-
}
|
|
19
|
-
static load = (options) => {
|
|
20
|
-
const worker = options.worker instanceof Worker ? options.worker : new options.worker({ name: 'livestore-worker' });
|
|
21
|
-
// TODO replace Comlink with Effect worker
|
|
22
|
-
const wrappedWorker = Comlink.wrap(worker);
|
|
23
|
-
return ({ otelTracer }) => new WebWorkerStorage({
|
|
24
|
-
worker,
|
|
25
|
-
wrappedWorker,
|
|
26
|
-
options,
|
|
27
|
-
otelTracer,
|
|
28
|
-
executionPromise: wrappedWorker.initialize({ fileName: options.fileName, type: options.type }),
|
|
29
|
-
});
|
|
30
|
-
};
|
|
31
|
-
execute = (query, bindValues, _parentSpan) => {
|
|
32
|
-
this.executionBacklog.push({ _tag: 'execute', query, bindValues });
|
|
33
|
-
this.scheduleExecution();
|
|
34
|
-
};
|
|
35
|
-
mutate = (mutationEventEncoded, _parentSpan) => {
|
|
36
|
-
this.executionBacklog.push({ _tag: 'mutate', mutationEventEncoded });
|
|
37
|
-
this.scheduleExecution();
|
|
38
|
-
};
|
|
39
|
-
scheduleExecution = () => {
|
|
40
|
-
// Instead of sending the queries to the worker immediately, we wait a bit and batch them up (which reduces the number of messages sent to the worker)
|
|
41
|
-
if (this.executionPromise === undefined) {
|
|
42
|
-
this.executionPromise = new Promise((resolve) => {
|
|
43
|
-
setTimeout(() => {
|
|
44
|
-
this.executeBacklog();
|
|
45
|
-
resolve();
|
|
46
|
-
}, 10);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
executeBacklog = () => {
|
|
51
|
-
void this.wrappedWorker.executeBulk(this.executionBacklog);
|
|
52
|
-
this.executionBacklog = [];
|
|
53
|
-
this.executionPromise = undefined;
|
|
54
|
-
};
|
|
55
|
-
getPersistedData = async (_parentSpan) => getPersistedData(this.options);
|
|
56
|
-
getMutationLogData = async (_parentSpan) => getMutationLogData(this.options);
|
|
57
|
-
dangerouslyReset = async () => {
|
|
58
|
-
// TODO implement graceful shutdown
|
|
59
|
-
this.worker.terminate();
|
|
60
|
-
await resetPersistedData(this.options);
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
const getPersistedData = async (options) => {
|
|
64
|
-
switch (options.type) {
|
|
65
|
-
case 'opfs': {
|
|
66
|
-
try {
|
|
67
|
-
const rootHandle = await navigator.storage.getDirectory();
|
|
68
|
-
const fileHandle = await rootHandle.getFileHandle(options.fileName);
|
|
69
|
-
const file = await fileHandle.getFile();
|
|
70
|
-
const buffer = await file.arrayBuffer();
|
|
71
|
-
const data = new Uint8Array(buffer);
|
|
72
|
-
return data;
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
if (error instanceof DOMException && error.name === 'NotFoundError') {
|
|
76
|
-
return new Uint8Array();
|
|
77
|
-
}
|
|
78
|
-
throw error;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
case 'indexeddb': {
|
|
82
|
-
const idb = new IDB(options.fileName);
|
|
83
|
-
return (await idb.get('db')) ?? new Uint8Array();
|
|
84
|
-
}
|
|
85
|
-
default: {
|
|
86
|
-
casesHandled(options.type);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
const getMutationLogData = async (options) => {
|
|
91
|
-
switch (options.type) {
|
|
92
|
-
case 'opfs': {
|
|
93
|
-
try {
|
|
94
|
-
const rootHandle = await navigator.storage.getDirectory();
|
|
95
|
-
const fileHandle = await rootHandle.getFileHandle(`${options.fileName}-log.db`);
|
|
96
|
-
const file = await fileHandle.getFile();
|
|
97
|
-
const buffer = await file.arrayBuffer();
|
|
98
|
-
const data = new Uint8Array(buffer);
|
|
99
|
-
return data;
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
if (error instanceof DOMException && error.name === 'NotFoundError') {
|
|
103
|
-
return new Uint8Array();
|
|
104
|
-
}
|
|
105
|
-
throw error;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
case 'indexeddb': {
|
|
109
|
-
return notYetImplemented();
|
|
110
|
-
}
|
|
111
|
-
default: {
|
|
112
|
-
casesHandled(options.type);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
const resetPersistedData = async (options) => {
|
|
117
|
-
switch (options.type) {
|
|
118
|
-
case 'opfs': {
|
|
119
|
-
const rootHandle = await navigator.storage.getDirectory();
|
|
120
|
-
await rootHandle.removeEntry(options.fileName);
|
|
121
|
-
await rootHandle.removeEntry(`${options.fileName}-log.db`);
|
|
122
|
-
break;
|
|
123
|
-
}
|
|
124
|
-
case 'indexeddb': {
|
|
125
|
-
const idb = new IDB(options.fileName);
|
|
126
|
-
await idb.deleteDb();
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
default: {
|
|
130
|
-
casesHandled(options.type);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/web-worker/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { LiveStoreSchema } from '../../index.js';
|
|
2
|
-
import type { ExecutionBacklogItem } from './common.js';
|
|
3
|
-
import type { StorageOptionsWeb } from './index.js';
|
|
4
|
-
export type WorkerOptions<TSchema extends LiveStoreSchema = LiveStoreSchema> = {
|
|
5
|
-
schema: TSchema;
|
|
6
|
-
mutationLog?: {
|
|
7
|
-
/**
|
|
8
|
-
* Mutations to exclude in the mutation log
|
|
9
|
-
*
|
|
10
|
-
* @default new Set(['livestore.RawSql'])
|
|
11
|
-
*/
|
|
12
|
-
exclude?: ReadonlySet<keyof TSchema['_MutationDefMapType']>;
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
export declare const makeWorker: <TSchema extends LiveStoreSchema = LiveStoreSchema>({ schema, mutationLog, }: WorkerOptions<TSchema>) => {
|
|
16
|
-
initialize: (options: Omit<StorageOptionsWeb, 'worker'>) => Promise<void>;
|
|
17
|
-
executeBulk: (executionItems: ExecutionBacklogItem[]) => void;
|
|
18
|
-
};
|
|
19
|
-
export type WrappedWorker = ReturnType<typeof makeWorker>;
|
|
20
|
-
//# sourceMappingURL=make-worker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"make-worker.d.ts","sourceRoot":"","sources":["../../../src/storage/web-worker/make-worker.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,MAAM,aAAa,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,IAAI;IAC7E,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,CAAC,EAAE;QACZ;;;;WAIG;QACH,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAA;KAC5D,CAAA;CACF,CAAA;AAED,eAAO,MAAM,UAAU;0BAgCc,KAAK,iBAAiB,EAAE,QAAQ,CAAC;kCA2D/B,oBAAoB,EAAE,KAAG,IAAI;CA6FnE,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAA"}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
// TODO: create types for these libraries? SQL.js already should have types;
|
|
2
|
-
// we just need the types to apply to the fork.
|
|
3
|
-
import { memoize, shouldNeverHappen } from '@livestore/utils';
|
|
4
|
-
import { Schema } from '@livestore/utils/effect';
|
|
5
|
-
import * as Comlink from 'comlink';
|
|
6
|
-
import sqlite3InitModule from 'sqlite-esm';
|
|
7
|
-
import { makeMutationEventSchema } from '../../schema/mutations.js';
|
|
8
|
-
import { casesHandled, prepareBindValues, sql } from '../../utils/util.js';
|
|
9
|
-
import { IDB } from '../utils/idb.js';
|
|
10
|
-
export const makeWorker = ({ schema, mutationLog, }) => {
|
|
11
|
-
// A global variable to hold the database connection.
|
|
12
|
-
let db;
|
|
13
|
-
let dbLog;
|
|
14
|
-
let sqlite3;
|
|
15
|
-
const mutationLogExclude = mutationLog?.exclude ?? new Set(['livestore.RawSql']);
|
|
16
|
-
// TODO refactor
|
|
17
|
-
const mutationArgsSchema = makeMutationEventSchema(Object.fromEntries(schema.mutations.entries()));
|
|
18
|
-
const schemaHashMap = new Map([...schema.mutations.entries()].map(([k, v]) => [k, Schema.hash(v.schema)]));
|
|
19
|
-
// TODO get rid of this in favour of a "proper" IDB SQLite storage
|
|
20
|
-
let idb;
|
|
21
|
-
/** The location where this database storage persists its data */
|
|
22
|
-
let options_;
|
|
23
|
-
const configureConnection = () => db.exec(sql `
|
|
24
|
-
PRAGMA page_size=8192;
|
|
25
|
-
PRAGMA journal_mode=MEMORY;
|
|
26
|
-
PRAGMA foreign_keys='ON'; -- we want foreign key constraints to be enforced
|
|
27
|
-
`);
|
|
28
|
-
/** A full virtual filename in the IDB FS */
|
|
29
|
-
const initialize = async (options) => {
|
|
30
|
-
options_ = options;
|
|
31
|
-
sqlite3 = await sqlite3InitModule({
|
|
32
|
-
print: (message) => console.log(`[sql-client] ${message}`),
|
|
33
|
-
printErr: (message) => console.error(`[sql-client] ${message}`),
|
|
34
|
-
});
|
|
35
|
-
switch (options.type) {
|
|
36
|
-
case 'opfs': {
|
|
37
|
-
try {
|
|
38
|
-
db = new sqlite3.oo1.OpfsDb(options.fileName); // , 'c'
|
|
39
|
-
dbLog = new sqlite3.oo1.OpfsDb(options.fileName + '-log.db'); // , 'c'
|
|
40
|
-
}
|
|
41
|
-
catch (e) {
|
|
42
|
-
debugger;
|
|
43
|
-
}
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
case 'indexeddb': {
|
|
47
|
-
try {
|
|
48
|
-
db = new sqlite3.oo1.DB({ filename: ':memory:', flags: 'c' });
|
|
49
|
-
idb = new IDB(options.fileName);
|
|
50
|
-
const bytes = await idb.get('db');
|
|
51
|
-
if (bytes !== undefined) {
|
|
52
|
-
// Based on https://sqlite.org/forum/forumpost/2119230da8ac5357a13b731f462dc76e08621a4a29724f7906d5f35bb8508465
|
|
53
|
-
// TODO find cleaner way to do this once possible in sqlite3-wasm
|
|
54
|
-
const p = sqlite3.wasm.allocFromTypedArray(bytes);
|
|
55
|
-
const _rc = sqlite3.capi.sqlite3_deserialize(db.pointer, 'main', p, bytes.length, bytes.length, 0);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
catch (e) {
|
|
59
|
-
debugger;
|
|
60
|
-
}
|
|
61
|
-
break;
|
|
62
|
-
}
|
|
63
|
-
default: {
|
|
64
|
-
casesHandled(options.type);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
// Creates `mutation_log` table if it doesn't exist
|
|
68
|
-
dbLog.exec(sql `
|
|
69
|
-
CREATE TABLE IF NOT EXISTS mutation_log (
|
|
70
|
-
id TEXT PRIMARY KEY NOT NULL,
|
|
71
|
-
mutation TEXT NOT NULL,
|
|
72
|
-
args_json TEXT NOT NULL,
|
|
73
|
-
schema_hash INTEGER NOT NULL,
|
|
74
|
-
created_at TEXT NOT NULL
|
|
75
|
-
);
|
|
76
|
-
`);
|
|
77
|
-
configureConnection();
|
|
78
|
-
};
|
|
79
|
-
// TODO get rid of this in favour of a "proper" IDB SQLite storage
|
|
80
|
-
let idbPersistTimeout;
|
|
81
|
-
const executeBulk = (executionItems) => {
|
|
82
|
-
let batchItems = [];
|
|
83
|
-
const createdAtMemo = memoize(() => new Date().toISOString());
|
|
84
|
-
while (executionItems.length > 0) {
|
|
85
|
-
try {
|
|
86
|
-
db.exec('BEGIN TRANSACTION'); // Start the transaction
|
|
87
|
-
dbLog.exec('BEGIN TRANSACTION'); // Start the transaction
|
|
88
|
-
batchItems = executionItems.splice(0, 50);
|
|
89
|
-
// console.debug('livestore-webworker: executing batch', batchItems)
|
|
90
|
-
for (const item of batchItems) {
|
|
91
|
-
if (item._tag === 'execute') {
|
|
92
|
-
const { query, bindValues } = item;
|
|
93
|
-
db.exec({ sql: query, bind: bindValues });
|
|
94
|
-
// NOTE we're not writing `execute` events to the mutation_log
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
const { mutation, args } = Schema.decodeUnknownSync(mutationArgsSchema)(item.mutationEventEncoded);
|
|
98
|
-
const mutationDef = schema.mutations.get(mutation) ?? shouldNeverHappen(`Unknown mutation: ${mutation}`);
|
|
99
|
-
const statementRes = typeof mutationDef.sql === 'function' ? mutationDef.sql(args) : mutationDef.sql;
|
|
100
|
-
const statementSql = typeof statementRes === 'string' ? statementRes : statementRes.sql;
|
|
101
|
-
const bindValues = typeof statementRes === 'string' ? item.mutationEventEncoded.args : statementRes.bindValues;
|
|
102
|
-
db.exec({ sql: statementSql, bind: prepareBindValues(bindValues ?? {}, statementSql) });
|
|
103
|
-
// write to mutation_log
|
|
104
|
-
if (options_.type === 'opfs' && mutationLogExclude.has(mutation) === false) {
|
|
105
|
-
const schemaHash = schemaHashMap.get(mutation) ?? shouldNeverHappen(`Unknown mutation: ${mutation}`);
|
|
106
|
-
const argsJson = JSON.stringify(item.mutationEventEncoded.args ?? {});
|
|
107
|
-
dbLog.exec({
|
|
108
|
-
sql: `INSERT INTO mutation_log (id, mutation, args_json, schema_hash, created_at) VALUES (?, ?, ?, ?, ?)`,
|
|
109
|
-
bind: [
|
|
110
|
-
item.mutationEventEncoded.id,
|
|
111
|
-
item.mutationEventEncoded.mutation,
|
|
112
|
-
argsJson,
|
|
113
|
-
schemaHash,
|
|
114
|
-
createdAtMemo(),
|
|
115
|
-
],
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
db.exec('COMMIT'); // Commit the transaction
|
|
121
|
-
dbLog.exec('COMMIT'); // Commit the transaction
|
|
122
|
-
}
|
|
123
|
-
catch (error) {
|
|
124
|
-
try {
|
|
125
|
-
db.exec('ROLLBACK'); // Rollback in case of an error
|
|
126
|
-
dbLog.exec('ROLLBACK'); // Rollback in case of an error
|
|
127
|
-
}
|
|
128
|
-
catch (e) {
|
|
129
|
-
console.error('Error rolling back transaction', e);
|
|
130
|
-
}
|
|
131
|
-
shouldNeverHappen(`Error executing query: ${error} \n ${JSON.stringify(batchItems)}`);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
// TODO get rid of this in favour of a "proper" IDB SQLite storage
|
|
135
|
-
if (options_.type === 'indexeddb') {
|
|
136
|
-
if (idbPersistTimeout !== undefined) {
|
|
137
|
-
clearTimeout(idbPersistTimeout);
|
|
138
|
-
}
|
|
139
|
-
idbPersistTimeout = setTimeout(() => {
|
|
140
|
-
const data = sqlite3.capi.sqlite3_js_db_export(db.pointer);
|
|
141
|
-
void idb.put('db', data);
|
|
142
|
-
}, 1000);
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
const wrappedWorker = { initialize, executeBulk };
|
|
146
|
-
Comlink.expose(wrappedWorker);
|
|
147
|
-
// NOTE keep this around for debugging
|
|
148
|
-
// db.exec({
|
|
149
|
-
// sql: `select * from sqlite_master where name = 'library_tracks'`,
|
|
150
|
-
// callback: (_: TODO) => console.log(_),
|
|
151
|
-
// rowMode: 'object',
|
|
152
|
-
// } as TODO)
|
|
153
|
-
return wrappedWorker;
|
|
154
|
-
};
|
|
155
|
-
//# sourceMappingURL=make-worker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"make-worker.js","sourceRoot":"","sources":["../../../src/storage/web-worker/make-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vite-dev-polyfill.d.ts","sourceRoot":"","sources":["../../../src/storage/web-worker/vite-dev-polyfill.ts"],"names":[],"mappings":""}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
// @ts-expect-error TODO remove when Vite does proper treeshaking during dev
|
|
2
|
-
globalThis.$RefreshReg$ = () => { };
|
|
3
|
-
// @ts-expect-error TODO remove when Vite does proper treeshaking during dev
|
|
4
|
-
globalThis.$RefreshSig$ = () => (type) => type;
|
|
5
|
-
globalThis.document = globalThis?.document ?? {
|
|
6
|
-
querySelectorAll: () => [],
|
|
7
|
-
addEventListener: () => { },
|
|
8
|
-
createElement: () => ({
|
|
9
|
-
setAttribute: () => { },
|
|
10
|
-
pathname: '',
|
|
11
|
-
style: {},
|
|
12
|
-
}),
|
|
13
|
-
body: {
|
|
14
|
-
addEventListener: () => { },
|
|
15
|
-
},
|
|
16
|
-
head: {
|
|
17
|
-
appendChild: () => { },
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
globalThis.window = globalThis?.window ?? {
|
|
21
|
-
AnimationEvent: class AnimationEvent {
|
|
22
|
-
},
|
|
23
|
-
TransitionEvent: class TransitionEvent {
|
|
24
|
-
},
|
|
25
|
-
addEventListener: () => { },
|
|
26
|
-
location: {
|
|
27
|
-
href: '',
|
|
28
|
-
pathname: '',
|
|
29
|
-
},
|
|
30
|
-
document: globalThis.document,
|
|
31
|
-
};
|
|
32
|
-
globalThis.HTMLElement = globalThis?.HTMLElement ?? class HTMLElement {
|
|
33
|
-
};
|
|
34
|
-
export {};
|
|
35
|
-
//# sourceMappingURL=vite-dev-polyfill.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vite-dev-polyfill.js","sourceRoot":"","sources":["../../../src/storage/web-worker/vite-dev-polyfill.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,UAAU,CAAC,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;AAClC,4EAA4E;AAC5E,UAAU,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAA;AAEnD,UAAU,CAAC,QAAQ,GAAI,UAAkB,EAAE,QAAQ,IAAI;IACrD,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE;IAC1B,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QACpB,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;QACtB,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,EAAE;KACV,CAAC;IACF,IAAI,EAAE;QACJ,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;KAC3B;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;KACtB;CACF,CAAA;AAED,UAAU,CAAC,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI;IACxC,cAAc,EAAE,MAAM,cAAc;KAAG;IACvC,eAAe,EAAE,MAAM,eAAe;KAAG;IACzC,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,QAAQ,EAAE;QACR,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;KACb;IACD,QAAQ,EAAE,UAAU,CAAC,QAAQ;CAC9B,CAAA;AAED,UAAU,CAAC,WAAW,GAAG,UAAU,EAAE,WAAW,IAAI,MAAM,WAAW;CAAG,CAAA"}
|