@livestore/common 0.3.0-dev.27 → 0.3.0-dev.29
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/__tests__/fixture.d.ts +83 -221
- package/dist/__tests__/fixture.d.ts.map +1 -1
- package/dist/__tests__/fixture.js +33 -11
- package/dist/__tests__/fixture.js.map +1 -1
- package/dist/adapter-types.d.ts +22 -15
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.js +15 -2
- package/dist/adapter-types.js.map +1 -1
- package/dist/bounded-collections.d.ts +1 -1
- package/dist/bounded-collections.d.ts.map +1 -1
- package/dist/debug-info.d.ts.map +1 -1
- package/dist/debug-info.js +1 -0
- package/dist/debug-info.js.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 +45 -45
- package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-leader.js +11 -11
- package/dist/devtools/devtools-messages-leader.js.map +1 -1
- package/dist/index.d.ts +2 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -5
- package/dist/index.js.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.d.ts +25 -12
- package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.js +125 -89
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
- package/dist/leader-thread/{apply-mutation.d.ts → apply-event.d.ts} +7 -7
- package/dist/leader-thread/apply-event.d.ts.map +1 -0
- package/dist/leader-thread/apply-event.js +103 -0
- package/dist/leader-thread/apply-event.js.map +1 -0
- package/dist/leader-thread/eventlog.d.ts +27 -0
- package/dist/leader-thread/eventlog.d.ts.map +1 -0
- package/dist/leader-thread/eventlog.js +123 -0
- package/dist/leader-thread/eventlog.js.map +1 -0
- package/dist/leader-thread/leader-worker-devtools.js +18 -18
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.d.ts +16 -4
- package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.js +23 -16
- package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
- package/dist/leader-thread/mod.d.ts +1 -1
- package/dist/leader-thread/mod.d.ts.map +1 -1
- package/dist/leader-thread/mod.js +1 -1
- package/dist/leader-thread/mod.js.map +1 -1
- package/dist/leader-thread/recreate-db.d.ts.map +1 -1
- package/dist/leader-thread/recreate-db.js +6 -8
- package/dist/leader-thread/recreate-db.js.map +1 -1
- package/dist/leader-thread/types.d.ts +11 -11
- package/dist/leader-thread/types.d.ts.map +1 -1
- package/dist/materializer-helper.d.ts +23 -0
- package/dist/materializer-helper.d.ts.map +1 -0
- package/dist/materializer-helper.js +70 -0
- package/dist/materializer-helper.js.map +1 -0
- package/dist/query-builder/api.d.ts +58 -53
- package/dist/query-builder/api.d.ts.map +1 -1
- package/dist/query-builder/api.js +3 -5
- package/dist/query-builder/api.js.map +1 -1
- package/dist/query-builder/astToSql.d.ts.map +1 -1
- package/dist/query-builder/astToSql.js +59 -37
- package/dist/query-builder/astToSql.js.map +1 -1
- package/dist/query-builder/impl.d.ts +2 -3
- package/dist/query-builder/impl.d.ts.map +1 -1
- package/dist/query-builder/impl.js +48 -46
- package/dist/query-builder/impl.js.map +1 -1
- package/dist/query-builder/impl.test.d.ts +86 -1
- package/dist/query-builder/impl.test.d.ts.map +1 -1
- package/dist/query-builder/impl.test.js +244 -36
- package/dist/query-builder/impl.test.js.map +1 -1
- package/dist/rehydrate-from-eventlog.d.ts +14 -0
- package/dist/rehydrate-from-eventlog.d.ts.map +1 -0
- package/dist/{rehydrate-from-mutationlog.js → rehydrate-from-eventlog.js} +25 -26
- package/dist/rehydrate-from-eventlog.js.map +1 -0
- package/dist/schema/EventDef.d.ts +136 -0
- package/dist/schema/EventDef.d.ts.map +1 -0
- package/dist/schema/EventDef.js +58 -0
- package/dist/schema/EventDef.js.map +1 -0
- package/dist/schema/EventId.d.ts +2 -2
- package/dist/schema/EventId.d.ts.map +1 -1
- package/dist/schema/EventId.js +8 -2
- package/dist/schema/EventId.js.map +1 -1
- package/dist/schema/{MutationEvent.d.ts → LiveStoreEvent.d.ts} +56 -56
- package/dist/schema/LiveStoreEvent.d.ts.map +1 -0
- package/dist/schema/{MutationEvent.js → LiveStoreEvent.js} +25 -25
- package/dist/schema/LiveStoreEvent.js.map +1 -0
- package/dist/schema/client-document-def.d.ts +223 -0
- package/dist/schema/client-document-def.d.ts.map +1 -0
- package/dist/schema/client-document-def.js +170 -0
- package/dist/schema/client-document-def.js.map +1 -0
- package/dist/schema/client-document-def.test.d.ts +2 -0
- package/dist/schema/client-document-def.test.d.ts.map +1 -0
- package/dist/schema/client-document-def.test.js +201 -0
- package/dist/schema/client-document-def.test.js.map +1 -0
- package/dist/schema/db-schema/dsl/mod.d.ts.map +1 -1
- package/dist/schema/events.d.ts +2 -0
- package/dist/schema/events.d.ts.map +1 -0
- package/dist/schema/events.js +2 -0
- package/dist/schema/events.js.map +1 -0
- package/dist/schema/mod.d.ts +4 -3
- package/dist/schema/mod.d.ts.map +1 -1
- package/dist/schema/mod.js +4 -3
- package/dist/schema/mod.js.map +1 -1
- package/dist/schema/schema.d.ts +27 -23
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +45 -43
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/sqlite-state.d.ts +12 -0
- package/dist/schema/sqlite-state.d.ts.map +1 -0
- package/dist/schema/sqlite-state.js +36 -0
- package/dist/schema/sqlite-state.js.map +1 -0
- package/dist/schema/system-tables.d.ts +67 -98
- package/dist/schema/system-tables.d.ts.map +1 -1
- package/dist/schema/system-tables.js +62 -48
- package/dist/schema/system-tables.js.map +1 -1
- package/dist/schema/table-def.d.ts +26 -96
- package/dist/schema/table-def.d.ts.map +1 -1
- package/dist/schema/table-def.js +16 -64
- package/dist/schema/table-def.js.map +1 -1
- package/dist/schema/view.d.ts +3 -0
- package/dist/schema/view.d.ts.map +1 -0
- package/dist/schema/view.js +3 -0
- package/dist/schema/view.js.map +1 -0
- package/dist/schema-management/common.d.ts +4 -4
- package/dist/schema-management/common.d.ts.map +1 -1
- package/dist/schema-management/migrations.d.ts.map +1 -1
- package/dist/schema-management/migrations.js +6 -6
- package/dist/schema-management/migrations.js.map +1 -1
- package/dist/schema-management/validate-mutation-defs.d.ts +3 -3
- package/dist/schema-management/validate-mutation-defs.d.ts.map +1 -1
- package/dist/schema-management/validate-mutation-defs.js +17 -17
- package/dist/schema-management/validate-mutation-defs.js.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.d.ts +7 -7
- package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.js +31 -30
- package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
- package/dist/sync/next/facts.d.ts +19 -19
- package/dist/sync/next/facts.d.ts.map +1 -1
- package/dist/sync/next/facts.js +2 -2
- package/dist/sync/next/facts.js.map +1 -1
- package/dist/sync/next/history-dag-common.d.ts +3 -3
- package/dist/sync/next/history-dag-common.d.ts.map +1 -1
- package/dist/sync/next/history-dag-common.js +1 -1
- package/dist/sync/next/history-dag-common.js.map +1 -1
- package/dist/sync/next/history-dag.js +1 -1
- package/dist/sync/next/history-dag.js.map +1 -1
- package/dist/sync/next/rebase-events.d.ts +7 -7
- package/dist/sync/next/rebase-events.d.ts.map +1 -1
- package/dist/sync/next/rebase-events.js +5 -5
- package/dist/sync/next/rebase-events.js.map +1 -1
- package/dist/sync/next/test/compact-events.calculator.test.js +38 -33
- package/dist/sync/next/test/compact-events.calculator.test.js.map +1 -1
- package/dist/sync/next/test/compact-events.test.js +71 -71
- package/dist/sync/next/test/compact-events.test.js.map +1 -1
- package/dist/sync/next/test/{mutation-fixtures.d.ts → event-fixtures.d.ts} +29 -29
- package/dist/sync/next/test/event-fixtures.d.ts.map +1 -0
- package/dist/sync/next/test/{mutation-fixtures.js → event-fixtures.js} +60 -25
- package/dist/sync/next/test/event-fixtures.js.map +1 -0
- package/dist/sync/next/test/mod.d.ts +1 -1
- package/dist/sync/next/test/mod.d.ts.map +1 -1
- package/dist/sync/next/test/mod.js +1 -1
- package/dist/sync/next/test/mod.js.map +1 -1
- package/dist/sync/sync.d.ts +3 -3
- package/dist/sync/sync.d.ts.map +1 -1
- package/dist/sync/syncstate.d.ts +32 -32
- package/dist/sync/syncstate.d.ts.map +1 -1
- package/dist/sync/syncstate.js +31 -25
- package/dist/sync/syncstate.js.map +1 -1
- package/dist/sync/syncstate.test.js +165 -175
- package/dist/sync/syncstate.test.js.map +1 -1
- package/dist/sync/validate-push-payload.d.ts +2 -2
- package/dist/sync/validate-push-payload.d.ts.map +1 -1
- package/dist/sync/validate-push-payload.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
- package/src/__tests__/fixture.ts +36 -15
- package/src/adapter-types.ts +23 -16
- package/src/debug-info.ts +1 -0
- package/src/devtools/devtools-messages-leader.ts +13 -13
- package/src/index.ts +2 -5
- package/src/leader-thread/LeaderSyncProcessor.ts +183 -122
- package/src/leader-thread/{apply-mutation.ts → apply-event.ts} +50 -74
- package/src/leader-thread/eventlog.ts +199 -0
- package/src/leader-thread/leader-worker-devtools.ts +18 -18
- package/src/leader-thread/make-leader-thread-layer.ts +51 -29
- package/src/leader-thread/mod.ts +1 -1
- package/src/leader-thread/recreate-db.ts +6 -9
- package/src/leader-thread/types.ts +12 -12
- package/src/materializer-helper.ts +110 -0
- package/src/query-builder/api.ts +79 -105
- package/src/query-builder/astToSql.ts +68 -39
- package/src/query-builder/impl.test.ts +264 -42
- package/src/query-builder/impl.ts +72 -56
- package/src/{rehydrate-from-mutationlog.ts → rehydrate-from-eventlog.ts} +33 -40
- package/src/schema/EventDef.ts +216 -0
- package/src/schema/EventId.ts +11 -3
- package/src/schema/{MutationEvent.ts → LiveStoreEvent.ts} +68 -69
- package/src/schema/client-document-def.test.ts +239 -0
- package/src/schema/client-document-def.ts +444 -0
- package/src/schema/db-schema/dsl/mod.ts +0 -1
- package/src/schema/events.ts +1 -0
- package/src/schema/mod.ts +4 -3
- package/src/schema/schema.ts +79 -69
- package/src/schema/sqlite-state.ts +62 -0
- package/src/schema/system-tables.ts +42 -53
- package/src/schema/table-def.ts +53 -209
- package/src/schema/view.ts +2 -0
- package/src/schema-management/common.ts +4 -4
- package/src/schema-management/migrations.ts +8 -9
- package/src/schema-management/validate-mutation-defs.ts +22 -24
- package/src/sync/ClientSessionSyncProcessor.ts +37 -36
- package/src/sync/next/facts.ts +31 -32
- package/src/sync/next/history-dag-common.ts +4 -4
- package/src/sync/next/history-dag.ts +1 -1
- package/src/sync/next/rebase-events.ts +13 -13
- package/src/sync/next/test/compact-events.calculator.test.ts +45 -45
- package/src/sync/next/test/compact-events.test.ts +73 -73
- package/src/sync/next/test/event-fixtures.ts +219 -0
- package/src/sync/next/test/mod.ts +1 -1
- package/src/sync/sync.ts +3 -3
- package/src/sync/syncstate.test.ts +168 -179
- package/src/sync/syncstate.ts +48 -38
- package/src/sync/validate-push-payload.ts +2 -2
- package/src/version.ts +1 -1
- package/tmp/pack.tgz +0 -0
- package/tsconfig.json +1 -0
- package/dist/derived-mutations.d.ts +0 -109
- package/dist/derived-mutations.d.ts.map +0 -1
- package/dist/derived-mutations.js +0 -54
- package/dist/derived-mutations.js.map +0 -1
- package/dist/derived-mutations.test.d.ts +0 -2
- package/dist/derived-mutations.test.d.ts.map +0 -1
- package/dist/derived-mutations.test.js +0 -93
- package/dist/derived-mutations.test.js.map +0 -1
- package/dist/init-singleton-tables.d.ts +0 -4
- package/dist/init-singleton-tables.d.ts.map +0 -1
- package/dist/init-singleton-tables.js +0 -16
- package/dist/init-singleton-tables.js.map +0 -1
- package/dist/leader-thread/apply-mutation.d.ts.map +0 -1
- package/dist/leader-thread/apply-mutation.js +0 -122
- package/dist/leader-thread/apply-mutation.js.map +0 -1
- package/dist/leader-thread/mutationlog.d.ts +0 -27
- package/dist/leader-thread/mutationlog.d.ts.map +0 -1
- package/dist/leader-thread/mutationlog.js +0 -124
- package/dist/leader-thread/mutationlog.js.map +0 -1
- package/dist/leader-thread/pull-queue-set.d.ts +0 -7
- package/dist/leader-thread/pull-queue-set.d.ts.map +0 -1
- package/dist/leader-thread/pull-queue-set.js +0 -38
- package/dist/leader-thread/pull-queue-set.js.map +0 -1
- package/dist/mutation.d.ts +0 -20
- package/dist/mutation.d.ts.map +0 -1
- package/dist/mutation.js +0 -68
- package/dist/mutation.js.map +0 -1
- package/dist/query-info.d.ts +0 -41
- package/dist/query-info.d.ts.map +0 -1
- package/dist/query-info.js +0 -7
- package/dist/query-info.js.map +0 -1
- package/dist/rehydrate-from-mutationlog.d.ts +0 -15
- package/dist/rehydrate-from-mutationlog.d.ts.map +0 -1
- package/dist/rehydrate-from-mutationlog.js.map +0 -1
- package/dist/schema/MutationEvent.d.ts.map +0 -1
- package/dist/schema/MutationEvent.js.map +0 -1
- package/dist/schema/mutations.d.ts +0 -115
- package/dist/schema/mutations.d.ts.map +0 -1
- package/dist/schema/mutations.js +0 -42
- package/dist/schema/mutations.js.map +0 -1
- package/dist/sync/next/test/mutation-fixtures.d.ts.map +0 -1
- package/dist/sync/next/test/mutation-fixtures.js.map +0 -1
- package/src/derived-mutations.test.ts +0 -101
- package/src/derived-mutations.ts +0 -170
- package/src/init-singleton-tables.ts +0 -24
- package/src/leader-thread/mutationlog.ts +0 -202
- package/src/mutation.ts +0 -108
- package/src/query-info.ts +0 -83
- package/src/schema/mutations.ts +0 -193
- package/src/sync/next/test/mutation-fixtures.ts +0 -228
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"EventDef.d.ts","sourceRoot":"","sources":["../../src/schema/EventDef.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { shouldNeverHappen } from '@livestore/utils';
|
2
|
+
import { Schema } from '@livestore/utils/effect';
|
3
|
+
export const defineFacts = (record) => record;
|
4
|
+
export const defineEvent = (args) => {
|
5
|
+
const { name, schema, ...options } = args;
|
6
|
+
const makePartialEvent = (args) => {
|
7
|
+
const res = Schema.validateEither(schema)(args);
|
8
|
+
if (res._tag === 'Left') {
|
9
|
+
shouldNeverHappen(`Invalid event args for event '${name}':`, res.left.message, '\n');
|
10
|
+
}
|
11
|
+
return { name: name, args };
|
12
|
+
};
|
13
|
+
Object.defineProperty(makePartialEvent, 'name', { value: name });
|
14
|
+
Object.defineProperty(makePartialEvent, 'schema', { value: schema });
|
15
|
+
Object.defineProperty(makePartialEvent, 'options', {
|
16
|
+
value: {
|
17
|
+
clientOnly: options?.clientOnly ?? false,
|
18
|
+
facts: options?.facts
|
19
|
+
? (args, currentFacts) => {
|
20
|
+
const res = options.facts(args, currentFacts);
|
21
|
+
return {
|
22
|
+
modify: {
|
23
|
+
set: res.modify?.set ? new Set(res.modify.set) : new Set(),
|
24
|
+
unset: res.modify?.unset ? new Set(res.modify.unset) : new Set(),
|
25
|
+
},
|
26
|
+
require: res.require ? new Set(res.require) : new Set(),
|
27
|
+
};
|
28
|
+
}
|
29
|
+
: undefined,
|
30
|
+
derived: options?.derived ?? false,
|
31
|
+
},
|
32
|
+
});
|
33
|
+
return makePartialEvent;
|
34
|
+
};
|
35
|
+
export const synced = (args) => defineEvent({ ...args, clientOnly: false });
|
36
|
+
export const clientOnly = (args) => defineEvent({ ...args, clientOnly: true });
|
37
|
+
export const defineMaterializer = (eventDef, materializer) => {
|
38
|
+
return materializer;
|
39
|
+
};
|
40
|
+
export const materializers = (eventDefRecord, handlers) => {
|
41
|
+
return handlers;
|
42
|
+
};
|
43
|
+
export const rawSqlEvent = defineEvent({
|
44
|
+
name: 'livestore.RawSql',
|
45
|
+
schema: Schema.Struct({
|
46
|
+
sql: Schema.String,
|
47
|
+
bindValues: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),
|
48
|
+
writeTables: Schema.optional(Schema.ReadonlySet(Schema.String)),
|
49
|
+
}),
|
50
|
+
clientOnly: true,
|
51
|
+
derived: true,
|
52
|
+
});
|
53
|
+
export const rawSqlMaterializer = defineMaterializer(rawSqlEvent, ({ sql, bindValues, writeTables }) => ({
|
54
|
+
sql,
|
55
|
+
bindValues: bindValues ?? {},
|
56
|
+
writeTables,
|
57
|
+
}));
|
58
|
+
//# sourceMappingURL=EventDef.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"EventDef.js","sourceRoot":"","sources":["../../src/schema/EventDef.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/EventId.d.ts
CHANGED
@@ -10,7 +10,7 @@ export declare const clientDefault: ClientEventId;
|
|
10
10
|
* LiveStore event id value consisting of a globally unique event sequence number
|
11
11
|
* and a client sequence number.
|
12
12
|
*
|
13
|
-
* The client sequence number is only used for clientOnly
|
13
|
+
* The client sequence number is only used for clientOnly events and starts from 0 for each global sequence number.
|
14
14
|
*/
|
15
15
|
export type EventId = {
|
16
16
|
global: GlobalEventId;
|
@@ -21,7 +21,7 @@ export type EventId = {
|
|
21
21
|
*/
|
22
22
|
export declare const EventId: Schema.Struct<{
|
23
23
|
global: Schema.BrandSchema<number & Brand.Brand<"GlobalEventId">, number, never>;
|
24
|
-
/** Only increments for clientOnly
|
24
|
+
/** Only increments for clientOnly events */
|
25
25
|
client: Schema.BrandSchema<number & Brand.Brand<"ClientEventId">, number, never>;
|
26
26
|
}>;
|
27
27
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"EventId.d.ts","sourceRoot":"","sources":["../../src/schema/EventId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEvD,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAClE,eAAO,MAAM,YAAY,wCAAiC,CAAA;AAC1D,eAAO,MAAM,aAAa,0EAA6C,CAAA;AAEvE,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAClE,eAAO,MAAM,aAAa,wCAAiC,CAAA;AAC3D,eAAO,MAAM,aAAa,0EAA8C,CAAA;AAExE,eAAO,MAAM,aAAa,EAAe,aAAa,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAAA;
|
1
|
+
{"version":3,"file":"EventId.d.ts","sourceRoot":"","sources":["../../src/schema/EventId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEvD,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAClE,eAAO,MAAM,YAAY,wCAAiC,CAAA;AAC1D,eAAO,MAAM,aAAa,0EAA6C,CAAA;AAEvE,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAClE,eAAO,MAAM,aAAa,wCAAiC,CAAA;AAC3D,eAAO,MAAM,aAAa,0EAA8C,CAAA;AAExE,eAAO,MAAM,aAAa,EAAe,aAAa,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAAA;AAOtE;;GAEG;AACH,eAAO,MAAM,OAAO;;IAElB,4CAA4C;;EAQA,CAAA;AAE9C;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,WAK7C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,IAAI,OAAO,WAAuE,CAAA;AAE3G;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,OAMxC,CAAA;AAED,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,YAAmD,CAAA;AAEjG,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAA;AAE5D,eAAO,MAAM,IAAI;YAAyB,aAAa;;CAA2C,CAAA;AAElG,eAAO,MAAM,aAAa,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,YAEnD,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,YAE1D,CAAA;AAED,eAAO,MAAM,GAAG,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,YAEzC,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO;;;CAK1C,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,IAAI,OAAO,GAAG,OAAO,OAAO,CAAC,OAAO,KAAG,OAE3D,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,IAAI,OAAO,EAAE,SAAS,OAAO,KAAG,WAUxD,CAAA"}
|
package/dist/schema/EventId.js
CHANGED
@@ -6,13 +6,19 @@ export const GlobalEventId = Schema.fromBrand(globalEventId)(Schema.Int);
|
|
6
6
|
export const clientDefault = 0;
|
7
7
|
// export const EventSequenceNumber = Schema.Struct({})
|
8
8
|
// export const EventNumber = Schema.Struct({})
|
9
|
+
// export const ClientEventNumber = Schema.Struct({})
|
10
|
+
// export const GlobalEventNumber = Schema.Struct({})
|
9
11
|
/**
|
10
12
|
* NOTE: Client mutation events with a non-0 client id, won't be synced to the sync backend.
|
11
13
|
*/
|
12
14
|
export const EventId = Schema.Struct({
|
13
15
|
global: GlobalEventId,
|
14
|
-
/** Only increments for clientOnly
|
16
|
+
/** Only increments for clientOnly events */
|
15
17
|
client: ClientEventId,
|
18
|
+
// TODO also provide a way to see "confirmation level" of event (e.g. confirmed by leader/sync backend)
|
19
|
+
// TODO: actually add this field
|
20
|
+
// Client only
|
21
|
+
// generation: Schema.Number.pipe(Schema.optional),
|
16
22
|
}).annotations({ title: 'LiveStore.EventId' });
|
17
23
|
/**
|
18
24
|
* Compare two event ids i.e. checks if the first event id is less than the second.
|
@@ -63,7 +69,7 @@ export const nextPair = (id, isLocal) => {
|
|
63
69
|
}
|
64
70
|
return {
|
65
71
|
id: { global: (id.global + 1), client: clientDefault },
|
66
|
-
// NOTE we always point to `client: 0` for non-clientOnly
|
72
|
+
// NOTE we always point to `client: 0` for non-clientOnly events
|
67
73
|
parentId: { global: id.global, client: clientDefault },
|
68
74
|
};
|
69
75
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"EventId.js","sourceRoot":"","sources":["../../src/schema/EventId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGvD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,EAAiB,CAAA;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAGvE,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,EAAiB,CAAA;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAyB,CAAA;AAUtD,uDAAuD;AACvD,+CAA+C;
|
1
|
+
{"version":3,"file":"EventId.js","sourceRoot":"","sources":["../../src/schema/EventId.ts"],"names":[],"mappings":"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"}
|
@@ -1,34 +1,34 @@
|
|
1
1
|
import { Option, Schema } from '@livestore/utils/effect';
|
2
|
+
import type { EventDef, EventDefRecord } from './EventDef.js';
|
2
3
|
import * as EventId from './EventId.js';
|
3
|
-
import type { MutationDef, MutationDefRecord } from './mutations.js';
|
4
4
|
import type { LiveStoreSchema } from './schema.js';
|
5
|
-
export type
|
6
|
-
|
7
|
-
args: Schema.Schema.Type<
|
5
|
+
export type EventDefPartial<TEventDef extends EventDef.Any> = {
|
6
|
+
name: TEventDef['name'];
|
7
|
+
args: Schema.Schema.Type<TEventDef['schema']>;
|
8
8
|
};
|
9
|
-
export type PartialEncoded<
|
10
|
-
|
11
|
-
args: Schema.Schema.Encoded<
|
9
|
+
export type PartialEncoded<TEventDef extends EventDef.Any> = {
|
10
|
+
name: TEventDef['name'];
|
11
|
+
args: Schema.Schema.Encoded<TEventDef['schema']>;
|
12
12
|
};
|
13
|
-
export type
|
14
|
-
|
15
|
-
args: Schema.Schema.Type<
|
13
|
+
export type ForEventDef<TEventDef extends EventDef.Any> = {
|
14
|
+
name: TEventDef['name'];
|
15
|
+
args: Schema.Schema.Type<TEventDef['schema']>;
|
16
16
|
id: EventId.EventId;
|
17
17
|
parentId: EventId.EventId;
|
18
18
|
clientId: string;
|
19
19
|
sessionId: string;
|
20
20
|
};
|
21
|
-
export type
|
22
|
-
|
23
|
-
args: Schema.Schema.Encoded<
|
21
|
+
export type EventDefEncoded<TEventDef extends EventDef.Any> = {
|
22
|
+
name: TEventDef['name'];
|
23
|
+
args: Schema.Schema.Encoded<TEventDef['schema']>;
|
24
24
|
id: EventId.EventId;
|
25
25
|
parentId: EventId.EventId;
|
26
26
|
clientId: string;
|
27
27
|
sessionId: string;
|
28
28
|
};
|
29
|
-
export type AnyDecoded =
|
29
|
+
export type AnyDecoded = ForEventDef<EventDef.Any>;
|
30
30
|
export declare const AnyDecoded: Schema.Struct<{
|
31
|
-
|
31
|
+
name: typeof Schema.String;
|
32
32
|
args: typeof Schema.Any;
|
33
33
|
id: Schema.Struct<{
|
34
34
|
global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
@@ -41,9 +41,9 @@ export declare const AnyDecoded: Schema.Struct<{
|
|
41
41
|
clientId: typeof Schema.String;
|
42
42
|
sessionId: typeof Schema.String;
|
43
43
|
}>;
|
44
|
-
export type AnyEncoded =
|
44
|
+
export type AnyEncoded = EventDefEncoded<EventDef.Any>;
|
45
45
|
export declare const AnyEncoded: Schema.Struct<{
|
46
|
-
|
46
|
+
name: typeof Schema.String;
|
47
47
|
args: typeof Schema.Any;
|
48
48
|
id: Schema.Struct<{
|
49
49
|
global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
@@ -57,7 +57,7 @@ export declare const AnyEncoded: Schema.Struct<{
|
|
57
57
|
sessionId: typeof Schema.String;
|
58
58
|
}>;
|
59
59
|
export declare const AnyEncodedGlobal: Schema.Struct<{
|
60
|
-
|
60
|
+
name: typeof Schema.String;
|
61
61
|
args: typeof Schema.Any;
|
62
62
|
id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
63
63
|
parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
@@ -65,54 +65,54 @@ export declare const AnyEncodedGlobal: Schema.Struct<{
|
|
65
65
|
sessionId: typeof Schema.String;
|
66
66
|
}>;
|
67
67
|
export type AnyEncodedGlobal = typeof AnyEncodedGlobal.Type;
|
68
|
-
export type PartialAnyDecoded =
|
69
|
-
export type PartialAnyEncoded = PartialEncoded<
|
68
|
+
export type PartialAnyDecoded = EventDefPartial<EventDef.Any>;
|
69
|
+
export type PartialAnyEncoded = PartialEncoded<EventDef.Any>;
|
70
70
|
export declare const PartialAnyEncoded: Schema.Struct<{
|
71
|
-
|
71
|
+
name: typeof Schema.String;
|
72
72
|
args: typeof Schema.Any;
|
73
73
|
}>;
|
74
74
|
export type PartialForSchema<TSchema extends LiveStoreSchema> = {
|
75
|
-
[K in keyof TSchema['
|
76
|
-
}[keyof TSchema['
|
75
|
+
[K in keyof TSchema['_EventDefMapType']]: EventDefPartial<TSchema['_EventDefMapType'][K]>;
|
76
|
+
}[keyof TSchema['_EventDefMapType']];
|
77
77
|
export type ForSchema<TSchema extends LiveStoreSchema> = {
|
78
|
-
[K in keyof TSchema['
|
79
|
-
}[keyof TSchema['
|
80
|
-
export declare const
|
81
|
-
export type
|
82
|
-
[K in keyof
|
83
|
-
|
84
|
-
args: Schema.Schema.Type<
|
78
|
+
[K in keyof TSchema['_EventDefMapType']]: ForEventDef<TSchema['_EventDefMapType'][K]>;
|
79
|
+
}[keyof TSchema['_EventDefMapType']];
|
80
|
+
export declare const isPartialEventDef: (event: AnyDecoded | PartialAnyDecoded) => event is PartialAnyDecoded;
|
81
|
+
export type ForEventDefRecord<TEventDefRecord extends EventDefRecord> = Schema.Schema<{
|
82
|
+
[K in keyof TEventDefRecord]: {
|
83
|
+
name: K;
|
84
|
+
args: Schema.Schema.Type<TEventDefRecord[K]['schema']>;
|
85
85
|
id: EventId.EventId;
|
86
86
|
parentId: EventId.EventId;
|
87
87
|
clientId: string;
|
88
88
|
sessionId: string;
|
89
89
|
};
|
90
|
-
}[keyof
|
91
|
-
[K in keyof
|
92
|
-
|
93
|
-
args: Schema.Schema.Encoded<
|
90
|
+
}[keyof TEventDefRecord], {
|
91
|
+
[K in keyof TEventDefRecord]: {
|
92
|
+
name: K;
|
93
|
+
args: Schema.Schema.Encoded<TEventDefRecord[K]['schema']>;
|
94
94
|
id: EventId.EventId;
|
95
95
|
parentId: EventId.EventId;
|
96
96
|
clientId: string;
|
97
97
|
sessionId: string;
|
98
98
|
};
|
99
|
-
}[keyof
|
100
|
-
export type
|
101
|
-
[K in keyof
|
102
|
-
|
103
|
-
args: Schema.Schema.Type<
|
99
|
+
}[keyof TEventDefRecord]>;
|
100
|
+
export type EventDefPartialSchema<TEventDefRecord extends EventDefRecord> = Schema.Schema<{
|
101
|
+
[K in keyof TEventDefRecord]: {
|
102
|
+
name: K;
|
103
|
+
args: Schema.Schema.Type<TEventDefRecord[K]['schema']>;
|
104
104
|
};
|
105
|
-
}[keyof
|
106
|
-
[K in keyof
|
107
|
-
|
108
|
-
args: Schema.Schema.Encoded<
|
105
|
+
}[keyof TEventDefRecord], {
|
106
|
+
[K in keyof TEventDefRecord]: {
|
107
|
+
name: K;
|
108
|
+
args: Schema.Schema.Encoded<TEventDefRecord[K]['schema']>;
|
109
109
|
};
|
110
|
-
}[keyof
|
111
|
-
export declare const
|
112
|
-
export declare const
|
113
|
-
export declare const
|
110
|
+
}[keyof TEventDefRecord]>;
|
111
|
+
export declare const makeEventDefSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => ForEventDefRecord<TSchema["_EventDefMapType"]>;
|
112
|
+
export declare const makeEventDefPartialSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => EventDefPartialSchema<TSchema["_EventDefMapType"]>;
|
113
|
+
export declare const makeEventDefSchemaMemo: <TSchema extends LiveStoreSchema>(schema: TSchema) => ForEventDefRecord<TSchema["_EventDefMapType"]>;
|
114
114
|
declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
|
115
|
-
|
115
|
+
name: typeof Schema.String;
|
116
116
|
args: typeof Schema.Any;
|
117
117
|
id: Schema.Struct<{
|
118
118
|
global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
@@ -153,7 +153,7 @@ declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
|
|
153
153
|
};
|
154
154
|
} | undefined, true, never>;
|
155
155
|
}, Schema.Struct.Encoded<{
|
156
|
-
|
156
|
+
name: typeof Schema.String;
|
157
157
|
args: typeof Schema.Any;
|
158
158
|
id: Schema.Struct<{
|
159
159
|
global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
@@ -194,12 +194,16 @@ declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
|
|
194
194
|
};
|
195
195
|
} | undefined, true, never>;
|
196
196
|
}>, never, {
|
197
|
+
readonly name: string;
|
198
|
+
} & {
|
197
199
|
readonly id: {
|
198
200
|
readonly global: number & import("effect/Brand").Brand<"GlobalEventId">;
|
199
201
|
readonly client: number & import("effect/Brand").Brand<"ClientEventId">;
|
200
202
|
};
|
201
203
|
} & {
|
202
|
-
readonly
|
204
|
+
readonly clientId: string;
|
205
|
+
} & {
|
206
|
+
readonly sessionId: string;
|
203
207
|
} & {
|
204
208
|
readonly args: any;
|
205
209
|
} & {
|
@@ -207,10 +211,6 @@ declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
|
|
207
211
|
readonly global: number & import("effect/Brand").Brand<"GlobalEventId">;
|
208
212
|
readonly client: number & import("effect/Brand").Brand<"ClientEventId">;
|
209
213
|
};
|
210
|
-
} & {
|
211
|
-
readonly clientId: string;
|
212
|
-
} & {
|
213
|
-
readonly sessionId: string;
|
214
214
|
} & {
|
215
215
|
readonly meta?: {
|
216
216
|
sessionChangeset: {
|
@@ -246,10 +246,10 @@ export declare class EncodedWithMeta extends EncodedWithMeta_base {
|
|
246
246
|
* Client id is ommitted for global events
|
247
247
|
*/
|
248
248
|
rebase: (parentId: EventId.EventId, isClient: boolean) => EncodedWithMeta;
|
249
|
-
static fromGlobal: (
|
249
|
+
static fromGlobal: (event: AnyEncodedGlobal, syncMetadata: Option.Option<Schema.JsonValue>) => EncodedWithMeta;
|
250
250
|
toGlobal: () => AnyEncodedGlobal;
|
251
251
|
}
|
252
252
|
/** NOTE `meta` is not considered for equality */
|
253
253
|
export declare const isEqualEncoded: (a: AnyEncoded, b: AnyEncoded) => boolean;
|
254
254
|
export {};
|
255
|
-
//# sourceMappingURL=
|
255
|
+
//# sourceMappingURL=LiveStoreEvent.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"LiveStoreEvent.d.ts","sourceRoot":"","sources":["../../src/schema/LiveStoreEvent.ts"],"names":[],"mappings":"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"}
|
@@ -2,50 +2,50 @@ import { memoizeByRef } from '@livestore/utils';
|
|
2
2
|
import { Option, Schema } from '@livestore/utils/effect';
|
3
3
|
import * as EventId from './EventId.js';
|
4
4
|
export const AnyDecoded = Schema.Struct({
|
5
|
-
|
5
|
+
name: Schema.String,
|
6
6
|
args: Schema.Any,
|
7
7
|
id: EventId.EventId,
|
8
8
|
parentId: EventId.EventId,
|
9
9
|
clientId: Schema.String,
|
10
10
|
sessionId: Schema.String,
|
11
|
-
}).annotations({ title: '
|
11
|
+
}).annotations({ title: 'LiveStoreEvent.AnyDecoded' });
|
12
12
|
export const AnyEncoded = Schema.Struct({
|
13
|
-
|
13
|
+
name: Schema.String,
|
14
14
|
args: Schema.Any,
|
15
15
|
id: EventId.EventId,
|
16
16
|
parentId: EventId.EventId,
|
17
17
|
clientId: Schema.String,
|
18
18
|
sessionId: Schema.String,
|
19
|
-
}).annotations({ title: '
|
19
|
+
}).annotations({ title: 'LiveStoreEvent.AnyEncoded' });
|
20
20
|
export const AnyEncodedGlobal = Schema.Struct({
|
21
|
-
|
21
|
+
name: Schema.String,
|
22
22
|
args: Schema.Any,
|
23
23
|
id: EventId.GlobalEventId,
|
24
24
|
parentId: EventId.GlobalEventId,
|
25
25
|
clientId: Schema.String,
|
26
26
|
sessionId: Schema.String,
|
27
|
-
}).annotations({ title: '
|
27
|
+
}).annotations({ title: 'LiveStoreEvent.AnyEncodedGlobal' });
|
28
28
|
export const PartialAnyEncoded = Schema.Struct({
|
29
|
-
|
29
|
+
name: Schema.String,
|
30
30
|
args: Schema.Any,
|
31
31
|
});
|
32
|
-
export const
|
33
|
-
export const
|
34
|
-
|
32
|
+
export const isPartialEventDef = (event) => 'id' in event === false && 'parentId' in event === false;
|
33
|
+
export const makeEventDefSchema = (schema) => Schema.Union(...[...schema.eventsDefsMap.values()].map((def) => Schema.Struct({
|
34
|
+
name: Schema.Literal(def.name),
|
35
35
|
args: def.schema,
|
36
36
|
id: EventId.EventId,
|
37
37
|
parentId: EventId.EventId,
|
38
38
|
clientId: Schema.String,
|
39
39
|
sessionId: Schema.String,
|
40
|
-
}))).annotations({ title: '
|
41
|
-
export const
|
42
|
-
|
40
|
+
}))).annotations({ title: 'EventDef' });
|
41
|
+
export const makeEventDefPartialSchema = (schema) => Schema.Union(...[...schema.eventsDefsMap.values()].map((def) => Schema.Struct({
|
42
|
+
name: Schema.Literal(def.name),
|
43
43
|
args: def.schema,
|
44
|
-
}))).annotations({ title: '
|
45
|
-
export const
|
44
|
+
}))).annotations({ title: 'EventDefPartial' });
|
45
|
+
export const makeEventDefSchemaMemo = memoizeByRef(makeEventDefSchema);
|
46
46
|
/** Equivalent to AnyEncoded but with a meta field and some convenience methods */
|
47
|
-
export class EncodedWithMeta extends Schema.Class('
|
48
|
-
|
47
|
+
export class EncodedWithMeta extends Schema.Class('LiveStoreEvent.EncodedWithMeta')({
|
48
|
+
name: Schema.String,
|
49
49
|
args: Schema.Any,
|
50
50
|
// TODO rename to `.num` / `.parentNum`
|
51
51
|
id: EventId.EventId,
|
@@ -69,8 +69,8 @@ export class EncodedWithMeta extends Schema.Class('MutationEvent.EncodedWithMeta
|
|
69
69
|
// - More readable way to print the id + parentId
|
70
70
|
// - not including `meta`, `clientId`, `sessionId`
|
71
71
|
return {
|
72
|
-
id: `${EventId.toString(this.id)} → ${EventId.toString(this.parentId)}`,
|
73
|
-
|
72
|
+
id: `${EventId.toString(this.id)} → ${EventId.toString(this.parentId)} (${this.clientId}, ${this.sessionId})`,
|
73
|
+
name: this.name,
|
74
74
|
args: this.args,
|
75
75
|
};
|
76
76
|
};
|
@@ -95,10 +95,10 @@ export class EncodedWithMeta extends Schema.Class('MutationEvent.EncodedWithMeta
|
|
95
95
|
...this,
|
96
96
|
...EventId.nextPair(parentId, isClient),
|
97
97
|
});
|
98
|
-
static fromGlobal = (
|
99
|
-
...
|
100
|
-
id: { global:
|
101
|
-
parentId: { global:
|
98
|
+
static fromGlobal = (event, syncMetadata) => new EncodedWithMeta({
|
99
|
+
...event,
|
100
|
+
id: { global: event.id, client: EventId.clientDefault },
|
101
|
+
parentId: { global: event.parentId, client: EventId.clientDefault },
|
102
102
|
meta: { sessionChangeset: { _tag: 'unset' }, syncMetadata },
|
103
103
|
});
|
104
104
|
toGlobal = () => ({
|
@@ -110,9 +110,9 @@ export class EncodedWithMeta extends Schema.Class('MutationEvent.EncodedWithMeta
|
|
110
110
|
/** NOTE `meta` is not considered for equality */
|
111
111
|
export const isEqualEncoded = (a, b) => a.id.global === b.id.global &&
|
112
112
|
a.id.client === b.id.client &&
|
113
|
-
a.
|
113
|
+
a.name === b.name &&
|
114
114
|
a.clientId === b.clientId &&
|
115
115
|
a.sessionId === b.sessionId &&
|
116
116
|
// TODO use schema equality here
|
117
117
|
JSON.stringify(a.args) === JSON.stringify(b.args);
|
118
|
-
//# sourceMappingURL=
|
118
|
+
//# sourceMappingURL=LiveStoreEvent.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"LiveStoreEvent.js","sourceRoot":"","sources":["../../src/schema/LiveStoreEvent.ts"],"names":[],"mappings":"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"}
|