@livestore/common 0.3.0-dev.11 → 0.3.0-dev.13

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 (280) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/__tests__/fixture.d.ts +21 -21
  3. package/dist/adapter-types.d.ts +41 -18
  4. package/dist/adapter-types.d.ts.map +1 -1
  5. package/dist/adapter-types.js +12 -0
  6. package/dist/adapter-types.js.map +1 -1
  7. package/dist/db-schema/ast/sqlite.d.ts +69 -0
  8. package/dist/db-schema/ast/sqlite.d.ts.map +1 -0
  9. package/dist/db-schema/ast/sqlite.js +71 -0
  10. package/dist/db-schema/ast/sqlite.js.map +1 -0
  11. package/dist/db-schema/ast/validate.d.ts +3 -0
  12. package/dist/db-schema/ast/validate.d.ts.map +1 -0
  13. package/dist/db-schema/ast/validate.js +12 -0
  14. package/dist/db-schema/ast/validate.js.map +1 -0
  15. package/dist/db-schema/dsl/field-defs.d.ts +90 -0
  16. package/dist/db-schema/dsl/field-defs.d.ts.map +1 -0
  17. package/dist/db-schema/dsl/field-defs.js +87 -0
  18. package/dist/db-schema/dsl/field-defs.js.map +1 -0
  19. package/dist/db-schema/dsl/field-defs.test.d.ts +2 -0
  20. package/dist/db-schema/dsl/field-defs.test.d.ts.map +1 -0
  21. package/dist/db-schema/dsl/field-defs.test.js +29 -0
  22. package/dist/db-schema/dsl/field-defs.test.js.map +1 -0
  23. package/dist/db-schema/dsl/index.d.ts +88 -0
  24. package/dist/db-schema/dsl/index.d.ts.map +1 -0
  25. package/dist/db-schema/dsl/index.js +35 -0
  26. package/dist/db-schema/dsl/index.js.map +1 -0
  27. package/dist/db-schema/dsl/mod.d.ts +90 -0
  28. package/dist/db-schema/dsl/mod.d.ts.map +1 -0
  29. package/dist/db-schema/dsl/mod.js +35 -0
  30. package/dist/db-schema/dsl/mod.js.map +1 -0
  31. package/dist/db-schema/dsl/sqlite/field-defs.d.ts +90 -0
  32. package/dist/db-schema/dsl/sqlite/field-defs.d.ts.map +1 -0
  33. package/dist/db-schema/dsl/sqlite/field-defs.js +86 -0
  34. package/dist/db-schema/dsl/sqlite/field-defs.js.map +1 -0
  35. package/dist/db-schema/dsl/sqlite/field-defs.test.d.ts +2 -0
  36. package/dist/db-schema/dsl/sqlite/field-defs.test.d.ts.map +1 -0
  37. package/dist/db-schema/dsl/sqlite/field-defs.test.js +29 -0
  38. package/dist/db-schema/dsl/sqlite/field-defs.test.js.map +1 -0
  39. package/dist/db-schema/dsl/sqlite/index.d.ts +88 -0
  40. package/dist/db-schema/dsl/sqlite/index.d.ts.map +1 -0
  41. package/dist/db-schema/dsl/sqlite/index.js +35 -0
  42. package/dist/db-schema/dsl/sqlite/index.js.map +1 -0
  43. package/dist/db-schema/hash.d.ts +2 -0
  44. package/dist/db-schema/hash.d.ts.map +1 -0
  45. package/dist/db-schema/hash.js +14 -0
  46. package/dist/db-schema/hash.js.map +1 -0
  47. package/dist/db-schema/index.d.ts +4 -0
  48. package/dist/db-schema/index.d.ts.map +1 -0
  49. package/dist/db-schema/index.js +6 -0
  50. package/dist/db-schema/index.js.map +1 -0
  51. package/dist/db-schema/mod.d.ts +3 -0
  52. package/dist/db-schema/mod.d.ts.map +1 -0
  53. package/dist/db-schema/mod.js +3 -0
  54. package/dist/db-schema/mod.js.map +1 -0
  55. package/dist/derived-mutations.d.ts +1 -1
  56. package/dist/derived-mutations.d.ts.map +1 -1
  57. package/dist/derived-mutations.js +3 -3
  58. package/dist/derived-mutations.js.map +1 -1
  59. package/dist/devtools/devtools-bridge.d.ts +10 -7
  60. package/dist/devtools/devtools-bridge.d.ts.map +1 -1
  61. package/dist/devtools/devtools-messages-client-session.d.ts +101 -28
  62. package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -1
  63. package/dist/devtools/devtools-messages-client-session.js +19 -3
  64. package/dist/devtools/devtools-messages-client-session.js.map +1 -1
  65. package/dist/devtools/devtools-messages-common.d.ts +24 -32
  66. package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
  67. package/dist/devtools/devtools-messages-common.js +19 -10
  68. package/dist/devtools/devtools-messages-common.js.map +1 -1
  69. package/dist/devtools/devtools-messages-leader.d.ts +220 -56
  70. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  71. package/dist/devtools/devtools-messages-leader.js +57 -9
  72. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  73. package/dist/devtools/devtools-messages.d.ts +2 -2
  74. package/dist/devtools/devtools-messages.d.ts.map +1 -1
  75. package/dist/devtools/devtools-messages.js +2 -2
  76. package/dist/devtools/devtools-messages.js.map +1 -1
  77. package/dist/index.d.ts +1 -1
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +1 -1
  80. package/dist/index.js.map +1 -1
  81. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  82. package/dist/leader-thread/LeaderSyncProcessor.js +50 -35
  83. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  84. package/dist/leader-thread/apply-mutation.d.ts.map +1 -1
  85. package/dist/leader-thread/apply-mutation.js +8 -6
  86. package/dist/leader-thread/apply-mutation.js.map +1 -1
  87. package/dist/leader-thread/connection.d.ts +31 -3
  88. package/dist/leader-thread/connection.d.ts.map +1 -1
  89. package/dist/leader-thread/connection.js +18 -3
  90. package/dist/leader-thread/connection.js.map +1 -1
  91. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  92. package/dist/leader-thread/leader-worker-devtools.js +56 -31
  93. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  94. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  95. package/dist/leader-thread/make-leader-thread-layer.js +23 -6
  96. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  97. package/dist/leader-thread/mutationlog.d.ts +1 -1
  98. package/dist/leader-thread/mutationlog.d.ts.map +1 -1
  99. package/dist/leader-thread/mutationlog.js +7 -5
  100. package/dist/leader-thread/mutationlog.js.map +1 -1
  101. package/dist/leader-thread/pull-queue-set.d.ts.map +1 -1
  102. package/dist/leader-thread/recreate-db.d.ts +4 -2
  103. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  104. package/dist/leader-thread/recreate-db.js +13 -8
  105. package/dist/leader-thread/recreate-db.js.map +1 -1
  106. package/dist/leader-thread/types.d.ts +22 -15
  107. package/dist/leader-thread/types.d.ts.map +1 -1
  108. package/dist/leader-thread/types.js +1 -3
  109. package/dist/leader-thread/types.js.map +1 -1
  110. package/dist/query-builder/api.d.ts +3 -3
  111. package/dist/query-builder/api.d.ts.map +1 -1
  112. package/dist/query-builder/impl.js.map +1 -1
  113. package/dist/query-builder/impl.test.js +16 -1
  114. package/dist/query-builder/impl.test.js.map +1 -1
  115. package/dist/query-info.d.ts +3 -3
  116. package/dist/query-info.d.ts.map +1 -1
  117. package/dist/rehydrate-from-mutationlog.d.ts.map +1 -1
  118. package/dist/rehydrate-from-mutationlog.js +8 -6
  119. package/dist/rehydrate-from-mutationlog.js.map +1 -1
  120. package/dist/schema/EventId.d.ts +10 -9
  121. package/dist/schema/EventId.d.ts.map +1 -1
  122. package/dist/schema/EventId.js +14 -11
  123. package/dist/schema/EventId.js.map +1 -1
  124. package/dist/schema/EventId.test.js +3 -3
  125. package/dist/schema/EventId.test.js.map +1 -1
  126. package/dist/schema/MutationEvent.d.ts +37 -12
  127. package/dist/schema/MutationEvent.d.ts.map +1 -1
  128. package/dist/schema/MutationEvent.js +20 -4
  129. package/dist/schema/MutationEvent.js.map +1 -1
  130. package/dist/schema/db-schema/ast/sqlite.d.ts +69 -0
  131. package/dist/schema/db-schema/ast/sqlite.d.ts.map +1 -0
  132. package/dist/schema/db-schema/ast/sqlite.js +71 -0
  133. package/dist/schema/db-schema/ast/sqlite.js.map +1 -0
  134. package/dist/schema/db-schema/ast/validate.d.ts +3 -0
  135. package/dist/schema/db-schema/ast/validate.d.ts.map +1 -0
  136. package/dist/schema/db-schema/ast/validate.js +12 -0
  137. package/dist/schema/db-schema/ast/validate.js.map +1 -0
  138. package/dist/schema/db-schema/dsl/field-defs.d.ts +90 -0
  139. package/dist/schema/db-schema/dsl/field-defs.d.ts.map +1 -0
  140. package/dist/schema/db-schema/dsl/field-defs.js +87 -0
  141. package/dist/schema/db-schema/dsl/field-defs.js.map +1 -0
  142. package/dist/schema/db-schema/dsl/field-defs.test.d.ts +2 -0
  143. package/dist/schema/db-schema/dsl/field-defs.test.d.ts.map +1 -0
  144. package/dist/schema/db-schema/dsl/field-defs.test.js +29 -0
  145. package/dist/schema/db-schema/dsl/field-defs.test.js.map +1 -0
  146. package/dist/schema/db-schema/dsl/mod.d.ts +88 -0
  147. package/dist/schema/db-schema/dsl/mod.d.ts.map +1 -0
  148. package/dist/schema/db-schema/dsl/mod.js +35 -0
  149. package/dist/schema/db-schema/dsl/mod.js.map +1 -0
  150. package/dist/schema/db-schema/hash.d.ts +2 -0
  151. package/dist/schema/db-schema/hash.d.ts.map +1 -0
  152. package/dist/schema/db-schema/hash.js +14 -0
  153. package/dist/schema/db-schema/hash.js.map +1 -0
  154. package/dist/schema/db-schema/mod.d.ts +3 -0
  155. package/dist/schema/db-schema/mod.d.ts.map +1 -0
  156. package/dist/schema/db-schema/mod.js +3 -0
  157. package/dist/schema/db-schema/mod.js.map +1 -0
  158. package/dist/schema/mod.d.ts +1 -0
  159. package/dist/schema/mod.d.ts.map +1 -1
  160. package/dist/schema/mod.js +1 -0
  161. package/dist/schema/mod.js.map +1 -1
  162. package/dist/schema/mutations.d.ts +4 -8
  163. package/dist/schema/mutations.d.ts.map +1 -1
  164. package/dist/schema/mutations.js +2 -2
  165. package/dist/schema/mutations.js.map +1 -1
  166. package/dist/schema/schema-helpers.js +1 -1
  167. package/dist/schema/schema-helpers.js.map +1 -1
  168. package/dist/schema/schema.d.ts +1 -1
  169. package/dist/schema/schema.d.ts.map +1 -1
  170. package/dist/schema/schema.js +1 -1
  171. package/dist/schema/schema.js.map +1 -1
  172. package/dist/schema/system-tables.d.ts +47 -29
  173. package/dist/schema/system-tables.d.ts.map +1 -1
  174. package/dist/schema/system-tables.js +10 -7
  175. package/dist/schema/system-tables.js.map +1 -1
  176. package/dist/schema/table-def.d.ts +18 -14
  177. package/dist/schema/table-def.d.ts.map +1 -1
  178. package/dist/schema/table-def.js +3 -4
  179. package/dist/schema/table-def.js.map +1 -1
  180. package/dist/schema-management/migrations.d.ts +3 -3
  181. package/dist/schema-management/migrations.d.ts.map +1 -1
  182. package/dist/schema-management/migrations.js +7 -2
  183. package/dist/schema-management/migrations.js.map +1 -1
  184. package/dist/sql-queries/sql-queries.d.ts +1 -1
  185. package/dist/sql-queries/sql-queries.d.ts.map +1 -1
  186. package/dist/sql-queries/sql-queries.js.map +1 -1
  187. package/dist/sql-queries/sql-query-builder.d.ts +1 -1
  188. package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
  189. package/dist/sql-queries/sql-query-builder.js.map +1 -1
  190. package/dist/sql-queries/types.d.ts +2 -1
  191. package/dist/sql-queries/types.d.ts.map +1 -1
  192. package/dist/sql-queries/types.js.map +1 -1
  193. package/dist/sync/ClientSessionSyncProcessor.d.ts +3 -5
  194. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  195. package/dist/sync/ClientSessionSyncProcessor.js +38 -12
  196. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  197. package/dist/sync/next/facts.js +1 -1
  198. package/dist/sync/next/facts.js.map +1 -1
  199. package/dist/sync/next/history-dag-common.d.ts +2 -0
  200. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  201. package/dist/sync/next/history-dag-common.js +3 -1
  202. package/dist/sync/next/history-dag-common.js.map +1 -1
  203. package/dist/sync/next/history-dag.d.ts.map +1 -1
  204. package/dist/sync/next/history-dag.js +1 -1
  205. package/dist/sync/next/history-dag.js.map +1 -1
  206. package/dist/sync/next/rebase-events.d.ts +3 -1
  207. package/dist/sync/next/rebase-events.d.ts.map +1 -1
  208. package/dist/sync/next/rebase-events.js +5 -3
  209. package/dist/sync/next/rebase-events.js.map +1 -1
  210. package/dist/sync/next/test/compact-events.calculator.test.js +12 -12
  211. package/dist/sync/next/test/compact-events.calculator.test.js.map +1 -1
  212. package/dist/sync/next/test/compact-events.test.js +43 -43
  213. package/dist/sync/next/test/compact-events.test.js.map +1 -1
  214. package/dist/sync/next/test/mutation-fixtures.d.ts +11 -11
  215. package/dist/sync/next/test/mutation-fixtures.d.ts.map +1 -1
  216. package/dist/sync/next/test/mutation-fixtures.js +12 -10
  217. package/dist/sync/next/test/mutation-fixtures.js.map +1 -1
  218. package/dist/sync/sync.d.ts +2 -2
  219. package/dist/sync/syncstate.d.ts +9 -9
  220. package/dist/sync/syncstate.js +6 -6
  221. package/dist/sync/syncstate.js.map +1 -1
  222. package/dist/sync/syncstate.test.js +18 -16
  223. package/dist/sync/syncstate.test.js.map +1 -1
  224. package/dist/version.d.ts +1 -1
  225. package/dist/version.js +1 -1
  226. package/package.json +2 -3
  227. package/src/adapter-types.ts +35 -17
  228. package/src/derived-mutations.ts +4 -4
  229. package/src/devtools/devtools-bridge.ts +10 -7
  230. package/src/devtools/devtools-messages-client-session.ts +26 -10
  231. package/src/devtools/devtools-messages-common.ts +37 -8
  232. package/src/devtools/devtools-messages-leader.ts +78 -16
  233. package/src/devtools/devtools-messages.ts +2 -2
  234. package/src/index.ts +1 -1
  235. package/src/leader-thread/LeaderSyncProcessor.ts +59 -38
  236. package/src/leader-thread/apply-mutation.ts +15 -5
  237. package/src/leader-thread/connection.ts +48 -3
  238. package/src/leader-thread/leader-worker-devtools.ts +85 -35
  239. package/src/leader-thread/make-leader-thread-layer.ts +29 -9
  240. package/src/leader-thread/mutationlog.ts +8 -6
  241. package/src/leader-thread/recreate-db.ts +19 -10
  242. package/src/leader-thread/types.ts +22 -15
  243. package/src/query-builder/api.ts +4 -4
  244. package/src/query-builder/impl.test.ts +22 -1
  245. package/src/query-builder/impl.ts +2 -2
  246. package/src/query-info.ts +3 -3
  247. package/src/rehydrate-from-mutationlog.ts +8 -6
  248. package/src/schema/EventId.test.ts +3 -3
  249. package/src/schema/EventId.ts +20 -16
  250. package/src/schema/MutationEvent.ts +31 -6
  251. package/src/schema/db-schema/ast/sqlite.ts +142 -0
  252. package/src/schema/db-schema/ast/validate.ts +13 -0
  253. package/src/schema/db-schema/dsl/__snapshots__/field-defs.test.ts.snap +206 -0
  254. package/src/schema/db-schema/dsl/field-defs.test.ts +35 -0
  255. package/src/schema/db-schema/dsl/field-defs.ts +242 -0
  256. package/src/schema/db-schema/dsl/mod.ts +195 -0
  257. package/src/schema/db-schema/hash.ts +14 -0
  258. package/src/schema/db-schema/mod.ts +2 -0
  259. package/src/schema/mod.ts +1 -0
  260. package/src/schema/mutations.ts +6 -19
  261. package/src/schema/schema-helpers.ts +1 -1
  262. package/src/schema/schema.ts +2 -2
  263. package/src/schema/system-tables.ts +10 -7
  264. package/src/schema/table-def.ts +17 -16
  265. package/src/schema-management/migrations.ts +10 -6
  266. package/src/sql-queries/sql-queries.ts +1 -1
  267. package/src/sql-queries/sql-query-builder.ts +1 -2
  268. package/src/sql-queries/types.ts +3 -1
  269. package/src/sync/ClientSessionSyncProcessor.ts +44 -14
  270. package/src/sync/next/facts.ts +1 -1
  271. package/src/sync/next/history-dag-common.ts +5 -1
  272. package/src/sync/next/history-dag.ts +1 -1
  273. package/src/sync/next/rebase-events.ts +8 -2
  274. package/src/sync/next/test/compact-events.calculator.test.ts +12 -12
  275. package/src/sync/next/test/compact-events.test.ts +43 -43
  276. package/src/sync/next/test/mutation-fixtures.ts +16 -12
  277. package/src/sync/syncstate.test.ts +19 -17
  278. package/src/sync/syncstate.ts +6 -6
  279. package/src/version.ts +1 -1
  280. package/tsconfig.json +1 -1
