@livestore/common 0.3.0-dev.2 → 0.3.0-dev.22
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/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/devtools/index.d.ts +0 -42
- package/dist/devtools/index.d.ts.map +0 -1
- package/dist/devtools/index.js +0 -48
- package/dist/devtools/index.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,4 +1,3 @@
|
|
1
|
-
import type { Deferred } from '@livestore/utils/effect';
|
2
1
|
import { Schema } from '@livestore/utils/effect';
|
3
2
|
import * as EventId from './EventId.js';
|
4
3
|
import type { MutationDef, MutationDefRecord } from './mutations.js';
|
@@ -7,7 +6,7 @@ export type MutationEventPartial<TMutationsDef extends MutationDef.Any> = {
|
|
7
6
|
mutation: TMutationsDef['name'];
|
8
7
|
args: Schema.Schema.Type<TMutationsDef['schema']>;
|
9
8
|
};
|
10
|
-
export type
|
9
|
+
export type PartialEncoded<TMutationsDef extends MutationDef.Any> = {
|
11
10
|
mutation: TMutationsDef['name'];
|
12
11
|
args: Schema.Schema.Encoded<TMutationsDef['schema']>;
|
13
12
|
};
|
@@ -16,30 +15,76 @@ export type MutationEvent<TMutationsDef extends MutationDef.Any> = {
|
|
16
15
|
args: Schema.Schema.Type<TMutationsDef['schema']>;
|
17
16
|
id: EventId.EventId;
|
18
17
|
parentId: EventId.EventId;
|
18
|
+
clientId: string;
|
19
|
+
sessionId: string | undefined;
|
19
20
|
};
|
20
21
|
export type MutationEventEncoded<TMutationsDef extends MutationDef.Any> = {
|
21
22
|
mutation: TMutationsDef['name'];
|
22
23
|
args: Schema.Schema.Encoded<TMutationsDef['schema']>;
|
23
24
|
id: EventId.EventId;
|
24
25
|
parentId: EventId.EventId;
|
26
|
+
clientId: string;
|
27
|
+
sessionId: string | undefined;
|
25
28
|
};
|
26
|
-
export type
|
29
|
+
export type AnyDecoded = MutationEvent<MutationDef.Any>;
|
30
|
+
export declare const AnyDecoded: Schema.Struct<{
|
31
|
+
mutation: typeof Schema.String;
|
32
|
+
args: typeof Schema.Any;
|
33
|
+
id: Schema.Struct<{
|
34
|
+
global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
35
|
+
client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
|
36
|
+
}>;
|
37
|
+
parentId: Schema.Struct<{
|
38
|
+
global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
39
|
+
client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
|
40
|
+
}>;
|
41
|
+
clientId: typeof Schema.String;
|
42
|
+
sessionId: Schema.UndefinedOr<typeof Schema.String>;
|
43
|
+
}>;
|
27
44
|
export type AnyEncoded = MutationEventEncoded<MutationDef.Any>;
|
28
|
-
export
|
29
|
-
|
45
|
+
export declare const AnyEncoded: Schema.Struct<{
|
46
|
+
mutation: typeof Schema.String;
|
47
|
+
args: typeof Schema.Any;
|
48
|
+
id: Schema.Struct<{
|
49
|
+
global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
50
|
+
client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
|
51
|
+
}>;
|
52
|
+
parentId: Schema.Struct<{
|
53
|
+
global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
54
|
+
client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
|
55
|
+
}>;
|
56
|
+
clientId: typeof Schema.String;
|
57
|
+
sessionId: Schema.UndefinedOr<typeof Schema.String>;
|
58
|
+
}>;
|
59
|
+
export declare const AnyEncodedGlobal: Schema.Struct<{
|
60
|
+
mutation: typeof Schema.String;
|
61
|
+
args: typeof Schema.Any;
|
62
|
+
id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
63
|
+
parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
64
|
+
clientId: typeof Schema.String;
|
65
|
+
}>;
|
66
|
+
export type AnyEncodedGlobal = typeof AnyEncodedGlobal.Type;
|
67
|
+
export type PartialAnyDecoded = MutationEventPartial<MutationDef.Any>;
|
68
|
+
export type PartialAnyEncoded = PartialEncoded<MutationDef.Any>;
|
69
|
+
export declare const PartialAnyEncoded: Schema.Struct<{
|
70
|
+
mutation: typeof Schema.String;
|
71
|
+
args: typeof Schema.Any;
|
72
|
+
}>;
|
30
73
|
export type PartialForSchema<TSchema extends LiveStoreSchema> = {
|
31
74
|
[K in keyof TSchema['_MutationDefMapType']]: MutationEventPartial<TSchema['_MutationDefMapType'][K]>;
|
32
75
|
}[keyof TSchema['_MutationDefMapType']];
|
33
76
|
export type ForSchema<TSchema extends LiveStoreSchema> = {
|
34
77
|
[K in keyof TSchema['_MutationDefMapType']]: MutationEvent<TSchema['_MutationDefMapType'][K]>;
|
35
78
|
}[keyof TSchema['_MutationDefMapType']];
|
36
|
-
export declare const isPartialMutationEvent: (mutationEvent:
|
79
|
+
export declare const isPartialMutationEvent: (mutationEvent: AnyDecoded | PartialAnyDecoded) => mutationEvent is PartialAnyDecoded;
|
37
80
|
export type ForMutationDefRecord<TMutationsDefRecord extends MutationDefRecord> = Schema.Schema<{
|
38
81
|
[K in keyof TMutationsDefRecord]: {
|
39
82
|
mutation: K;
|
40
83
|
args: Schema.Schema.Type<TMutationsDefRecord[K]['schema']>;
|
41
84
|
id: EventId.EventId;
|
42
85
|
parentId: EventId.EventId;
|
86
|
+
clientId: string;
|
87
|
+
sessionId: string | undefined;
|
43
88
|
};
|
44
89
|
}[keyof TMutationsDefRecord], {
|
45
90
|
[K in keyof TMutationsDefRecord]: {
|
@@ -47,6 +92,8 @@ export type ForMutationDefRecord<TMutationsDefRecord extends MutationDefRecord>
|
|
47
92
|
args: Schema.Schema.Encoded<TMutationsDefRecord[K]['schema']>;
|
48
93
|
id: EventId.EventId;
|
49
94
|
parentId: EventId.EventId;
|
95
|
+
clientId: string;
|
96
|
+
sessionId: string | undefined;
|
50
97
|
};
|
51
98
|
}[keyof TMutationsDefRecord]>;
|
52
99
|
export type MutationEventPartialSchema<TMutationsDefRecord extends MutationDefRecord> = Schema.Schema<{
|
@@ -63,80 +110,22 @@ export type MutationEventPartialSchema<TMutationsDefRecord extends MutationDefRe
|
|
63
110
|
export declare const makeMutationEventSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => ForMutationDefRecord<TSchema["_MutationDefMapType"]>;
|
64
111
|
export declare const makeMutationEventPartialSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => MutationEventPartialSchema<TSchema["_MutationDefMapType"]>;
|
65
112
|
export declare const makeMutationEventSchemaMemo: <TSchema extends LiveStoreSchema>(schema: TSchema) => ForMutationDefRecord<TSchema["_MutationDefMapType"]>;
|
66
|
-
export declare const Any: Schema.Struct<{
|
67
|
-
mutation: typeof Schema.String;
|
68
|
-
args: typeof Schema.Any;
|
69
|
-
id: Schema.Struct<{
|
70
|
-
global: typeof Schema.Number;
|
71
|
-
local: typeof Schema.Number;
|
72
|
-
}>;
|
73
|
-
parentId: Schema.Struct<{
|
74
|
-
global: typeof Schema.Number;
|
75
|
-
local: typeof Schema.Number;
|
76
|
-
}>;
|
77
|
-
}>;
|
78
|
-
export declare const DecodedAny: Schema.SchemaClass<{
|
79
|
-
readonly id: {
|
80
|
-
readonly global: number;
|
81
|
-
readonly local: number;
|
82
|
-
};
|
83
|
-
readonly mutation: string;
|
84
|
-
readonly args: any;
|
85
|
-
readonly parentId: {
|
86
|
-
readonly global: number;
|
87
|
-
readonly local: number;
|
88
|
-
};
|
89
|
-
}, {
|
90
|
-
readonly id: {
|
91
|
-
readonly global: number;
|
92
|
-
readonly local: number;
|
93
|
-
};
|
94
|
-
readonly mutation: string;
|
95
|
-
readonly args: any;
|
96
|
-
readonly parentId: {
|
97
|
-
readonly global: number;
|
98
|
-
readonly local: number;
|
99
|
-
};
|
100
|
-
}, never>;
|
101
|
-
export declare const EncodedAny: Schema.SchemaClass<{
|
102
|
-
readonly id: {
|
103
|
-
readonly global: number;
|
104
|
-
readonly local: number;
|
105
|
-
};
|
106
|
-
readonly mutation: string;
|
107
|
-
readonly args: any;
|
108
|
-
readonly parentId: {
|
109
|
-
readonly global: number;
|
110
|
-
readonly local: number;
|
111
|
-
};
|
112
|
-
}, {
|
113
|
-
readonly id: {
|
114
|
-
readonly global: number;
|
115
|
-
readonly local: number;
|
116
|
-
};
|
117
|
-
readonly mutation: string;
|
118
|
-
readonly args: any;
|
119
|
-
readonly parentId: {
|
120
|
-
readonly global: number;
|
121
|
-
readonly local: number;
|
122
|
-
};
|
123
|
-
}, never>;
|
124
113
|
declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
|
125
114
|
mutation: typeof Schema.String;
|
126
115
|
args: typeof Schema.Any;
|
127
116
|
id: Schema.Struct<{
|
128
|
-
global:
|
129
|
-
|
117
|
+
global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
118
|
+
client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
|
130
119
|
}>;
|
131
120
|
parentId: Schema.Struct<{
|
132
|
-
global:
|
133
|
-
|
121
|
+
global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
122
|
+
client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
|
134
123
|
}>;
|
124
|
+
clientId: typeof Schema.String;
|
125
|
+
sessionId: Schema.UndefinedOr<typeof Schema.String>;
|
135
126
|
meta: Schema.optionalWith<Schema.Schema<{
|
136
|
-
deferred?: Deferred.Deferred<void>;
|
137
127
|
sessionChangeset?: Uint8Array;
|
138
128
|
}, {
|
139
|
-
deferred?: Deferred.Deferred<void>;
|
140
129
|
sessionChangeset?: Uint8Array;
|
141
130
|
}, never>, {
|
142
131
|
default: () => {};
|
@@ -145,26 +134,26 @@ declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
|
|
145
134
|
mutation: typeof Schema.String;
|
146
135
|
args: typeof Schema.Any;
|
147
136
|
id: Schema.Struct<{
|
148
|
-
global:
|
149
|
-
|
137
|
+
global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
138
|
+
client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
|
150
139
|
}>;
|
151
140
|
parentId: Schema.Struct<{
|
152
|
-
global:
|
153
|
-
|
141
|
+
global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
|
142
|
+
client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
|
154
143
|
}>;
|
144
|
+
clientId: typeof Schema.String;
|
145
|
+
sessionId: Schema.UndefinedOr<typeof Schema.String>;
|
155
146
|
meta: Schema.optionalWith<Schema.Schema<{
|
156
|
-
deferred?: Deferred.Deferred<void>;
|
157
147
|
sessionChangeset?: Uint8Array;
|
158
148
|
}, {
|
159
|
-
deferred?: Deferred.Deferred<void>;
|
160
149
|
sessionChangeset?: Uint8Array;
|
161
150
|
}, never>, {
|
162
151
|
default: () => {};
|
163
152
|
}>;
|
164
153
|
}>, never, {
|
165
154
|
readonly id: {
|
166
|
-
readonly global: number
|
167
|
-
readonly
|
155
|
+
readonly global: number & import("effect/Brand").Brand<"GlobalEventId">;
|
156
|
+
readonly client: number & import("effect/Brand").Brand<"ClientEventId">;
|
168
157
|
};
|
169
158
|
} & {
|
170
159
|
readonly mutation: string;
|
@@ -172,19 +161,24 @@ declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
|
|
172
161
|
readonly args: any;
|
173
162
|
} & {
|
174
163
|
readonly parentId: {
|
175
|
-
readonly global: number
|
176
|
-
readonly
|
164
|
+
readonly global: number & import("effect/Brand").Brand<"GlobalEventId">;
|
165
|
+
readonly client: number & import("effect/Brand").Brand<"ClientEventId">;
|
177
166
|
};
|
167
|
+
} & {
|
168
|
+
readonly clientId: string;
|
169
|
+
} & {
|
170
|
+
readonly sessionId: string | undefined;
|
178
171
|
} & {
|
179
172
|
readonly meta?: {
|
180
|
-
deferred?: Deferred.Deferred<void>;
|
181
173
|
sessionChangeset?: Uint8Array;
|
182
174
|
} | undefined;
|
183
175
|
}, {}, {}>;
|
184
|
-
/** Equivalent to
|
176
|
+
/** Equivalent to AnyEncoded but with a meta field and some convenience methods */
|
185
177
|
export declare class EncodedWithMeta extends EncodedWithMeta_base {
|
186
178
|
toJSON: () => any;
|
187
179
|
rebase: (parentId: EventId.EventId, isLocal: boolean) => EncodedWithMeta;
|
180
|
+
static fromGlobal: (mutationEvent: AnyEncodedGlobal) => EncodedWithMeta;
|
181
|
+
toGlobal: () => AnyEncodedGlobal;
|
188
182
|
}
|
189
183
|
export declare const isEqualEncoded: (a: AnyEncoded, b: AnyEncoded) => boolean;
|
190
184
|
export {};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MutationEvent.d.ts","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"AACA,OAAO,
|
1
|
+
{"version":3,"file":"MutationEvent.d.ts","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
|
@@ -1,56 +1,89 @@
|
|
1
1
|
import { memoizeByRef } from '@livestore/utils';
|
2
2
|
import { Schema } from '@livestore/utils/effect';
|
3
3
|
import * as EventId from './EventId.js';
|
4
|
+
export const AnyDecoded = Schema.Struct({
|
5
|
+
mutation: Schema.String,
|
6
|
+
args: Schema.Any,
|
7
|
+
id: EventId.EventId,
|
8
|
+
parentId: EventId.EventId,
|
9
|
+
clientId: Schema.String,
|
10
|
+
sessionId: Schema.UndefinedOr(Schema.String),
|
11
|
+
}).annotations({ title: 'MutationEvent.AnyDecoded' });
|
12
|
+
export const AnyEncoded = Schema.Struct({
|
13
|
+
mutation: Schema.String,
|
14
|
+
args: Schema.Any,
|
15
|
+
id: EventId.EventId,
|
16
|
+
parentId: EventId.EventId,
|
17
|
+
clientId: Schema.String,
|
18
|
+
sessionId: Schema.UndefinedOr(Schema.String),
|
19
|
+
}).annotations({ title: 'MutationEvent.AnyEncoded' });
|
20
|
+
export const AnyEncodedGlobal = Schema.Struct({
|
21
|
+
mutation: Schema.String,
|
22
|
+
args: Schema.Any,
|
23
|
+
id: EventId.GlobalEventId,
|
24
|
+
parentId: EventId.GlobalEventId,
|
25
|
+
clientId: Schema.String,
|
26
|
+
}).annotations({ title: 'MutationEvent.AnyEncodedGlobal' });
|
27
|
+
export const PartialAnyEncoded = Schema.Struct({
|
28
|
+
mutation: Schema.String,
|
29
|
+
args: Schema.Any,
|
30
|
+
});
|
4
31
|
export const isPartialMutationEvent = (mutationEvent) => 'id' in mutationEvent === false && 'parentId' in mutationEvent === false;
|
5
|
-
export const makeMutationEventSchema = (schema) => Schema.Union(...[...schema.mutations.values()].map((def) => Schema.Struct({
|
32
|
+
export const makeMutationEventSchema = (schema) => Schema.Union(...[...schema.mutations.map.values()].map((def) => Schema.Struct({
|
6
33
|
mutation: Schema.Literal(def.name),
|
7
34
|
args: def.schema,
|
8
35
|
id: EventId.EventId,
|
9
36
|
parentId: EventId.EventId,
|
37
|
+
clientId: Schema.String,
|
38
|
+
sessionId: Schema.UndefinedOr(Schema.String),
|
10
39
|
}))).annotations({ title: 'MutationEvent' });
|
11
|
-
export const makeMutationEventPartialSchema = (schema) => Schema.Union(...[...schema.mutations.values()].map((def) => Schema.Struct({
|
40
|
+
export const makeMutationEventPartialSchema = (schema) => Schema.Union(...[...schema.mutations.map.values()].map((def) => Schema.Struct({
|
12
41
|
mutation: Schema.Literal(def.name),
|
13
42
|
args: def.schema,
|
14
|
-
}))).annotations({ title: '
|
43
|
+
}))).annotations({ title: 'MutationEventPartial' });
|
15
44
|
export const makeMutationEventSchemaMemo = memoizeByRef(makeMutationEventSchema);
|
16
|
-
|
17
|
-
mutation: Schema.String,
|
18
|
-
args: Schema.Any,
|
19
|
-
id: EventId.EventId,
|
20
|
-
parentId: EventId.EventId,
|
21
|
-
}).annotations({ title: 'MutationEvent.Any' });
|
22
|
-
export const DecodedAny = Schema.typeSchema(Any).annotations({
|
23
|
-
title: 'MutationEvent.DecodedAny',
|
24
|
-
});
|
25
|
-
export const EncodedAny = Schema.encodedSchema(Any).annotations({
|
26
|
-
title: 'MutationEvent.EncodedAny',
|
27
|
-
});
|
28
|
-
/** Equivalent to EncodedAny but with a meta field and some convenience methods */
|
45
|
+
/** Equivalent to AnyEncoded but with a meta field and some convenience methods */
|
29
46
|
export class EncodedWithMeta extends Schema.Class('MutationEvent.EncodedWithMeta')({
|
30
47
|
mutation: Schema.String,
|
31
48
|
args: Schema.Any,
|
32
49
|
id: EventId.EventId,
|
33
50
|
parentId: EventId.EventId,
|
51
|
+
clientId: Schema.String,
|
52
|
+
sessionId: Schema.UndefinedOr(Schema.String),
|
53
|
+
// TODO get rid of `meta` again by cleaning up the usage implementations
|
34
54
|
meta: Schema.optionalWith(Schema.Any, { default: () => ({}) }),
|
35
55
|
}) {
|
36
56
|
toJSON = () => {
|
37
57
|
// Only used for logging/debugging
|
38
58
|
// - More readable way to print the id + parentId
|
39
|
-
// - not including `meta`
|
59
|
+
// - not including `meta`, `clientId`, `sessionId`
|
40
60
|
return {
|
41
|
-
id: `(${this.id.global},${this.id.
|
61
|
+
id: `(${this.id.global},${this.id.client}) → (${this.parentId.global},${this.parentId.client})`,
|
42
62
|
mutation: this.mutation,
|
43
63
|
args: this.args,
|
44
64
|
};
|
45
65
|
};
|
46
66
|
rebase = (parentId, isLocal) => new EncodedWithMeta({
|
47
67
|
...this,
|
48
|
-
...EventId.nextPair(
|
68
|
+
...EventId.nextPair(parentId, isLocal),
|
69
|
+
});
|
70
|
+
static fromGlobal = (mutationEvent) => new EncodedWithMeta({
|
71
|
+
...mutationEvent,
|
72
|
+
id: { global: mutationEvent.id, client: EventId.clientDefault },
|
73
|
+
parentId: { global: mutationEvent.parentId, client: EventId.clientDefault },
|
74
|
+
sessionId: undefined,
|
75
|
+
});
|
76
|
+
toGlobal = () => ({
|
77
|
+
...this,
|
78
|
+
id: this.id.global,
|
79
|
+
parentId: this.parentId.global,
|
49
80
|
});
|
50
81
|
}
|
51
82
|
export const isEqualEncoded = (a, b) => a.id.global === b.id.global &&
|
52
|
-
a.id.
|
83
|
+
a.id.client === b.id.client &&
|
53
84
|
a.mutation === b.mutation &&
|
85
|
+
a.clientId === b.clientId &&
|
86
|
+
// a.sessionId === b.sessionId &&
|
54
87
|
// TODO use schema equality here
|
55
88
|
JSON.stringify(a.args) === JSON.stringify(b.args);
|
56
89
|
//# sourceMappingURL=MutationEvent.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MutationEvent.js","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;
|
1
|
+
{"version":3,"file":"MutationEvent.js","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
import { type Option, Schema } from '@livestore/utils/effect';
|
2
|
+
export declare namespace ColumnType {
|
3
|
+
type ColumnType = Text | Null | Real | Integer | Blob;
|
4
|
+
type Text = {
|
5
|
+
_tag: 'text';
|
6
|
+
};
|
7
|
+
type Null = {
|
8
|
+
_tag: 'null';
|
9
|
+
};
|
10
|
+
type Real = {
|
11
|
+
_tag: 'real';
|
12
|
+
};
|
13
|
+
type Integer = {
|
14
|
+
_tag: 'integer';
|
15
|
+
};
|
16
|
+
type Blob = {
|
17
|
+
_tag: 'blob';
|
18
|
+
};
|
19
|
+
}
|
20
|
+
export type Column = {
|
21
|
+
_tag: 'column';
|
22
|
+
name: string;
|
23
|
+
type: ColumnType.ColumnType;
|
24
|
+
primaryKey: boolean;
|
25
|
+
nullable: boolean;
|
26
|
+
default: Option.Option<any>;
|
27
|
+
schema: Schema.Schema<any>;
|
28
|
+
};
|
29
|
+
export declare const column: (props: Omit<Column, "_tag">) => Column;
|
30
|
+
export type Index = {
|
31
|
+
_tag: 'index';
|
32
|
+
columns: ReadonlyArray<string>;
|
33
|
+
name?: string;
|
34
|
+
unique?: boolean;
|
35
|
+
primaryKey?: boolean;
|
36
|
+
};
|
37
|
+
export declare const index: (columns: ReadonlyArray<string>, name?: string, unique?: boolean, primaryKey?: boolean) => Index;
|
38
|
+
export type ForeignKey = {
|
39
|
+
_tag: 'foreignKey';
|
40
|
+
references: {
|
41
|
+
table: string;
|
42
|
+
columns: ReadonlyArray<string>;
|
43
|
+
};
|
44
|
+
key: {
|
45
|
+
table: string;
|
46
|
+
columns: ReadonlyArray<string>;
|
47
|
+
};
|
48
|
+
columns: ReadonlyArray<string>;
|
49
|
+
};
|
50
|
+
export type Table = {
|
51
|
+
_tag: 'table';
|
52
|
+
name: string;
|
53
|
+
columns: ReadonlyArray<Column>;
|
54
|
+
indexes: ReadonlyArray<Index>;
|
55
|
+
};
|
56
|
+
export declare const table: (name: string, columns: ReadonlyArray<Column>, indexes: ReadonlyArray<Index>) => Table;
|
57
|
+
export type DbSchema = {
|
58
|
+
_tag: 'dbSchema';
|
59
|
+
tables: Table[];
|
60
|
+
};
|
61
|
+
export declare const dbSchema: (tables: Table[]) => DbSchema;
|
62
|
+
/**
|
63
|
+
* NOTE we're only including SQLite-relevant information in the hash (which excludes the schema mapping)
|
64
|
+
*/
|
65
|
+
export declare const hash: (obj: Table | Column | Index | ForeignKey | DbSchema) => number;
|
66
|
+
export declare const structSchemaForTable: (tableDef: Table) => Schema.Struct<{
|
67
|
+
[k: string]: Schema.Schema<any, any, never>;
|
68
|
+
}>;
|
69
|
+
//# sourceMappingURL=sqlite.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../src/schema/db-schema/ast/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAI7D,yBAAiB,UAAU,CAAC;IAC1B,KAAY,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CAAA;IAE5D,KAAY,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAEnC,KAAY,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAEnC,KAAY,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAEnC,KAAY,OAAO,GAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAA;IAEzC,KAAY,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAC,UAAU,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,MAAM,GAAI,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,MAAwC,CAAA;AAE7F,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,KAAK,GAChB,SAAS,aAAa,CAAC,MAAM,CAAC,EAC9B,OAAO,MAAM,EACb,SAAS,OAAO,EAChB,aAAa,OAAO,KACnB,KAMD,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,YAAY,CAAA;IAClB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KAC/B,CAAA;IACD,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KAC/B,CAAA;IACD,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9B,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,aAAa,CAAC,KAAK,CAAC,KAAG,KAKlG,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,QAAQ,KAAK,EAAE,KAAG,QAA0C,CAAA;AAErF;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,KAAG,MACzB,CAAA;AAmDlD,eAAO,MAAM,oBAAoB,GAAI,UAAU,KAAK;;EAC+C,CAAA"}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import { Schema } from '@livestore/utils/effect';
|
2
|
+
import { hashCode } from '../hash.js';
|
3
|
+
export const column = (props) => ({ _tag: 'column', ...props });
|
4
|
+
export const index = (columns, name, unique, primaryKey) => ({
|
5
|
+
_tag: 'index',
|
6
|
+
columns,
|
7
|
+
name,
|
8
|
+
unique,
|
9
|
+
primaryKey,
|
10
|
+
});
|
11
|
+
export const table = (name, columns, indexes) => ({
|
12
|
+
_tag: 'table',
|
13
|
+
name,
|
14
|
+
columns,
|
15
|
+
indexes,
|
16
|
+
});
|
17
|
+
export const dbSchema = (tables) => ({ _tag: 'dbSchema', tables });
|
18
|
+
/**
|
19
|
+
* NOTE we're only including SQLite-relevant information in the hash (which excludes the schema mapping)
|
20
|
+
*/
|
21
|
+
export const hash = (obj) => hashCode(JSON.stringify(trimInfoForHasing(obj)));
|
22
|
+
const trimInfoForHasing = (obj) => {
|
23
|
+
switch (obj._tag) {
|
24
|
+
case 'table': {
|
25
|
+
return {
|
26
|
+
_tag: 'table',
|
27
|
+
name: obj.name,
|
28
|
+
columns: obj.columns.map((column) => trimInfoForHasing(column)),
|
29
|
+
indexes: obj.indexes.map((index) => trimInfoForHasing(index)),
|
30
|
+
};
|
31
|
+
}
|
32
|
+
case 'column': {
|
33
|
+
return {
|
34
|
+
_tag: 'column',
|
35
|
+
name: obj.name,
|
36
|
+
type: obj.type._tag,
|
37
|
+
primaryKey: obj.primaryKey,
|
38
|
+
nullable: obj.nullable,
|
39
|
+
default: obj.default,
|
40
|
+
};
|
41
|
+
}
|
42
|
+
case 'index': {
|
43
|
+
return {
|
44
|
+
_tag: 'index',
|
45
|
+
columns: obj.columns,
|
46
|
+
name: obj.name,
|
47
|
+
unique: obj.unique,
|
48
|
+
primaryKey: obj.primaryKey,
|
49
|
+
};
|
50
|
+
}
|
51
|
+
case 'foreignKey': {
|
52
|
+
return {
|
53
|
+
_tag: 'foreignKey',
|
54
|
+
references: obj.references,
|
55
|
+
key: obj.key,
|
56
|
+
columns: obj.columns,
|
57
|
+
};
|
58
|
+
}
|
59
|
+
case 'dbSchema': {
|
60
|
+
return {
|
61
|
+
_tag: 'dbSchema',
|
62
|
+
tables: obj.tables.map(trimInfoForHasing),
|
63
|
+
};
|
64
|
+
}
|
65
|
+
default: {
|
66
|
+
throw new Error(`Unreachable: ${obj}`);
|
67
|
+
}
|
68
|
+
}
|
69
|
+
};
|
70
|
+
export const structSchemaForTable = (tableDef) => Schema.Struct(Object.fromEntries(tableDef.columns.map((column) => [column.name, column.schema])));
|
71
|
+
//# sourceMappingURL=sqlite.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../../src/schema/db-schema/ast/sqlite.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/schema/db-schema/ast/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,eAAO,MAAM,QAAQ,GAAI,WAAW,QAAQ,SAS3C,CAAA"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
// TODO
|
2
|
+
export const validate = (_dbSchema) => {
|
3
|
+
/*
|
4
|
+
TODO:
|
5
|
+
|
6
|
+
- ensure no duplicate table names
|
7
|
+
- ensure no duplicate column names within a table
|
8
|
+
- ensure no duplicate index names globally
|
9
|
+
- ...
|
10
|
+
*/
|
11
|
+
};
|
12
|
+
//# sourceMappingURL=validate.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/schema/db-schema/ast/validate.ts"],"names":[],"mappings":"AAEA,OAAO;AACP,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,SAAmB,EAAE,EAAE;IAC9C;;;;;;;QAOC;AACH,CAAC,CAAA"}
|