@livestore/common 0.3.0-dev.2 → 0.3.0-dev.21
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 +21 -21
- package/dist/adapter-types.d.ts +97 -53
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.js +17 -0
- 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 +1 -1
- package/dist/debug-info.d.ts.map +1 -1
- package/dist/derived-mutations.d.ts +5 -5
- package/dist/derived-mutations.d.ts.map +1 -1
- package/dist/derived-mutations.js +3 -3
- package/dist/derived-mutations.js.map +1 -1
- package/dist/derived-mutations.test.js.map +1 -1
- package/dist/devtools/devtools-messages-client-session.d.ts +389 -0
- package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -0
- package/dist/devtools/devtools-messages-client-session.js +96 -0
- package/dist/devtools/devtools-messages-client-session.js.map +1 -0
- package/dist/devtools/devtools-messages-common.d.ts +61 -0
- package/dist/devtools/devtools-messages-common.d.ts.map +1 -0
- package/dist/devtools/devtools-messages-common.js +54 -0
- package/dist/devtools/devtools-messages-common.js.map +1 -0
- package/dist/devtools/devtools-messages-leader.d.ts +393 -0
- package/dist/devtools/devtools-messages-leader.d.ts.map +1 -0
- package/dist/devtools/devtools-messages-leader.js +148 -0
- package/dist/devtools/devtools-messages-leader.js.map +1 -0
- package/dist/devtools/devtools-messages.d.ts +3 -592
- package/dist/devtools/devtools-messages.d.ts.map +1 -1
- package/dist/devtools/devtools-messages.js +3 -171
- package/dist/devtools/devtools-messages.js.map +1 -1
- package/dist/devtools/devtools-sessioninfo.d.ts +28 -0
- package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -0
- package/dist/devtools/devtools-sessioninfo.js +34 -0
- package/dist/devtools/devtools-sessioninfo.js.map +1 -0
- package/dist/devtools/devtools-sessions-channel.d.ts +28 -0
- package/dist/devtools/devtools-sessions-channel.d.ts.map +1 -0
- package/dist/devtools/devtools-sessions-channel.js +34 -0
- package/dist/devtools/devtools-sessions-channel.js.map +1 -0
- package/dist/devtools/index.d.ts +35 -38
- package/dist/devtools/index.d.ts.map +1 -1
- package/dist/devtools/index.js +20 -45
- package/dist/devtools/index.js.map +1 -1
- package/dist/devtools/mod.d.ts +39 -0
- package/dist/devtools/mod.d.ts.map +1 -0
- package/dist/devtools/mod.js +27 -0
- package/dist/devtools/mod.js.map +1 -0
- package/dist/index.d.ts +2 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/init-singleton-tables.d.ts +2 -2
- package/dist/init-singleton-tables.d.ts.map +1 -1
- package/dist/init-singleton-tables.js.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.d.ts +39 -0
- package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -0
- package/dist/leader-thread/LeaderSyncProcessor.js +527 -0
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -0
- package/dist/leader-thread/apply-mutation.d.ts +5 -2
- package/dist/leader-thread/apply-mutation.d.ts.map +1 -1
- package/dist/leader-thread/apply-mutation.js +55 -35
- package/dist/leader-thread/apply-mutation.js.map +1 -1
- package/dist/leader-thread/connection.d.ts +34 -6
- package/dist/leader-thread/connection.d.ts.map +1 -1
- package/dist/leader-thread/connection.js +22 -7
- package/dist/leader-thread/connection.js.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.js +147 -124
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.d.ts +12 -11
- package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.js +55 -18
- package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
- package/dist/leader-thread/mutationlog.d.ts +6 -19
- package/dist/leader-thread/mutationlog.d.ts.map +1 -1
- package/dist/leader-thread/mutationlog.js +12 -9
- package/dist/leader-thread/mutationlog.js.map +1 -1
- package/dist/leader-thread/pull-queue-set.d.ts +3 -3
- package/dist/leader-thread/pull-queue-set.d.ts.map +1 -1
- package/dist/leader-thread/pull-queue-set.js +9 -0
- package/dist/leader-thread/pull-queue-set.js.map +1 -1
- package/dist/leader-thread/recreate-db.d.ts +4 -2
- package/dist/leader-thread/recreate-db.d.ts.map +1 -1
- package/dist/leader-thread/recreate-db.js +32 -21
- package/dist/leader-thread/recreate-db.js.map +1 -1
- package/dist/leader-thread/shutdown-channel.d.ts +2 -5
- package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
- package/dist/leader-thread/shutdown-channel.js +2 -4
- package/dist/leader-thread/shutdown-channel.js.map +1 -1
- package/dist/leader-thread/types.d.ts +58 -26
- package/dist/leader-thread/types.d.ts.map +1 -1
- package/dist/leader-thread/types.js +1 -3
- package/dist/leader-thread/types.js.map +1 -1
- package/dist/mutation.d.ts +9 -2
- package/dist/mutation.d.ts.map +1 -1
- package/dist/mutation.js +5 -5
- package/dist/mutation.js.map +1 -1
- package/dist/otel.d.ts +2 -0
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +5 -0
- package/dist/otel.js.map +1 -1
- package/dist/query-builder/api.d.ts +3 -3
- package/dist/query-builder/api.d.ts.map +1 -1
- package/dist/query-builder/impl.d.ts +4 -4
- package/dist/query-builder/impl.d.ts.map +1 -1
- package/dist/query-builder/impl.js.map +1 -1
- package/dist/query-builder/impl.test.js +16 -1
- package/dist/query-builder/impl.test.js.map +1 -1
- package/dist/query-info.d.ts +3 -3
- package/dist/query-info.d.ts.map +1 -1
- package/dist/rehydrate-from-mutationlog.d.ts +5 -5
- package/dist/rehydrate-from-mutationlog.d.ts.map +1 -1
- package/dist/rehydrate-from-mutationlog.js +23 -27
- package/dist/rehydrate-from-mutationlog.js.map +1 -1
- package/dist/schema/EventId.d.ts +27 -16
- package/dist/schema/EventId.d.ts.map +1 -1
- package/dist/schema/EventId.js +36 -11
- package/dist/schema/EventId.js.map +1 -1
- package/dist/schema/EventId.test.d.ts +2 -0
- package/dist/schema/EventId.test.d.ts.map +1 -0
- package/dist/schema/EventId.test.js +11 -0
- package/dist/schema/EventId.test.js.map +1 -0
- package/dist/schema/MutationEvent.d.ts +76 -82
- package/dist/schema/MutationEvent.d.ts.map +1 -1
- package/dist/schema/MutationEvent.js +53 -20
- package/dist/schema/MutationEvent.js.map +1 -1
- package/dist/schema/db-schema/ast/sqlite.d.ts +69 -0
- package/dist/schema/db-schema/ast/sqlite.d.ts.map +1 -0
- package/dist/schema/db-schema/ast/sqlite.js +71 -0
- package/dist/schema/db-schema/ast/sqlite.js.map +1 -0
- package/dist/schema/db-schema/ast/validate.d.ts +3 -0
- package/dist/schema/db-schema/ast/validate.d.ts.map +1 -0
- package/dist/schema/db-schema/ast/validate.js +12 -0
- package/dist/schema/db-schema/ast/validate.js.map +1 -0
- package/dist/schema/db-schema/dsl/field-defs.d.ts +90 -0
- package/dist/schema/db-schema/dsl/field-defs.d.ts.map +1 -0
- package/dist/schema/db-schema/dsl/field-defs.js +87 -0
- package/dist/schema/db-schema/dsl/field-defs.js.map +1 -0
- package/dist/schema/db-schema/dsl/field-defs.test.d.ts +2 -0
- package/dist/schema/db-schema/dsl/field-defs.test.d.ts.map +1 -0
- package/dist/schema/db-schema/dsl/field-defs.test.js +29 -0
- package/dist/schema/db-schema/dsl/field-defs.test.js.map +1 -0
- package/dist/schema/db-schema/dsl/mod.d.ts +88 -0
- package/dist/schema/db-schema/dsl/mod.d.ts.map +1 -0
- package/dist/schema/db-schema/dsl/mod.js +35 -0
- package/dist/schema/db-schema/dsl/mod.js.map +1 -0
- package/dist/schema/db-schema/hash.d.ts +2 -0
- package/dist/schema/db-schema/hash.d.ts.map +1 -0
- package/dist/schema/db-schema/hash.js +14 -0
- package/dist/schema/db-schema/hash.js.map +1 -0
- package/dist/schema/db-schema/mod.d.ts +3 -0
- package/dist/schema/db-schema/mod.d.ts.map +1 -0
- package/dist/schema/db-schema/mod.js +3 -0
- package/dist/schema/db-schema/mod.js.map +1 -0
- package/dist/schema/mod.d.ts +1 -0
- package/dist/schema/mod.d.ts.map +1 -1
- package/dist/schema/mod.js +1 -0
- package/dist/schema/mod.js.map +1 -1
- package/dist/schema/mutations.d.ts +8 -9
- package/dist/schema/mutations.d.ts.map +1 -1
- package/dist/schema/mutations.js +2 -2
- package/dist/schema/mutations.js.map +1 -1
- package/dist/schema/schema-helpers.d.ts.map +1 -1
- package/dist/schema/schema-helpers.js +1 -1
- package/dist/schema/schema-helpers.js.map +1 -1
- package/dist/schema/schema.d.ts +5 -2
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +20 -9
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/system-tables.d.ts +65 -47
- package/dist/schema/system-tables.d.ts.map +1 -1
- package/dist/schema/system-tables.js +24 -13
- package/dist/schema/system-tables.js.map +1 -1
- package/dist/schema/table-def.d.ts +18 -24
- package/dist/schema/table-def.d.ts.map +1 -1
- package/dist/schema/table-def.js +3 -4
- package/dist/schema/table-def.js.map +1 -1
- package/dist/schema-management/common.d.ts +3 -3
- package/dist/schema-management/common.d.ts.map +1 -1
- package/dist/schema-management/common.js.map +1 -1
- package/dist/schema-management/migrations.d.ts +6 -6
- package/dist/schema-management/migrations.d.ts.map +1 -1
- package/dist/schema-management/migrations.js +13 -8
- package/dist/schema-management/migrations.js.map +1 -1
- package/dist/schema-management/validate-mutation-defs.d.ts.map +1 -1
- package/dist/schema-management/validate-mutation-defs.js +2 -2
- package/dist/schema-management/validate-mutation-defs.js.map +1 -1
- package/dist/sql-queries/misc.d.ts.map +1 -1
- package/dist/sql-queries/sql-queries.d.ts +1 -1
- package/dist/sql-queries/sql-queries.d.ts.map +1 -1
- package/dist/sql-queries/sql-queries.js.map +1 -1
- package/dist/sql-queries/sql-query-builder.d.ts +1 -1
- package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
- package/dist/sql-queries/sql-query-builder.js.map +1 -1
- package/dist/sql-queries/types.d.ts +2 -1
- package/dist/sql-queries/types.d.ts.map +1 -1
- package/dist/sql-queries/types.js.map +1 -1
- package/dist/sync/{client-session-sync-processor.d.ts → ClientSessionSyncProcessor.d.ts} +25 -14
- package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -0
- package/dist/sync/ClientSessionSyncProcessor.js +199 -0
- package/dist/sync/ClientSessionSyncProcessor.js.map +1 -0
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +1 -1
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/next/compact-events.d.ts.map +1 -1
- package/dist/sync/next/facts.d.ts.map +1 -1
- package/dist/sync/next/facts.js +1 -1
- package/dist/sync/next/facts.js.map +1 -1
- package/dist/sync/next/history-dag-common.d.ts +3 -4
- package/dist/sync/next/history-dag-common.d.ts.map +1 -1
- package/dist/sync/next/history-dag-common.js +3 -1
- package/dist/sync/next/history-dag-common.js.map +1 -1
- package/dist/sync/next/history-dag.d.ts.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 +6 -4
- package/dist/sync/next/rebase-events.d.ts.map +1 -1
- package/dist/sync/next/rebase-events.js +6 -3
- package/dist/sync/next/rebase-events.js.map +1 -1
- package/dist/sync/next/test/compact-events.calculator.test.js +12 -12
- package/dist/sync/next/test/compact-events.calculator.test.js.map +1 -1
- package/dist/sync/next/test/compact-events.test.js +43 -43
- package/dist/sync/next/test/compact-events.test.js.map +1 -1
- package/dist/sync/next/test/mutation-fixtures.d.ts +4 -4
- package/dist/sync/next/test/mutation-fixtures.d.ts.map +1 -1
- package/dist/sync/next/test/mutation-fixtures.js +12 -16
- package/dist/sync/next/test/mutation-fixtures.js.map +1 -1
- package/dist/sync/sync.d.ts +31 -16
- package/dist/sync/sync.d.ts.map +1 -1
- package/dist/sync/sync.js +7 -3
- package/dist/sync/sync.js.map +1 -1
- package/dist/sync/syncstate.d.ts +177 -44
- package/dist/sync/syncstate.d.ts.map +1 -1
- package/dist/sync/syncstate.js +188 -56
- package/dist/sync/syncstate.js.map +1 -1
- package/dist/sync/syncstate.test.js +162 -92
- 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 +2 -2
- package/dist/sync/validate-push-payload.js.map +1 -1
- package/dist/util.d.ts +2 -2
- package/dist/util.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +6 -6
- package/src/adapter-types.ts +80 -56
- package/src/derived-mutations.test.ts +1 -1
- package/src/derived-mutations.ts +13 -9
- package/src/devtools/devtools-messages-client-session.ts +141 -0
- package/src/devtools/devtools-messages-common.ts +106 -0
- package/src/devtools/devtools-messages-leader.ts +192 -0
- package/src/devtools/devtools-messages.ts +3 -243
- package/src/devtools/devtools-sessioninfo.ts +99 -0
- package/src/devtools/mod.ts +36 -0
- package/src/index.ts +2 -8
- package/src/init-singleton-tables.ts +2 -2
- package/src/leader-thread/LeaderSyncProcessor.ts +833 -0
- package/src/leader-thread/apply-mutation.ts +87 -43
- package/src/leader-thread/connection.ts +54 -9
- package/src/leader-thread/leader-worker-devtools.ts +199 -174
- package/src/leader-thread/make-leader-thread-layer.ts +89 -35
- package/src/leader-thread/mutationlog.ts +20 -14
- package/src/leader-thread/pull-queue-set.ts +10 -1
- package/src/leader-thread/recreate-db.ts +38 -25
- package/src/leader-thread/shutdown-channel.ts +2 -4
- package/src/leader-thread/types.ts +68 -34
- package/src/mutation.ts +17 -7
- package/src/otel.ts +8 -0
- package/src/query-builder/api.ts +4 -4
- package/src/query-builder/impl.test.ts +22 -1
- package/src/query-builder/impl.ts +2 -2
- package/src/query-info.ts +3 -3
- package/src/rehydrate-from-mutationlog.ts +28 -34
- package/src/schema/EventId.test.ts +12 -0
- package/src/schema/EventId.ts +49 -15
- package/src/schema/MutationEvent.ts +78 -31
- package/src/schema/db-schema/ast/sqlite.ts +142 -0
- package/src/schema/db-schema/ast/validate.ts +13 -0
- package/src/schema/db-schema/dsl/__snapshots__/field-defs.test.ts.snap +206 -0
- package/src/schema/db-schema/dsl/field-defs.test.ts +35 -0
- package/src/schema/db-schema/dsl/field-defs.ts +242 -0
- package/src/schema/db-schema/dsl/mod.ts +195 -0
- package/src/schema/db-schema/hash.ts +14 -0
- package/src/schema/db-schema/mod.ts +2 -0
- package/src/schema/mod.ts +1 -0
- package/src/schema/mutations.ts +10 -20
- package/src/schema/schema-helpers.ts +1 -1
- package/src/schema/schema.ts +22 -10
- package/src/schema/system-tables.ts +24 -13
- package/src/schema/table-def.ts +17 -17
- package/src/schema-management/common.ts +3 -3
- package/src/schema-management/migrations.ts +19 -15
- package/src/schema-management/validate-mutation-defs.ts +2 -2
- package/src/sql-queries/sql-queries.ts +1 -1
- package/src/sql-queries/sql-query-builder.ts +1 -2
- package/src/sql-queries/types.ts +3 -1
- package/src/sync/ClientSessionSyncProcessor.ts +313 -0
- package/src/sync/index.ts +1 -1
- package/src/sync/next/facts.ts +1 -1
- package/src/sync/next/history-dag-common.ts +5 -1
- package/src/sync/next/history-dag.ts +1 -1
- package/src/sync/next/rebase-events.ts +13 -7
- package/src/sync/next/test/compact-events.calculator.test.ts +12 -12
- package/src/sync/next/test/compact-events.test.ts +43 -43
- package/src/sync/next/test/mutation-fixtures.ts +16 -19
- package/src/sync/sync.ts +26 -10
- package/src/sync/syncstate.test.ts +178 -98
- package/src/sync/syncstate.ts +170 -83
- package/src/sync/validate-push-payload.ts +7 -4
- package/src/version.ts +1 -1
- package/tmp/pack.tgz +0 -0
- package/tsconfig.json +1 -1
- package/dist/devtools/devtools-bridge.d.ts +0 -12
- package/dist/devtools/devtools-bridge.d.ts.map +0 -1
- package/dist/devtools/devtools-bridge.js +0 -2
- package/dist/devtools/devtools-bridge.js.map +0 -1
- package/dist/leader-thread/leader-sync-processor.d.ts +0 -47
- package/dist/leader-thread/leader-sync-processor.d.ts.map +0 -1
- package/dist/leader-thread/leader-sync-processor.js +0 -422
- package/dist/leader-thread/leader-sync-processor.js.map +0 -1
- package/dist/sync/client-session-sync-processor.d.ts.map +0 -1
- package/dist/sync/client-session-sync-processor.js +0 -131
- package/dist/sync/client-session-sync-processor.js.map +0 -1
- package/src/devtools/devtools-bridge.ts +0 -13
- package/src/devtools/index.ts +0 -48
- package/src/leader-thread/leader-sync-processor.ts +0 -666
- package/src/sync/client-session-sync-processor.ts +0 -207
@@ -0,0 +1,199 @@
|
|
1
|
+
import { LS_DEV, shouldNeverHappen, TRACE_VERBOSE } from '@livestore/utils';
|
2
|
+
import { BucketQueue, Effect, FiberHandle, Queue, Schema, Stream, Subscribable } from '@livestore/utils/effect';
|
3
|
+
import * as otel from '@opentelemetry/api';
|
4
|
+
import * as EventId from '../schema/EventId.js';
|
5
|
+
import { getMutationDef } from '../schema/mod.js';
|
6
|
+
import * as MutationEvent from '../schema/MutationEvent.js';
|
7
|
+
import * as SyncState from './syncstate.js';
|
8
|
+
/**
|
9
|
+
* Rebase behaviour:
|
10
|
+
* - We continously pull mutations from the leader and apply them to the local store.
|
11
|
+
* - If there was a race condition (i.e. the leader and client session have both advacned),
|
12
|
+
* we'll need to rebase the local pending mutations on top of the leader's head.
|
13
|
+
* - The goal is to never block the UI, so we'll interrupt rebasing if a new mutations is pushed by the client session.
|
14
|
+
* - We also want to avoid "backwards-jumping" in the UI, so we'll transactionally apply a read model changes during a rebase.
|
15
|
+
* - We might need to make the rebase behaviour configurable e.g. to let users manually trigger a rebase
|
16
|
+
*/
|
17
|
+
export const makeClientSessionSyncProcessor = ({ schema, clientSession, runtime, applyMutation, rollback, refreshTables, span, params, confirmUnsavedChanges, }) => {
|
18
|
+
const mutationEventSchema = MutationEvent.makeMutationEventSchemaMemo(schema);
|
19
|
+
const syncStateRef = {
|
20
|
+
current: new SyncState.SyncState({
|
21
|
+
localHead: clientSession.leaderThread.initialState.leaderHead,
|
22
|
+
upstreamHead: clientSession.leaderThread.initialState.leaderHead,
|
23
|
+
pending: [],
|
24
|
+
// TODO init rollbackTail from leader to be ready for backend rebasing
|
25
|
+
rollbackTail: [],
|
26
|
+
}),
|
27
|
+
};
|
28
|
+
const syncStateUpdateQueue = Queue.unbounded().pipe(Effect.runSync);
|
29
|
+
const isLocalEvent = (mutationEventEncoded) => getMutationDef(schema, mutationEventEncoded.mutation).options.clientOnly;
|
30
|
+
/** We're queuing push requests to reduce the number of messages sent to the leader by batching them */
|
31
|
+
const leaderPushQueue = BucketQueue.make().pipe(Effect.runSync);
|
32
|
+
const push = (batch, { otelContext }) => {
|
33
|
+
// TODO validate batch
|
34
|
+
let baseEventId = syncStateRef.current.localHead;
|
35
|
+
const encodedMutationEvents = batch.map((mutationEvent) => {
|
36
|
+
const mutationDef = getMutationDef(schema, mutationEvent.mutation);
|
37
|
+
const nextIdPair = EventId.nextPair(baseEventId, mutationDef.options.clientOnly);
|
38
|
+
baseEventId = nextIdPair.id;
|
39
|
+
return new MutationEvent.EncodedWithMeta(Schema.encodeUnknownSync(mutationEventSchema)({
|
40
|
+
...mutationEvent,
|
41
|
+
...nextIdPair,
|
42
|
+
clientId: clientSession.clientId,
|
43
|
+
sessionId: clientSession.sessionId,
|
44
|
+
}));
|
45
|
+
});
|
46
|
+
const updateResult = SyncState.updateSyncState({
|
47
|
+
syncState: syncStateRef.current,
|
48
|
+
payload: { _tag: 'local-push', newEvents: encodedMutationEvents },
|
49
|
+
isLocalEvent,
|
50
|
+
isEqualEvent: MutationEvent.isEqualEncoded,
|
51
|
+
});
|
52
|
+
if (updateResult._tag === 'unexpected-error') {
|
53
|
+
return shouldNeverHappen('Unexpected error in client-session-sync-processor', updateResult.cause);
|
54
|
+
}
|
55
|
+
span.addEvent('local-push', {
|
56
|
+
batchSize: encodedMutationEvents.length,
|
57
|
+
updateResult: TRACE_VERBOSE ? JSON.stringify(updateResult) : undefined,
|
58
|
+
});
|
59
|
+
if (updateResult._tag !== 'advance') {
|
60
|
+
return shouldNeverHappen(`Expected advance, got ${updateResult._tag}`);
|
61
|
+
}
|
62
|
+
syncStateRef.current = updateResult.newSyncState;
|
63
|
+
syncStateUpdateQueue.offer(updateResult.newSyncState).pipe(Effect.runSync);
|
64
|
+
const writeTables = new Set();
|
65
|
+
for (const mutationEvent of updateResult.newEvents) {
|
66
|
+
// TODO avoid encoding and decoding here again
|
67
|
+
const decodedMutationEvent = Schema.decodeSync(mutationEventSchema)(mutationEvent);
|
68
|
+
const res = applyMutation(decodedMutationEvent, { otelContext, withChangeset: true });
|
69
|
+
for (const table of res.writeTables) {
|
70
|
+
writeTables.add(table);
|
71
|
+
}
|
72
|
+
mutationEvent.meta.sessionChangeset = res.sessionChangeset;
|
73
|
+
}
|
74
|
+
// console.debug('pushToLeader', encodedMutationEvents.length, ...encodedMutationEvents.map((_) => _.toJSON()))
|
75
|
+
BucketQueue.offerAll(leaderPushQueue, encodedMutationEvents).pipe(Effect.runSync);
|
76
|
+
return { writeTables };
|
77
|
+
};
|
78
|
+
const debugInfo = {
|
79
|
+
rebaseCount: 0,
|
80
|
+
advanceCount: 0,
|
81
|
+
rejectCount: 0,
|
82
|
+
};
|
83
|
+
const otelContext = otel.trace.setSpan(otel.context.active(), span);
|
84
|
+
const boot = Effect.gen(function* () {
|
85
|
+
// eslint-disable-next-line unicorn/prefer-global-this
|
86
|
+
if (confirmUnsavedChanges && typeof window !== 'undefined' && typeof window.addEventListener === 'function') {
|
87
|
+
const onBeforeUnload = (event) => {
|
88
|
+
if (syncStateRef.current.pending.length > 0) {
|
89
|
+
// Trigger the default browser dialog
|
90
|
+
event.preventDefault();
|
91
|
+
}
|
92
|
+
};
|
93
|
+
yield* Effect.acquireRelease(Effect.sync(() => window.addEventListener('beforeunload', onBeforeUnload)), () => Effect.sync(() => window.removeEventListener('beforeunload', onBeforeUnload)));
|
94
|
+
}
|
95
|
+
const leaderPushingFiberHandle = yield* FiberHandle.make();
|
96
|
+
const backgroundLeaderPushing = Effect.gen(function* () {
|
97
|
+
const batch = yield* BucketQueue.takeBetween(leaderPushQueue, 1, params.leaderPushBatchSize);
|
98
|
+
yield* clientSession.leaderThread.mutations.push(batch).pipe(Effect.catchTag('LeaderAheadError', () => {
|
99
|
+
debugInfo.rejectCount++;
|
100
|
+
return BucketQueue.clear(leaderPushQueue);
|
101
|
+
}));
|
102
|
+
}).pipe(Effect.forever, Effect.interruptible, Effect.tapCauseLogPretty);
|
103
|
+
yield* FiberHandle.run(leaderPushingFiberHandle, backgroundLeaderPushing);
|
104
|
+
yield* clientSession.leaderThread.mutations.pull.pipe(Stream.tap(({ payload, remaining }) => Effect.gen(function* () {
|
105
|
+
// console.log('pulled payload from leader', { payload, remaining })
|
106
|
+
if (clientSession.devtools.enabled) {
|
107
|
+
yield* clientSession.devtools.pullLatch.await;
|
108
|
+
}
|
109
|
+
const updateResult = SyncState.updateSyncState({
|
110
|
+
syncState: syncStateRef.current,
|
111
|
+
payload,
|
112
|
+
isLocalEvent,
|
113
|
+
isEqualEvent: MutationEvent.isEqualEncoded,
|
114
|
+
});
|
115
|
+
if (updateResult._tag === 'unexpected-error') {
|
116
|
+
return yield* Effect.fail(updateResult.cause);
|
117
|
+
}
|
118
|
+
else if (updateResult._tag === 'reject') {
|
119
|
+
return shouldNeverHappen('Unexpected reject in client-session-sync-processor', updateResult);
|
120
|
+
}
|
121
|
+
syncStateRef.current = updateResult.newSyncState;
|
122
|
+
syncStateUpdateQueue.offer(updateResult.newSyncState).pipe(Effect.runSync);
|
123
|
+
if (updateResult._tag === 'rebase') {
|
124
|
+
span.addEvent('pull:rebase', {
|
125
|
+
payloadTag: payload._tag,
|
126
|
+
payload: TRACE_VERBOSE ? JSON.stringify(payload) : undefined,
|
127
|
+
newEventsCount: updateResult.newEvents.length,
|
128
|
+
rollbackCount: updateResult.eventsToRollback.length,
|
129
|
+
res: TRACE_VERBOSE ? JSON.stringify(updateResult) : undefined,
|
130
|
+
remaining,
|
131
|
+
});
|
132
|
+
debugInfo.rebaseCount++;
|
133
|
+
yield* FiberHandle.clear(leaderPushingFiberHandle);
|
134
|
+
// Reset the leader push queue since we're rebasing and will push again
|
135
|
+
yield* BucketQueue.clear(leaderPushQueue);
|
136
|
+
yield* FiberHandle.run(leaderPushingFiberHandle, backgroundLeaderPushing);
|
137
|
+
if (LS_DEV) {
|
138
|
+
Effect.logDebug('pull:rebase: rollback', updateResult.eventsToRollback.length, ...updateResult.eventsToRollback.slice(0, 10).map((_) => _.toJSON())).pipe(Effect.provide(runtime), Effect.runSync);
|
139
|
+
}
|
140
|
+
for (let i = updateResult.eventsToRollback.length - 1; i >= 0; i--) {
|
141
|
+
const event = updateResult.eventsToRollback[i];
|
142
|
+
if (event.meta.sessionChangeset) {
|
143
|
+
rollback(event.meta.sessionChangeset);
|
144
|
+
event.meta.sessionChangeset = undefined;
|
145
|
+
}
|
146
|
+
}
|
147
|
+
yield* BucketQueue.offerAll(leaderPushQueue, updateResult.newSyncState.pending);
|
148
|
+
}
|
149
|
+
else {
|
150
|
+
span.addEvent('pull:advance', {
|
151
|
+
payloadTag: payload._tag,
|
152
|
+
payload: TRACE_VERBOSE ? JSON.stringify(payload) : undefined,
|
153
|
+
newEventsCount: updateResult.newEvents.length,
|
154
|
+
res: TRACE_VERBOSE ? JSON.stringify(updateResult) : undefined,
|
155
|
+
remaining,
|
156
|
+
});
|
157
|
+
debugInfo.advanceCount++;
|
158
|
+
}
|
159
|
+
if (updateResult.newEvents.length === 0)
|
160
|
+
return;
|
161
|
+
const writeTables = new Set();
|
162
|
+
for (const mutationEvent of updateResult.newEvents) {
|
163
|
+
const decodedMutationEvent = Schema.decodeSync(mutationEventSchema)(mutationEvent);
|
164
|
+
const res = applyMutation(decodedMutationEvent, { otelContext, withChangeset: true });
|
165
|
+
for (const table of res.writeTables) {
|
166
|
+
writeTables.add(table);
|
167
|
+
}
|
168
|
+
mutationEvent.meta.sessionChangeset = res.sessionChangeset;
|
169
|
+
}
|
170
|
+
refreshTables(writeTables);
|
171
|
+
}).pipe(Effect.tapCauseLogPretty, Effect.catchAllCause((cause) => Effect.sync(() => clientSession.shutdown(cause))))), Stream.runDrain, Effect.forever, // NOTE Whenever the leader changes, we need to re-start the stream
|
172
|
+
Effect.withSpan('client-session-sync-processor:pull'), Effect.tapCauseLogPretty, Effect.forkScoped);
|
173
|
+
});
|
174
|
+
return {
|
175
|
+
push,
|
176
|
+
boot,
|
177
|
+
syncState: Subscribable.make({
|
178
|
+
get: Effect.gen(function* () {
|
179
|
+
const syncState = syncStateRef.current;
|
180
|
+
if (syncStateRef === undefined)
|
181
|
+
return shouldNeverHappen('Not initialized');
|
182
|
+
return syncState;
|
183
|
+
}),
|
184
|
+
changes: Stream.fromQueue(syncStateUpdateQueue),
|
185
|
+
}),
|
186
|
+
debug: {
|
187
|
+
print: () => Effect.gen(function* () {
|
188
|
+
console.log('debugInfo', debugInfo);
|
189
|
+
console.log('syncState', syncStateRef.current);
|
190
|
+
const pushQueueSize = yield* BucketQueue.size(leaderPushQueue);
|
191
|
+
console.log('pushQueueSize', pushQueueSize);
|
192
|
+
const pushQueueItems = yield* BucketQueue.peekAll(leaderPushQueue);
|
193
|
+
console.log('pushQueueItems', pushQueueItems.map((_) => _.toJSON()));
|
194
|
+
}).pipe(Effect.provide(runtime), Effect.runSync),
|
195
|
+
debugInfo: () => debugInfo,
|
196
|
+
},
|
197
|
+
};
|
198
|
+
};
|
199
|
+
//# sourceMappingURL=ClientSessionSyncProcessor.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ClientSessionSyncProcessor.js","sourceRoot":"","sources":["../../src/sync/ClientSessionSyncProcessor.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/index.d.ts
CHANGED
package/dist/sync/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iCAAiC,CAAA"}
|
package/dist/sync/index.js
CHANGED
package/dist/sync/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iCAAiC,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"compact-events.d.ts","sourceRoot":"","sources":["../../../src/sync/next/compact-events.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAGzD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,
|
1
|
+
{"version":3,"file":"compact-events.d.ts","sourceRoot":"","sources":["../../../src/sync/next/compact-events.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAGzD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,UAAU,KAAG;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAkDlG,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../../src/sync/next/facts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,OAAO,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EACV,aAAa,EAEb,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAEhG,eAAO,MAAM,sBAAsB,
|
1
|
+
{"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../../src/sync/next/facts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,OAAO,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EACV,aAAa,EAEb,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAEhG,eAAO,MAAM,sBAAsB,GACjC,QAAQ,cAAc,EAAE,EACxB,YAAY,OAAO,CAAC,OAAO,KAC1B,0BAYF,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,KAAK,UAAU,EACf,YAAY,OAAO,CAAC,OAAO,GAAG,SAAS,KACtC,0BAeF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,OAAO,EAAE,IAAI,CAAA;CACd,GACD;IACE,OAAO,EAAE,KAAK,CAAA;IACd,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,kBAAkB,CAAA;IACjC,QAAQ,EAAE;QACR,QAAQ,EAAE,kBAAkB,CAAA;QAC5B,QAAQ,EAAE,kBAAkB,CAAA;KAC7B,CAAA;IACD,eAAe,EAAE,kBAAkB,CAAA;CACpC,CAAA;AAEL,eAAO,MAAM,aAAa,GAAI,kCAG3B;IACD,UAAU,EAAE,uBAAuB,EAAE,CAAA;IACrC,eAAe,EAAE,0BAA0B,CAAA;CAC5C,KAAG,oBA8BH,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,YAAY,uBAAuB,EAAE,EAAE,UAAU,0BAA0B,SAI1G,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,WAAW,uBAAuB,EAAE,UAAU,0BAA0B,SAQtG,CAAA;AAsBD,wCAAwC;AACxC,eAAO,MAAM,SAAS,GAAI,QAAQ,uBAAuB,EAAE,QAAQ,uBAAuB,KAAG,OAItC,CAAA;AAEvD,eAAO,MAAM,aAAa,GAAI,QAAQ,uBAAuB,EAAE,QAAQ,uBAAuB,KAAG,OAYhG,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,kBAAkB,EAAE,UAAU,kBAAkB,YACrB,CAAA;AAE/D,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,WAItD,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,MAAM,kBAAkB,EAAE,MAAM,kBAAkB,KAAG,OAOnF,CAAA;AAED,eAAO,MAAM,4BAA4B,GAAI,wCAI1C;IACD,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IAC7C,IAAI,EAAE,GAAG,CAAA;IACT,YAAY,EAAE,0BAA0B,CAAA;CACzC,KAAG,uBAwCH,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,WAKrE,CAAA"}
|
package/dist/sync/next/facts.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"facts.js","sourceRoot":"","sources":["../../../src/sync/next/facts.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"facts.js","sourceRoot":"","sources":["../../../src/sync/next/facts.ts"],"names":[],"mappings":"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"}
|
@@ -12,10 +12,7 @@ export type HistoryDag = graphology.IGraph<HistoryDagNode, {
|
|
12
12
|
type: ConnectionType;
|
13
13
|
}>;
|
14
14
|
export declare const emptyHistoryDag: () => HistoryDag;
|
15
|
-
export declare const rootParentId:
|
16
|
-
global: number;
|
17
|
-
local: number;
|
18
|
-
};
|
15
|
+
export declare const rootParentId: EventId.EventId;
|
19
16
|
export type HistoryDagNode = {
|
20
17
|
id: EventId.EventId;
|
21
18
|
parentId: EventId.EventId;
|
@@ -24,6 +21,8 @@ export type HistoryDagNode = {
|
|
24
21
|
/** Facts are being used for conflict detection and history compaction */
|
25
22
|
factsGroup: MutationEventFactsGroup;
|
26
23
|
meta?: any;
|
24
|
+
clientId: string;
|
25
|
+
sessionId: string | undefined;
|
27
26
|
};
|
28
27
|
export declare const rootEventNode: HistoryDagNode;
|
29
28
|
export declare const EMPTY_FACT_VALUE: unique symbol;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"history-dag-common.d.ts","sourceRoot":"","sources":["../../../src/sync/next/history-dag-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAA;AAClD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,eAAO,MAAM,qBAAqB,8BAA+B,CAAA;AACjE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,CAAA;AAEpF,eAAO,MAAM,eAAe,QAAO,UAK/B,CAAA;AAGJ,eAAO,MAAM,YAAY
|
1
|
+
{"version":3,"file":"history-dag-common.d.ts","sourceRoot":"","sources":["../../../src/sync/next/history-dag-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAA;AAClD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,eAAO,MAAM,qBAAqB,8BAA+B,CAAA;AACjE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,CAAA;AAEpF,eAAO,MAAM,eAAe,QAAO,UAK/B,CAAA;AAGJ,eAAO,MAAM,YAAY,iBAAmF,CAAA;AAE5G,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,OAAO,CAAC,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,GAAG,CAAA;IACT,yEAAyE;IACzE,UAAU,EAAE,uBAAuB,CAAA;IACnC,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,cAS3B,CAAA;AAED,eAAO,MAAM,gBAAgB,eAA6B,CAAA"}
|
@@ -7,7 +7,7 @@ export const emptyHistoryDag = () => new graphology.Graph({
|
|
7
7
|
type: 'directed',
|
8
8
|
});
|
9
9
|
// TODO consider making `ROOT_ID` parent to itself
|
10
|
-
export const rootParentId = { global: EventId.ROOT.global - 1,
|
10
|
+
export const rootParentId = EventId.make({ global: EventId.ROOT.global - 1, client: EventId.clientDefault });
|
11
11
|
export const rootEventNode = {
|
12
12
|
id: EventId.ROOT,
|
13
13
|
parentId: rootParentId,
|
@@ -15,6 +15,8 @@ export const rootEventNode = {
|
|
15
15
|
mutation: '__Root__',
|
16
16
|
args: {},
|
17
17
|
factsGroup: { modifySet: new Map(), modifyUnset: new Map(), depRequire: new Map(), depRead: new Map() },
|
18
|
+
clientId: 'root',
|
19
|
+
sessionId: undefined,
|
18
20
|
};
|
19
21
|
export const EMPTY_FACT_VALUE = Symbol('EMPTY_FACT_VALUE');
|
20
22
|
//# sourceMappingURL=history-dag-common.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"history-dag-common.js","sourceRoot":"","sources":["../../../src/sync/next/history-dag-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAA;AAUjE,MAAM,CAAC,MAAM,eAAe,GAAG,GAAe,EAAE,CAC9C,IAAI,UAAU,CAAC,KAAK,CAAC;IACnB,cAAc,EAAE,KAAK;IACrB,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,UAAU;CACjB,CAAC,CAAA;AAEJ,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,
|
1
|
+
{"version":3,"file":"history-dag-common.js","sourceRoot":"","sources":["../../../src/sync/next/history-dag-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAA;AAUjE,MAAM,CAAC,MAAM,eAAe,GAAG,GAAe,EAAE,CAC9C,IAAI,UAAU,CAAC,KAAK,CAAC;IACnB,cAAc,EAAE,KAAK;IACrB,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,UAAU;CACjB,CAAC,CAAA;AAEJ,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;AAc5G,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,EAAE,EAAE,OAAO,CAAC,IAAI;IAChB,QAAQ,EAAE,YAAY;IACtB,eAAe;IACf,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE;IACvG,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,SAAS;CACrB,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"history-dag.d.ts","sourceRoot":"","sources":["../../../src/sync/next/history-dag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,yBAAyB,CAAA;AAEvD,OAAO,EAAmB,KAAK,cAAc,EAAgB,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,eAAe,
|
1
|
+
{"version":3,"file":"history-dag.d.ts","sourceRoot":"","sources":["../../../src/sync/next/history-dag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,yBAAyB,CAAA;AAEvD,OAAO,EAAmB,KAAK,cAAc,EAAgB,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,CAAC,OAAO,WACkC,CAAA;AAE1F,eAAO,MAAM,mBAAmB,GAAI,UAAU,cAAc,EAAE,EAAE,UAAU;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,iDA2DpG,CAAA"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { factsToString, validateFacts } from './facts.js';
|
2
2
|
import { emptyHistoryDag, rootParentId } from './history-dag-common.js';
|
3
|
-
export const eventIdToString = (eventId) => eventId.
|
3
|
+
export const eventIdToString = (eventId) => eventId.client === 0 ? eventId.global.toString() : `${eventId.global}.${eventId.client}`;
|
4
4
|
export const historyDagFromNodes = (dagNodes, options) => {
|
5
5
|
if (options?.skipFactsCheck !== true) {
|
6
6
|
const validationResult = validateFacts({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"history-dag.js","sourceRoot":"","sources":["../../../src/sync/next/history-dag.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,eAAe,EAAuB,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE5F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAwB,EAAE,EAAE,CAC1D,OAAO,CAAC,
|
1
|
+
{"version":3,"file":"history-dag.js","sourceRoot":"","sources":["../../../src/sync/next/history-dag.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,eAAe,EAAuB,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE5F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAwB,EAAE,EAAE,CAC1D,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAA;AAE1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAA0B,EAAE,OAAqC,EAAE,EAAE;IACvG,IAAI,OAAO,EAAE,cAAc,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAG,aAAa,CAAC;YACrC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACnD,eAAe,EAAE,IAAI,GAAG,EAAe;SACxC,CAAC,CAAA;QAEF,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAE,CAAC,QAAQ,0DAA0D,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,qBAAqB,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,CACpO,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;IAE7B,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IAEvE,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC3F,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,8IAA8I;YAC9I,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;gBACpB,IAAI,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAE3C,OAAO,YAAY,KAAK,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;oBACtD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAA;oBACtG,IAAI,CAAC,UAAU;wBAAE,OAAO,IAAI,CAAA;oBAE5B,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;oBAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;oBAErD,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wBACnG,OAAO,UAAU,CAAA;oBACnB,CAAC;oBAED,YAAY,GAAG,WAAW,CAAA;gBAC5B,CAAC;gBAED,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,EAAE,CAAA;YAEJ,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBAChD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC1C,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7G,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
|
@@ -10,19 +10,21 @@ export type RebaseInput = {
|
|
10
10
|
newRemoteEvents: RebaseEventWithConflict[];
|
11
11
|
pendingLocalEvents: RebaseEventWithConflict[];
|
12
12
|
validate: (args: {
|
13
|
-
rebasedLocalEvents: MutationEvent.
|
13
|
+
rebasedLocalEvents: MutationEvent.PartialAnyDecoded[];
|
14
14
|
mutationDefs: Record<string, MutationDef.Any>;
|
15
15
|
}) => FactValidationResult;
|
16
16
|
};
|
17
17
|
export type RebaseOutput = {
|
18
|
-
rebasedLocalEvents: MutationEvent.
|
18
|
+
rebasedLocalEvents: MutationEvent.PartialAnyDecoded[];
|
19
19
|
};
|
20
20
|
export type RebaseFn = (input: RebaseInput) => RebaseOutput;
|
21
21
|
export declare const defaultRebaseFn: RebaseFn;
|
22
|
-
export declare const rebaseEvents: ({ rebaseFn, pendingLocalEvents, newRemoteEvents, currentFactsSnapshot, }: {
|
22
|
+
export declare const rebaseEvents: ({ rebaseFn, pendingLocalEvents, newRemoteEvents, currentFactsSnapshot, clientId, sessionId, }: {
|
23
23
|
pendingLocalEvents: HistoryDagNode[];
|
24
24
|
newRemoteEvents: HistoryDagNode[];
|
25
25
|
rebaseFn: RebaseFn;
|
26
26
|
currentFactsSnapshot: MutationEventFactsSnapshot;
|
27
|
-
|
27
|
+
clientId: string;
|
28
|
+
sessionId: string | undefined;
|
29
|
+
}) => ReadonlyArray<MutationEvent.AnyDecoded>;
|
28
30
|
//# sourceMappingURL=rebase-events.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rebase-events.d.ts","sourceRoot":"","sources":["../../../src/sync/next/rebase-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,aAAa,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACxF,OAAO,EAGL,KAAK,oBAAoB,EAG1B,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7D,MAAM,MAAM,uBAAuB,GAAG,cAAc,GAAG;IACrD,YAAY,EAAE,SAAS,GAAG,qBAAqB,CAAA;IAC/C,iBAAiB,EAAE,cAAc,EAAE,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,eAAe,EAAE,uBAAuB,EAAE,CAAA;IAC1C,kBAAkB,EAAE,uBAAuB,EAAE,CAAA;IAC7C,QAAQ,EAAE,CAAC,IAAI,EAAE;QACf,kBAAkB,EAAE,aAAa,CAAC,
|
1
|
+
{"version":3,"file":"rebase-events.d.ts","sourceRoot":"","sources":["../../../src/sync/next/rebase-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,aAAa,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACxF,OAAO,EAGL,KAAK,oBAAoB,EAG1B,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7D,MAAM,MAAM,uBAAuB,GAAG,cAAc,GAAG;IACrD,YAAY,EAAE,SAAS,GAAG,qBAAqB,CAAA;IAC/C,iBAAiB,EAAE,cAAc,EAAE,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,eAAe,EAAE,uBAAuB,EAAE,CAAA;IAC1C,kBAAkB,EAAE,uBAAuB,EAAE,CAAA;IAC7C,QAAQ,EAAE,CAAC,IAAI,EAAE;QACf,kBAAkB,EAAE,aAAa,CAAC,iBAAiB,EAAE,CAAA;QACrD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;KAC9C,KAAK,oBAAoB,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,kBAAkB,EAAE,aAAa,CAAC,iBAAiB,EAAE,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,YAAY,CAAA;AAE3D,eAAO,MAAM,eAAe,EAAE,QAM7B,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,+FAO1B;IACD,kBAAkB,EAAE,cAAc,EAAE,CAAA;IACpC,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,QAAQ,EAAE,QAAQ,CAAA;IAClB,oBAAoB,EAAE,0BAA0B,CAAA;IAChD,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,KAAG,aAAa,CAAC,aAAa,CAAC,UAAU,CAiDzC,CAAA"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import * as EventId from '../../schema/EventId.js';
|
1
2
|
import { applyFactGroups, factsIntersect, getFactsGroupForMutationArgs, validateFacts, } from './facts.js';
|
2
3
|
export const defaultRebaseFn = ({ pendingLocalEvents }) => {
|
3
4
|
if (pendingLocalEvents.some((_) => _.conflictType === 'missing-requirement')) {
|
@@ -5,7 +6,7 @@ export const defaultRebaseFn = ({ pendingLocalEvents }) => {
|
|
5
6
|
}
|
6
7
|
return { rebasedLocalEvents: pendingLocalEvents };
|
7
8
|
};
|
8
|
-
export const rebaseEvents = ({ rebaseFn, pendingLocalEvents, newRemoteEvents, currentFactsSnapshot, }) => {
|
9
|
+
export const rebaseEvents = ({ rebaseFn, pendingLocalEvents, newRemoteEvents, currentFactsSnapshot, clientId, sessionId, }) => {
|
9
10
|
const initialSnapshot = new Map(currentFactsSnapshot);
|
10
11
|
applyFactGroups(newRemoteEvents.map((event) => event.factsGroup), initialSnapshot);
|
11
12
|
// TODO detect and set actual conflict type (overlap or missing-requirement)
|
@@ -32,10 +33,12 @@ export const rebaseEvents = ({ rebaseFn, pendingLocalEvents, newRemoteEvents, cu
|
|
32
33
|
});
|
33
34
|
const headGlobalId = newRemoteEvents.at(-1).id.global;
|
34
35
|
return rebasedLocalEvents.map((event, index) => ({
|
35
|
-
id: { global: headGlobalId + index + 1,
|
36
|
-
parentId: { global: headGlobalId + index,
|
36
|
+
id: EventId.make({ global: headGlobalId + index + 1, client: EventId.clientDefault }),
|
37
|
+
parentId: EventId.make({ global: headGlobalId + index, client: EventId.clientDefault }),
|
37
38
|
mutation: event.mutation,
|
38
39
|
args: event.args,
|
40
|
+
clientId,
|
41
|
+
sessionId,
|
39
42
|
}));
|
40
43
|
};
|
41
44
|
//# sourceMappingURL=rebase-events.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rebase-events.js","sourceRoot":"","sources":["../../../src/sync/next/rebase-events.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"rebase-events.js","sourceRoot":"","sources":["../../../src/sync/next/rebase-events.ts"],"names":[],"mappings":"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"}
|
@@ -7,7 +7,7 @@ import { customSerializer } from './compact-events.test.js';
|
|
7
7
|
import { toEventNodes } from './mutation-fixtures.js';
|
8
8
|
expect.addSnapshotSerializer(customSerializer);
|
9
9
|
const compact = (events) => {
|
10
|
-
const dag = historyDagFromNodes(toEventNodes(events, mutations));
|
10
|
+
const dag = historyDagFromNodes(toEventNodes(events, mutations, 'client-id', 'session-id'));
|
11
11
|
const compacted = compactEvents(dag);
|
12
12
|
return Array.from(compacted.dag.nodeEntries())
|
13
13
|
.map((_) => _.attributes)
|
@@ -37,8 +37,8 @@ describe('compactEvents calculator', () => {
|
|
37
37
|
]);
|
38
38
|
expect(expected).toMatchInlineSnapshot(`
|
39
39
|
[
|
40
|
-
{ id: 0, parentId: -1, mutation: "add", args: { value: 1 }, facts: "" }
|
41
|
-
{ id: 1, parentId: 0, mutation: "add", args: { value: 1 }, facts: "" }
|
40
|
+
{ id: 0, parentId: -1, mutation: "add", args: { value: 1 }, clientId: "client-id", sessionId: "session-id", facts: "" }
|
41
|
+
{ id: 1, parentId: 0, mutation: "add", args: { value: 1 }, clientId: "client-id", sessionId: "session-id", facts: "" }
|
42
42
|
]
|
43
43
|
`);
|
44
44
|
});
|
@@ -49,8 +49,8 @@ describe('compactEvents calculator', () => {
|
|
49
49
|
]);
|
50
50
|
expect(expected).toMatchInlineSnapshot(`
|
51
51
|
[
|
52
|
-
{ id: 0, parentId: -1, mutation: "multiply", args: { value: 2 }, facts: "?multiplyByZero -multiplyByZero" }
|
53
|
-
{ id: 1, parentId: 0, mutation: "multiply", args: { value: 2 }, facts: "?multiplyByZero -multiplyByZero" }
|
52
|
+
{ id: 0, parentId: -1, mutation: "multiply", args: { value: 2 }, clientId: "client-id", sessionId: "session-id", facts: "?multiplyByZero -multiplyByZero" }
|
53
|
+
{ id: 1, parentId: 0, mutation: "multiply", args: { value: 2 }, clientId: "client-id", sessionId: "session-id", facts: "?multiplyByZero -multiplyByZero" }
|
54
54
|
]
|
55
55
|
`);
|
56
56
|
});
|
@@ -62,7 +62,7 @@ describe('compactEvents calculator', () => {
|
|
62
62
|
]);
|
63
63
|
expect(expected).toMatchInlineSnapshot(`
|
64
64
|
[
|
65
|
-
{ id: 2, parentId: -1, mutation: "multiply", args: { value: 0 }, facts: "+multiplyByZero" }
|
65
|
+
{ id: 2, parentId: -1, mutation: "multiply", args: { value: 0 }, clientId: "client-id", sessionId: "session-id", facts: "+multiplyByZero" }
|
66
66
|
]
|
67
67
|
`);
|
68
68
|
});
|
@@ -75,8 +75,8 @@ describe('compactEvents calculator', () => {
|
|
75
75
|
]);
|
76
76
|
expect(expected).toMatchInlineSnapshot(`
|
77
77
|
[
|
78
|
-
{ id: 2, parentId: -1, mutation: "multiply", args: { value: 0 }, facts: "+multiplyByZero" }
|
79
|
-
{ id: 3, parentId: 2, mutation: "add", args: { value: 1 }, facts: "" }
|
78
|
+
{ id: 2, parentId: -1, mutation: "multiply", args: { value: 0 }, clientId: "client-id", sessionId: "session-id", facts: "+multiplyByZero" }
|
79
|
+
{ id: 3, parentId: 2, mutation: "add", args: { value: 1 }, clientId: "client-id", sessionId: "session-id", facts: "" }
|
80
80
|
]
|
81
81
|
`);
|
82
82
|
});
|
@@ -90,10 +90,10 @@ describe('compactEvents calculator', () => {
|
|
90
90
|
]);
|
91
91
|
expect(expected).toMatchInlineSnapshot(`
|
92
92
|
[
|
93
|
-
{ id: 0, parentId: -1, mutation: "add", args: { value: 1 }, facts: "" }
|
94
|
-
{ id: 2, parentId: 0, mutation: "multiply", args: { value: 0 }, facts: "+multiplyByZero" }
|
95
|
-
{ id: 3, parentId: 2, mutation: "multiply", args: { value: 2 }, facts: "?multiplyByZero +multiplyByZero -multiplyByZero" }
|
96
|
-
{ id: 4, parentId: 3, mutation: "add", args: { value: 1 }, facts: "" }
|
93
|
+
{ id: 0, parentId: -1, mutation: "add", args: { value: 1 }, clientId: "client-id", sessionId: "session-id", facts: "" }
|
94
|
+
{ id: 2, parentId: 0, mutation: "multiply", args: { value: 0 }, clientId: "client-id", sessionId: "session-id", facts: "+multiplyByZero" }
|
95
|
+
{ id: 3, parentId: 2, mutation: "multiply", args: { value: 2 }, clientId: "client-id", sessionId: "session-id", facts: "?multiplyByZero +multiplyByZero -multiplyByZero" }
|
96
|
+
{ id: 4, parentId: 3, mutation: "add", args: { value: 1 }, clientId: "client-id", sessionId: "session-id", facts: "" }
|
97
97
|
]
|
98
98
|
`);
|
99
99
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"compact-events.calculator.test.js","sourceRoot":"","sources":["../../../../src/sync/next/test/compact-events.calculator.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,MAAM,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;AAE9C,MAAM,OAAO,GAAG,CAAC,MAAa,EAAE,EAAE;IAChC,MAAM,GAAG,GAAG,mBAAmB,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;
|
1
|
+
{"version":3,"file":"compact-events.calculator.test.js","sourceRoot":"","sources":["../../../../src/sync/next/test/compact-events.calculator.test.ts"],"names":[],"mappings":"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"}
|