@@ -25,14 +25,14 @@ export declare const todos: DbSchema.TableDef<{
25
25
  primaryKey: false;
26
26
  };
27
27
  };
28
- indexes?: ReadonlyArray<DbSchema.SqliteDsl.Index>;
29
- ast: import("@livestore/db-schema/dist/ast/sqlite.js").Table;
28
+ indexes?: ReadonlyArray<import("../schema/db-schema/dsl/mod.js").Index>;
29
+ ast: import("../schema/db-schema/ast/sqlite.js").Table;
30
30
  }, {
31
31
  isSingleton: false;
32
32
  disableAutomaticIdColumn: false;
33
33
  deriveMutations: {
34
34
  enabled: true;
35
- localOnly: boolean;
35
+ clientOnly: boolean;
36
36
  };
37
37
  isSingleColumn: false;
38
38
  requiredInsertColumnNames: "id";
@@ -58,16 +58,16 @@ export declare const appConfig: DbSchema.TableDef<{
58
58
  nullable: true;
59
59
  primaryKey: false;
60
60
  };
61
- id: DbSchema.SqliteDsl.ColumnDefinition<"singleton", "singleton">;
61
+ id: import("../schema/db-schema/dsl/field-defs.js").ColumnDefinition<"singleton", "singleton">;
62
62
  };
