@livestore/common 0.3.2-dev.9 → 0.4.0-dev.1

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.
Files changed (172) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ClientSessionLeaderThreadProxy.d.ts +2 -2
  3. package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
  4. package/dist/adapter-types.d.ts +4 -4
  5. package/dist/adapter-types.d.ts.map +1 -1
  6. package/dist/debug-info.d.ts +17 -17
  7. package/dist/devtools/devtools-messages-client-session.d.ts +38 -38
  8. package/dist/devtools/devtools-messages-common.d.ts +6 -6
  9. package/dist/devtools/devtools-messages-leader.d.ts +28 -28
  10. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  11. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  12. package/dist/leader-thread/LeaderSyncProcessor.js +3 -1
  13. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  14. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  15. package/dist/leader-thread/make-leader-thread-layer.js +21 -4
  16. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  17. package/dist/leader-thread/shutdown-channel.d.ts +2 -2
  18. package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
  19. package/dist/leader-thread/shutdown-channel.js +2 -2
  20. package/dist/leader-thread/shutdown-channel.js.map +1 -1
  21. package/dist/leader-thread/types.d.ts +1 -1
  22. package/dist/leader-thread/types.d.ts.map +1 -1
  23. package/dist/materializer-helper.d.ts +3 -3
  24. package/dist/materializer-helper.d.ts.map +1 -1
  25. package/dist/materializer-helper.js +2 -2
  26. package/dist/materializer-helper.js.map +1 -1
  27. package/dist/rematerialize-from-eventlog.js +1 -1
  28. package/dist/rematerialize-from-eventlog.js.map +1 -1
  29. package/dist/schema/EventDef.d.ts +104 -178
  30. package/dist/schema/EventSequenceNumber.d.ts +5 -0
  31. package/dist/schema/EventSequenceNumber.d.ts.map +1 -1
  32. package/dist/schema/EventSequenceNumber.js +7 -2
  33. package/dist/schema/EventSequenceNumber.js.map +1 -1
  34. package/dist/schema/EventSequenceNumber.test.js +2 -2
  35. package/dist/schema/LiveStoreEvent.d.ts +6 -5
  36. package/dist/schema/LiveStoreEvent.d.ts.map +1 -1
  37. package/dist/schema/LiveStoreEvent.js +5 -0
  38. package/dist/schema/LiveStoreEvent.js.map +1 -1
  39. package/dist/schema/schema.d.ts +3 -0
  40. package/dist/schema/schema.d.ts.map +1 -1
  41. package/dist/schema/schema.js.map +1 -1
  42. package/dist/schema/state/sqlite/client-document-def.d.ts +3 -2
  43. package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
  44. package/dist/schema/state/sqlite/client-document-def.js +6 -4
  45. package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
  46. package/dist/schema/state/sqlite/client-document-def.test.js +76 -1
  47. package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
  48. package/dist/schema/state/sqlite/column-annotations.d.ts +34 -0
  49. package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -0
  50. package/dist/schema/state/sqlite/column-annotations.js +50 -0
  51. package/dist/schema/state/sqlite/column-annotations.js.map +1 -0
  52. package/dist/schema/state/sqlite/column-annotations.test.d.ts +2 -0
  53. package/dist/schema/state/sqlite/column-annotations.test.d.ts.map +1 -0
  54. package/dist/schema/state/sqlite/column-annotations.test.js +179 -0
  55. package/dist/schema/state/sqlite/column-annotations.test.js.map +1 -0
  56. package/dist/schema/state/sqlite/column-def.d.ts +15 -0
  57. package/dist/schema/state/sqlite/column-def.d.ts.map +1 -0
  58. package/dist/schema/state/sqlite/column-def.js +242 -0
  59. package/dist/schema/state/sqlite/column-def.js.map +1 -0
  60. package/dist/schema/state/sqlite/column-def.test.d.ts +2 -0
  61. package/dist/schema/state/sqlite/column-def.test.d.ts.map +1 -0
  62. package/dist/schema/state/sqlite/column-def.test.js +529 -0
  63. package/dist/schema/state/sqlite/column-def.test.js.map +1 -0
  64. package/dist/schema/state/sqlite/column-spec.d.ts +11 -0
  65. package/dist/schema/state/sqlite/column-spec.d.ts.map +1 -0
  66. package/dist/schema/state/sqlite/column-spec.js +39 -0
  67. package/dist/schema/state/sqlite/column-spec.js.map +1 -0
  68. package/dist/schema/state/sqlite/column-spec.test.d.ts +2 -0
  69. package/dist/schema/state/sqlite/column-spec.test.d.ts.map +1 -0
  70. package/dist/schema/state/sqlite/column-spec.test.js +146 -0
  71. package/dist/schema/state/sqlite/column-spec.test.js.map +1 -0
  72. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +1 -0
  73. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -1
  74. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +1 -0
  75. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
  76. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts +17 -4
  77. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -1
  78. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +2 -0
  79. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
  80. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts +65 -165
  81. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
  82. package/dist/schema/state/sqlite/db-schema/dsl/mod.js +1 -0
  83. package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
  84. package/dist/schema/state/sqlite/mod.d.ts +2 -0
  85. package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
  86. package/dist/schema/state/sqlite/mod.js +2 -0
  87. package/dist/schema/state/sqlite/mod.js.map +1 -1
  88. package/dist/schema/state/sqlite/query-builder/api.d.ts +309 -560
  89. package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
  90. package/dist/schema/state/sqlite/query-builder/astToSql.d.ts +1 -0
  91. package/dist/schema/state/sqlite/query-builder/astToSql.d.ts.map +1 -1
  92. package/dist/schema/state/sqlite/query-builder/astToSql.js +8 -6
  93. package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
  94. package/dist/schema/state/sqlite/system-tables.d.ts +464 -46
  95. package/dist/schema/state/sqlite/system-tables.d.ts.map +1 -1
  96. package/dist/schema/state/sqlite/table-def.d.ts +159 -152
  97. package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
  98. package/dist/schema/state/sqlite/table-def.js +45 -6
  99. package/dist/schema/state/sqlite/table-def.js.map +1 -1
  100. package/dist/schema/state/sqlite/table-def.test.d.ts +2 -0
  101. package/dist/schema/state/sqlite/table-def.test.d.ts.map +1 -0
  102. package/dist/schema/state/sqlite/table-def.test.js +192 -0
  103. package/dist/schema/state/sqlite/table-def.test.js.map +1 -0
  104. package/dist/schema-management/common.d.ts +1 -1
  105. package/dist/schema-management/common.d.ts.map +1 -1
  106. package/dist/schema-management/common.js +11 -2
  107. package/dist/schema-management/common.js.map +1 -1
  108. package/dist/schema-management/migrations.d.ts +0 -1
  109. package/dist/schema-management/migrations.d.ts.map +1 -1
  110. package/dist/schema-management/migrations.js +4 -30
  111. package/dist/schema-management/migrations.js.map +1 -1
  112. package/dist/schema-management/migrations.test.d.ts +2 -0
  113. package/dist/schema-management/migrations.test.d.ts.map +1 -0
  114. package/dist/schema-management/migrations.test.js +52 -0
  115. package/dist/schema-management/migrations.test.js.map +1 -0
  116. package/dist/sql-queries/types.d.ts +37 -133
  117. package/dist/sqlite-db-helper.d.ts +3 -1
  118. package/dist/sqlite-db-helper.d.ts.map +1 -1
  119. package/dist/sqlite-db-helper.js +16 -0
  120. package/dist/sqlite-db-helper.js.map +1 -1
  121. package/dist/sqlite-types.d.ts +4 -4
  122. package/dist/sqlite-types.d.ts.map +1 -1
  123. package/dist/sync/ClientSessionSyncProcessor.d.ts +2 -2
  124. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  125. package/dist/sync/ClientSessionSyncProcessor.js +8 -7
  126. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  127. package/dist/sync/sync.d.ts.map +1 -1
  128. package/dist/sync/sync.js.map +1 -1
  129. package/dist/util.d.ts +3 -3
  130. package/dist/util.d.ts.map +1 -1
  131. package/dist/util.js.map +1 -1
  132. package/dist/version.d.ts +1 -1
  133. package/dist/version.js +1 -1
  134. package/package.json +4 -4
  135. package/src/ClientSessionLeaderThreadProxy.ts +2 -2
  136. package/src/adapter-types.ts +6 -4
  137. package/src/devtools/devtools-messages-leader.ts +3 -3
  138. package/src/leader-thread/LeaderSyncProcessor.ts +3 -1
  139. package/src/leader-thread/make-leader-thread-layer.ts +26 -7
  140. package/src/leader-thread/shutdown-channel.ts +2 -2
  141. package/src/leader-thread/types.ts +1 -1
  142. package/src/materializer-helper.ts +5 -11
  143. package/src/rematerialize-from-eventlog.ts +2 -2
  144. package/src/schema/EventSequenceNumber.test.ts +2 -2
  145. package/src/schema/EventSequenceNumber.ts +8 -2
  146. package/src/schema/LiveStoreEvent.ts +7 -1
  147. package/src/schema/schema.ts +4 -0
  148. package/src/schema/state/sqlite/client-document-def.test.ts +89 -1
  149. package/src/schema/state/sqlite/client-document-def.ts +7 -4
  150. package/src/schema/state/sqlite/column-annotations.test.ts +212 -0
  151. package/src/schema/state/sqlite/column-annotations.ts +77 -0
  152. package/src/schema/state/sqlite/column-def.test.ts +665 -0
  153. package/src/schema/state/sqlite/column-def.ts +290 -0
  154. package/src/schema/state/sqlite/column-spec.test.ts +223 -0
  155. package/src/schema/state/sqlite/column-spec.ts +42 -0
  156. package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +2 -0
  157. package/src/schema/state/sqlite/db-schema/dsl/__snapshots__/field-defs.test.ts.snap +15 -0
  158. package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +20 -2
  159. package/src/schema/state/sqlite/db-schema/dsl/mod.ts +1 -0
  160. package/src/schema/state/sqlite/mod.ts +2 -0
  161. package/src/schema/state/sqlite/query-builder/api.ts +4 -3
  162. package/src/schema/state/sqlite/query-builder/astToSql.ts +9 -7
  163. package/src/schema/state/sqlite/table-def.test.ts +241 -0
  164. package/src/schema/state/sqlite/table-def.ts +222 -16
  165. package/src/schema-management/common.ts +10 -3
  166. package/src/schema-management/migrations.ts +4 -33
  167. package/src/sqlite-db-helper.ts +19 -1
  168. package/src/sqlite-types.ts +4 -4
  169. package/src/sync/ClientSessionSyncProcessor.ts +13 -8
  170. package/src/sync/sync.ts +2 -0
  171. package/src/util.ts +7 -2
  172. package/src/version.ts +1 -1
