@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
@@ -1,172 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
import * as MutationEvent from '../schema/MutationEvent.js';
|
5
|
-
import { PreparedBindValues } from '../util.js';
|
6
|
-
import { liveStoreVersion as pkgVersion } from '../version.js';
|
7
|
-
const requestId = Schema.String;
|
8
|
-
const appHostId = Schema.String;
|
9
|
-
const liveStoreVersion = Schema.Literal(pkgVersion);
|
10
|
-
const LSDMessage = (tag, fields) => Schema.TaggedStruct(tag, {
|
11
|
-
liveStoreVersion,
|
12
|
-
...fields,
|
13
|
-
}).annotations({ identifier: tag });
|
14
|
-
const LSDChannelMessage = (tag, fields) => LSDMessage(tag, {
|
15
|
-
...fields,
|
16
|
-
});
|
17
|
-
const LSDStoreChannelMessage = (tag, fields) => LSDMessage(tag, {
|
18
|
-
appHostId,
|
19
|
-
...fields,
|
20
|
-
});
|
21
|
-
const LSDStoreReqResMessage = (tag, fields) => LSDMessage(tag, {
|
22
|
-
appHostId,
|
23
|
-
requestId,
|
24
|
-
...fields,
|
25
|
-
});
|
26
|
-
const LSDReqResMessage = (tag, fields) => LSDChannelMessage(tag, {
|
27
|
-
requestId,
|
28
|
-
...fields,
|
29
|
-
});
|
30
|
-
export class SnapshotReq extends LSDReqResMessage('LSD.Leader.SnapshotReq', {}) {
|
31
|
-
}
|
32
|
-
export class SnapshotRes extends LSDReqResMessage('LSD.Leader.SnapshotRes', {
|
33
|
-
snapshot: Transferable.Uint8Array,
|
34
|
-
}) {
|
35
|
-
}
|
36
|
-
export class LoadDatabaseFileReq extends LSDReqResMessage('LSD.Leader.LoadDatabaseFileReq', {
|
37
|
-
data: Transferable.Uint8Array,
|
38
|
-
}) {
|
39
|
-
}
|
40
|
-
export class LoadDatabaseFileRes extends LSDReqResMessage('LSD.Leader.LoadDatabaseFileRes', {
|
41
|
-
status: Schema.Literal('ok', 'unsupported-file', 'unsupported-database'),
|
42
|
-
}) {
|
43
|
-
}
|
44
|
-
export class DebugInfoReq extends LSDStoreReqResMessage('LSD.DebugInfoReq', {}) {
|
45
|
-
}
|
46
|
-
export class DebugInfoRes extends LSDStoreReqResMessage('LSD.DebugInfoRes', {
|
47
|
-
debugInfo: DebugInfo,
|
48
|
-
}) {
|
49
|
-
}
|
50
|
-
export class DebugInfoHistorySubscribe extends LSDStoreReqResMessage('LSD.DebugInfoHistorySubscribe', {}) {
|
51
|
-
}
|
52
|
-
export class DebugInfoHistoryRes extends LSDStoreReqResMessage('LSD.DebugInfoHistoryRes', {
|
53
|
-
debugInfoHistory: Schema.Array(DebugInfo),
|
54
|
-
}) {
|
55
|
-
}
|
56
|
-
export class DebugInfoHistoryUnsubscribe extends LSDStoreReqResMessage('LSD.DebugInfoHistoryUnsubscribe', {}) {
|
57
|
-
}
|
58
|
-
export class DebugInfoResetReq extends LSDStoreReqResMessage('LSD.DebugInfoResetReq', {}) {
|
59
|
-
}
|
60
|
-
export class DebugInfoResetRes extends LSDStoreReqResMessage('LSD.DebugInfoResetRes', {}) {
|
61
|
-
}
|
62
|
-
export class DebugInfoRerunQueryReq extends LSDStoreReqResMessage('LSD.DebugInfoRerunQueryReq', {
|
63
|
-
queryStr: Schema.String,
|
64
|
-
bindValues: Schema.UndefinedOr(PreparedBindValues),
|
65
|
-
queriedTables: Schema.ReadonlySet(Schema.String),
|
66
|
-
}) {
|
67
|
-
}
|
68
|
-
export class DebugInfoRerunQueryRes extends LSDStoreReqResMessage('LSD.DebugInfoRerunQueryRes', {}) {
|
69
|
-
}
|
70
|
-
// TODO refactor this to use push/pull semantics
|
71
|
-
export class MutationBroadcast extends LSDMessage('LSD.Leader.MutationBroadcast', {
|
72
|
-
mutationEventEncoded: MutationEvent.EncodedAny,
|
73
|
-
}) {
|
74
|
-
}
|
75
|
-
// TODO refactor this to use push/pull semantics
|
76
|
-
export class RunMutationReq extends LSDReqResMessage('LSD.Leader.RunMutationReq', {
|
77
|
-
mutationEventEncoded: MutationEvent.EncodedAny.pipe(Schema.omit('id', 'parentId')),
|
78
|
-
}) {
|
79
|
-
}
|
80
|
-
export class RunMutationRes extends LSDReqResMessage('LSD.Leader.RunMutationRes', {}) {
|
81
|
-
}
|
82
|
-
export class MutationLogReq extends LSDReqResMessage('LSD.Leader.MutationLogReq', {}) {
|
83
|
-
}
|
84
|
-
export class MutationLogRes extends LSDReqResMessage('LSD.Leader.MutationLogRes', {
|
85
|
-
mutationLog: Transferable.Uint8Array,
|
86
|
-
}) {
|
87
|
-
}
|
88
|
-
export class ReactivityGraphSubscribe extends LSDStoreReqResMessage('LSD.ReactivityGraphSubscribe', {
|
89
|
-
includeResults: Schema.Boolean,
|
90
|
-
}) {
|
91
|
-
}
|
92
|
-
export class ReactivityGraphUnsubscribe extends LSDStoreReqResMessage('LSD.ReactivityGraphUnsubscribe', {}) {
|
93
|
-
}
|
94
|
-
export class ReactivityGraphRes extends LSDStoreReqResMessage('LSD.ReactivityGraphRes', {
|
95
|
-
reactivityGraph: Schema.Any,
|
96
|
-
}) {
|
97
|
-
}
|
98
|
-
export class LiveQueriesSubscribe extends LSDStoreReqResMessage('LSD.LiveQueriesSubscribe', {}) {
|
99
|
-
}
|
100
|
-
export class LiveQueriesUnsubscribe extends LSDStoreReqResMessage('LSD.LiveQueriesUnsubscribe', {}) {
|
101
|
-
}
|
102
|
-
export class SerializedLiveQuery extends Schema.Struct({
|
103
|
-
_tag: Schema.Literal('computed', 'db', 'graphql'),
|
104
|
-
id: Schema.Number,
|
105
|
-
label: Schema.String,
|
106
|
-
runs: Schema.Number,
|
107
|
-
executionTimes: Schema.Array(Schema.Number),
|
108
|
-
lastestResult: Schema.Any,
|
109
|
-
activeSubscriptions: Schema.Array(Schema.Struct({ frames: Schema.Array(Schema.Struct({ name: Schema.String, filePath: Schema.String })) })),
|
110
|
-
}) {
|
111
|
-
}
|
112
|
-
export class LiveQueriesRes extends LSDStoreReqResMessage('LSD.LiveQueriesRes', {
|
113
|
-
liveQueries: Schema.Array(SerializedLiveQuery),
|
114
|
-
}) {
|
115
|
-
}
|
116
|
-
export class ResetAllDataReq extends LSDReqResMessage('LSD.Leader.ResetAllDataReq', {
|
117
|
-
mode: Schema.Literal('all-data', 'only-app-db'),
|
118
|
-
}) {
|
119
|
-
}
|
120
|
-
export class ResetAllDataRes extends LSDReqResMessage('LSD.Leader.ResetAllDataRes', {}) {
|
121
|
-
}
|
122
|
-
export class DatabaseFileInfoReq extends LSDReqResMessage('LSD.Leader.DatabaseFileInfoReq', {}) {
|
123
|
-
}
|
124
|
-
export class DatabaseFileInfo extends Schema.Struct({
|
125
|
-
fileSize: Schema.Number,
|
126
|
-
persistenceInfo: Schema.Struct({ fileName: Schema.String }, { key: Schema.String, value: Schema.Any }),
|
127
|
-
}) {
|
128
|
-
}
|
129
|
-
export class DatabaseFileInfoRes extends LSDReqResMessage('LSD.Leader.DatabaseFileInfoRes', {
|
130
|
-
db: DatabaseFileInfo,
|
131
|
-
mutationLog: DatabaseFileInfo,
|
132
|
-
}) {
|
133
|
-
}
|
134
|
-
export class NetworkStatusSubscribe extends LSDReqResMessage('LSD.Leader.NetworkStatusSubscribe', {}) {
|
135
|
-
}
|
136
|
-
export class NetworkStatusUnsubscribe extends LSDReqResMessage('LSD.Leader.NetworkStatusUnsubscribe', {}) {
|
137
|
-
}
|
138
|
-
export class NetworkStatusRes extends LSDReqResMessage('LSD.Leader.NetworkStatusRes', {
|
139
|
-
networkStatus: NetworkStatus,
|
140
|
-
}) {
|
141
|
-
}
|
142
|
-
export class SyncingInfoReq extends LSDReqResMessage('LSD.Leader.SyncingInfoReq', {}) {
|
143
|
-
}
|
144
|
-
export class SyncingInfo extends Schema.Struct({
|
145
|
-
enabled: Schema.Boolean,
|
146
|
-
metadata: Schema.Record({ key: Schema.String, value: Schema.Any }),
|
147
|
-
}) {
|
148
|
-
}
|
149
|
-
export class SyncingInfoRes extends LSDReqResMessage('LSD.Leader.SyncingInfoRes', {
|
150
|
-
syncingInfo: SyncingInfo,
|
151
|
-
}) {
|
152
|
-
}
|
153
|
-
export class SyncHistorySubscribe extends LSDReqResMessage('LSD.Leader.SyncHistorySubscribe', {}) {
|
154
|
-
}
|
155
|
-
export class SyncHistoryUnsubscribe extends LSDReqResMessage('LSD.Leader.SyncHistoryUnsubscribe', {}) {
|
156
|
-
}
|
157
|
-
export class SyncHistoryRes extends LSDReqResMessage('LSD.Leader.SyncHistoryRes', {
|
158
|
-
mutationEventEncoded: MutationEvent.EncodedAny,
|
159
|
-
metadata: Schema.Option(Schema.JsonValue),
|
160
|
-
}) {
|
161
|
-
}
|
162
|
-
export class Disconnect extends LSDStoreChannelMessage('LSD.Disconnect', {}) {
|
163
|
-
}
|
164
|
-
export class Ping extends LSDReqResMessage('LSD.Ping', {}) {
|
165
|
-
}
|
166
|
-
export class Pong extends LSDReqResMessage('LSD.Pong', {}) {
|
167
|
-
}
|
168
|
-
export const MessageToAppLeader = Schema.Union(SnapshotReq, LoadDatabaseFileReq, MutationLogReq, ResetAllDataReq, NetworkStatusSubscribe, NetworkStatusUnsubscribe, Disconnect, RunMutationReq, Ping, DatabaseFileInfoReq, SyncHistorySubscribe, SyncHistoryUnsubscribe, SyncingInfoReq).annotations({ identifier: 'LSD.MessageToAppLeader' });
|
169
|
-
export const MessageToAppClientSession = Schema.Union(DebugInfoReq, DebugInfoHistorySubscribe, DebugInfoHistoryUnsubscribe, DebugInfoResetReq, DebugInfoRerunQueryReq, ReactivityGraphSubscribe, ReactivityGraphUnsubscribe, LiveQueriesSubscribe, LiveQueriesUnsubscribe, Disconnect).annotations({ identifier: 'LSD.MessageToAppClientSession' });
|
170
|
-
export const MessageFromAppLeader = Schema.Union(SnapshotRes, LoadDatabaseFileRes, MutationLogRes, ResetAllDataRes, Disconnect, MutationBroadcast, NetworkStatusRes, RunMutationRes, Pong, DatabaseFileInfoRes, SyncHistoryRes, SyncingInfoRes).annotations({ identifier: 'LSD.MessageFromAppLeader' });
|
171
|
-
export const MessageFromAppClientSession = Schema.Union(DebugInfoRes, DebugInfoHistoryRes, DebugInfoResetRes, DebugInfoRerunQueryRes, ReactivityGraphRes, LiveQueriesRes, Disconnect).annotations({ identifier: 'LSD.MessageFromAppClientSession' });
|
1
|
+
export * as ClientSession from './devtools-messages-client-session.js';
|
2
|
+
export * as Leader from './devtools-messages-leader.js';
|
3
|
+
export * from './devtools-messages-common.js';
|
172
4
|
//# sourceMappingURL=devtools-messages.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"devtools-messages.js","sourceRoot":"","sources":["../../src/devtools/devtools-messages.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"devtools-messages.js","sourceRoot":"","sources":["../../src/devtools/devtools-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AACvD,cAAc,+BAA+B,CAAA"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import type { ParseResult, Scope, WebChannel } from '@livestore/utils/effect';
|
2
|
+
import { Duration, Effect, Schema, Subscribable } from '@livestore/utils/effect';
|
3
|
+
export declare const RequestSessions: Schema.TaggedStruct<"RequestSessions", {}>;
|
4
|
+
export type RequestSessions = typeof RequestSessions.Type;
|
5
|
+
export declare const SessionInfo: Schema.TaggedStruct<"SessionInfo", {
|
6
|
+
storeId: typeof Schema.String;
|
7
|
+
clientId: typeof Schema.String;
|
8
|
+
sessionId: typeof Schema.String;
|
9
|
+
}>;
|
10
|
+
export type SessionInfo = typeof SessionInfo.Type;
|
11
|
+
export declare const Message: Schema.Union<[Schema.TaggedStruct<"RequestSessions", {}>, Schema.TaggedStruct<"SessionInfo", {
|
12
|
+
storeId: typeof Schema.String;
|
13
|
+
clientId: typeof Schema.String;
|
14
|
+
sessionId: typeof Schema.String;
|
15
|
+
}>]>;
|
16
|
+
export type Message = typeof Message.Type;
|
17
|
+
/** Usually called in client session */
|
18
|
+
export declare const provideSessionInfo: ({ webChannel, sessionInfo, }: {
|
19
|
+
webChannel: WebChannel.WebChannel<Message, Message>;
|
20
|
+
sessionInfo: SessionInfo;
|
21
|
+
}) => Effect.Effect<void, ParseResult.ParseError>;
|
22
|
+
/** Usually called in devtools */
|
23
|
+
export declare const requestSessionInfoSubscription: ({ webChannel, pollInterval, staleTimeout, }: {
|
24
|
+
webChannel: WebChannel.WebChannel<Message, Message>;
|
25
|
+
pollInterval?: Duration.DurationInput;
|
26
|
+
staleTimeout?: Duration.DurationInput;
|
27
|
+
}) => Effect.Effect<Subscribable.Subscribable<Set<SessionInfo>>, ParseResult.ParseError, Scope.Scope>;
|
28
|
+
//# sourceMappingURL=devtools-sessioninfo.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"devtools-sessioninfo.d.ts","sourceRoot":"","sources":["../../src/devtools/devtools-sessioninfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC7E,OAAO,EAEL,QAAQ,EACR,MAAM,EAIN,MAAM,EAEN,YAAY,EAEb,MAAM,yBAAyB,CAAA;AAEhC,eAAO,MAAM,eAAe,4CAA6C,CAAA;AACzE,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD,eAAO,MAAM,WAAW;;;;EAItB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,OAAO;;;;IAA6C,CAAA;AACjE,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,uCAAuC;AACvC,eAAO,MAAM,kBAAkB,GAAI,8BAGhC;IACD,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACnD,WAAW,EAAE,WAAW,CAAA;CACzB,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAU1C,CAAA;AAEJ,iCAAiC;AACjC,eAAO,MAAM,8BAA8B,GAAI,6CAI5C;IACD,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACnD,YAAY,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAA;IACrC,YAAY,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAA;CACtC,KAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CA2C9F,CAAA"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { Data, Duration, Effect, FiberMap, HashSet, Schedule, Schema, Stream, Subscribable, SubscriptionRef, } from '@livestore/utils/effect';
|
2
|
+
export const RequestSessions = Schema.TaggedStruct('RequestSessions', {});
|
3
|
+
export const SessionInfo = Schema.TaggedStruct('SessionInfo', {
|
4
|
+
storeId: Schema.String,
|
5
|
+
clientId: Schema.String,
|
6
|
+
sessionId: Schema.String,
|
7
|
+
});
|
8
|
+
export const Message = Schema.Union(RequestSessions, SessionInfo);
|
9
|
+
/** Usually called in client session */
|
10
|
+
export const provideSessionInfo = ({ webChannel, sessionInfo, }) => Effect.gen(function* () {
|
11
|
+
yield* webChannel.send(sessionInfo);
|
12
|
+
yield* webChannel.listen.pipe(Stream.flatten(), Stream.filter(Schema.is(RequestSessions)), Stream.tap(() => webChannel.send(sessionInfo)), Stream.runDrain);
|
13
|
+
});
|
14
|
+
/** Usually called in devtools */
|
15
|
+
export const requestSessionInfoSubscription = ({ webChannel, pollInterval = Duration.seconds(1), staleTimeout = Duration.seconds(5), }) => Effect.gen(function* () {
|
16
|
+
yield* webChannel
|
17
|
+
.send(RequestSessions.make({}))
|
18
|
+
.pipe(Effect.repeat(Schedule.spaced(pollInterval)), Effect.interruptible, Effect.tapCauseLogPretty, Effect.forkScoped);
|
19
|
+
const timeoutFiberMap = yield* FiberMap.make();
|
20
|
+
const sessionInfoSubRef = yield* SubscriptionRef.make(HashSet.empty());
|
21
|
+
yield* webChannel.listen.pipe(Stream.flatten(), Stream.filter(Schema.is(SessionInfo)), Stream.map(Data.struct), Stream.tap(Effect.fn(function* (sessionInfo) {
|
22
|
+
yield* SubscriptionRef.getAndUpdate(sessionInfoSubRef, HashSet.add(sessionInfo));
|
23
|
+
// Remove sessionInfo from cache after staleTimeout (unless a new identical item resets the timeout)
|
24
|
+
yield* FiberMap.run(timeoutFiberMap, sessionInfo, Effect.gen(function* () {
|
25
|
+
yield* Effect.sleep(staleTimeout);
|
26
|
+
yield* SubscriptionRef.getAndUpdate(sessionInfoSubRef, HashSet.remove(sessionInfo));
|
27
|
+
}));
|
28
|
+
})), Stream.runDrain, Effect.tapCauseLogPretty, Effect.forkScoped);
|
29
|
+
return Subscribable.make({
|
30
|
+
get: sessionInfoSubRef.get.pipe(Effect.map((sessionInfos) => new Set(sessionInfos))),
|
31
|
+
changes: sessionInfoSubRef.changes.pipe(Stream.map((sessionInfos) => new Set(sessionInfos))),
|
32
|
+
});
|
33
|
+
});
|
34
|
+
//# sourceMappingURL=devtools-sessioninfo.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"devtools-sessioninfo.js","sourceRoot":"","sources":["../../src/devtools/devtools-sessioninfo.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import type { ParseResult, Scope, WebChannel } from '@livestore/utils/effect';
|
2
|
+
import { Duration, Effect, Schema, Subscribable } from '@livestore/utils/effect';
|
3
|
+
export declare const RequestSessions: Schema.TaggedStruct<"RequestSessions", {}>;
|
4
|
+
export type RequestSessions = typeof RequestSessions.Type;
|
5
|
+
export declare const SessionInfo: Schema.TaggedStruct<"SessionInfo", {
|
6
|
+
storeId: typeof Schema.String;
|
7
|
+
clientId: typeof Schema.String;
|
8
|
+
sessionId: typeof Schema.String;
|
9
|
+
}>;
|
10
|
+
export type SessionInfo = typeof SessionInfo.Type;
|
11
|
+
export declare const Message: Schema.Union<[Schema.TaggedStruct<"RequestSessions", {}>, Schema.TaggedStruct<"SessionInfo", {
|
12
|
+
storeId: typeof Schema.String;
|
13
|
+
clientId: typeof Schema.String;
|
14
|
+
sessionId: typeof Schema.String;
|
15
|
+
}>]>;
|
16
|
+
export type Message = typeof Message.Type;
|
17
|
+
/** Usually called in client session */
|
18
|
+
export declare const provideSessionInfo: ({ webChannel, sessionInfo, }: {
|
19
|
+
webChannel: WebChannel.WebChannel<Message, Message>;
|
20
|
+
sessionInfo: SessionInfo;
|
21
|
+
}) => Effect.Effect<void, ParseResult.ParseError>;
|
22
|
+
/** Usually called in devtools */
|
23
|
+
export declare const requestSessionInfoSubscription: ({ webChannel, pollInterval, staleTimeout, }: {
|
24
|
+
webChannel: WebChannel.WebChannel<Message, Message>;
|
25
|
+
pollInterval?: Duration.DurationInput;
|
26
|
+
staleTimeout?: Duration.DurationInput;
|
27
|
+
}) => Effect.Effect<Subscribable.Subscribable<Set<SessionInfo>>, ParseResult.ParseError, Scope.Scope>;
|
28
|
+
//# sourceMappingURL=devtools-sessions-channel.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"devtools-sessions-channel.d.ts","sourceRoot":"","sources":["../../src/devtools/devtools-sessions-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC7E,OAAO,EAEL,QAAQ,EACR,MAAM,EAIN,MAAM,EAEN,YAAY,EAEb,MAAM,yBAAyB,CAAA;AAEhC,eAAO,MAAM,eAAe,4CAA6C,CAAA;AACzE,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD,eAAO,MAAM,WAAW;;;;EAItB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,OAAO;;;;IAA6C,CAAA;AACjE,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,uCAAuC;AACvC,eAAO,MAAM,kBAAkB,GAAI,8BAGhC;IACD,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACnD,WAAW,EAAE,WAAW,CAAA;CACzB,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAU1C,CAAA;AAEJ,iCAAiC;AACjC,eAAO,MAAM,8BAA8B,GAAI,6CAI5C;IACD,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACnD,YAAY,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAA;IACrC,YAAY,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAA;CACtC,KAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CA2C9F,CAAA"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { Data, Duration, Effect, FiberMap, HashSet, Schedule, Schema, Stream, Subscribable, SubscriptionRef, } from '@livestore/utils/effect';
|
2
|
+
export const RequestSessions = Schema.TaggedStruct('RequestSessions', {});
|
3
|
+
export const SessionInfo = Schema.TaggedStruct('SessionInfo', {
|
4
|
+
storeId: Schema.String,
|
5
|
+
clientId: Schema.String,
|
6
|
+
sessionId: Schema.String,
|
7
|
+
});
|
8
|
+
export const Message = Schema.Union(RequestSessions, SessionInfo);
|
9
|
+
/** Usually called in client session */
|
10
|
+
export const provideSessionInfo = ({ webChannel, sessionInfo, }) => Effect.gen(function* () {
|
11
|
+
yield* webChannel.send(sessionInfo);
|
12
|
+
yield* webChannel.listen.pipe(Stream.flatten(), Stream.filter(Schema.is(RequestSessions)), Stream.tap(() => webChannel.send(sessionInfo)), Stream.runDrain);
|
13
|
+
});
|
14
|
+
/** Usually called in devtools */
|
15
|
+
export const requestSessionInfoSubscription = ({ webChannel, pollInterval = Duration.seconds(1), staleTimeout = Duration.seconds(5), }) => Effect.gen(function* () {
|
16
|
+
yield* webChannel
|
17
|
+
.send(RequestSessions.make({}))
|
18
|
+
.pipe(Effect.repeat(Schedule.spaced(pollInterval)), Effect.interruptible, Effect.tapCauseLogPretty, Effect.forkScoped);
|
19
|
+
const timeoutFiberMap = yield* FiberMap.make();
|
20
|
+
const sessionInfoSubRef = yield* SubscriptionRef.make(HashSet.empty());
|
21
|
+
yield* webChannel.listen.pipe(Stream.flatten(), Stream.filter(Schema.is(SessionInfo)), Stream.map(Data.struct), Stream.tap(Effect.fn(function* (sessionInfo) {
|
22
|
+
yield* SubscriptionRef.getAndUpdate(sessionInfoSubRef, HashSet.add(sessionInfo));
|
23
|
+
// Remove sessionInfo from cache after staleTimeout (unless a new identical item resets the timeout)
|
24
|
+
yield* FiberMap.run(timeoutFiberMap, sessionInfo, Effect.gen(function* () {
|
25
|
+
yield* Effect.sleep(staleTimeout);
|
26
|
+
yield* SubscriptionRef.getAndUpdate(sessionInfoSubRef, HashSet.remove(sessionInfo));
|
27
|
+
}));
|
28
|
+
})), Stream.runDrain, Effect.tapCauseLogPretty, Effect.forkScoped);
|
29
|
+
return Subscribable.make({
|
30
|
+
get: sessionInfoSubRef.get.pipe(Effect.map((sessionInfos) => new Set(sessionInfos))),
|
31
|
+
changes: sessionInfoSubRef.changes.pipe(Stream.map((sessionInfos) => new Set(sessionInfos))),
|
32
|
+
});
|
33
|
+
});
|
34
|
+
//# sourceMappingURL=devtools-sessions-channel.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"devtools-sessions-channel.js","sourceRoot":"","sources":["../../src/devtools/devtools-sessions-channel.ts"],"names":[],"mappings":"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"}
|
package/dist/devtools/index.d.ts
CHANGED
@@ -1,42 +1,39 @@
|
|
1
|
-
import
|
2
|
-
import { Schema, WebChannel } from '@livestore/utils/effect';
|
1
|
+
import { Schema } from '@livestore/utils/effect';
|
3
2
|
export * from './devtools-messages.js';
|
4
3
|
export * from './devtools-window-message.js';
|
5
|
-
export * from './devtools-
|
6
|
-
export declare
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
const DevtoolsReady_base: Schema.TaggedStruct<"LSD.WebBridge.DevtoolsReady", {
|
14
|
-
devtoolsId: typeof Schema.String;
|
15
|
-
}>;
|
16
|
-
export class DevtoolsReady extends DevtoolsReady_base {
|
17
|
-
}
|
18
|
-
const ConnectToDevtools_base: Schema.TaggedStruct<"LSD.WebBridge.ConnectToDevtools", {
|
19
|
-
devtoolsId: typeof Schema.String;
|
20
|
-
appHostId: typeof Schema.String;
|
21
|
-
/**
|
22
|
-
* Given the m:n relationship between devtools and app hosts and the fact that appHostIds are usually
|
23
|
-
* sticky, we generate a new unique id for the lifetime of the web bridge.
|
24
|
-
*/
|
25
|
-
webBridgeId: typeof Schema.String;
|
26
|
-
isLeader: typeof Schema.Boolean;
|
4
|
+
export * as SessionsChannel from './devtools-sessions-channel.js';
|
5
|
+
export declare const ClientSessionInfo: Schema.Struct<{
|
6
|
+
storeId: typeof Schema.String;
|
7
|
+
clientId: typeof Schema.String;
|
8
|
+
sessionId: typeof Schema.String;
|
9
|
+
}>;
|
10
|
+
export declare const DevtoolsMode: Schema.Union<[Schema.TaggedStruct<"expo", {
|
11
|
+
clientSessionInfo: Schema.UndefinedOr<Schema.Struct<{
|
27
12
|
storeId: typeof Schema.String;
|
28
|
-
|
29
|
-
|
30
|
-
}
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
13
|
+
clientId: typeof Schema.String;
|
14
|
+
sessionId: typeof Schema.String;
|
15
|
+
}>>;
|
16
|
+
}>, Schema.TaggedStruct<"node", {
|
17
|
+
clientSessionInfo: Schema.UndefinedOr<Schema.Struct<{
|
18
|
+
storeId: typeof Schema.String;
|
19
|
+
clientId: typeof Schema.String;
|
20
|
+
sessionId: typeof Schema.String;
|
21
|
+
}>>;
|
22
|
+
url: typeof Schema.String;
|
23
|
+
}>, Schema.TaggedStruct<"web", {
|
24
|
+
clientSessionInfo: Schema.UndefinedOr<Schema.Struct<{
|
25
|
+
storeId: typeof Schema.String;
|
26
|
+
clientId: typeof Schema.String;
|
27
|
+
sessionId: typeof Schema.String;
|
28
|
+
}>>;
|
29
|
+
}>, Schema.TaggedStruct<"browser-extension", {
|
30
|
+
clientSessionInfo: Schema.UndefinedOr<Schema.Struct<{
|
31
|
+
storeId: typeof Schema.String;
|
32
|
+
clientId: typeof Schema.String;
|
33
|
+
sessionId: typeof Schema.String;
|
34
|
+
}>>;
|
35
|
+
}>]>;
|
36
|
+
export type DevtoolsMode = typeof DevtoolsMode.Type;
|
37
|
+
export declare const DevtoolsModeTag: Schema.SchemaClass<"expo" | "node" | "web" | "browser-extension", "expo" | "node" | "web" | "browser-extension", never>;
|
38
|
+
export type DevtoolsModeTag = typeof DevtoolsModeTag.Type;
|
42
39
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/devtools/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/devtools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAA;AACjE,eAAO,MAAM,iBAAiB;;;;EAI5B,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;IAexB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD,eAAO,MAAM,eAAe,yHAA6D,CAAA;AACzF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA"}
|
package/dist/devtools/index.js
CHANGED
@@ -1,48 +1,23 @@
|
|
1
|
-
import { Schema
|
1
|
+
import { Schema } from '@livestore/utils/effect';
|
2
2
|
export * from './devtools-messages.js';
|
3
3
|
export * from './devtools-window-message.js';
|
4
|
-
export * from './devtools-
|
5
|
-
export
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
* Given the m:n relationship between devtools and app hosts and the fact that appHostIds are usually
|
24
|
-
* sticky, we generate a new unique id for the lifetime of the web bridge.
|
25
|
-
*/
|
26
|
-
webBridgeId: Schema.String,
|
27
|
-
isLeader: Schema.Boolean,
|
28
|
-
storeId: Schema.String,
|
29
|
-
}) {
|
30
|
-
}
|
31
|
-
WebBridge.ConnectToDevtools = ConnectToDevtools;
|
32
|
-
class AppHostWillDisconnect extends Schema.TaggedStruct('LSD.WebBridge.AppHostWillDisconnect', {
|
33
|
-
appHostId: Schema.String,
|
34
|
-
}) {
|
35
|
-
}
|
36
|
-
WebBridge.AppHostWillDisconnect = AppHostWillDisconnect;
|
37
|
-
// export class DevtoolsWillDisconnect extends Schema.TaggedStruct('LSD.WebBridge.DevtoolsWillDisconnect', {
|
38
|
-
// appHostId: Schema.String,
|
39
|
-
// }) {}
|
40
|
-
class All extends Schema.Union(AppHostReady, DevtoolsReady, ConnectToDevtools, AppHostWillDisconnect) {
|
41
|
-
}
|
42
|
-
WebBridge.All = All;
|
43
|
-
WebBridge.makeBroadcastChannel = (key) => WebChannel.broadcastChannel({
|
44
|
-
channelName: `livestore-web-bridge-devtools${key ? `-${key}` : ''}`,
|
45
|
-
schema: All,
|
46
|
-
});
|
47
|
-
})(WebBridge || (WebBridge = {}));
|
4
|
+
export * as SessionsChannel from './devtools-sessions-channel.js';
|
5
|
+
export const ClientSessionInfo = Schema.Struct({
|
6
|
+
storeId: Schema.String,
|
7
|
+
clientId: Schema.String,
|
8
|
+
sessionId: Schema.String,
|
9
|
+
});
|
10
|
+
export const DevtoolsMode = Schema.Union(Schema.TaggedStruct('expo', {
|
11
|
+
clientSessionInfo: Schema.UndefinedOr(ClientSessionInfo),
|
12
|
+
}),
|
13
|
+
// TODO add storeId, clientId and sessionId for Node
|
14
|
+
Schema.TaggedStruct('node', {
|
15
|
+
clientSessionInfo: Schema.UndefinedOr(ClientSessionInfo),
|
16
|
+
url: Schema.String,
|
17
|
+
}), Schema.TaggedStruct('web', {
|
18
|
+
clientSessionInfo: Schema.UndefinedOr(ClientSessionInfo),
|
19
|
+
}), Schema.TaggedStruct('browser-extension', {
|
20
|
+
clientSessionInfo: Schema.UndefinedOr(ClientSessionInfo),
|
21
|
+
}));
|
22
|
+
export const DevtoolsModeTag = DevtoolsMode.pipe(Schema.pluck('_tag'), Schema.typeSchema);
|
48
23
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/devtools/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/devtools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAA;AACjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CACtC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC;CACzD,CAAC;AACF,oDAAoD;AACpD,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC;IACxD,GAAG,EAAE,MAAM,CAAC,MAAM;CACnB,CAAC,EACF,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;IACzB,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC;CACzD,CAAC,EACF,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE;IACvC,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC;CACzD,CAAC,CACH,CAAA;AAID,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { Schema } from '@livestore/utils/effect';
|
2
|
+
export * from './devtools-messages.js';
|
3
|
+
export * from './devtools-window-message.js';
|
4
|
+
export * as SessionInfo from './devtools-sessioninfo.js';
|
5
|
+
export declare const ClientSessionInfo: Schema.Struct<{
|
6
|
+
storeId: typeof Schema.String;
|
7
|
+
clientId: typeof Schema.String;
|
8
|
+
sessionId: typeof Schema.String;
|
9
|
+
}>;
|
10
|
+
export declare const DevtoolsMode: Schema.Union<[Schema.TaggedStruct<"expo", {
|
11
|
+
clientSessionInfo: Schema.optional<Schema.Struct<{
|
12
|
+
storeId: typeof Schema.String;
|
13
|
+
clientId: typeof Schema.String;
|
14
|
+
sessionId: typeof Schema.String;
|
15
|
+
}>>;
|
16
|
+
}>, Schema.TaggedStruct<"node", {
|
17
|
+
clientSessionInfo: Schema.UndefinedOr<Schema.Struct<{
|
18
|
+
storeId: typeof Schema.String;
|
19
|
+
clientId: typeof Schema.String;
|
20
|
+
sessionId: typeof Schema.String;
|
21
|
+
}>>;
|
22
|
+
url: typeof Schema.String;
|
23
|
+
}>, Schema.TaggedStruct<"web", {
|
24
|
+
clientSessionInfo: Schema.UndefinedOr<Schema.Struct<{
|
25
|
+
storeId: typeof Schema.String;
|
26
|
+
clientId: typeof Schema.String;
|
27
|
+
sessionId: typeof Schema.String;
|
28
|
+
}>>;
|
29
|
+
}>, Schema.TaggedStruct<"browser-extension", {
|
30
|
+
clientSessionInfo: Schema.UndefinedOr<Schema.Struct<{
|
31
|
+
storeId: typeof Schema.String;
|
32
|
+
clientId: typeof Schema.String;
|
33
|
+
sessionId: typeof Schema.String;
|
34
|
+
}>>;
|
35
|
+
}>]>;
|
36
|
+
export type DevtoolsMode = typeof DevtoolsMode.Type;
|
37
|
+
export declare const DevtoolsModeTag: Schema.SchemaClass<"expo" | "node" | "web" | "browser-extension", "expo" | "node" | "web" | "browser-extension", never>;
|
38
|
+
export type DevtoolsModeTag = typeof DevtoolsModeTag.Type;
|
39
|
+
//# sourceMappingURL=mod.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/devtools/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAA;AACxD,eAAO,MAAM,iBAAiB;;;;EAI5B,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;IAmBxB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD,eAAO,MAAM,eAAe,yHAA6D,CAAA;AACzF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { Schema } from '@livestore/utils/effect';
|
2
|
+
export * from './devtools-messages.js';
|
3
|
+
export * from './devtools-window-message.js';
|
4
|
+
export * as SessionInfo from './devtools-sessioninfo.js';
|
5
|
+
export const ClientSessionInfo = Schema.Struct({
|
6
|
+
storeId: Schema.String,
|
7
|
+
clientId: Schema.String,
|
8
|
+
sessionId: Schema.String,
|
9
|
+
});
|
10
|
+
export const DevtoolsMode = Schema.Union(Schema.TaggedStruct('expo', {
|
11
|
+
// TODO get rid of embedded `clientSessionInfo`
|
12
|
+
clientSessionInfo: Schema.optional(ClientSessionInfo),
|
13
|
+
}),
|
14
|
+
// TODO add storeId, clientId and sessionId for Node
|
15
|
+
Schema.TaggedStruct('node', {
|
16
|
+
// TODO get rid of embedded `clientSessionInfo`
|
17
|
+
clientSessionInfo: Schema.UndefinedOr(ClientSessionInfo),
|
18
|
+
url: Schema.String,
|
19
|
+
}), Schema.TaggedStruct('web', {
|
20
|
+
// TODO get rid of embedded `clientSessionInfo`
|
21
|
+
clientSessionInfo: Schema.UndefinedOr(ClientSessionInfo),
|
22
|
+
}), Schema.TaggedStruct('browser-extension', {
|
23
|
+
// TODO get rid of embedded `clientSessionInfo`
|
24
|
+
clientSessionInfo: Schema.UndefinedOr(ClientSessionInfo),
|
25
|
+
}));
|
26
|
+
export const DevtoolsModeTag = DevtoolsMode.pipe(Schema.pluck('_tag'), Schema.typeSchema);
|
27
|
+
//# sourceMappingURL=mod.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/devtools/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAA;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CACtC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE;IAC1B,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACtD,CAAC;AACF,oDAAoD;AACpD,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE;IAC1B,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC;IACxD,GAAG,EAAE,MAAM,CAAC,MAAM;CACnB,CAAC,EACF,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;IACzB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC;CACzD,CAAC,EACF,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE;IACvC,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC;CACzD,CAAC,CACH,CAAA;AAID,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
@@ -8,15 +8,11 @@ export * from './rehydrate-from-mutationlog.js';
|
|
8
8
|
export * from './query-info.js';
|
9
9
|
export * from './derived-mutations.js';
|
10
10
|
export * from './sync/index.js';
|
11
|
-
export * as Devtools from './devtools/
|
11
|
+
export * as Devtools from './devtools/mod.js';
|
12
12
|
export * from './debug-info.js';
|
13
13
|
export * from './bounded-collections.js';
|
14
14
|
export * from './version.js';
|
15
15
|
export * from './query-builder/mod.js';
|
16
|
-
export * from './sync/syncstate.js';
|
16
|
+
export * as SyncState from './sync/syncstate.js';
|
17
17
|
export * from './otel.js';
|
18
|
-
declare global {
|
19
|
-
interface LiveStoreGlobal {
|
20
|
-
}
|
21
|
-
}
|
22
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,mCAAmC,CAAA;AACjD,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,mCAAmC,CAAA;AACjD,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,cAAc,WAAW,CAAA"}
|