63
- indexes?: ReadonlyArray<DbSchema.SqliteDsl.Index>;
64
- ast: import("@livestore/db-schema/dist/ast/sqlite.js").Table;
63
+ indexes?: ReadonlyArray<import("../schema/db-schema/dsl/mod.js").Index>;
64
+ ast: import("../schema/db-schema/ast/sqlite.js").Table;
65
65
  }, {
66
66
  isSingleton: true;
67
67
  disableAutomaticIdColumn: false;
68
68
  deriveMutations: {
69
69
  enabled: true;
70
- localOnly: boolean;
70
+ clientOnly: boolean;
71
71
  };
72
72
  isSingleColumn: true;
73
73
  requiredInsertColumnNames: never;
@@ -106,14 +106,14 @@ export declare const tables: (DbSchema.TableDef<{
106
106
  primaryKey: false;
107
107
  };
108
108
  };
109
- indexes?: ReadonlyArray<DbSchema.SqliteDsl.Index>;
110
- ast: import("@livestore/db-schema/dist/ast/sqlite.js").Table;
109
+ indexes?: ReadonlyArray<import("../schema/db-schema/dsl/mod.js").Index>;
110
+ ast: import("../schema/db-schema/ast/sqlite.js").Table;
111
111
  }, {
112
112
  isSingleton: false;
113
113
  disableAutomaticIdColumn: false;
114
114
  deriveMutations: {
115
115
  enabled: true;
116
- localOnly: boolean;
116
+ clientOnly: boolean;
117
117
  };
118
118
  isSingleColumn: false;
119
119
  requiredInsertColumnNames: "id";
@@ -138,16 +138,16 @@ export declare const tables: (DbSchema.TableDef<{
138
138
  nullable: true;
139
139
  primaryKey: false;
140
140
  };
141
- id: DbSchema.SqliteDsl.ColumnDefinition<"singleton", "singleton">;
141
+ id: import("../schema/db-schema/dsl/field-defs.js").ColumnDefinition<"singleton", "singleton">;
142
142
  };
143
- indexes?: ReadonlyArray<DbSchema.SqliteDsl.Index>;
144
- ast: import("@livestore/db-schema/dist/ast/sqlite.js").Table;
143
+ indexes?: ReadonlyArray<import("../schema/db-schema/dsl/mod.js").Index>;
144
+ ast: import("../schema/db-schema/ast/sqlite.js").Table;
145
145
  }, {
146
146
  isSingleton: true;
147
147
  disableAutomaticIdColumn: false;
148
148
  deriveMutations: {
149
149
  enabled: true;
150
- localOnly: boolean;
150
+ clientOnly: boolean;
151
151
  };
152
152
  isSingleColumn: true;
153
153
  requiredInsertColumnNames: never;
@@ -187,14 +187,14 @@ export declare const schema: import("../schema/schema.js").FromInputSchema.Deriv
187
187
  primaryKey: false;
188
188
  };
