@livestore/common 0.3.2-dev.13 → 0.3.2-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/ClientSessionLeaderThreadProxy.d.ts +2 -2
- package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
- package/dist/adapter-types.d.ts +1 -1
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/debug-info.d.ts +17 -17
- package/dist/devtools/devtools-messages-client-session.d.ts +38 -38
- package/dist/devtools/devtools-messages-common.d.ts +6 -6
- package/dist/devtools/devtools-messages-leader.d.ts +28 -28
- package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-leader.js.map +1 -1
- package/dist/leader-thread/types.d.ts +1 -1
- package/dist/leader-thread/types.d.ts.map +1 -1
- package/dist/schema/LiveStoreEvent.d.ts +5 -5
- package/dist/schema/LiveStoreEvent.js.map +1 -1
- package/dist/schema/state/sqlite/column-annotations.d.ts +34 -0
- package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -0
- package/dist/schema/state/sqlite/column-annotations.js +50 -0
- package/dist/schema/state/sqlite/column-annotations.js.map +1 -0
- package/dist/schema/state/sqlite/column-annotations.test.d.ts +2 -0
- package/dist/schema/state/sqlite/column-annotations.test.d.ts.map +1 -0
- package/dist/schema/state/sqlite/column-annotations.test.js +179 -0
- package/dist/schema/state/sqlite/column-annotations.test.js.map +1 -0
- package/dist/schema/state/sqlite/column-spec.d.ts +11 -0
- package/dist/schema/state/sqlite/column-spec.d.ts.map +1 -0
- package/dist/schema/state/sqlite/column-spec.js +39 -0
- package/dist/schema/state/sqlite/column-spec.js.map +1 -0
- package/dist/schema/state/sqlite/column-spec.test.d.ts +2 -0
- package/dist/schema/state/sqlite/column-spec.test.d.ts.map +1 -0
- package/dist/schema/state/sqlite/column-spec.test.js +146 -0
- package/dist/schema/state/sqlite/column-spec.test.js.map +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts +17 -4
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +2 -0
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.js +1 -0
- package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
- package/dist/schema/state/sqlite/mod.d.ts +2 -0
- package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
- package/dist/schema/state/sqlite/mod.js +2 -0
- package/dist/schema/state/sqlite/mod.js.map +1 -1
- package/dist/schema/state/sqlite/system-tables.d.ts +464 -46
- package/dist/schema/state/sqlite/system-tables.d.ts.map +1 -1
- package/dist/schema/state/sqlite/table-def.d.ts +100 -9
- package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
- package/dist/schema/state/sqlite/table-def.js +227 -5
- package/dist/schema/state/sqlite/table-def.js.map +1 -1
- package/dist/schema/state/sqlite/table-def.test.d.ts +2 -0
- package/dist/schema/state/sqlite/table-def.test.d.ts.map +1 -0
- package/dist/schema/state/sqlite/table-def.test.js +625 -0
- package/dist/schema/state/sqlite/table-def.test.js.map +1 -0
- package/dist/schema-management/migrations.d.ts +0 -1
- package/dist/schema-management/migrations.d.ts.map +1 -1
- package/dist/schema-management/migrations.js +3 -29
- package/dist/schema-management/migrations.js.map +1 -1
- package/dist/sqlite-db-helper.d.ts +1 -1
- package/dist/sqlite-db-helper.d.ts.map +1 -1
- package/dist/sqlite-db-helper.js.map +1 -1
- package/dist/sqlite-types.d.ts +4 -4
- package/dist/sqlite-types.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.d.ts +2 -2
- package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
- package/dist/util.d.ts +3 -3
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
- package/src/ClientSessionLeaderThreadProxy.ts +2 -2
- package/src/adapter-types.ts +3 -1
- package/src/devtools/devtools-messages-leader.ts +3 -3
- package/src/leader-thread/types.ts +1 -1
- package/src/schema/LiveStoreEvent.ts +1 -1
- package/src/schema/state/sqlite/column-annotations.test.ts +212 -0
- package/src/schema/state/sqlite/column-annotations.ts +77 -0
- package/src/schema/state/sqlite/column-spec.test.ts +223 -0
- package/src/schema/state/sqlite/column-spec.ts +42 -0
- package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +2 -0
- package/src/schema/state/sqlite/db-schema/dsl/__snapshots__/field-defs.test.ts.snap +15 -0
- package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +20 -2
- package/src/schema/state/sqlite/db-schema/dsl/mod.ts +1 -0
- package/src/schema/state/sqlite/mod.ts +2 -0
- package/src/schema/state/sqlite/table-def.test.ts +783 -0
- package/src/schema/state/sqlite/table-def.ts +440 -16
- package/src/schema-management/migrations.ts +3 -32
- package/src/sqlite-db-helper.ts +1 -1
- package/src/sqlite-types.ts +4 -4
- package/src/sync/ClientSessionSyncProcessor.ts +5 -2
- package/src/util.ts +7 -2
- package/src/version.ts +1 -1
- package/src/schema-management/migrations.test.ts +0 -65
@@ -9,9 +9,15 @@ export type ColumnDefinition<TEncoded, TDecoded> = {
|
|
9
9
|
readonly nullable: boolean
|
10
10
|
/** @default false */
|
11
11
|
readonly primaryKey: boolean
|
12
|
+
/** @default false */
|
13
|
+
readonly autoIncrement: boolean
|
14
|
+
}
|
15
|
+
|
16
|
+
export declare namespace ColumnDefinition {
|
17
|
+
export type Any = ColumnDefinition<any, any>
|
12
18
|
}
|
13
19
|
|
14
|
-
export const isColumnDefinition = (value: unknown): value is ColumnDefinition
|
20
|
+
export const isColumnDefinition = (value: unknown): value is ColumnDefinition.Any => {
|
15
21
|
const validColumnTypes = ['text', 'integer', 'real', 'blob'] as const
|
16
22
|
return (
|
17
23
|
typeof value === 'object' &&
|
@@ -26,6 +32,7 @@ export type ColumnDefinitionInput = {
|
|
26
32
|
readonly default?: unknown | NoDefault
|
27
33
|
readonly nullable?: boolean
|
28
34
|
readonly primaryKey?: boolean
|
35
|
+
readonly autoIncrement?: boolean
|
29
36
|
}
|
30
37
|
|
31
38
|
export const NoDefault = Symbol.for('NoDefault')
|
@@ -46,6 +53,7 @@ export type ColDefFn<TColumnType extends FieldColumnType> = {
|
|
46
53
|
default: Option.None<never>
|
47
54
|
nullable: false
|
48
55
|
primaryKey: false
|
56
|
+
autoIncrement: false
|
49
57
|
}
|
50
58
|
<
|
51
59
|
TEncoded extends DefaultEncodedForColumnType<TColumnType>,
|
@@ -53,11 +61,13 @@ export type ColDefFn<TColumnType extends FieldColumnType> = {
|
|
53
61
|
const TNullable extends boolean = false,
|
54
62
|
const TDefault extends TDecoded | SqlDefaultValue | NoDefault | (TNullable extends true ? null : never) = NoDefault,
|
55
63
|
const TPrimaryKey extends boolean = false,
|
64
|
+
const TAutoIncrement extends boolean = false,
|
56
65
|
>(args: {
|
57
66
|
schema?: Schema.Schema<TDecoded, TEncoded>
|
58
67
|
default?: TDefault
|
59
68
|
nullable?: TNullable
|
60
69
|
primaryKey?: TPrimaryKey
|
70
|
+
autoIncrement?: TAutoIncrement
|
61
71
|
}): {
|
62
72
|
columnType: TColumnType
|
63
73
|
schema: TNullable extends true
|
@@ -66,6 +76,7 @@ export type ColDefFn<TColumnType extends FieldColumnType> = {
|
|
66
76
|
default: TDefault extends NoDefault ? Option.None<never> : Option.Some<NoInfer<TDefault>>
|
67
77
|
nullable: NoInfer<TNullable>
|
68
78
|
primaryKey: NoInfer<TPrimaryKey>
|
79
|
+
autoIncrement: NoInfer<TAutoIncrement>
|
69
80
|
}
|
70
81
|
}
|
71
82
|
|
@@ -83,6 +94,7 @@ const makeColDef =
|
|
83
94
|
default: default_,
|
84
95
|
nullable,
|
85
96
|
primaryKey: def?.primaryKey ?? false,
|
97
|
+
autoIncrement: def?.autoIncrement ?? false,
|
86
98
|
} as any
|
87
99
|
}
|
88
100
|
|
@@ -115,12 +127,14 @@ export type SpecializedColDefFn<
|
|
115
127
|
default: Option.None<never>
|
116
128
|
nullable: false
|
117
129
|
primaryKey: false
|
130
|
+
autoIncrement: false
|
118
131
|
}
|
119
132
|
<
|
120
133
|
TDecoded = TBaseDecoded,
|
121
134
|
const TNullable extends boolean = false,
|
122
135
|
const TDefault extends TDecoded | NoDefault | (TNullable extends true ? null : never) = NoDefault,
|
123
136
|
const TPrimaryKey extends boolean = false,
|
137
|
+
const TAutoIncrement extends boolean = false,
|
124
138
|
>(
|
125
139
|
args: TAllowsCustomSchema extends true
|
126
140
|
? {
|
@@ -128,11 +142,13 @@ export type SpecializedColDefFn<
|
|
128
142
|
default?: TDefault
|
129
143
|
nullable?: TNullable
|
130
144
|
primaryKey?: TPrimaryKey
|
145
|
+
autoIncrement?: TAutoIncrement
|
131
146
|
}
|
132
147
|
: {
|
133
148
|
default?: TDefault
|
134
149
|
nullable?: TNullable
|
135
150
|
primaryKey?: TPrimaryKey
|
151
|
+
autoIncrement?: TAutoIncrement
|
136
152
|
},
|
137
153
|
): {
|
138
154
|
columnType: TColumnType
|
@@ -142,6 +158,7 @@ export type SpecializedColDefFn<
|
|
142
158
|
default: TDefault extends NoDefault ? Option.None<never> : Option.Some<TDefault>
|
143
159
|
nullable: NoInfer<TNullable>
|
144
160
|
primaryKey: NoInfer<TPrimaryKey>
|
161
|
+
autoIncrement: NoInfer<TAutoIncrement>
|
145
162
|
}
|
146
163
|
}
|
147
164
|
|
@@ -176,6 +193,7 @@ const makeSpecializedColDef: MakeSpecializedColDefFn = (columnType, opts) => (de
|
|
176
193
|
default: default_,
|
177
194
|
nullable,
|
178
195
|
primaryKey: def?.primaryKey ?? false,
|
196
|
+
autoIncrement: def?.autoIncrement ?? false,
|
179
197
|
} as any
|
180
198
|
}
|
181
199
|
|
@@ -214,7 +232,7 @@ export type DefaultEncodedForColumnType<TColumnType extends FieldColumnType> = T
|
|
214
232
|
: TColumnType extends 'real'
|
215
233
|
? number
|
216
234
|
: TColumnType extends 'blob'
|
217
|
-
? Uint8Array
|
235
|
+
? Uint8Array<ArrayBuffer>
|
218
236
|
: never
|
219
237
|
|
220
238
|
export const defaultSchemaForColumnType = <TColumnType extends FieldColumnType>(
|
@@ -92,6 +92,7 @@ const columsToAst = (columns: Columns): ReadonlyArray<SqliteAst.Column> => {
|
|
92
92
|
default: column.default as any,
|
93
93
|
nullable: column.nullable ?? false,
|
94
94
|
primaryKey: column.primaryKey ?? false,
|
95
|
+
autoIncrement: column.autoIncrement ?? false,
|
95
96
|
type: { _tag: column.columnType },
|
96
97
|
} satisfies SqliteAst.Column
|
97
98
|
})
|
@@ -16,6 +16,8 @@ export {
|
|
16
16
|
clientDocument,
|
17
17
|
tableIsClientDocumentTable,
|
18
18
|
} from './client-document-def.ts'
|
19
|
+
export * from './column-annotations.ts'
|
20
|
+
export * from './column-spec.ts'
|
19
21
|
export * from './table-def.ts'
|
20
22
|
|
21
23
|
export const makeState = <TStateInput extends InputState>(inputSchema: TStateInput): InternalState => {
|