@livestore/common 0.3.0-dev.12 → 0.3.0-dev.14
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/db-schema/ast/sqlite.d.ts +69 -0
- package/dist/db-schema/ast/sqlite.d.ts.map +1 -0
- package/dist/db-schema/ast/sqlite.js +71 -0
- package/dist/db-schema/ast/sqlite.js.map +1 -0
- package/dist/db-schema/ast/validate.d.ts +3 -0
- package/dist/db-schema/ast/validate.d.ts.map +1 -0
- package/dist/db-schema/ast/validate.js +12 -0
- package/dist/db-schema/ast/validate.js.map +1 -0
- package/dist/db-schema/dsl/field-defs.d.ts +90 -0
- package/dist/db-schema/dsl/field-defs.d.ts.map +1 -0
- package/dist/db-schema/dsl/field-defs.js +87 -0
- package/dist/db-schema/dsl/field-defs.js.map +1 -0
- package/dist/db-schema/dsl/field-defs.test.d.ts +2 -0
- package/dist/db-schema/dsl/field-defs.test.d.ts.map +1 -0
- package/dist/db-schema/dsl/field-defs.test.js +29 -0
- package/dist/db-schema/dsl/field-defs.test.js.map +1 -0
- package/dist/db-schema/dsl/index.d.ts +88 -0
- package/dist/db-schema/dsl/index.d.ts.map +1 -0
- package/dist/db-schema/dsl/index.js +35 -0
- package/dist/db-schema/dsl/index.js.map +1 -0
- package/dist/db-schema/dsl/mod.d.ts +90 -0
- package/dist/db-schema/dsl/mod.d.ts.map +1 -0
- package/dist/db-schema/dsl/mod.js +35 -0
- package/dist/db-schema/dsl/mod.js.map +1 -0
- package/dist/db-schema/dsl/sqlite/field-defs.d.ts +90 -0
- package/dist/db-schema/dsl/sqlite/field-defs.d.ts.map +1 -0
- package/dist/db-schema/dsl/sqlite/field-defs.js +86 -0
- package/dist/db-schema/dsl/sqlite/field-defs.js.map +1 -0
- package/dist/db-schema/dsl/sqlite/field-defs.test.d.ts +2 -0
- package/dist/db-schema/dsl/sqlite/field-defs.test.d.ts.map +1 -0
- package/dist/db-schema/dsl/sqlite/field-defs.test.js +29 -0
- package/dist/db-schema/dsl/sqlite/field-defs.test.js.map +1 -0
- package/dist/db-schema/dsl/sqlite/index.d.ts +88 -0
- package/dist/db-schema/dsl/sqlite/index.d.ts.map +1 -0
- package/dist/db-schema/dsl/sqlite/index.js +35 -0
- package/dist/db-schema/dsl/sqlite/index.js.map +1 -0
- package/dist/db-schema/hash.d.ts +2 -0
- package/dist/db-schema/hash.d.ts.map +1 -0
- package/dist/db-schema/hash.js +14 -0
- package/dist/db-schema/hash.js.map +1 -0
- package/dist/db-schema/index.d.ts +4 -0
- package/dist/db-schema/index.d.ts.map +1 -0
- package/dist/db-schema/index.js +6 -0
- package/dist/db-schema/index.js.map +1 -0
- package/dist/db-schema/mod.d.ts +3 -0
- package/dist/db-schema/mod.d.ts.map +1 -0
- package/dist/db-schema/mod.js +3 -0
- package/dist/db-schema/mod.js.map +1 -0
- package/dist/derived-mutations.d.ts +1 -1
- 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/devtools/devtools-messages-client-session.d.ts +23 -23
- package/dist/devtools/devtools-messages-common.d.ts +6 -6
- package/dist/devtools/devtools-messages-leader.d.ts +41 -53
- package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-leader.js +5 -4
- package/dist/devtools/devtools-messages-leader.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.js +24 -22
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
- package/dist/leader-thread/apply-mutation.d.ts.map +1 -1
- package/dist/leader-thread/apply-mutation.js +8 -6
- package/dist/leader-thread/apply-mutation.js.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.js +6 -12
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.js +6 -1
- package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
- package/dist/leader-thread/mutationlog.d.ts +1 -1
- package/dist/leader-thread/mutationlog.d.ts.map +1 -1
- package/dist/leader-thread/mutationlog.js +7 -5
- package/dist/leader-thread/mutationlog.js.map +1 -1
- package/dist/leader-thread/pull-queue-set.d.ts.map +1 -1
- package/dist/leader-thread/types.d.ts +7 -3
- package/dist/leader-thread/types.d.ts.map +1 -1
- package/dist/leader-thread/types.js +1 -1
- package/dist/leader-thread/types.js.map +1 -1
- package/dist/query-builder/api.d.ts +1 -1
- package/dist/query-builder/api.d.ts.map +1 -1
- package/dist/rehydrate-from-mutationlog.d.ts.map +1 -1
- package/dist/rehydrate-from-mutationlog.js +8 -6
- package/dist/rehydrate-from-mutationlog.js.map +1 -1
- package/dist/schema/EventId.d.ts +9 -9
- package/dist/schema/EventId.d.ts.map +1 -1
- package/dist/schema/EventId.js +12 -12
- package/dist/schema/EventId.js.map +1 -1
- package/dist/schema/EventId.test.js +3 -3
- package/dist/schema/EventId.test.js.map +1 -1
- package/dist/schema/MutationEvent.d.ts +37 -12
- package/dist/schema/MutationEvent.d.ts.map +1 -1
- package/dist/schema/MutationEvent.js +20 -4
- 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 +5 -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.js +1 -1
- package/dist/schema/schema-helpers.js.map +1 -1
- package/dist/schema/schema.d.ts +1 -1
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +1 -1
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/system-tables.d.ts +47 -29
- package/dist/schema/system-tables.d.ts.map +1 -1
- package/dist/schema/system-tables.js +10 -7
- package/dist/schema/system-tables.js.map +1 -1
- package/dist/schema/table-def.d.ts +18 -14
- 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/migrations.d.ts +1 -1
- package/dist/schema-management/migrations.d.ts.map +1 -1
- package/dist/schema-management/migrations.js +1 -1
- package/dist/schema-management/migrations.js.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/ClientSessionSyncProcessor.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.js +18 -3
- package/dist/sync/ClientSessionSyncProcessor.js.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 +2 -0
- 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 +3 -1
- package/dist/sync/next/rebase-events.d.ts.map +1 -1
- package/dist/sync/next/rebase-events.js +5 -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 +11 -11
- package/dist/sync/next/test/mutation-fixtures.d.ts.map +1 -1
- package/dist/sync/next/test/mutation-fixtures.js +12 -10
- package/dist/sync/next/test/mutation-fixtures.js.map +1 -1
- package/dist/sync/sync.d.ts +2 -2
- package/dist/sync/syncstate.d.ts +9 -9
- package/dist/sync/syncstate.js +6 -6
- package/dist/sync/syncstate.js.map +1 -1
- package/dist/sync/syncstate.test.js +18 -16
- package/dist/sync/syncstate.test.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -3
- package/src/derived-mutations.ts +4 -4
- package/src/devtools/devtools-messages-leader.ts +5 -4
- package/src/index.ts +1 -1
- package/src/leader-thread/LeaderSyncProcessor.ts +28 -22
- package/src/leader-thread/apply-mutation.ts +15 -5
- package/src/leader-thread/leader-worker-devtools.ts +6 -13
- package/src/leader-thread/make-leader-thread-layer.ts +9 -1
- package/src/leader-thread/mutationlog.ts +8 -6
- package/src/leader-thread/types.ts +6 -2
- package/src/query-builder/api.ts +1 -1
- package/src/rehydrate-from-mutationlog.ts +8 -6
- package/src/schema/EventId.test.ts +3 -3
- package/src/schema/EventId.ts +17 -17
- package/src/schema/MutationEvent.ts +31 -6
- 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 +6 -19
- package/src/schema/schema-helpers.ts +1 -1
- package/src/schema/schema.ts +2 -2
- package/src/schema/system-tables.ts +10 -7
- package/src/schema/table-def.ts +17 -16
- package/src/schema-management/migrations.ts +1 -1
- 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 +23 -4
- 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 +8 -2
- 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 -12
- package/src/sync/syncstate.test.ts +19 -17
- package/src/sync/syncstate.ts +6 -6
- package/src/version.ts +1 -1
- package/tsconfig.json +1 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/schema/db-schema/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA"}
|
package/dist/schema/mod.d.ts
CHANGED
package/dist/schema/mod.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/schema/mod.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/schema/mod.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACzD,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
|
package/dist/schema/mod.js
CHANGED
package/dist/schema/mod.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/schema/mod.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/schema/mod.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACzD,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import { Schema } from '@livestore/utils/effect';
|
2
2
|
import type { BindValues } from '../sql-queries/sql-queries.js';
|
3
|
-
import type * as EventId from './EventId.js';
|
4
3
|
export type MutationDefMap = Map<string | 'livestore.RawSql', MutationDef.Any>;
|
5
4
|
export type MutationDefRecord = {
|
6
5
|
'livestore.RawSql': RawSqlMutation;
|
@@ -26,19 +25,16 @@ export type MutationDef<TName extends string, TFrom, TTo> = {
|
|
26
25
|
/** Warning: This feature is not fully implemented yet */
|
27
26
|
historyId: string;
|
28
27
|
/**
|
29
|
-
* When set to true, the mutation won't be synced
|
28
|
+
* When set to true, the mutation won't be synced across clients but
|
30
29
|
*/
|
31
|
-
|
30
|
+
clientOnly: boolean;
|
32
31
|
/** Warning: This feature is not fully implemented yet */
|
33
32
|
facts: FactsCallback<TTo> | undefined;
|
34
33
|
};
|
35
34
|
/** Helper function to construct a partial mutation event */
|
36
|
-
(args: TTo
|
37
|
-
id?: number;
|
38
|
-
}): {
|
35
|
+
(args: TTo): {
|
39
36
|
mutation: TName;
|
40
37
|
args: TTo;
|
41
|
-
id?: EventId.EventId;
|
42
38
|
};
|
43
39
|
};
|
44
40
|
export type FactsCallback<TTo> = (args: TTo, currentFacts: MutationEventFacts) => {
|
@@ -83,7 +79,7 @@ export type DefineMutationOptions<TTo> = {
|
|
83
79
|
/**
|
84
80
|
* When set to true, the mutation won't be synced over the network
|
85
81
|
*/
|
86
|
-
|
82
|
+
clientOnly?: boolean;
|
87
83
|
};
|
88
84
|
export declare const defineMutation: <TName extends string, TFrom, TTo>(name: TName, schema: Schema.Schema<TTo, TFrom>, sql: MutationDefSqlResult<NoInfer<TTo>>, options?: DefineMutationOptions<TTo>) => MutationDef<TName, TFrom, TTo>;
|
89
85
|
export declare const makeMutationDefRecord: <TInputRecord extends Record<string, MutationDef.Any>>(inputRecord: TInputRecord) => { [K in TInputRecord[keyof TInputRecord]["name"]]: Extract<TInputRecord[keyof TInputRecord], {
|
@@ -96,10 +92,10 @@ export declare const rawSqlMutation: MutationDef<"livestore.RawSql", {
|
|
96
92
|
} | undefined;
|
97
93
|
readonly writeTables?: readonly string[] | undefined;
|
98
94
|
}, {
|
99
|
-
readonly sql: string;
|
100
95
|
readonly bindValues?: {
|
101
96
|
readonly [x: string]: any;
|
102
97
|
} | undefined;
|
98
|
+
readonly sql: string;
|
103
99
|
readonly writeTables?: ReadonlySet<string> | undefined;
|
104
100
|
}>;
|
105
101
|
export type RawSqlMutation = typeof rawSqlMutation;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/schema/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;
|
1
|
+
{"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/schema/mutations.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/mutations.js
CHANGED
@@ -2,14 +2,14 @@ import { Schema } from '@livestore/utils/effect';
|
|
2
2
|
export const defineFacts = (record) => record;
|
3
3
|
// TODO possibly also allow for mutation event subsumption behaviour
|
4
4
|
export const defineMutation = (name, schema, sql, options) => {
|
5
|
-
const makePartialEvent = (args
|
5
|
+
const makePartialEvent = (args) => ({ mutation: name, args });
|
6
6
|
Object.defineProperty(makePartialEvent, 'name', { value: name });
|
7
7
|
Object.defineProperty(makePartialEvent, 'schema', { value: schema });
|
8
8
|
Object.defineProperty(makePartialEvent, 'sql', { value: sql });
|
9
9
|
Object.defineProperty(makePartialEvent, 'options', {
|
10
10
|
value: {
|
11
11
|
historyId: options?.historyId ?? 'main',
|
12
|
-
|
12
|
+
clientOnly: options?.clientOnly ?? false,
|
13
13
|
facts: options?.facts
|
14
14
|
? (args, currentFacts) => {
|
15
15
|
const res = options.facts(args, currentFacts);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../src/schema/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;
|
1
|
+
{"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../src/schema/mutations.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { SqliteDsl } from '@livestore/db-schema';
|
2
1
|
import { shouldNeverHappen } from '@livestore/utils';
|
3
2
|
import { pipe, ReadonlyRecord, Schema } from '@livestore/utils/effect';
|
3
|
+
import { SqliteDsl } from '../schema/db-schema/mod.js';
|
4
4
|
export const getDefaultValuesEncoded = (tableDef, fallbackValues) => pipe(tableDef.sqliteDef.columns, ReadonlyRecord.filter((col, key) => {
|
5
5
|
if (fallbackValues?.[key] !== undefined)
|
6
6
|
return true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema-helpers.js","sourceRoot":"","sources":["../../src/schema/schema-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"schema-helpers.js","sourceRoot":"","sources":["../../src/schema/schema-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAGtD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,QAAmB,EACnB,cAAoC,EACpC,EAAE,CACF,IAAI,CACF,QAAQ,CAAC,SAAS,CAAC,OAAO,EAC1B,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACjC,IAAI,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACpD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC9B,OAAO,GAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,GAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAA;AAClG,CAAC,CAAC,EACF,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CACxC,cAAc,EAAE,CAAC,UAAU,CAAC,KAAK,SAAS;IACxC,CAAC,CAAC,MAAO,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;QAC/B,CAAC,CAAC,MAAO,CAAC,QAAQ,KAAK,IAAI;YACzB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,iBAAiB,CAAC,UAAU,UAAU,2CAA2C,CAAC;QACtF,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,MAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5D,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAC/B,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,QAAmB,EACnB,cAAoC,EACpC,EAAE,CACF,IAAI,CACF,QAAQ,CAAC,SAAS,CAAC,OAAO,EAC1B,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACjC,IAAI,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACpD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC9B,OAAO,GAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,GAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAA;AAClG,CAAC,CAAC,EACF,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CACxC,cAAc,EAAE,CAAC,UAAU,CAAC,KAAK,SAAS;IACxC,CAAC,CAAC,MAAO,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;QAC/B,CAAC,CAAC,MAAO,CAAC,QAAQ,KAAK,IAAI;YACzB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,iBAAiB,CAAC,UAAU,UAAU,2CAA2C,CAAC;QACtF,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,MAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9D,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAC/B,CACF,CAAA"}
|
package/dist/schema/schema.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import type { SqliteDsl } from '@livestore/db-schema';
|
2
1
|
import type { MigrationOptions } from '../adapter-types.js';
|
2
|
+
import type { SqliteDsl } from './db-schema/mod.js';
|
3
3
|
import { type MutationDef, type MutationDefMap, type MutationDefRecord, type RawSqlMutation } from './mutations.js';
|
4
4
|
import type { TableDef, TableDefBase } from './table-def.js';
|
5
5
|
export declare const LiveStoreSchemaSymbol: unique symbol;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/schema.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import { SqliteAst } from '@livestore/db-schema';
|
2
1
|
import { isReadonlyArray, shouldNeverHappen } from '@livestore/utils';
|
3
2
|
import { makeDerivedMutationDefsForTable } from '../derived-mutations.js';
|
3
|
+
import { SqliteAst } from './db-schema/mod.js';
|
4
4
|
import { rawSqlMutation, } from './mutations.js';
|
5
5
|
import { systemTables } from './system-tables.js';
|
6
6
|
import { tableHasDerivedMutations } from './table-def.js';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { type SqliteAst as __SqliteAst, SqliteDsl } from '@livestore/db-schema';
|
2
1
|
import { Schema } from '@livestore/utils/effect';
|
2
|
+
import { SqliteDsl } from './db-schema/mod.js';
|
3
3
|
import type { FromTable } from './table-def.js';
|
4
4
|
export declare const SCHEMA_META_TABLE = "__livestore_schema";
|
5
5
|
export declare const schemaMetaTable: import("./table-def.js").TableDef<{
|
@@ -28,7 +28,7 @@ export declare const schemaMetaTable: import("./table-def.js").TableDef<{
|
|
28
28
|
};
|
29
29
|
};
|
30
30
|
indexes?: ReadonlyArray<SqliteDsl.Index>;
|
31
|
-
ast:
|
31
|
+
ast: import("./db-schema/ast/sqlite.js").Table;
|
32
32
|
}, {
|
33
33
|
isSingleton: false;
|
34
34
|
disableAutomaticIdColumn: true;
|
@@ -72,7 +72,7 @@ export declare const schemaMutationsMetaTable: import("./table-def.js").TableDef
|
|
72
72
|
};
|
73
73
|
};
|
74
74
|
indexes?: ReadonlyArray<SqliteDsl.Index>;
|
75
|
-
ast:
|
75
|
+
ast: import("./db-schema/ast/sqlite.js").Table;
|
76
76
|
}, {
|
77
77
|
isSingleton: false;
|
78
78
|
disableAutomaticIdColumn: true;
|
@@ -104,9 +104,9 @@ export declare const sessionChangesetMetaTable: import("./table-def.js").TableDe
|
|
104
104
|
nullable: false;
|
105
105
|
primaryKey: false;
|
106
106
|
};
|
107
|
-
|
107
|
+
idClient: {
|
108
108
|
columnType: "integer";
|
109
|
-
schema: Schema.Schema<number & import("effect/Brand").Brand<"
|
109
|
+
schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
|
110
110
|
default: import("effect/Option").None<never>;
|
111
111
|
nullable: false;
|
112
112
|
primaryKey: false;
|
@@ -127,21 +127,21 @@ export declare const sessionChangesetMetaTable: import("./table-def.js").TableDe
|
|
127
127
|
};
|
128
128
|
};
|
129
129
|
indexes?: ReadonlyArray<SqliteDsl.Index>;
|
130
|
-
ast:
|
130
|
+
ast: import("./db-schema/ast/sqlite.js").Table;
|
131
131
|
}, {
|
132
132
|
isSingleton: false;
|
133
133
|
disableAutomaticIdColumn: true;
|
134
134
|
deriveMutations: never;
|
135
135
|
isSingleColumn: false;
|
136
|
-
requiredInsertColumnNames: "idGlobal" | "
|
136
|
+
requiredInsertColumnNames: "idGlobal" | "idClient";
|
137
137
|
}, Schema.Schema<{
|
138
138
|
readonly idGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
|
139
|
-
readonly
|
139
|
+
readonly idClient: number & import("effect/Brand").Brand<"ClientEventId">;
|
140
140
|
readonly changeset: Uint8Array<ArrayBufferLike> | null;
|
141
141
|
readonly debug: unknown;
|
142
142
|
}, {
|
143
143
|
readonly idGlobal: number;
|
144
|
-
readonly
|
144
|
+
readonly idClient: number;
|
145
145
|
readonly changeset: Uint8Array<ArrayBufferLike> | null;
|
146
146
|
readonly debug: string | null;
|
147
147
|
}, never>>;
|
@@ -172,7 +172,7 @@ export declare const systemTables: (import("./table-def.js").TableDef<{
|
|
172
172
|
};
|
173
173
|
};
|
174
174
|
indexes?: ReadonlyArray<SqliteDsl.Index>;
|
175
|
-
ast:
|
175
|
+
ast: import("./db-schema/ast/sqlite.js").Table;
|
176
176
|
}, {
|
177
177
|
isSingleton: false;
|
178
178
|
disableAutomaticIdColumn: true;
|
@@ -213,7 +213,7 @@ export declare const systemTables: (import("./table-def.js").TableDef<{
|
|
213
213
|
};
|
214
214
|
};
|
215
215
|
indexes?: ReadonlyArray<SqliteDsl.Index>;
|
216
|
-
ast:
|
216
|
+
ast: import("./db-schema/ast/sqlite.js").Table;
|
217
217
|
}, {
|
218
218
|
isSingleton: false;
|
219
219
|
disableAutomaticIdColumn: true;
|
@@ -238,9 +238,9 @@ export declare const systemTables: (import("./table-def.js").TableDef<{
|
|
238
238
|
nullable: false;
|
239
239
|
primaryKey: false;
|
240
240
|
};
|
241
|
-
|
241
|
+
idClient: {
|
242
242
|
columnType: "integer";
|
243
|
-
schema: Schema.Schema<number & import("effect/Brand").Brand<"
|
243
|
+
schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
|
244
244
|
default: import("effect/Option").None<never>;
|
245
245
|
nullable: false;
|
246
246
|
primaryKey: false;
|
@@ -261,25 +261,25 @@ export declare const systemTables: (import("./table-def.js").TableDef<{
|
|
261
261
|
};
|
262
262
|
};
|
263
263
|
indexes?: ReadonlyArray<SqliteDsl.Index>;
|
264
|
-
ast:
|
264
|
+
ast: import("./db-schema/ast/sqlite.js").Table;
|
265
265
|
}, {
|
266
266
|
isSingleton: false;
|
267
267
|
disableAutomaticIdColumn: true;
|
268
268
|
deriveMutations: never;
|
269
269
|
isSingleColumn: false;
|
270
|
-
requiredInsertColumnNames: "idGlobal" | "
|
270
|
+
requiredInsertColumnNames: "idGlobal" | "idClient";
|
271
271
|
}, Schema.Schema<{
|
272
272
|
readonly idGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
|
273
|
-
readonly
|
273
|
+
readonly idClient: number & import("effect/Brand").Brand<"ClientEventId">;
|
274
274
|
readonly changeset: Uint8Array<ArrayBufferLike> | null;
|
275
275
|
readonly debug: unknown;
|
276
276
|
}, {
|
277
277
|
readonly idGlobal: number;
|
278
|
-
readonly
|
278
|
+
readonly idClient: number;
|
279
279
|
readonly changeset: Uint8Array<ArrayBufferLike> | null;
|
280
280
|
readonly debug: string | null;
|
281
281
|
}, never>>)[];
|
282
|
-
export declare const SyncStatus: Schema.Literal<["synced", "pending", "error", "
|
282
|
+
export declare const SyncStatus: Schema.Literal<["synced", "pending", "error", "clientOnly"]>;
|
283
283
|
export type SyncStatus = typeof SyncStatus.Type;
|
284
284
|
export declare const MUTATION_LOG_META_TABLE = "mutation_log";
|
285
285
|
export declare const mutationLogMetaTable: import("./table-def.js").TableDef<{
|
@@ -292,9 +292,9 @@ export declare const mutationLogMetaTable: import("./table-def.js").TableDef<{
|
|
292
292
|
nullable: false;
|
293
293
|
primaryKey: true;
|
294
294
|
};
|
295
|
-
|
295
|
+
idClient: {
|
296
296
|
columnType: "integer";
|
297
|
-
schema: Schema.Schema<number & import("effect/Brand").Brand<"
|
297
|
+
schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
|
298
298
|
default: import("effect/Option").None<never>;
|
299
299
|
nullable: false;
|
300
300
|
primaryKey: true;
|
@@ -306,9 +306,9 @@ export declare const mutationLogMetaTable: import("./table-def.js").TableDef<{
|
|
306
306
|
nullable: false;
|
307
307
|
primaryKey: false;
|
308
308
|
};
|
309
|
-
|
309
|
+
parentIdClient: {
|
310
310
|
columnType: "integer";
|
311
|
-
schema: Schema.Schema<number & import("effect/Brand").Brand<"
|
311
|
+
schema: Schema.Schema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
|
312
312
|
default: import("effect/Option").None<never>;
|
313
313
|
nullable: false;
|
314
314
|
primaryKey: false;
|
@@ -327,6 +327,20 @@ export declare const mutationLogMetaTable: import("./table-def.js").TableDef<{
|
|
327
327
|
nullable: false;
|
328
328
|
primaryKey: false;
|
329
329
|
};
|
330
|
+
clientId: {
|
331
|
+
columnType: "text";
|
332
|
+
schema: Schema.Schema<string, string, never>;
|
333
|
+
default: import("effect/Option").None<never>;
|
334
|
+
nullable: false;
|
335
|
+
primaryKey: false;
|
336
|
+
};
|
337
|
+
sessionId: {
|
338
|
+
columnType: "text";
|
339
|
+
schema: Schema.Schema<string | null, string | null, never>;
|
340
|
+
default: import("effect/Option").None<never>;
|
341
|
+
nullable: true;
|
342
|
+
primaryKey: false;
|
343
|
+
};
|
330
344
|
schemaHash: {
|
331
345
|
columnType: "integer";
|
332
346
|
schema: Schema.Schema<number, number, never>;
|
@@ -343,29 +357,33 @@ export declare const mutationLogMetaTable: import("./table-def.js").TableDef<{
|
|
343
357
|
};
|
344
358
|
};
|
345
359
|
indexes?: ReadonlyArray<SqliteDsl.Index>;
|
346
|
-
ast:
|
360
|
+
ast: import("./db-schema/ast/sqlite.js").Table;
|
347
361
|
}, {
|
348
362
|
isSingleton: false;
|
349
363
|
disableAutomaticIdColumn: true;
|
350
364
|
deriveMutations: never;
|
351
365
|
isSingleColumn: false;
|
352
|
-
requiredInsertColumnNames: "schemaHash" | "idGlobal" | "
|
366
|
+
requiredInsertColumnNames: "schemaHash" | "idGlobal" | "idClient" | "mutation" | "clientId" | "parentIdGlobal" | "parentIdClient" | "argsJson" | "syncMetadataJson";
|
353
367
|
}, Schema.Schema<{
|
354
368
|
readonly idGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
|
355
|
-
readonly
|
369
|
+
readonly idClient: number & import("effect/Brand").Brand<"ClientEventId">;
|
356
370
|
readonly parentIdGlobal: number & import("effect/Brand").Brand<"GlobalEventId">;
|
357
|
-
readonly
|
371
|
+
readonly parentIdClient: number & import("effect/Brand").Brand<"ClientEventId">;
|
358
372
|
readonly mutation: string;
|
359
373
|
readonly argsJson: any;
|
374
|
+
readonly clientId: string;
|
375
|
+
readonly sessionId: string | null;
|
360
376
|
readonly schemaHash: number;
|
361
377
|
readonly syncMetadataJson: import("effect/Option").Option<Schema.JsonValue>;
|
362
378
|
}, {
|
363
379
|
readonly idGlobal: number;
|
364
|
-
readonly
|
380
|
+
readonly idClient: number;
|
365
381
|
readonly parentIdGlobal: number;
|
366
|
-
readonly
|
382
|
+
readonly parentIdClient: number;
|
367
383
|
readonly mutation: string;
|
368
384
|
readonly argsJson: string;
|
385
|
+
readonly clientId: string;
|
386
|
+
readonly sessionId: string | null;
|
369
387
|
readonly schemaHash: number;
|
370
388
|
readonly syncMetadataJson: string;
|
371
389
|
}, never>>;
|
@@ -383,7 +401,7 @@ export declare const syncStatusTable: import("./table-def.js").TableDef<{
|
|
383
401
|
};
|
384
402
|
};
|
385
403
|
indexes?: ReadonlyArray<SqliteDsl.Index>;
|
386
|
-
ast:
|
404
|
+
ast: import("./db-schema/ast/sqlite.js").Table;
|
387
405
|
}, {
|
388
406
|
isSingleton: false;
|
389
407
|
disableAutomaticIdColumn: true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"system-tables.d.ts","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"system-tables.d.ts","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAK/C,eAAO,MAAM,iBAAiB,uBAAuB,CAAA;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAS3B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;AAExE,eAAO,MAAM,2BAA2B,iCAAiC,CAAA;AAEzE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UASpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE1F;;;GAGG;AACH,eAAO,MAAM,4BAA4B,kCAAkC,CAAA;AAE3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAarC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE5F,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAAyE,CAAA;AAIlG,eAAO,MAAM,UAAU,8DAA6D,CAAA;AACpF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,eAAO,MAAM,uBAAuB,iBAAiB,CAAA;AAErD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAsBhC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAElF,eAAO,MAAM,iBAAiB,4BAA4B,CAAA;AAE1D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;UAM3B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { SqliteDsl } from '@livestore/db-schema';
|
2
1
|
import { Schema } from '@livestore/utils/effect';
|
2
|
+
import { SqliteDsl } from './db-schema/mod.js';
|
3
3
|
import * as EventId from './EventId.js';
|
4
4
|
import { table } from './table-def.js';
|
5
5
|
/// App DB
|
@@ -25,31 +25,34 @@ export const SESSION_CHANGESET_META_TABLE = '__livestore_session_changeset';
|
|
25
25
|
export const sessionChangesetMetaTable = table(SESSION_CHANGESET_META_TABLE, {
|
26
26
|
// TODO bring back primary key
|
27
27
|
idGlobal: SqliteDsl.integer({ schema: EventId.GlobalEventId }),
|
28
|
-
|
28
|
+
idClient: SqliteDsl.integer({ schema: EventId.ClientEventId }),
|
29
29
|
changeset: SqliteDsl.blob({ nullable: true }),
|
30
30
|
debug: SqliteDsl.json({ nullable: true }),
|
31
31
|
}, {
|
32
32
|
disableAutomaticIdColumn: true,
|
33
|
-
indexes: [{ columns: ['idGlobal', '
|
33
|
+
indexes: [{ columns: ['idGlobal', 'idClient'], name: 'idx_session_changeset_id' }],
|
34
34
|
});
|
35
35
|
export const systemTables = [schemaMetaTable, schemaMutationsMetaTable, sessionChangesetMetaTable];
|
36
36
|
/// Mutation log DB
|
37
|
-
export const SyncStatus = Schema.Literal('synced', 'pending', 'error', '
|
37
|
+
export const SyncStatus = Schema.Literal('synced', 'pending', 'error', 'clientOnly');
|
38
38
|
export const MUTATION_LOG_META_TABLE = 'mutation_log';
|
39
39
|
export const mutationLogMetaTable = table(MUTATION_LOG_META_TABLE, {
|
40
40
|
idGlobal: SqliteDsl.integer({ primaryKey: true, schema: EventId.GlobalEventId }),
|
41
|
-
|
41
|
+
idClient: SqliteDsl.integer({ primaryKey: true, schema: EventId.ClientEventId }),
|
42
42
|
parentIdGlobal: SqliteDsl.integer({ schema: EventId.GlobalEventId }),
|
43
|
-
|
43
|
+
parentIdClient: SqliteDsl.integer({ schema: EventId.ClientEventId }),
|
44
44
|
mutation: SqliteDsl.text({}),
|
45
45
|
argsJson: SqliteDsl.text({ schema: Schema.parseJson(Schema.Any) }),
|
46
|
+
clientId: SqliteDsl.text({}),
|
47
|
+
/** Only available for mutations which were executed in this client */
|
48
|
+
sessionId: SqliteDsl.text({ nullable: true }),
|
46
49
|
schemaHash: SqliteDsl.integer({}),
|
47
50
|
syncMetadataJson: SqliteDsl.text({ schema: Schema.parseJson(Schema.Option(Schema.JsonValue)) }),
|
48
51
|
}, {
|
49
52
|
disableAutomaticIdColumn: true,
|
50
53
|
indexes: [
|
51
54
|
{ columns: ['idGlobal'], name: 'idx_idGlobal' },
|
52
|
-
{ columns: ['idGlobal', '
|
55
|
+
{ columns: ['idGlobal', 'idClient'], name: 'idx_mutationlog_id' },
|
53
56
|
],
|
54
57
|
});
|
55
58
|
export const SYNC_STATUS_TABLE = '__livestore_sync_status';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"system-tables.js","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"system-tables.js","sourceRoot":"","sources":["../../src/schema/system-tables.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import type { Nullable
|
2
|
-
import {
|
1
|
+
import type { Nullable } from '@livestore/utils';
|
2
|
+
import type { Types } from '@livestore/utils/effect';
|
3
3
|
import { Schema } from '@livestore/utils/effect';
|
4
4
|
import type { DerivedMutationHelperFns } from '../derived-mutations.js';
|
5
5
|
import type { QueryBuilder } from '../query-builder/mod.js';
|
6
|
+
import { SqliteDsl } from './db-schema/mod.js';
|
6
7
|
export declare const blob: SqliteDsl.ColDefFn<"blob">, boolean: SqliteDsl.SpecializedColDefFn<"integer", false, boolean>, column: <TColumnType extends SqliteDsl.FieldColumnType>(columnType: TColumnType) => SqliteDsl.ColDefFn<TColumnType>, datetime: SqliteDsl.SpecializedColDefFn<"text", false, Date>, integer: SqliteDsl.ColDefFn<"integer">, isColumnDefinition: (value: unknown) => value is SqliteDsl.ColumnDefinition<any, any>, json: SqliteDsl.SpecializedColDefFn<"text", true, unknown>, real: SqliteDsl.ColDefFn<"real">, text: SqliteDsl.ColDefFn<"text">;
|
7
|
-
export { SqliteDsl } from '@livestore/db-schema';
|
8
8
|
export type StateType = 'singleton' | 'dynamic';
|
9
9
|
export type DefaultSqliteTableDef = SqliteDsl.TableDefinition<string, SqliteDsl.Columns>;
|
10
10
|
export type DefaultSqliteTableDefConstrained = SqliteDsl.TableDefinition<string, SqliteDsl.ConstraintColumns>;
|
@@ -29,7 +29,7 @@ export type TableOptionsInput = Partial<{
|
|
29
29
|
isSingleton: boolean;
|
30
30
|
deriveMutations: boolean | {
|
31
31
|
enabled: true;
|
32
|
-
|
32
|
+
clientOnly?: boolean;
|
33
33
|
};
|
34
34
|
}>;
|
35
35
|
type ToColumns<TColumns extends SqliteDsl.Columns | SqliteDsl.ColumnDefinition<any, any>> = TColumns extends SqliteDsl.Columns ? TColumns : TColumns extends SqliteDsl.ColumnDefinition<any, any> ? {
|
@@ -66,7 +66,7 @@ export type TableOptions = {
|
|
66
66
|
/**
|
67
67
|
* When set to true, the mutations won't be synced over the network
|
68
68
|
*/
|
69
|
-
|
69
|
+
clientOnly: boolean;
|
70
70
|
};
|
71
71
|
/** Derived based on whether the table definition has one or more columns (besides the `id` column) */
|
72
72
|
readonly isSingleColumn: boolean;
|
@@ -84,14 +84,14 @@ export declare const table: <TName extends string, TColumns extends SqliteDsl.Co
|
|
84
84
|
isSingleton: boolean;
|
85
85
|
deriveMutations: boolean | {
|
86
86
|
enabled: true;
|
87
|
-
|
87
|
+
clientOnly?: boolean;
|
88
88
|
};
|
89
89
|
}>>(name: TName, columnOrColumns: TColumns, options?: TOptionsInput) => ValidateTableOptionsInput<TColumns, TOptionsInput, TableDef<SqliteTableDefForInput<TName, TColumns, WithDefaults<TOptionsInput, TColumns>>, WithDefaults<TOptionsInput, TColumns>>>;
|
90
90
|
export declare const tableHasDerivedMutations: <TTableDef extends TableDefBase>(tableDef: TTableDef) => tableDef is TTableDef & {
|
91
91
|
options: {
|
92
92
|
deriveMutations: {
|
93
93
|
enabled: true;
|
94
|
-
|
94
|
+
clientOnly: boolean;
|
95
95
|
};
|
96
96
|
};
|
97
97
|
} & DerivedMutationHelperFns<TTableDef["sqliteDef"]["columns"], TTableDef["options"]>;
|
@@ -100,6 +100,9 @@ export declare const tableIsSingleton: <TTableDef extends TableDefBase>(tableDef
|
|
100
100
|
isSingleton: true;
|
101
101
|
};
|
102
102
|
};
|
103
|
+
export type PrettifyFlat<T> = T extends infer U ? {
|
104
|
+
[K in keyof U]: U[K];
|
105
|
+
} : never;
|
103
106
|
type SqliteTableDefForInput<TName extends string, TColumns extends SqliteDsl.Columns | SqliteDsl.ColumnDefinition<any, any>, TOptions extends TableOptions> = SqliteDsl.TableDefinition<TName, PrettifyFlat<WithId<ToColumns<TColumns>, TOptions>>>;
|
104
107
|
type WithId<TColumns extends SqliteDsl.Columns, TOptions extends TableOptions> = TColumns & ('id' extends keyof TColumns ? {} : TOptions['disableAutomaticIdColumn'] extends true ? {} : TOptions['isSingleton'] extends true ? {
|
105
108
|
id: SqliteDsl.ColumnDefinition<'singleton', 'singleton'>;
|
@@ -111,21 +114,21 @@ type WithDefaults<TOptionsInput extends TableOptionsInput, TColumns extends Sqli
|
|
111
114
|
disableAutomaticIdColumn: TOptionsInput['disableAutomaticIdColumn'] extends true ? true : false;
|
112
115
|
deriveMutations: TOptionsInput['deriveMutations'] extends true ? {
|
113
116
|
enabled: true;
|
114
|
-
|
117
|
+
clientOnly: boolean;
|
115
118
|
} : TOptionsInput['deriveMutations'] extends false ? {
|
116
119
|
enabled: false;
|
117
120
|
} : TOptionsInput['deriveMutations'] extends {
|
118
121
|
enabled: true;
|
119
|
-
|
122
|
+
clientOnly?: boolean;
|
120
123
|
} ? {
|
121
124
|
enabled: true;
|
122
|
-
|
125
|
+
clientOnly: TOptionsInput['deriveMutations']['clientOnly'] extends true ? true : false;
|
123
126
|
} : never;
|
124
127
|
isSingleColumn: SqliteDsl.IsSingleColumn<TColumns>;
|
125
128
|
requiredInsertColumnNames: SqliteDsl.FromColumns.RequiredInsertColumnNames<ToColumns<TColumns>>;
|
126
129
|
};
|
127
130
|
export declare namespace FromTable {
|
128
|
-
type RowDecoded<TTableDef extends TableDefBase> =
|
131
|
+
type RowDecoded<TTableDef extends TableDefBase> = Types.Simplify<Nullable<Pick<RowDecodedAll<TTableDef>, NullableColumnNames<TTableDef>>> & Omit<RowDecodedAll<TTableDef>, NullableColumnNames<TTableDef>>>;
|
129
132
|
type NullableColumnNames<TTableDef extends TableDefBase> = FromColumns.NullableColumnNames<TTableDef['sqliteDef']['columns']>;
|
130
133
|
type Columns<TTableDef extends TableDefBase> = {
|
131
134
|
[K in keyof TTableDef['sqliteDef']['columns']]: TTableDef['sqliteDef']['columns'][K]['columnType'];
|
@@ -133,17 +136,17 @@ export declare namespace FromTable {
|
|
133
136
|
type RowEncodeNonNullable<TTableDef extends TableDefBase> = {
|
134
137
|
[K in keyof TTableDef['sqliteDef']['columns']]: Schema.Schema.Encoded<TTableDef['sqliteDef']['columns'][K]['schema']>;
|
135
138
|
};
|
136
|
-
type RowEncoded<TTableDef extends TableDefBase> =
|
139
|
+
type RowEncoded<TTableDef extends TableDefBase> = Types.Simplify<Nullable<Pick<RowEncodeNonNullable<TTableDef>, NullableColumnNames<TTableDef>>> & Omit<RowEncodeNonNullable<TTableDef>, NullableColumnNames<TTableDef>>>;
|
137
140
|
type RowDecodedAll<TTableDef extends TableDefBase> = {
|
138
141
|
[K in keyof TTableDef['sqliteDef']['columns']]: Schema.Schema.Type<TTableDef['sqliteDef']['columns'][K]['schema']>;
|
139
142
|
};
|
140
143
|
}
|
141
144
|
export declare namespace FromColumns {
|
142
|
-
type RowDecoded<TColumns extends SqliteDsl.Columns> =
|
145
|
+
type RowDecoded<TColumns extends SqliteDsl.Columns> = Types.Simplify<Nullable<Pick<RowDecodedAll<TColumns>, NullableColumnNames<TColumns>>> & Omit<RowDecodedAll<TColumns>, NullableColumnNames<TColumns>>>;
|
143
146
|
type RowDecodedAll<TColumns extends SqliteDsl.Columns> = {
|
144
147
|
[K in keyof TColumns]: Schema.Schema.Type<TColumns[K]['schema']>;
|
145
148
|
};
|
146
|
-
type RowEncoded<TColumns extends SqliteDsl.Columns> =
|
149
|
+
type RowEncoded<TColumns extends SqliteDsl.Columns> = Types.Simplify<Nullable<Pick<RowEncodeNonNullable<TColumns>, NullableColumnNames<TColumns>>> & Omit<RowEncodeNonNullable<TColumns>, NullableColumnNames<TColumns>>>;
|
147
150
|
type RowEncodeNonNullable<TColumns extends SqliteDsl.Columns> = {
|
148
151
|
[K in keyof TColumns]: Schema.Schema.Encoded<TColumns[K]['schema']>;
|
149
152
|
};
|
@@ -153,4 +156,5 @@ export declare namespace FromColumns {
|
|
153
156
|
type RequiredInsertColumnNames<TColumns extends SqliteDsl.Columns> = SqliteDsl.FromColumns.RequiredInsertColumnNames<TColumns>;
|
154
157
|
type InsertRowDecoded<TColumns extends SqliteDsl.Columns> = SqliteDsl.FromColumns.InsertRowDecoded<TColumns>;
|
155
158
|
}
|
159
|
+
export {};
|
156
160
|
//# sourceMappingURL=table-def.d.ts.map
|