189
189
  };
190
- indexes?: ReadonlyArray<DbSchema.SqliteDsl.Index>;
191
- ast: import("@livestore/db-schema/dist/ast/sqlite.js").Table;
190
+ indexes?: ReadonlyArray<import("../schema/db-schema/dsl/mod.js").Index>;
191
+ ast: import("../schema/db-schema/ast/sqlite.js").Table;
192
192
  }, {
193
193
  isSingleton: false;
194
194
  disableAutomaticIdColumn: false;
195
195
  deriveMutations: {
196
196
  enabled: true;
197
- localOnly: boolean;
197
+ clientOnly: boolean;
198
198
  };
199
199
  isSingleColumn: false;
200
200
  requiredInsertColumnNames: "id";
@@ -219,16 +219,16 @@ export declare const schema: import("../schema/schema.js").FromInputSchema.Deriv
219
219
  nullable: true;
220
220
  primaryKey: false;
221
221
  };
222
- id: DbSchema.SqliteDsl.ColumnDefinition<"singleton", "singleton">;
222
+ id: import("../schema/db-schema/dsl/field-defs.js").ColumnDefinition<"singleton", "singleton">;
223
223
  };
224
- indexes?: ReadonlyArray<DbSchema.SqliteDsl.Index>;
225
- ast: import("@livestore/db-schema/dist/ast/sqlite.js").Table;
224
+ indexes?: ReadonlyArray<import("../schema/db-schema/dsl/mod.js").Index>;
225
+ ast: import("../schema/db-schema/ast/sqlite.js").Table;
226
226
  }, {
227
227
  isSingleton: true;
228
228
  disableAutomaticIdColumn: false;
229
229
  deriveMutations: {
230
230
  enabled: true;
231
- localOnly: boolean;
231
+ clientOnly: boolean;
232
232
  };
233
233
  isSingleColumn: true;
234
234
  requiredInsertColumnNames: never;
@@ -1,8 +1,7 @@
1
1
  import type { Cause, Queue, Scope, SubscriptionRef, WebChannel } from '@livestore/utils/effect';
2
2
  import { Effect, Schema, Stream } from '@livestore/utils/effect';
3
3
  import type * as Devtools from './devtools/index.js';
4
- import type { EventId } from './schema/EventId.js';
5
- import type { LiveStoreSchema, MutationEvent } from './schema/mod.js';
4
+ import type { EventId, LiveStoreSchema, MutationEvent } from './schema/mod.js';
6
5
  import type { InvalidPushError } from './sync/sync.js';
7
6
  import type { PayloadUpstream, SyncState } from './sync/syncstate.js';
8
7
  import type { PreparedBindValues } from './util.js';
@@ -22,7 +21,7 @@ export type SqliteDbChangeset = {
22
21
  invert: () => SqliteDbChangeset;
23
22
  apply: () => void;
24
23
  };
25
- export type ClientSession = {
24
+ export interface ClientSession {
26
25
  /** SQLite database with synchronous API running in the same thread (usually in-memory) */
27
26
  sqliteDb: SqliteDb;
28
27
  devtools: {
@@ -39,29 +38,35 @@ export type ClientSession = {
39
38
  shutdown: (cause: Cause.Cause<UnexpectedError | IntentionalShutdownCause>) => Effect.Effect<void>;
40
39
  /** A proxy API to communicate with the leader thread */
41
40
  leaderThread: ClientSessionLeaderThreadProxy;
42
- };
43
- export type ClientSessionLeaderThreadProxy = {
41
+ }
42
+ export interface ClientSessionLeaderThreadProxy {
44
43
  mutations: {
45
44
  pull: Stream.Stream<{
46
45
  payload: PayloadUpstream;
47
46
  remaining: number;
48
47
  }, UnexpectedError>;
49
48
  push(batch: ReadonlyArray<MutationEvent.AnyEncoded>): Effect.Effect<void, UnexpectedError | InvalidPushError>;
50
- initialMutationEventId: EventId;
49
+ };
50
+ /** The initial state after the leader thread has booted */
51
+ readonly initialState: {
52
+ /** The latest mutation event id during boot. Used for the client session to resume syncing. */
53
+ readonly leaderHead: EventId.EventId;
54
+ /** The migrations report from the leader thread */
55
+ readonly migrationsReport: MigrationsReport;
51
56
  };
52
57
  export: Effect.Effect<Uint8Array, UnexpectedError>;
53
58
  getMutationLogData: Effect.Effect<Uint8Array, UnexpectedError>;
54
59
  getSyncState: Effect.Effect<SyncState, UnexpectedError>;
55
60
  networkStatus: SubscriptionRef.SubscriptionRef<NetworkStatus>;
56
61
  /** For debugging purposes it can be useful to manually trigger devtools messages (e.g. to reset the database) */
57
- sendDevtoolsMessage: (message: Devtools.MessageToAppLeader) => Effect.Effect<void, UnexpectedError>;
58
- };
62
+ sendDevtoolsMessage: (message: Devtools.Leader.MessageToApp) => Effect.Effect<void, UnexpectedError>;
63
+ }
59
64
  /**
60
65
  * Common interface for SQLite databases used by LiveStore to facilitate a consistent API across different platforms.
61
66
  * Always assumes a synchronous SQLite build with the `bytecode` and `session` extensions enabled.
62
67
  * Can be either in-memory or persisted to disk.
63
68
  */
64
- export type SqliteDb<TReq = any, TMetadata extends TReq = TReq> = {
69
+ export interface SqliteDb<TReq = any, TMetadata extends TReq = TReq> {
65
70
  _tag: 'SqliteDb';
66
71
  metadata: TMetadata;
67
72
  prepare(queryStr: string): PreparedStatement;
@@ -75,7 +80,7 @@ export type SqliteDb<TReq = any, TMetadata extends TReq = TReq> = {
75
80
  destroy(): void;
76
81
  session(): SqliteDbSession;
77
82
  makeChangeset: (data: Uint8Array) => SqliteDbChangeset;
78
- };
83
+ }
79
84
  export type MakeSqliteDb<TReq = {
80
85
  dbPointer: number;
81
86
  persistenceInfo: PersistenceInfo;
@@ -101,11 +106,10 @@ export type ResetMode = 'all-data' | 'only-app-db';
101
106
  export declare const NetworkStatus: Schema.Struct<{
102
107
  isConnected: typeof Schema.Boolean;
103
108
  timestampMs: typeof Schema.Number;
109
+ /** Whether the network status devtools latch is closed. Used to simulate network disconnection. */
110
+ latchClosed: typeof Schema.Boolean;
104
111
  }>;
105
- export type NetworkStatus = {
106
- isConnected: boolean;
107
- timestampMs: number;
108
- };
112
+ export type NetworkStatus = typeof NetworkStatus.Type;
109
113
  export declare const BootStateProgress: Schema.Struct<{
110
114
  done: typeof Schema.Number;
111
115
  total: typeof Schema.Number;
@@ -194,7 +198,7 @@ export type MigrationHooks = {
194
198
  post: MigrationHook;
195
199
  };
196
200
  export type MigrationHook = (db: SqliteDb) => void | Promise<void> | Effect.Effect<void, unknown>;
197
- export type MigrationOptionsFromMutationLog<TSchema extends LiveStoreSchema = LiveStoreSchema> = {
201
+ export interface MigrationOptionsFromMutationLog<TSchema extends LiveStoreSchema = LiveStoreSchema> {
198
202
  strategy: 'from-mutation-log';
199
203
  /**
200
204
  * Mutations to exclude in the mutation log
@@ -206,9 +210,10 @@ export type MigrationOptionsFromMutationLog<TSchema extends LiveStoreSchema = Li
206
210
  logging?: {
207
211
  excludeAffectedRows?: (sqlStmt: string) => boolean;
208
212
  };
209
- };
210
- export type StoreDevtoolsChannel = WebChannel.WebChannel<Devtools.MessageToAppClientSession, Devtools.MessageFromAppClientSession>;
211
- export type ConnectDevtoolsToStore = (storeDevtoolsChannel: StoreDevtoolsChannel) => Effect.Effect<void, UnexpectedError, Scope.Scope>;
213
+ }
214
+ export interface ClientSessionDevtoolsChannel extends WebChannel.WebChannel<Devtools.ClientSession.MessageToApp, Devtools.ClientSession.MessageFromApp> {
215
+ }
216
+ export type ConnectDevtoolsToStore = (storeDevtoolsChannel: ClientSessionDevtoolsChannel) => Effect.Effect<void, UnexpectedError, Scope.Scope>;
212
217
  export type Adapter = (opts: {
213
218
  schema: LiveStoreSchema;
214
219
  storeId: string;
@@ -218,5 +223,23 @@ export type Adapter = (opts: {
218
223
  shutdown: (cause: Cause.Cause<any>) => Effect.Effect<void>;
219
224
  connectDevtoolsToStore: ConnectDevtoolsToStore;
220
225
  }) => Effect.Effect<ClientSession, UnexpectedError, Scope.Scope>;
226
+ export declare const MigrationsReportEntry: Schema.Struct<{
227
+ tableName: typeof Schema.String;
228
+ hashes: Schema.Struct<{
229
+ expected: typeof Schema.Number;
230
+ actual: Schema.optional<typeof Schema.Number>;
231
+ }>;
232
+ }>;
233
+ export declare const MigrationsReport: Schema.Struct<{
234
+ migrations: Schema.Array$<Schema.Struct<{
235
+ tableName: typeof Schema.String;
236
+ hashes: Schema.Struct<{
237
+ expected: typeof Schema.Number;
238
+ actual: Schema.optional<typeof Schema.Number>;
239
+ }>;
240
+ }>>;
241
+ }>;
242
+ export type MigrationsReport = typeof MigrationsReport.Type;
243
+ export type MigrationsReportEntry = typeof MigrationsReportEntry.Type;
221
244
  export {};
222
245
  //# sourceMappingURL=adapter-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-types.d.ts","sourceRoot":"","sources":["../src/adapter-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-types.d.ts","sourceRoot":"","sources":["../src/adapter-types.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ export const PersistenceInfo = Schema.Struct({
5
5
  export const NetworkStatus = Schema.Struct({
6
6
  isConnected: Schema.Boolean,
7
7
  timestampMs: Schema.Number,
8
+ /** Whether the network status devtools latch is closed. Used to simulate network disconnection. */
9
+ latchClosed: Schema.Boolean,
8
10
  });
9
11
  export const BootStateProgress = Schema.Struct({
10
12
  done: Schema.Number,
@@ -44,4 +46,14 @@ export class SqliteError extends Schema.TaggedError()('LiveStore.SqliteError', {
44
46
  cause: Schema.Defect,
45
47
  }) {
46
48
  }
49
+ export const MigrationsReportEntry = Schema.Struct({
50
+ tableName: Schema.String,
51
+ hashes: Schema.Struct({
52
+ expected: Schema.Number,
53
+ actual: Schema.optional(Schema.Number),
54
+ }),
55
+ });
56
+ export const MigrationsReport = Schema.Struct({
57
+ migrations: Schema.Array(MigrationsReportEntry),
58
+ });
47
59
  //# sourceMappingURL=adapter-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-types.js","sourceRoot":"","sources":["../src/adapter-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-types.js","sourceRoot":"","sources":["../src/adapter-types.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/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,UAAW,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,YACP,aAAa,CAAC,MAAM,CAAC,SACvB,MAAM,WACJ,OAAO,eACH,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,SAAU,MAAM,WAAW,aAAa,CAAC,MAAM,CAAC,WAAW,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,WAAY,KAAK,EAAE,KAAG,QAA0C,CAAA;AAErF;;GAEG;AACH,eAAO,MAAM,IAAI,QAAS,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,KAAG,MACzB,CAAA;AAmDlD,eAAO,MAAM,oBAAoB,aAAc,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/db-schema/ast/sqlite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { DbSchema } from './sqlite.js';
2
+ export declare const validate: (_dbSchema: DbSchema) => void;
3
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/db-schema/ast/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,eAAO,MAAM,QAAQ,cAAe,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/db-schema/ast/validate.ts"],"names":[],"mappings":"AAEA,OAAO;AACP,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,SAAmB,EAAE,EAAE;IAC9C;;;;;;;QAOC;AACH,CAAC,CAAA"}
@@ -0,0 +1,90 @@
1
+ import { Option, Schema } from '@livestore/utils/effect';
2
+ export type ColumnDefinition<TEncoded, TDecoded> = {
3
+ readonly columnType: FieldColumnType;
4
+ readonly schema: Schema.Schema<TDecoded, TEncoded>;
5
+ readonly default: Option.Option<TEncoded>;
6
+ /** @default false */
7
+ readonly nullable: boolean;
8
+ /** @default false */
9
+ readonly primaryKey: boolean;
10
+ };
11
+ export declare const isColumnDefinition: (value: unknown) => value is ColumnDefinition<any, any>;
12
+ export type ColumnDefinitionInput = {
13
+ readonly schema?: Schema.Schema<unknown>;
14
+ readonly default?: unknown | NoDefault;
15
+ readonly nullable?: boolean;
16
+ readonly primaryKey?: boolean;
17
+ };
18
+ export declare const NoDefault: unique symbol;
19
+ export type NoDefault = typeof NoDefault;
20
+ export type SqlDefaultValue = {
21
+ readonly sql: string;
22
+ };
23
+ export declare const isSqlDefaultValue: (value: unknown) => value is SqlDefaultValue;
24
+ export type ColDefFn<TColumnType extends FieldColumnType> = {
25
+ (): {
26
+ columnType: TColumnType;
27
+ schema: Schema.Schema<DefaultEncodedForColumnType<TColumnType>>;
28
+ default: Option.None<never>;
29
+ nullable: false;
30
+ primaryKey: false;
31
+ };
32
+ <TEncoded extends DefaultEncodedForColumnType<TColumnType>, TDecoded = DefaultEncodedForColumnType<TColumnType>, const TNullable extends boolean = false, const TDefault extends TDecoded | SqlDefaultValue | NoDefault | (TNullable extends true ? null : never) = NoDefault, const TPrimaryKey extends boolean = false>(args: {
33
+ schema?: Schema.Schema<TDecoded, TEncoded>;
34
+ default?: TDefault;
35
+ nullable?: TNullable;
36
+ primaryKey?: TPrimaryKey;
37
+ }): {
38
+ columnType: TColumnType;
39
+ schema: TNullable extends true ? Schema.Schema<NoInfer<TDecoded> | null, NoInfer<TEncoded> | null> : Schema.Schema<NoInfer<TDecoded>, NoInfer<TEncoded>>;
40
+ default: TDefault extends NoDefault ? Option.None<never> : Option.Some<NoInfer<TDefault>>;
41
+ nullable: NoInfer<TNullable>;
42
+ primaryKey: NoInfer<TPrimaryKey>;
43
+ };
44
+ };
45
+ export declare const column: <TColumnType extends FieldColumnType>(columnType: TColumnType) => ColDefFn<TColumnType>;
46
+ export declare const text: ColDefFn<'text'>;
47
+ export declare const integer: ColDefFn<'integer'>;
48
+ export declare const real: ColDefFn<'real'>;
49
+ export declare const blob: ColDefFn<'blob'>;
50
+ /**
51
+ * `NoInfer` is needed for some generics to work properly in certain cases.
52
+ * See full explanation here: https://gist.github.com/schickling/a15e96819826530492b41a10d79d3c04?permalink_comment_id=4805120#gistcomment-4805120
53
+ *
54
+ * Big thanks to @andarist for their help with this!
55
+ */
56
+ type NoInfer<T> = [T][T extends any ? 0 : never];
57
+ export type SpecializedColDefFn<TColumnType extends FieldColumnType, TAllowsCustomSchema extends boolean, TBaseDecoded> = {
58
+ (): {
59
+ columnType: TColumnType;
60
+ schema: Schema.Schema<TBaseDecoded, DefaultEncodedForColumnType<TColumnType>>;
61
+ default: Option.None<never>;
62
+ nullable: false;
63
+ primaryKey: false;
64
+ };
65
+ <TDecoded = TBaseDecoded, const TNullable extends boolean = false, const TDefault extends TDecoded | NoDefault | (TNullable extends true ? null : never) = NoDefault, const TPrimaryKey extends boolean = false>(args: TAllowsCustomSchema extends true ? {
66
+ schema?: Schema.Schema<TDecoded, any>;
67
+ default?: TDefault;
68
+ nullable?: TNullable;
69
+ primaryKey?: TPrimaryKey;
70
+ } : {
71
+ default?: TDefault;
72
+ nullable?: TNullable;
73
+ primaryKey?: TPrimaryKey;
74
+ }): {
75
+ columnType: TColumnType;
76
+ schema: TNullable extends true ? Schema.Schema<NoInfer<TDecoded> | null, DefaultEncodedForColumnType<TColumnType> | null> : Schema.Schema<NoInfer<TDecoded>, DefaultEncodedForColumnType<TColumnType>>;
77
+ default: TDefault extends NoDefault ? Option.None<never> : Option.Some<TDefault>;
78
+ nullable: NoInfer<TNullable>;
79
+ primaryKey: NoInfer<TPrimaryKey>;
80
+ };
81
+ };
82
+ export declare const json: SpecializedColDefFn<'text', true, unknown>;
83
+ export declare const datetime: SpecializedColDefFn<'text', false, Date>;
84
+ export declare const datetimeInteger: SpecializedColDefFn<'integer', false, Date>;
85
+ export declare const boolean: SpecializedColDefFn<'integer', false, boolean>;
86
+ export type FieldColumnType = 'text' | 'integer' | 'real' | 'blob';
87
+ export type DefaultEncodedForColumnType<TColumnType extends FieldColumnType> = TColumnType extends 'text' ? string : TColumnType extends 'integer' ? number : TColumnType extends 'real' ? number : TColumnType extends 'blob' ? Uint8Array : never;
88
+ export declare const defaultSchemaForColumnType: <TColumnType extends FieldColumnType>(columnType: TColumnType) => Schema.Schema<DefaultEncodedForColumnType<TColumnType>>;
89
+ export {};
90
+ //# sourceMappingURL=field-defs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-defs.d.ts","sourceRoot":"","sources":["../../../src/db-schema/dsl/field-defs.ts"],"names":[],"mappings":"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"}