@@ -0,0 +1,242 @@
1
+ import { shouldNeverHappen } from '@livestore/utils';
2
+ import { Option, Schema, SchemaAST } from '@livestore/utils/effect';
3
+ import { AutoIncrement, ColumnType, Default, PrimaryKeyId, Unique } from "./column-annotations.js";
4
+ import { SqliteDsl } from "./db-schema/mod.js";
5
+ /**
6
+ * Maps a schema to a SQLite column definition, respecting column annotations.
7
+ */
8
+ export const getColumnDefForSchema = (schema, propertySignature) => {
9
+ const ast = schema.ast;
10
+ // 1. Extract annotations
11
+ const getAnnotation = (annotationId) => propertySignature
12
+ ? hasPropertyAnnotation(propertySignature, annotationId)
13
+ : SchemaAST.getAnnotation(annotationId)(ast);
14
+ const annotations = {
15
+ primaryKey: getAnnotation(PrimaryKeyId).pipe(Option.getOrElse(() => false)),
16
+ autoIncrement: getAnnotation(AutoIncrement).pipe(Option.getOrElse(() => false)),
17
+ defaultValue: getAnnotation(Default),
18
+ columnType: SchemaAST.getAnnotation(ColumnType)(ast),
19
+ };
20
+ // 2. Resolve the core type and nullable info
21
+ const typeInfo = resolveType(ast);
22
+ // 3. Create column definition based on resolved type
23
+ let columnDef;
24
+ // Custom column type overrides everything
25
+ if (Option.isSome(annotations.columnType)) {
26
+ columnDef = createColumnFromType(annotations.columnType.value, typeInfo.coreType);
27
+ }
28
+ // Lossy case: both null and undefined need JSON
29
+ else if (typeInfo.hasNull && typeInfo.hasUndefined) {
30
+ columnDef = {
31
+ ...SqliteDsl.text(),
32
+ nullable: true,
33
+ schema: Schema.parseJson(schema),
34
+ };
35
+ }
36
+ // Regular nullable/optional case
37
+ else if (typeInfo.hasNull || typeInfo.hasUndefined) {
38
+ const baseColumnDef = createColumnFromAST(typeInfo.coreType, Schema.make(typeInfo.coreType));
39
+ const isComplexOptional = typeInfo.hasUndefined && !isPrimitiveAST(typeInfo.coreType);
40
+ columnDef = {
41
+ ...baseColumnDef,
42
+ nullable: true,
43
+ schema: isComplexOptional ? Schema.parseJson(schema) : schema,
44
+ };
45
+ }
46
+ // Non-nullable type
47
+ else {
48
+ columnDef = createColumnFromAST(ast, schema);
49
+ }
50
+ // 4. Apply annotations
51
+ const result = { ...columnDef };
52
+ if (annotations.primaryKey)
53
+ result.primaryKey = true;
54
+ if (annotations.autoIncrement)
55
+ result.autoIncrement = true;
56
+ if (Option.isSome(annotations.defaultValue)) {
57
+ result.default = Option.some(annotations.defaultValue.value);
58
+ }
59
+ return result;
60
+ };
61
+ /**
62
+ * Checks if a property signature has a specific annotation, checking both
63
+ * the property signature itself and its type AST.
64
+ */
65
+ const hasPropertyAnnotation = (propertySignature, annotationId) => {
66
+ // When using Schema.optional(Schema.String).pipe(withPrimaryKey) in a struct,
67
+ // the annotation ends up on a PropertySignatureDeclaration, not the Union type
68
+ // Check if this is a PropertySignatureDeclaration with annotations
69
+ if ('annotations' in propertySignature && propertySignature.annotations) {
70
+ const annotation = SchemaAST.getAnnotation(annotationId)(propertySignature);
71
+ if (Option.isSome(annotation)) {
72
+ return annotation;
73
+ }
74
+ }
75
+ // Otherwise check the type AST
76
+ return SchemaAST.getAnnotation(annotationId)(propertySignature.type);
77
+ };
78
+ /**
79
+ * Maps schema property signatures to SQLite column definitions.
80
+ * Returns both columns and unique column names for index creation.
81
+ */
82
+ export const schemaFieldsToColumns = (propertySignatures) => {
83
+ const columns = {};
84
+ const uniqueColumns = [];
85
+ for (const prop of propertySignatures) {
86
+ if (typeof prop.name === 'string') {
87
+ // Create a schema from the AST
88
+ const fieldSchema = Schema.make(prop.type);
89
+ // Check if property has primary key annotation
90
+ const hasPrimaryKey = hasPropertyAnnotation(prop, PrimaryKeyId).pipe(Option.getOrElse(() => false));
91
+ // Check if property has unique annotation
92
+ const hasUnique = hasPropertyAnnotation(prop, Unique).pipe(Option.getOrElse(() => false));
93
+ columns[prop.name] = schemaFieldToColumn(fieldSchema, prop, hasPrimaryKey);
94
+ if (hasUnique) {
95
+ uniqueColumns.push(prop.name);
96
+ }
97
+ }
98
+ }
99
+ return { columns, uniqueColumns };
100
+ };
101
+ /**
102
+ * Converts a schema field and its property signature to a SQLite column definition.
103
+ */
104
+ const schemaFieldToColumn = (fieldSchema, propertySignature, forceHasPrimaryKey) => {
105
+ // Determine column type based on schema type
106
+ const columnDef = getColumnDefForSchema(fieldSchema, propertySignature);
107
+ // Create a new object with appropriate properties
108
+ const result = {
109
+ columnType: columnDef.columnType,
110
+ schema: columnDef.schema,
111
+ default: columnDef.default,
112
+ nullable: columnDef.nullable,
113
+ primaryKey: columnDef.primaryKey,
114
+ autoIncrement: columnDef.autoIncrement,
115
+ };
116
+ // Set primaryKey property explicitly
117
+ if (forceHasPrimaryKey || columnDef.primaryKey) {
118
+ result.primaryKey = true;
119
+ }
120
+ else {
121
+ result.primaryKey = false;
122
+ }
123
+ // Check for invalid primary key + nullable combination
124
+ if (result.primaryKey && (propertySignature.isOptional || columnDef.nullable)) {
125
+ return shouldNeverHappen(`Primary key columns cannot be nullable. Found nullable primary key for column. ` +
126
+ `Either remove the primary key annotation or use a non-nullable schema.`);
127
+ }
128
+ // Set nullable property explicitly
129
+ if (propertySignature.isOptional) {
130
+ result.nullable = true;
131
+ }
132
+ else if (columnDef.nullable) {
133
+ result.nullable = true;
134
+ }
135
+ else {
136
+ result.nullable = false;
137
+ }
138
+ // Only add autoIncrement if it's true
139
+ if (columnDef.autoIncrement) {
140
+ result.autoIncrement = true;
141
+ }
142
+ return result;
143
+ };
144
+ /**
145
+ * Resolves type information from an AST, unwrapping unions and tracking nullability.
146
+ */
147
+ const resolveType = (ast) => {
148
+ if (!SchemaAST.isUnion(ast)) {
149
+ return { coreType: ast, hasNull: false, hasUndefined: false };
150
+ }
151
+ let hasNull = false;
152
+ let hasUndefined = false;
153
+ let coreType;
154
+ const visit = (type) => {
155
+ if (SchemaAST.isUndefinedKeyword(type)) {
156
+ hasUndefined = true;
157
+ }
158
+ else if (SchemaAST.isLiteral(type) && type.literal === null) {
159
+ hasNull = true;
160
+ }
161
+ else if (SchemaAST.isUnion(type)) {
162
+ type.types.forEach(visit);
163
+ }
164
+ else if (!coreType) {
165
+ coreType = type;
166
+ }
167
+ };
168
+ ast.types.forEach(visit);
169
+ return { coreType: coreType || ast, hasNull, hasUndefined };
170
+ };
171
+ /**
172
+ * Creates a column definition from an AST node.
173
+ */
174
+ const createColumnFromAST = (ast, schema) => {
175
+ // Follow refinements and transformations to their core type
176
+ if (SchemaAST.isRefinement(ast)) {
177
+ // Special case for Schema.Int
178
+ const identifier = SchemaAST.getIdentifierAnnotation(ast).pipe(Option.getOrElse(() => ''));
179
+ if (identifier === 'Int')
180
+ return SqliteDsl.integer();
181
+ return createColumnFromAST(ast.from, Schema.make(ast.from));
182
+ }
183
+ if (SchemaAST.isTransformation(ast)) {
184
+ return createColumnFromAST(ast.to, Schema.make(ast.to));
185
+ }
186
+ // Primitive types
187
+ if (SchemaAST.isStringKeyword(ast))
188
+ return SqliteDsl.text();
189
+ if (SchemaAST.isNumberKeyword(ast))
190
+ return SqliteDsl.real();
191
+ if (SchemaAST.isBooleanKeyword(ast))
192
+ return SqliteDsl.boolean();
193
+ // Literals
194
+ if (SchemaAST.isLiteral(ast)) {
195
+ const value = ast.literal;
196
+ if (typeof value === 'string')
197
+ return SqliteDsl.text();
198
+ if (typeof value === 'number')
199
+ return SqliteDsl.real();
200
+ if (typeof value === 'boolean')
201
+ return SqliteDsl.boolean();
202
+ }
203
+ // Everything else is complex
204
+ return SqliteDsl.json({ schema });
205
+ };
206
+ /**
207
+ * Creates a column from a specific column type string.
208
+ */
209
+ const createColumnFromType = (columnType, ast) => {
210
+ switch (columnType) {
211
+ case 'text':
212
+ return SqliteDsl.text();
213
+ case 'integer':
214
+ // Preserve boolean transformation
215
+ return SchemaAST.isBooleanKeyword(ast) ? SqliteDsl.boolean() : SqliteDsl.integer();
216
+ case 'real':
217
+ return SqliteDsl.real();
218
+ case 'blob':
219
+ return SqliteDsl.blob();
220
+ default:
221
+ return shouldNeverHappen(`Unsupported column type: ${columnType}`);
222
+ }
223
+ };
224
+ /**
225
+ * Checks if an AST represents a primitive (non-complex) type.
226
+ */
227
+ const isPrimitiveAST = (ast) => {
228
+ if (SchemaAST.isStringKeyword(ast) ||
229
+ SchemaAST.isNumberKeyword(ast) ||
230
+ SchemaAST.isBooleanKeyword(ast) ||
231
+ SchemaAST.isLiteral(ast)) {
232
+ return true;
233
+ }
234
+ if (SchemaAST.isRefinement(ast)) {
235
+ return isPrimitiveAST(ast.from);
236
+ }
237
+ if (SchemaAST.isTransformation(ast)) {
238
+ return isPrimitiveAST(ast.to);
239
+ }
240
+ return false;
241
+ };
242
+ //# sourceMappingURL=column-def.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-def.js","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/column-def.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=column-def.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-def.test.d.ts","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/column-def.test.ts"],"names":[],"mappings":""}