@livestore/common 0.3.2-dev.10 → 0.3.2-dev.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/adapter-types.d.ts +3 -3
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-client-session.d.ts +21 -21
- package/dist/devtools/devtools-messages-common.d.ts +6 -6
- package/dist/devtools/devtools-messages-leader.d.ts +24 -24
- package/dist/leader-thread/LeaderSyncProcessor.js +3 -1
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.js +21 -4
- package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
- package/dist/leader-thread/shutdown-channel.d.ts +2 -2
- package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
- package/dist/leader-thread/shutdown-channel.js +2 -2
- package/dist/leader-thread/shutdown-channel.js.map +1 -1
- package/dist/materializer-helper.d.ts +3 -3
- package/dist/materializer-helper.d.ts.map +1 -1
- package/dist/materializer-helper.js +2 -2
- package/dist/materializer-helper.js.map +1 -1
- package/dist/rematerialize-from-eventlog.js +1 -1
- package/dist/rematerialize-from-eventlog.js.map +1 -1
- package/dist/schema/EventDef.d.ts +104 -178
- package/dist/schema/EventSequenceNumber.d.ts +5 -0
- package/dist/schema/EventSequenceNumber.d.ts.map +1 -1
- package/dist/schema/EventSequenceNumber.js +7 -2
- package/dist/schema/EventSequenceNumber.js.map +1 -1
- package/dist/schema/EventSequenceNumber.test.js +2 -2
- package/dist/schema/LiveStoreEvent.d.ts +1 -0
- package/dist/schema/LiveStoreEvent.d.ts.map +1 -1
- package/dist/schema/LiveStoreEvent.js +5 -0
- package/dist/schema/LiveStoreEvent.js.map +1 -1
- package/dist/schema/schema.d.ts +3 -0
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.d.ts +3 -2
- package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.js +6 -4
- package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.test.js +76 -1
- package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts +65 -165
- package/dist/schema/state/sqlite/query-builder/api.d.ts +309 -560
- package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/astToSql.d.ts +1 -0
- package/dist/schema/state/sqlite/query-builder/astToSql.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/astToSql.js +8 -6
- package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
- package/dist/schema/state/sqlite/table-def.d.ts +70 -152
- package/dist/schema-management/common.d.ts +1 -1
- package/dist/schema-management/common.d.ts.map +1 -1
- package/dist/schema-management/common.js +11 -2
- package/dist/schema-management/common.js.map +1 -1
- package/dist/schema-management/migrations.js +1 -1
- package/dist/schema-management/migrations.js.map +1 -1
- package/dist/schema-management/migrations.test.d.ts +2 -0
- package/dist/schema-management/migrations.test.d.ts.map +1 -0
- package/dist/schema-management/migrations.test.js +52 -0
- package/dist/schema-management/migrations.test.js.map +1 -0
- package/dist/sql-queries/types.d.ts +37 -133
- package/dist/sqlite-db-helper.d.ts +3 -1
- package/dist/sqlite-db-helper.d.ts.map +1 -1
- package/dist/sqlite-db-helper.js +16 -0
- package/dist/sqlite-db-helper.js.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.js +8 -7
- package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
- package/dist/sync/sync.d.ts.map +1 -1
- package/dist/sync/sync.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
- package/src/adapter-types.ts +3 -3
- package/src/leader-thread/LeaderSyncProcessor.ts +3 -1
- package/src/leader-thread/make-leader-thread-layer.ts +26 -7
- package/src/leader-thread/shutdown-channel.ts +2 -2
- package/src/materializer-helper.ts +5 -11
- package/src/rematerialize-from-eventlog.ts +2 -2
- package/src/schema/EventSequenceNumber.test.ts +2 -2
- package/src/schema/EventSequenceNumber.ts +8 -2
- package/src/schema/LiveStoreEvent.ts +6 -0
- package/src/schema/schema.ts +4 -0
- package/src/schema/state/sqlite/client-document-def.test.ts +89 -1
- package/src/schema/state/sqlite/client-document-def.ts +7 -4
- package/src/schema/state/sqlite/query-builder/api.ts +4 -3
- package/src/schema/state/sqlite/query-builder/astToSql.ts +9 -7
- package/src/schema-management/common.ts +10 -3
- package/src/schema-management/migrations.test.ts +65 -0
- package/src/schema-management/migrations.ts +1 -1
- package/src/sqlite-db-helper.ts +19 -1
- package/src/sync/ClientSessionSyncProcessor.ts +8 -6
- package/src/sync/sync.ts +2 -0
- package/src/version.ts +1 -1
@@ -1,147 +1,51 @@
|
|
1
|
-
import type {
|
2
|
-
import type {
|
3
|
-
import type { SqliteDsl } from
|
4
|
-
export type DecodedValuesForTableAll<
|
5
|
-
|
6
|
-
|
7
|
-
> =
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
export type DecodedValuesForTablePretty<
|
13
|
-
TSchema extends SqliteDsl.DbSchema,
|
14
|
-
TTableName extends keyof TSchema,
|
15
|
-
> = Prettify<DecodedValuesForTable<TSchema, TTableName>>;
|
16
|
-
export type DecodedValuesForTable<
|
17
|
-
TSchema extends SqliteDsl.DbSchema,
|
18
|
-
TTableName extends keyof TSchema,
|
19
|
-
> = Partial<
|
20
|
-
Pick<
|
21
|
-
DecodedValuesForTableAll<TSchema, TTableName>,
|
22
|
-
GetNullableColumnNamesForTable<TSchema, TTableName>
|
23
|
-
>
|
24
|
-
> &
|
25
|
-
Omit<
|
26
|
-
DecodedValuesForTableAll<TSchema, TTableName>,
|
27
|
-
GetNullableColumnNamesForTable<TSchema, TTableName>
|
28
|
-
>;
|
29
|
-
export type DecodedValuesForTableOrNull<
|
30
|
-
TSchema extends SqliteDsl.DbSchema,
|
31
|
-
TTableName extends keyof TSchema,
|
32
|
-
> = NullableObj<
|
33
|
-
Pick<
|
34
|
-
DecodedValuesForTableAll<TSchema, TTableName>,
|
35
|
-
GetNullableColumnNamesForTable<TSchema, TTableName>
|
36
|
-
>
|
37
|
-
> &
|
38
|
-
Omit<
|
39
|
-
DecodedValuesForTableAll<TSchema, TTableName>,
|
40
|
-
GetNullableColumnNamesForTable<TSchema, TTableName>
|
41
|
-
>;
|
42
|
-
export type WhereValuesForTable<
|
43
|
-
TSchema extends SqliteDsl.DbSchema,
|
44
|
-
TTableName extends keyof TSchema,
|
45
|
-
> = PartialOrNull<{
|
46
|
-
[K in keyof DecodedValuesForTableAll<
|
47
|
-
TSchema,
|
48
|
-
TTableName
|
49
|
-
>]: WhereValueForDecoded<DecodedValuesForTableAll<TSchema, TTableName>[K]>;
|
1
|
+
import type { Prettify } from '@livestore/utils';
|
2
|
+
import type { Schema } from '@livestore/utils/effect';
|
3
|
+
import type { SqliteDsl } from '../schema/state/sqlite/db-schema/mod.ts';
|
4
|
+
export type DecodedValuesForTableAll<TSchema extends SqliteDsl.DbSchema, TTableName extends keyof TSchema> = {
|
5
|
+
[K in keyof GetColumns<TSchema, TTableName>]: Schema.Schema.Type<GetColumn<TSchema, TTableName, K>['schema']>;
|
6
|
+
};
|
7
|
+
export type DecodedValuesForTablePretty<TSchema extends SqliteDsl.DbSchema, TTableName extends keyof TSchema> = Prettify<DecodedValuesForTable<TSchema, TTableName>>;
|
8
|
+
export type DecodedValuesForTable<TSchema extends SqliteDsl.DbSchema, TTableName extends keyof TSchema> = Partial<Pick<DecodedValuesForTableAll<TSchema, TTableName>, GetNullableColumnNamesForTable<TSchema, TTableName>>> & Omit<DecodedValuesForTableAll<TSchema, TTableName>, GetNullableColumnNamesForTable<TSchema, TTableName>>;
|
9
|
+
export type DecodedValuesForTableOrNull<TSchema extends SqliteDsl.DbSchema, TTableName extends keyof TSchema> = NullableObj<Pick<DecodedValuesForTableAll<TSchema, TTableName>, GetNullableColumnNamesForTable<TSchema, TTableName>>> & Omit<DecodedValuesForTableAll<TSchema, TTableName>, GetNullableColumnNamesForTable<TSchema, TTableName>>;
|
10
|
+
export type WhereValuesForTable<TSchema extends SqliteDsl.DbSchema, TTableName extends keyof TSchema> = PartialOrNull<{
|
11
|
+
[K in keyof DecodedValuesForTableAll<TSchema, TTableName>]: WhereValueForDecoded<DecodedValuesForTableAll<TSchema, TTableName>[K]>;
|
50
12
|
}>;
|
51
|
-
export type WhereValueForDecoded<TDecoded> =
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
val: TDecoded[];
|
60
|
-
};
|
61
|
-
export type WhereOp = ">" | "<" | "=";
|
13
|
+
export type WhereValueForDecoded<TDecoded> = TDecoded | {
|
14
|
+
op: WhereOp;
|
15
|
+
val: TDecoded;
|
16
|
+
} | {
|
17
|
+
op: 'in';
|
18
|
+
val: TDecoded[];
|
19
|
+
};
|
20
|
+
export type WhereOp = '>' | '<' | '=';
|
62
21
|
export declare const isValidWhereOp: (op: string) => op is WhereOp;
|
63
|
-
export type EncodedValuesForTableAll<
|
64
|
-
|
65
|
-
TTableName extends keyof TSchema,
|
66
|
-
> = {
|
67
|
-
[K in keyof GetColumns<TSchema, TTableName>]: Schema.Schema.Type<
|
68
|
-
GetColumn<TSchema, TTableName, K>["schema"]
|
69
|
-
>;
|
22
|
+
export type EncodedValuesForTableAll<TSchema extends SqliteDsl.DbSchema, TTableName extends keyof TSchema> = {
|
23
|
+
[K in keyof GetColumns<TSchema, TTableName>]: Schema.Schema.Type<GetColumn<TSchema, TTableName, K>['schema']>;
|
70
24
|
};
|
71
|
-
export type EncodedValuesForTable<
|
72
|
-
|
73
|
-
|
74
|
-
> = Partial<
|
75
|
-
Pick<
|
76
|
-
EncodedValuesForTableAll<TSchema, TTableName>,
|
77
|
-
GetNullableColumnNamesForTable<TSchema, TTableName>
|
78
|
-
>
|
79
|
-
> &
|
80
|
-
Omit<
|
81
|
-
EncodedValuesForTableAll<TSchema, TTableName>,
|
82
|
-
GetNullableColumnNamesForTable<TSchema, TTableName>
|
83
|
-
>;
|
84
|
-
export type GetNullableColumnNamesForTable<
|
85
|
-
TSchema extends SqliteDsl.DbSchema,
|
86
|
-
TTableName extends keyof TSchema,
|
87
|
-
> = keyof {
|
88
|
-
[K in keyof GetColumns<TSchema, TTableName> as GetColumn<
|
89
|
-
TSchema,
|
90
|
-
TTableName,
|
91
|
-
K
|
92
|
-
>["nullable"] extends true
|
93
|
-
? K
|
94
|
-
: never]: {};
|
25
|
+
export type EncodedValuesForTable<TSchema extends SqliteDsl.DbSchema, TTableName extends keyof TSchema> = Partial<Pick<EncodedValuesForTableAll<TSchema, TTableName>, GetNullableColumnNamesForTable<TSchema, TTableName>>> & Omit<EncodedValuesForTableAll<TSchema, TTableName>, GetNullableColumnNamesForTable<TSchema, TTableName>>;
|
26
|
+
export type GetNullableColumnNamesForTable<TSchema extends SqliteDsl.DbSchema, TTableName extends keyof TSchema> = keyof {
|
27
|
+
[K in keyof GetColumns<TSchema, TTableName> as GetColumn<TSchema, TTableName, K>['nullable'] extends true ? K : never]: {};
|
95
28
|
};
|
96
|
-
export type GetColumns<
|
97
|
-
|
98
|
-
TTableName extends keyof TSchema,
|
99
|
-
> = TSchema[TTableName]["columns"];
|
100
|
-
export type GetColumn<
|
101
|
-
TSchema extends SqliteDsl.DbSchema,
|
102
|
-
TTableName extends keyof TSchema,
|
103
|
-
TColumnName extends keyof TSchema[TTableName]["columns"],
|
104
|
-
> = TSchema[TTableName]["columns"][TColumnName];
|
29
|
+
export type GetColumns<TSchema extends SqliteDsl.DbSchema, TTableName extends keyof TSchema> = TSchema[TTableName]['columns'];
|
30
|
+
export type GetColumn<TSchema extends SqliteDsl.DbSchema, TTableName extends keyof TSchema, TColumnName extends keyof TSchema[TTableName]['columns']> = TSchema[TTableName]['columns'][TColumnName];
|
105
31
|
export type DecodedValuesForColumnsAll<TColumns extends SqliteDsl.Columns> = {
|
106
|
-
|
32
|
+
[K in keyof TColumns]: Schema.Schema.Type<TColumns[K]['schema']>;
|
107
33
|
};
|
108
|
-
export type DecodedValuesForColumns<TColumns extends SqliteDsl.Columns> =
|
109
|
-
Partial<
|
110
|
-
Pick<DecodedValuesForColumnsAll<TColumns>, GetNullableColumnNames<TColumns>>
|
111
|
-
> &
|
112
|
-
Omit<
|
113
|
-
DecodedValuesForColumnsAll<TColumns>,
|
114
|
-
GetNullableColumnNames<TColumns>
|
115
|
-
>;
|
34
|
+
export type DecodedValuesForColumns<TColumns extends SqliteDsl.Columns> = Partial<Pick<DecodedValuesForColumnsAll<TColumns>, GetNullableColumnNames<TColumns>>> & Omit<DecodedValuesForColumnsAll<TColumns>, GetNullableColumnNames<TColumns>>;
|
116
35
|
export type EncodedValuesForColumnsAll<TColumns extends SqliteDsl.Columns> = {
|
117
|
-
|
36
|
+
[K in keyof TColumns]: Schema.Schema.Encoded<TColumns[K]['schema']>;
|
118
37
|
};
|
119
|
-
export type EncodedValuesForColumns<TColumns extends SqliteDsl.Columns> =
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
Omit<
|
124
|
-
EncodedValuesForColumnsAll<TColumns>,
|
125
|
-
GetNullableColumnNames<TColumns>
|
126
|
-
>;
|
127
|
-
export type WhereValuesForColumns<TColumns extends SqliteDsl.Columns> =
|
128
|
-
PartialOrNull<{
|
129
|
-
[K in keyof EncodedValuesForColumns<TColumns>]: WhereValueForDecoded<
|
130
|
-
DecodedValuesForColumnsAll<TColumns>[K]
|
131
|
-
>;
|
132
|
-
}>;
|
38
|
+
export type EncodedValuesForColumns<TColumns extends SqliteDsl.Columns> = Partial<Pick<EncodedValuesForColumnsAll<TColumns>, GetNullableColumnNames<TColumns>>> & Omit<EncodedValuesForColumnsAll<TColumns>, GetNullableColumnNames<TColumns>>;
|
39
|
+
export type WhereValuesForColumns<TColumns extends SqliteDsl.Columns> = PartialOrNull<{
|
40
|
+
[K in keyof EncodedValuesForColumns<TColumns>]: WhereValueForDecoded<DecodedValuesForColumnsAll<TColumns>[K]>;
|
41
|
+
}>;
|
133
42
|
export type GetNullableColumnNames<TColumns extends SqliteDsl.Columns> = keyof {
|
134
|
-
|
135
|
-
any,
|
136
|
-
true
|
137
|
-
>
|
138
|
-
? K
|
139
|
-
: never]: unknown;
|
43
|
+
[K in keyof TColumns as TColumns[K] extends SqliteDsl.ColumnDefinition<any, true> ? K : never]: unknown;
|
140
44
|
};
|
141
45
|
export type PartialOrNull<T> = {
|
142
|
-
|
46
|
+
[P in keyof T]?: T[P] | null;
|
143
47
|
};
|
144
48
|
export type NullableObj<T> = {
|
145
|
-
|
49
|
+
[P in keyof T]: T[P] | null;
|
146
50
|
};
|
147
|
-
//# sourceMappingURL=types.d.ts.map
|
51
|
+
//# sourceMappingURL=types.d.ts.map
|
@@ -1,7 +1,9 @@
|
|
1
|
-
import type
|
1
|
+
import { type SqliteDb } from './adapter-types.ts';
|
2
2
|
import type { PreparedBindValues } from './util.ts';
|
3
3
|
export declare const makeExecute: (execute: (queryStr: string, bindValues: PreparedBindValues | undefined, options?: {
|
4
4
|
onRowsChanged?: (rowsChanged: number) => void;
|
5
5
|
}) => void) => SqliteDb["execute"];
|
6
6
|
export declare const makeSelect: <T>(select: (queryStr: string, bindValues: PreparedBindValues | undefined) => ReadonlyArray<T>) => SqliteDb["select"];
|
7
|
+
export declare const validateSnapshot: (snapshot: Uint8Array) => void;
|
8
|
+
export declare const makeExport: (exportFn: () => Uint8Array) => () => Uint8Array<ArrayBufferLike>;
|
7
9
|
//# sourceMappingURL=sqlite-db-helper.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sqlite-db-helper.d.ts","sourceRoot":"","sources":["../src/sqlite-db-helper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
1
|
+
{"version":3,"file":"sqlite-db-helper.d.ts","sourceRoot":"","sources":["../src/sqlite-db-helper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAe,MAAM,oBAAoB,CAAA;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnD,eAAO,MAAM,WAAW,GACtB,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,kBAAkB,GAAG,SAAS,EAC1C,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,KACxD,IAAI,KACR,QAAQ,CAAC,SAAS,CAWpB,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,EAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,KACzF,QAAQ,CAAC,QAAQ,CAanB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,UAAU,SAUpD,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,UAAU,sCAIpD,CAAA"}
|
package/dist/sqlite-db-helper.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import { Schema } from '@livestore/utils/effect';
|
2
|
+
import { SqliteError } from "./adapter-types.js";
|
2
3
|
import { getResultSchema, isQueryBuilder } from "./schema/state/sqlite/query-builder/mod.js";
|
3
4
|
export const makeExecute = (execute) => {
|
4
5
|
return (...args) => {
|
@@ -26,4 +27,19 @@ export const makeSelect = (select) => {
|
|
26
27
|
}
|
27
28
|
};
|
28
29
|
};
|
30
|
+
export const validateSnapshot = (snapshot) => {
|
31
|
+
const headerBytes = new TextDecoder().decode(snapshot.slice(0, 16));
|
32
|
+
const hasValidHeader = headerBytes.startsWith('SQLite format 3');
|
33
|
+
if (!hasValidHeader) {
|
34
|
+
throw new SqliteError({
|
35
|
+
cause: 'Invalid SQLite header',
|
36
|
+
note: `Expected header to start with 'SQLite format 3', but got: ${headerBytes}`,
|
37
|
+
});
|
38
|
+
}
|
39
|
+
};
|
40
|
+
export const makeExport = (exportFn) => () => {
|
41
|
+
const snapshot = exportFn();
|
42
|
+
validateSnapshot(snapshot);
|
43
|
+
return snapshot;
|
44
|
+
};
|
29
45
|
//# sourceMappingURL=sqlite-db-helper.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sqlite-db-helper.js","sourceRoot":"","sources":["../src/sqlite-db-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;
|
1
|
+
{"version":3,"file":"sqlite-db-helper.js","sourceRoot":"","sources":["../src/sqlite-db-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAiB,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAA;AAG5F,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAIS,EACY,EAAE;IACvB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,YAAY,CAAC,GAAG,IAAI,CAAA;QAExE,IAAI,cAAc,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAA;YAC5D,OAAO,OAAO,CAAC,KAAK,EAAE,UAA2C,EAAE,mBAAmB,CAAC,CAAA;QACzF,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,MAA0F,EACtE,EAAE;IACtB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC,GAAG,IAAI,CAAA;QAEtD,IAAI,cAAc,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAA;YAC5D,MAAM,YAAY,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAA;YAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,UAA2C,CAAC,CAAA;YAC1E,OAAO,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAA;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAA;QACxD,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAoB,EAAE,EAAE;IACvD,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACnE,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAEhE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,WAAW,CAAC;YACpB,KAAK,EAAE,uBAAuB;YAC9B,IAAI,EAAE,6DAA6D,WAAW,EAAE;SACjF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAA0B,EAAE,EAAE,CAAC,GAAG,EAAE;IAC7D,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAC3B,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC1B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ClientSessionSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/sync/ClientSessionSyncProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,MAAM,
|
1
|
+
{"version":3,"file":"ClientSessionSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/sync/ClientSessionSyncProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,MAAM,EAGN,MAAM,EAEN,KAAK,OAAO,EACZ,MAAM,EACN,KAAK,KAAK,EAEV,YAAY,EACb,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,KAAK,aAAa,EAAa,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEzF,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,8BAA8B,GAAI,qHAU5C;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,aAAa,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACrC,gBAAgB,EAAE,CAChB,YAAY,EAAE,cAAc,CAAC,UAAU,EACvC,OAAO,EAAE;QAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;KAAE,KAC1G;QACH,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACxB,gBAAgB,EAAE;YAAE,IAAI,EAAE,kBAAkB,CAAC;YAAC,IAAI,EAAE,UAAU,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,GAAG;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,GAAG;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,CAAA;QACpH,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;KACxC,CAAA;IACD,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,IAAI,CAAA;IACzC,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAC5C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAA;IACf,MAAM,EAAE;QACN,mBAAmB,EAAE,MAAM,CAAA;QAC3B,UAAU,CAAC,EAAE,0CAA0C,CAAA;KACxD,CAAA;IACD;;;OAGG;IACH,qBAAqB,EAAE,OAAO,CAAA;CAC/B,KAAG,0BA8RH,CAAA;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,CACJ,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,iBAAiB,CAAC,EACtD,OAAO,EAAE;QAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAA;KAAE,KACnC;QACH,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KACzB,CAAA;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACvD;;OAEG;IACH,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACzD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,IAAI,CAAA;QACjB,SAAS,EAAE,MAAM;YACf,WAAW,EAAE,MAAM,CAAA;YACnB,YAAY,EAAE,MAAM,CAAA;SACrB,CAAA;KACF,CAAA;CACF;AAMD,eAAO,MAAM,0CAA0C;;;;;;;;EAQrD,CAAA;AACF,KAAK,0CAA0C,GAAG,OAAO,0CAA0C,CAAC,IAAI,CAAA"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/// <reference lib="dom" />
|
2
2
|
import { LS_DEV, shouldNeverHappen, TRACE_VERBOSE } from '@livestore/utils';
|
3
|
-
import { BucketQueue, Effect, FiberHandle, Option, Queue, Schema, Stream, Subscribable, } from '@livestore/utils/effect';
|
3
|
+
import { BucketQueue, Effect, Exit, FiberHandle, Option, Queue, Schema, Stream, Subscribable, } from '@livestore/utils/effect';
|
4
4
|
import * as otel from '@opentelemetry/api';
|
5
5
|
import { SyncError } from "../adapter-types.js";
|
6
6
|
import * as EventSequenceNumber from "../schema/EventSequenceNumber.js";
|
@@ -204,7 +204,7 @@ export const makeClientSessionSyncProcessor = ({ schema, clientSession, runtime,
|
|
204
204
|
event.meta.materializerHashSession = materializerHash;
|
205
205
|
}
|
206
206
|
refreshTables(writeTables);
|
207
|
-
}).pipe(Effect.tapCauseLogPretty, Effect.catchAllCause((cause) => clientSession.shutdown(cause)))), Stream.runDrain, Effect.forever, // NOTE Whenever the leader changes, we need to re-start the stream
|
207
|
+
}).pipe(Effect.tapCauseLogPretty, Effect.catchAllCause((cause) => clientSession.shutdown(Exit.failCause(cause))))), Stream.runDrain, Effect.forever, // NOTE Whenever the leader changes, we need to re-start the stream
|
208
208
|
Effect.interruptible, Effect.withSpan('client-session-sync-processor:pull'), Effect.tapCauseLogPretty, Effect.forkScoped);
|
209
209
|
});
|
210
210
|
return {
|
@@ -234,13 +234,14 @@ export const makeClientSessionSyncProcessor = ({ schema, clientSession, runtime,
|
|
234
234
|
};
|
235
235
|
// TODO turn this into a build-time "macro" so all simulation snippets are removed for production builds
|
236
236
|
const SIMULATION_ENABLED = true;
|
237
|
+
// Warning: High values for the simulation params can lead to very long test runs since those get multiplied with the number of events
|
237
238
|
export const ClientSessionSyncProcessorSimulationParams = Schema.Struct({
|
238
239
|
pull: Schema.Struct({
|
239
|
-
'1_before_leader_push_fiber_interrupt': Schema.Int.pipe(Schema.between(0,
|
240
|
-
'2_before_leader_push_queue_clear': Schema.Int.pipe(Schema.between(0,
|
241
|
-
'3_before_rebase_rollback': Schema.Int.pipe(Schema.between(0,
|
242
|
-
'4_before_leader_push_queue_offer': Schema.Int.pipe(Schema.between(0,
|
243
|
-
'5_before_leader_push_fiber_run': Schema.Int.pipe(Schema.between(0,
|
240
|
+
'1_before_leader_push_fiber_interrupt': Schema.Int.pipe(Schema.between(0, 25)),
|
241
|
+
'2_before_leader_push_queue_clear': Schema.Int.pipe(Schema.between(0, 25)),
|
242
|
+
'3_before_rebase_rollback': Schema.Int.pipe(Schema.between(0, 25)),
|
243
|
+
'4_before_leader_push_queue_offer': Schema.Int.pipe(Schema.between(0, 25)),
|
244
|
+
'5_before_leader_push_fiber_run': Schema.Int.pipe(Schema.between(0, 25)),
|
244
245
|
}),
|
245
246
|
});
|
246
247
|
//# sourceMappingURL=ClientSessionSyncProcessor.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ClientSessionSyncProcessor.js","sourceRoot":"","sources":["../../src/sync/ClientSessionSyncProcessor.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ClientSessionSyncProcessor.js","sourceRoot":"","sources":["../../src/sync/ClientSessionSyncProcessor.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/sync.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/sync/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzG,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,mBAAmB,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAElE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAA;IACrC,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC;;;;;;;;SAQK;IACL,WAAW,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;CACpC,CAAA;
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/sync/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzG,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,mBAAmB,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAElE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAA;IACrC,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC;;;;;;;;SAQK;IACL,WAAW,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;CACpC,CAAA;AAGD,MAAM,MAAM,sBAAsB,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI,CACrE,IAAI,EAAE,eAAe,KAClB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;AASpG,MAAM,MAAM,WAAW,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI;IAC1D;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,EAAE,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IACnG,IAAI,EAAE,CACJ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,mBAAmB,CAAC,mBAAmB,CAAA;QAC/C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;KACvC,CAAC,KACC,MAAM,CAAC,MAAM,CAChB;QACE,KAAK,EAAE,aAAa,CAAC;YACnB,YAAY,EAAE,cAAc,CAAC,gBAAgB,CAAA;YAC7C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;SACvC,CAAC,CAAA;QACF,SAAS,EAAE,MAAM,CAAA;KAClB,EACD,cAAc,GAAG,gBAAgB,EACjC,UAAU,CAAC,UAAU,CACtB,CAAA;IAED,IAAI,EAAE;IACJ;;;;SAIK;IACL,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAClD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;IAClF,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IACrD;;OAEG;IACH,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;CACnF,CAAA;;;;AAED,qBAAa,cAAe,SAAQ,mBAA0D;CAAG;;;;;;;;;;;AAGjG,qBAAa,gBAAiB,SAAQ,qBAUpC;CAAG;;;;;;AAGL,qBAAa,gBAAiB,SAAQ,qBAEpC;CAAG;;;;;;;;;;;;;;;AAGL,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG"}
|
package/dist/sync/sync.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/sync/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAIhD,OAAO,KAAK,mBAAmB,MAAM,kCAAkC,CAAA;
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/sync/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAIhD,OAAO,KAAK,mBAAmB,MAAM,kCAAkC,CAAA;AA6EvE,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE,EAAE,CAAC;CAAG;AAEjG,mDAAmD;AACnD,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,MAAM,EAAE,MAAM,CAAC,KAAK,CAClB,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM;KACvB,CAAC,EACF,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;QACjC,kBAAkB,EAAE,MAAM,CAAC,MAAM;QACjC,WAAW,EAAE,MAAM,CAAC,MAAM;KAC3B,CAAC,CACH;CACF,CAAC;CAAG;AAEL,mDAAmD;AACnD,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,mDAAmD;AACnD,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,kBAAkB,EAAE,mBAAmB,CAAC,mBAAmB;IAC3D,WAAW,EAAE,mBAAmB,CAAC,mBAAmB;IACpD,4EAA4E;IAC5E,iCAAiC;CAClC,CAAC;CAAG"}
|
package/dist/version.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
export declare const liveStoreVersion: "0.3.2-dev.
|
1
|
+
export declare const liveStoreVersion: "0.3.2-dev.12";
|
2
2
|
/**
|
3
3
|
* This version number is incremented whenever the internal storage format changes in a breaking way.
|
4
4
|
* Whenever this version changes, LiveStore will start with fresh database files. Old database files are not deleted.
|
package/dist/version.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
// TODO bring back when Expo and Playwright supports `with` imports
|
2
2
|
// import packageJson from '../package.json' with { type: 'json' }
|
3
3
|
// export const liveStoreVersion = packageJson.version
|
4
|
-
export const liveStoreVersion = '0.3.2-dev.
|
4
|
+
export const liveStoreVersion = '0.3.2-dev.12';
|
5
5
|
/**
|
6
6
|
* This version number is incremented whenever the internal storage format changes in a breaking way.
|
7
7
|
* Whenever this version changes, LiveStore will start with fresh database files. Old database files are not deleted.
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@livestore/common",
|
3
|
-
"version": "0.3.2-dev.
|
3
|
+
"version": "0.3.2-dev.12",
|
4
4
|
"type": "module",
|
5
5
|
"sideEffects": false,
|
6
6
|
"exports": {
|
@@ -16,12 +16,12 @@
|
|
16
16
|
"graphology": "0.26.0-alpha1",
|
17
17
|
"graphology-dag": "0.4.1",
|
18
18
|
"graphology-types": "0.24.8",
|
19
|
-
"@livestore/utils": "0.3.2-dev.
|
20
|
-
"@livestore/webmesh": "0.3.2-dev.
|
19
|
+
"@livestore/utils": "0.3.2-dev.12",
|
20
|
+
"@livestore/webmesh": "0.3.2-dev.12"
|
21
21
|
},
|
22
22
|
"devDependencies": {
|
23
23
|
"vitest": "3.2.4",
|
24
|
-
"@livestore/utils-dev": "0.3.2-dev.
|
24
|
+
"@livestore/utils-dev": "0.3.2-dev.12"
|
25
25
|
},
|
26
26
|
"files": [
|
27
27
|
"package.json",
|
package/src/adapter-types.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import {
|
2
|
-
type Cause,
|
3
2
|
type Effect,
|
3
|
+
type Exit,
|
4
4
|
type Queue,
|
5
5
|
Schema,
|
6
6
|
type Scope,
|
@@ -27,7 +27,7 @@ export interface ClientSession {
|
|
27
27
|
sessionId: string
|
28
28
|
/** Status info whether current session is leader or not */
|
29
29
|
lockStatus: SubscriptionRef.SubscriptionRef<LockStatus>
|
30
|
-
shutdown: (cause:
|
30
|
+
shutdown: (cause: Exit.Exit<IntentionalShutdownCause, UnexpectedError | SyncError>) => Effect.Effect<void>
|
31
31
|
/** A proxy API to communicate with the leader thread */
|
32
32
|
leaderThread: ClientSessionLeaderThreadProxy
|
33
33
|
/** A unique identifier for the current instance of the client session. Used for debugging purposes. */
|
@@ -119,7 +119,7 @@ export interface AdapterArgs {
|
|
119
119
|
devtoolsEnabled: boolean
|
120
120
|
debugInstanceId: string
|
121
121
|
bootStatusQueue: Queue.Queue<BootStatus>
|
122
|
-
shutdown: (
|
122
|
+
shutdown: (exit: Exit.Exit<IntentionalShutdownCause, UnexpectedError | SyncError>) => Effect.Effect<void>
|
123
123
|
connectDevtoolsToStore: ConnectDevtoolsToStore
|
124
124
|
/**
|
125
125
|
* Payload that will be passed to the sync backend when connecting
|
@@ -700,7 +700,9 @@ const backgroundBackendPulling = ({
|
|
700
700
|
batch.map((_) =>
|
701
701
|
LiveStoreEvent.EncodedWithMeta.fromGlobal(_.eventEncoded, {
|
702
702
|
syncMetadata: _.metadata,
|
703
|
-
|
703
|
+
// TODO we can't really know the materializer result here yet beyond the first event batch item as we need to materialize it one by one first
|
704
|
+
// This is a bug and needs to be fixed https://github.com/livestorejs/livestore/issues/503#issuecomment-3114533165
|
705
|
+
materializerHashLeader: hashMaterializerResult(LiveStoreEvent.encodedFromGlobal(_.eventEncoded)),
|
704
706
|
materializerHashSession: Option.none(),
|
705
707
|
}),
|
706
708
|
),
|
@@ -6,7 +6,7 @@ import type { BootStatus, MakeSqliteDb, SqliteDb, SqliteError } from '../adapter
|
|
6
6
|
import { UnexpectedError } from '../adapter-types.ts'
|
7
7
|
import type * as Devtools from '../devtools/mod.ts'
|
8
8
|
import type { LiveStoreSchema } from '../schema/mod.ts'
|
9
|
-
import { EventSequenceNumber, LiveStoreEvent } from '../schema/mod.ts'
|
9
|
+
import { EventSequenceNumber, LiveStoreEvent, SystemTables } from '../schema/mod.ts'
|
10
10
|
import type { InvalidPullError, IsOfflineError, SyncOptions } from '../sync/sync.ts'
|
11
11
|
import { SyncState } from '../sync/syncstate.ts'
|
12
12
|
import { sql } from '../util.ts'
|
@@ -66,13 +66,10 @@ export const makeLeaderThreadLayer = ({
|
|
66
66
|
Effect.gen(function* () {
|
67
67
|
const bootStatusQueue = yield* Queue.unbounded<BootStatus>().pipe(Effect.acquireRelease(Queue.shutdown))
|
68
68
|
|
69
|
-
|
70
|
-
// Either happens on initial boot or if schema changes
|
71
|
-
const dbEventlogMissing =
|
72
|
-
dbEventlog.select<{ count: number }>(sql`select count(*) as count from sqlite_master`)[0]!.count === 0
|
69
|
+
const dbEventlogMissing = !hasEventlogTables(dbEventlog)
|
73
70
|
|
74
|
-
|
75
|
-
|
71
|
+
// Either happens on initial boot or if schema changes
|
72
|
+
const dbStateMissing = !hasStateTables(dbState)
|
76
73
|
|
77
74
|
const syncBackend =
|
78
75
|
syncOptions?.backend === undefined
|
@@ -158,6 +155,28 @@ export const makeLeaderThreadLayer = ({
|
|
158
155
|
Layer.unwrapScoped,
|
159
156
|
)
|
160
157
|
|
158
|
+
const hasEventlogTables = (db: SqliteDb) => {
|
159
|
+
const tableNames = new Set(db.select<{ name: string }>(sql`select name from sqlite_master`).map((_) => _.name))
|
160
|
+
const eventlogTables = new Set(SystemTables.eventlogSystemTables.map((_) => _.sqliteDef.name))
|
161
|
+
return isSubsetOf(eventlogTables, tableNames)
|
162
|
+
}
|
163
|
+
|
164
|
+
const hasStateTables = (db: SqliteDb) => {
|
165
|
+
const tableNames = new Set(db.select<{ name: string }>(sql`select name from sqlite_master`).map((_) => _.name))
|
166
|
+
const stateTables = new Set(SystemTables.stateSystemTables.map((_) => _.sqliteDef.name))
|
167
|
+
return isSubsetOf(stateTables, tableNames)
|
168
|
+
}
|
169
|
+
|
170
|
+
const isSubsetOf = (a: Set<string>, b: Set<string>): boolean => {
|
171
|
+
for (const item of a) {
|
172
|
+
if (!b.has(item)) {
|
173
|
+
return false
|
174
|
+
}
|
175
|
+
}
|
176
|
+
|
177
|
+
return true
|
178
|
+
}
|
179
|
+
|
161
180
|
const getInitialSyncState = ({
|
162
181
|
dbEventlog,
|
163
182
|
dbState,
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import type { WebChannel } from '@livestore/utils/effect'
|
2
2
|
import { Schema } from '@livestore/utils/effect'
|
3
3
|
|
4
|
-
import { IntentionalShutdownCause, UnexpectedError } from '../index.ts'
|
4
|
+
import { IntentionalShutdownCause, SyncError, UnexpectedError } from '../index.ts'
|
5
5
|
|
6
|
-
export class All extends Schema.Union(IntentionalShutdownCause, UnexpectedError) {}
|
6
|
+
export class All extends Schema.Union(IntentionalShutdownCause, UnexpectedError, SyncError) {}
|
7
7
|
|
8
8
|
/**
|
9
9
|
* Used internally by an adapter to shutdown gracefully.
|
@@ -24,14 +24,8 @@ export const getExecStatementsFromMaterializer = ({
|
|
24
24
|
dbState: SqliteDb
|
25
25
|
/** Both encoded and decoded events are supported to reduce the number of times we need to decode/encode */
|
26
26
|
event:
|
27
|
-
| {
|
28
|
-
|
29
|
-
encoded: undefined
|
30
|
-
}
|
31
|
-
| {
|
32
|
-
decoded: undefined
|
33
|
-
encoded: LiveStoreEvent.AnyEncoded | LiveStoreEvent.PartialAnyEncoded
|
34
|
-
}
|
27
|
+
| { decoded: LiveStoreEvent.AnyDecoded; encoded: undefined }
|
28
|
+
| { decoded: undefined; encoded: LiveStoreEvent.AnyEncoded }
|
35
29
|
}): ReadonlyArray<{
|
36
30
|
statementSql: string
|
37
31
|
bindValues: PreparedBindValues
|
@@ -85,7 +79,7 @@ export const getExecStatementsFromMaterializer = ({
|
|
85
79
|
|
86
80
|
export const makeMaterializerHash =
|
87
81
|
({ schema, dbState }: { schema: LiveStoreSchema; dbState: SqliteDb }) =>
|
88
|
-
(event: LiveStoreEvent.
|
82
|
+
(event: LiveStoreEvent.AnyEncoded): Option.Option<number> => {
|
89
83
|
if (isDevEnv()) {
|
90
84
|
const { eventDef, materializer } = getEventDef(schema, event.name)
|
91
85
|
const materializerResults = getExecStatementsFromMaterializer({
|
@@ -119,8 +113,8 @@ const fromMaterializerResult = (
|
|
119
113
|
return materializerResult.flatMap(fromMaterializerResult)
|
120
114
|
}
|
121
115
|
if (isQueryBuilder(materializerResult)) {
|
122
|
-
const { query, bindValues } = materializerResult.asSql()
|
123
|
-
return [{ sql: query, bindValues: bindValues as BindValues, writeTables:
|
116
|
+
const { query, bindValues, usedTables } = materializerResult.asSql()
|
117
|
+
return [{ sql: query, bindValues: bindValues as BindValues, writeTables: usedTables }]
|
124
118
|
} else if (typeof materializerResult === 'string') {
|
125
119
|
return [{ sql: materializerResult, bindValues: {} as BindValues, writeTables: undefined }]
|
126
120
|
} else {
|
@@ -87,9 +87,9 @@ LIMIT ${CHUNK_SIZE}
|
|
87
87
|
let processedEvents = 0
|
88
88
|
|
89
89
|
yield* Stream.unfoldChunk<
|
90
|
-
Chunk.Chunk<SystemTables.EventlogMetaRow> | { _tag: 'Initial
|
90
|
+
Chunk.Chunk<SystemTables.EventlogMetaRow> | { _tag: 'Initial' },
|
91
91
|
SystemTables.EventlogMetaRow
|
92
|
-
>({ _tag: 'Initial
|
92
|
+
>({ _tag: 'Initial' }, (item) => {
|
93
93
|
// End stream if no more rows
|
94
94
|
if (Chunk.isChunk(item) && item.length === 0) return Option.none()
|
95
95
|
|
@@ -23,7 +23,7 @@ Vitest.describe('EventSequenceNumber', () => {
|
|
23
23
|
expect(EventSequenceNumber.nextPair({ seqNum: e_0_0, isClient: false, rebaseGeneration: 1 }).seqNum).toStrictEqual({
|
24
24
|
global: 1,
|
25
25
|
client: 0,
|
26
|
-
rebaseGeneration:
|
26
|
+
rebaseGeneration: 0,
|
27
27
|
})
|
28
28
|
expect(EventSequenceNumber.nextPair({ seqNum: e_0_0, isClient: true, rebaseGeneration: 1 }).seqNum).toStrictEqual({
|
29
29
|
global: 0,
|
@@ -35,7 +35,7 @@ Vitest.describe('EventSequenceNumber', () => {
|
|
35
35
|
expect(EventSequenceNumber.nextPair({ seqNum: e_0_0_g1, isClient: false }).seqNum).toStrictEqual({
|
36
36
|
global: 1,
|
37
37
|
client: 0,
|
38
|
-
rebaseGeneration:
|
38
|
+
rebaseGeneration: 0,
|
39
39
|
})
|
40
40
|
})
|
41
41
|
|
@@ -122,8 +122,14 @@ export const fromString = (str: string): EventSequenceNumber => {
|
|
122
122
|
}
|
123
123
|
}
|
124
124
|
|
125
|
+
export const fromGlobal = (seqNum: GlobalEventSequenceNumber) => ({
|
126
|
+
global: seqNum,
|
127
|
+
client: clientDefault,
|
128
|
+
rebaseGeneration: rebaseGenerationDefault,
|
129
|
+
})
|
130
|
+
|
125
131
|
export const isEqual = (a: EventSequenceNumber, b: EventSequenceNumber) =>
|
126
|
-
a.global === b.global && a.client === b.client
|
132
|
+
a.global === b.global && a.client === b.client && a.rebaseGeneration === b.rebaseGeneration
|
127
133
|
|
128
134
|
export type EventSequenceNumberPair = { seqNum: EventSequenceNumber; parentSeqNum: EventSequenceNumber }
|
129
135
|
|
@@ -185,7 +191,7 @@ export const nextPair = ({
|
|
185
191
|
seqNum: {
|
186
192
|
global: (seqNum.global + 1) as any as GlobalEventSequenceNumber,
|
187
193
|
client: clientDefault,
|
188
|
-
rebaseGeneration:
|
194
|
+
rebaseGeneration: rebaseGenerationDefault,
|
189
195
|
},
|
190
196
|
// NOTE we always point to `client: 0` for non-clientOnly events
|
191
197
|
parentSeqNum: { global: seqNum.global, client: clientDefault, rebaseGeneration: seqNum.rebaseGeneration },
|
@@ -152,6 +152,12 @@ export const makeEventDefPartialSchema = <TSchema extends LiveStoreSchema>(
|
|
152
152
|
|
153
153
|
export const makeEventDefSchemaMemo = memoizeByRef(makeEventDefSchema)
|
154
154
|
|
155
|
+
export const encodedFromGlobal = (event: AnyEncodedGlobal): AnyEncoded => ({
|
156
|
+
...event,
|
157
|
+
seqNum: EventSequenceNumber.fromGlobal(event.seqNum),
|
158
|
+
parentSeqNum: EventSequenceNumber.fromGlobal(event.parentSeqNum),
|
159
|
+
})
|
160
|
+
|
155
161
|
/** Equivalent to AnyEncoded but with a meta field and some convenience methods */
|
156
162
|
export class EncodedWithMeta extends Schema.Class<EncodedWithMeta>('LiveStoreEvent.EncodedWithMeta')({
|
157
163
|
name: Schema.String,
|