@livestore/common 0.3.0-dev.27 → 0.3.0-dev.29

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 (277) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/__tests__/fixture.d.ts +83 -221
  3. package/dist/__tests__/fixture.d.ts.map +1 -1
  4. package/dist/__tests__/fixture.js +33 -11
  5. package/dist/__tests__/fixture.js.map +1 -1
  6. package/dist/adapter-types.d.ts +22 -15
  7. package/dist/adapter-types.d.ts.map +1 -1
  8. package/dist/adapter-types.js +15 -2
  9. package/dist/adapter-types.js.map +1 -1
  10. package/dist/bounded-collections.d.ts +1 -1
  11. package/dist/bounded-collections.d.ts.map +1 -1
  12. package/dist/debug-info.d.ts.map +1 -1
  13. package/dist/debug-info.js +1 -0
  14. package/dist/debug-info.js.map +1 -1
  15. package/dist/devtools/devtools-messages-client-session.d.ts +21 -21
  16. package/dist/devtools/devtools-messages-common.d.ts +6 -6
  17. package/dist/devtools/devtools-messages-leader.d.ts +45 -45
  18. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  19. package/dist/devtools/devtools-messages-leader.js +11 -11
  20. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  21. package/dist/index.d.ts +2 -5
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +2 -5
  24. package/dist/index.js.map +1 -1
  25. package/dist/leader-thread/LeaderSyncProcessor.d.ts +25 -12
  26. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  27. package/dist/leader-thread/LeaderSyncProcessor.js +125 -89
  28. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  29. package/dist/leader-thread/{apply-mutation.d.ts → apply-event.d.ts} +7 -7
  30. package/dist/leader-thread/apply-event.d.ts.map +1 -0
  31. package/dist/leader-thread/apply-event.js +103 -0
  32. package/dist/leader-thread/apply-event.js.map +1 -0
  33. package/dist/leader-thread/eventlog.d.ts +27 -0
  34. package/dist/leader-thread/eventlog.d.ts.map +1 -0
  35. package/dist/leader-thread/eventlog.js +123 -0
  36. package/dist/leader-thread/eventlog.js.map +1 -0
  37. package/dist/leader-thread/leader-worker-devtools.js +18 -18
  38. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  39. package/dist/leader-thread/make-leader-thread-layer.d.ts +16 -4
  40. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  41. package/dist/leader-thread/make-leader-thread-layer.js +23 -16
  42. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  43. package/dist/leader-thread/mod.d.ts +1 -1
  44. package/dist/leader-thread/mod.d.ts.map +1 -1
  45. package/dist/leader-thread/mod.js +1 -1
  46. package/dist/leader-thread/mod.js.map +1 -1
  47. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  48. package/dist/leader-thread/recreate-db.js +6 -8
  49. package/dist/leader-thread/recreate-db.js.map +1 -1
  50. package/dist/leader-thread/types.d.ts +11 -11
  51. package/dist/leader-thread/types.d.ts.map +1 -1
  52. package/dist/materializer-helper.d.ts +23 -0
  53. package/dist/materializer-helper.d.ts.map +1 -0
  54. package/dist/materializer-helper.js +70 -0
  55. package/dist/materializer-helper.js.map +1 -0
  56. package/dist/query-builder/api.d.ts +58 -53
  57. package/dist/query-builder/api.d.ts.map +1 -1
  58. package/dist/query-builder/api.js +3 -5
  59. package/dist/query-builder/api.js.map +1 -1
  60. package/dist/query-builder/astToSql.d.ts.map +1 -1
  61. package/dist/query-builder/astToSql.js +59 -37
  62. package/dist/query-builder/astToSql.js.map +1 -1
  63. package/dist/query-builder/impl.d.ts +2 -3
  64. package/dist/query-builder/impl.d.ts.map +1 -1
  65. package/dist/query-builder/impl.js +48 -46
  66. package/dist/query-builder/impl.js.map +1 -1
  67. package/dist/query-builder/impl.test.d.ts +86 -1
  68. package/dist/query-builder/impl.test.d.ts.map +1 -1
  69. package/dist/query-builder/impl.test.js +244 -36
  70. package/dist/query-builder/impl.test.js.map +1 -1
  71. package/dist/rehydrate-from-eventlog.d.ts +14 -0
  72. package/dist/rehydrate-from-eventlog.d.ts.map +1 -0
  73. package/dist/{rehydrate-from-mutationlog.js → rehydrate-from-eventlog.js} +25 -26
  74. package/dist/rehydrate-from-eventlog.js.map +1 -0
  75. package/dist/schema/EventDef.d.ts +136 -0
  76. package/dist/schema/EventDef.d.ts.map +1 -0
  77. package/dist/schema/EventDef.js +58 -0
  78. package/dist/schema/EventDef.js.map +1 -0
  79. package/dist/schema/EventId.d.ts +2 -2
  80. package/dist/schema/EventId.d.ts.map +1 -1
  81. package/dist/schema/EventId.js +8 -2
  82. package/dist/schema/EventId.js.map +1 -1
  83. package/dist/schema/{MutationEvent.d.ts → LiveStoreEvent.d.ts} +56 -56
  84. package/dist/schema/LiveStoreEvent.d.ts.map +1 -0
  85. package/dist/schema/{MutationEvent.js → LiveStoreEvent.js} +25 -25
  86. package/dist/schema/LiveStoreEvent.js.map +1 -0
  87. package/dist/schema/client-document-def.d.ts +223 -0
  88. package/dist/schema/client-document-def.d.ts.map +1 -0
  89. package/dist/schema/client-document-def.js +170 -0
  90. package/dist/schema/client-document-def.js.map +1 -0
  91. package/dist/schema/client-document-def.test.d.ts +2 -0
  92. package/dist/schema/client-document-def.test.d.ts.map +1 -0
  93. package/dist/schema/client-document-def.test.js +201 -0
  94. package/dist/schema/client-document-def.test.js.map +1 -0
  95. package/dist/schema/db-schema/dsl/mod.d.ts.map +1 -1
  96. package/dist/schema/events.d.ts +2 -0
  97. package/dist/schema/events.d.ts.map +1 -0
  98. package/dist/schema/events.js +2 -0
  99. package/dist/schema/events.js.map +1 -0
  100. package/dist/schema/mod.d.ts +4 -3
  101. package/dist/schema/mod.d.ts.map +1 -1
  102. package/dist/schema/mod.js +4 -3
  103. package/dist/schema/mod.js.map +1 -1
  104. package/dist/schema/schema.d.ts +27 -23
  105. package/dist/schema/schema.d.ts.map +1 -1
  106. package/dist/schema/schema.js +45 -43
  107. package/dist/schema/schema.js.map +1 -1
  108. package/dist/schema/sqlite-state.d.ts +12 -0
  109. package/dist/schema/sqlite-state.d.ts.map +1 -0
  110. package/dist/schema/sqlite-state.js +36 -0
  111. package/dist/schema/sqlite-state.js.map +1 -0
  112. package/dist/schema/system-tables.d.ts +67 -98
  113. package/dist/schema/system-tables.d.ts.map +1 -1
  114. package/dist/schema/system-tables.js +62 -48
  115. package/dist/schema/system-tables.js.map +1 -1
  116. package/dist/schema/table-def.d.ts +26 -96
  117. package/dist/schema/table-def.d.ts.map +1 -1
  118. package/dist/schema/table-def.js +16 -64
  119. package/dist/schema/table-def.js.map +1 -1
  120. package/dist/schema/view.d.ts +3 -0
  121. package/dist/schema/view.d.ts.map +1 -0
  122. package/dist/schema/view.js +3 -0
  123. package/dist/schema/view.js.map +1 -0
  124. package/dist/schema-management/common.d.ts +4 -4
  125. package/dist/schema-management/common.d.ts.map +1 -1
  126. package/dist/schema-management/migrations.d.ts.map +1 -1
  127. package/dist/schema-management/migrations.js +6 -6
  128. package/dist/schema-management/migrations.js.map +1 -1
  129. package/dist/schema-management/validate-mutation-defs.d.ts +3 -3
  130. package/dist/schema-management/validate-mutation-defs.d.ts.map +1 -1
  131. package/dist/schema-management/validate-mutation-defs.js +17 -17
  132. package/dist/schema-management/validate-mutation-defs.js.map +1 -1
  133. package/dist/sync/ClientSessionSyncProcessor.d.ts +7 -7
  134. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  135. package/dist/sync/ClientSessionSyncProcessor.js +31 -30
  136. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  137. package/dist/sync/next/facts.d.ts +19 -19
  138. package/dist/sync/next/facts.d.ts.map +1 -1
  139. package/dist/sync/next/facts.js +2 -2
  140. package/dist/sync/next/facts.js.map +1 -1
  141. package/dist/sync/next/history-dag-common.d.ts +3 -3
  142. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  143. package/dist/sync/next/history-dag-common.js +1 -1
  144. package/dist/sync/next/history-dag-common.js.map +1 -1
  145. package/dist/sync/next/history-dag.js +1 -1
  146. package/dist/sync/next/history-dag.js.map +1 -1
  147. package/dist/sync/next/rebase-events.d.ts +7 -7
  148. package/dist/sync/next/rebase-events.d.ts.map +1 -1
  149. package/dist/sync/next/rebase-events.js +5 -5
  150. package/dist/sync/next/rebase-events.js.map +1 -1
  151. package/dist/sync/next/test/compact-events.calculator.test.js +38 -33
  152. package/dist/sync/next/test/compact-events.calculator.test.js.map +1 -1
  153. package/dist/sync/next/test/compact-events.test.js +71 -71
  154. package/dist/sync/next/test/compact-events.test.js.map +1 -1
  155. package/dist/sync/next/test/{mutation-fixtures.d.ts → event-fixtures.d.ts} +29 -29
  156. package/dist/sync/next/test/event-fixtures.d.ts.map +1 -0
  157. package/dist/sync/next/test/{mutation-fixtures.js → event-fixtures.js} +60 -25
  158. package/dist/sync/next/test/event-fixtures.js.map +1 -0
  159. package/dist/sync/next/test/mod.d.ts +1 -1
  160. package/dist/sync/next/test/mod.d.ts.map +1 -1
  161. package/dist/sync/next/test/mod.js +1 -1
  162. package/dist/sync/next/test/mod.js.map +1 -1
  163. package/dist/sync/sync.d.ts +3 -3
  164. package/dist/sync/sync.d.ts.map +1 -1
  165. package/dist/sync/syncstate.d.ts +32 -32
  166. package/dist/sync/syncstate.d.ts.map +1 -1
  167. package/dist/sync/syncstate.js +31 -25
  168. package/dist/sync/syncstate.js.map +1 -1
  169. package/dist/sync/syncstate.test.js +165 -175
  170. package/dist/sync/syncstate.test.js.map +1 -1
  171. package/dist/sync/validate-push-payload.d.ts +2 -2
  172. package/dist/sync/validate-push-payload.d.ts.map +1 -1
  173. package/dist/sync/validate-push-payload.js.map +1 -1
  174. package/dist/version.d.ts +1 -1
  175. package/dist/version.js +1 -1
  176. package/package.json +3 -3
  177. package/src/__tests__/fixture.ts +36 -15
  178. package/src/adapter-types.ts +23 -16
  179. package/src/debug-info.ts +1 -0
  180. package/src/devtools/devtools-messages-leader.ts +13 -13
  181. package/src/index.ts +2 -5
  182. package/src/leader-thread/LeaderSyncProcessor.ts +183 -122
  183. package/src/leader-thread/{apply-mutation.ts → apply-event.ts} +50 -74
  184. package/src/leader-thread/eventlog.ts +199 -0
  185. package/src/leader-thread/leader-worker-devtools.ts +18 -18
  186. package/src/leader-thread/make-leader-thread-layer.ts +51 -29
  187. package/src/leader-thread/mod.ts +1 -1
  188. package/src/leader-thread/recreate-db.ts +6 -9
  189. package/src/leader-thread/types.ts +12 -12
  190. package/src/materializer-helper.ts +110 -0
  191. package/src/query-builder/api.ts +79 -105
  192. package/src/query-builder/astToSql.ts +68 -39
  193. package/src/query-builder/impl.test.ts +264 -42
  194. package/src/query-builder/impl.ts +72 -56
  195. package/src/{rehydrate-from-mutationlog.ts → rehydrate-from-eventlog.ts} +33 -40
  196. package/src/schema/EventDef.ts +216 -0
  197. package/src/schema/EventId.ts +11 -3
  198. package/src/schema/{MutationEvent.ts → LiveStoreEvent.ts} +68 -69
  199. package/src/schema/client-document-def.test.ts +239 -0
  200. package/src/schema/client-document-def.ts +444 -0
  201. package/src/schema/db-schema/dsl/mod.ts +0 -1
  202. package/src/schema/events.ts +1 -0
  203. package/src/schema/mod.ts +4 -3
  204. package/src/schema/schema.ts +79 -69
  205. package/src/schema/sqlite-state.ts +62 -0
  206. package/src/schema/system-tables.ts +42 -53
  207. package/src/schema/table-def.ts +53 -209
  208. package/src/schema/view.ts +2 -0
  209. package/src/schema-management/common.ts +4 -4
  210. package/src/schema-management/migrations.ts +8 -9
  211. package/src/schema-management/validate-mutation-defs.ts +22 -24
  212. package/src/sync/ClientSessionSyncProcessor.ts +37 -36
  213. package/src/sync/next/facts.ts +31 -32
  214. package/src/sync/next/history-dag-common.ts +4 -4
  215. package/src/sync/next/history-dag.ts +1 -1
  216. package/src/sync/next/rebase-events.ts +13 -13
  217. package/src/sync/next/test/compact-events.calculator.test.ts +45 -45
  218. package/src/sync/next/test/compact-events.test.ts +73 -73
  219. package/src/sync/next/test/event-fixtures.ts +219 -0
  220. package/src/sync/next/test/mod.ts +1 -1
  221. package/src/sync/sync.ts +3 -3
  222. package/src/sync/syncstate.test.ts +168 -179
  223. package/src/sync/syncstate.ts +48 -38
  224. package/src/sync/validate-push-payload.ts +2 -2
  225. package/src/version.ts +1 -1
  226. package/tmp/pack.tgz +0 -0
  227. package/tsconfig.json +1 -0
  228. package/dist/derived-mutations.d.ts +0 -109
  229. package/dist/derived-mutations.d.ts.map +0 -1
  230. package/dist/derived-mutations.js +0 -54
  231. package/dist/derived-mutations.js.map +0 -1
  232. package/dist/derived-mutations.test.d.ts +0 -2
  233. package/dist/derived-mutations.test.d.ts.map +0 -1
  234. package/dist/derived-mutations.test.js +0 -93
  235. package/dist/derived-mutations.test.js.map +0 -1
  236. package/dist/init-singleton-tables.d.ts +0 -4
  237. package/dist/init-singleton-tables.d.ts.map +0 -1
  238. package/dist/init-singleton-tables.js +0 -16
  239. package/dist/init-singleton-tables.js.map +0 -1
  240. package/dist/leader-thread/apply-mutation.d.ts.map +0 -1
  241. package/dist/leader-thread/apply-mutation.js +0 -122
  242. package/dist/leader-thread/apply-mutation.js.map +0 -1
  243. package/dist/leader-thread/mutationlog.d.ts +0 -27
  244. package/dist/leader-thread/mutationlog.d.ts.map +0 -1
  245. package/dist/leader-thread/mutationlog.js +0 -124
  246. package/dist/leader-thread/mutationlog.js.map +0 -1
  247. package/dist/leader-thread/pull-queue-set.d.ts +0 -7
  248. package/dist/leader-thread/pull-queue-set.d.ts.map +0 -1
  249. package/dist/leader-thread/pull-queue-set.js +0 -38
  250. package/dist/leader-thread/pull-queue-set.js.map +0 -1
  251. package/dist/mutation.d.ts +0 -20
  252. package/dist/mutation.d.ts.map +0 -1
  253. package/dist/mutation.js +0 -68
  254. package/dist/mutation.js.map +0 -1
  255. package/dist/query-info.d.ts +0 -41
  256. package/dist/query-info.d.ts.map +0 -1
  257. package/dist/query-info.js +0 -7
  258. package/dist/query-info.js.map +0 -1
  259. package/dist/rehydrate-from-mutationlog.d.ts +0 -15
  260. package/dist/rehydrate-from-mutationlog.d.ts.map +0 -1
  261. package/dist/rehydrate-from-mutationlog.js.map +0 -1
  262. package/dist/schema/MutationEvent.d.ts.map +0 -1
  263. package/dist/schema/MutationEvent.js.map +0 -1
  264. package/dist/schema/mutations.d.ts +0 -115
  265. package/dist/schema/mutations.d.ts.map +0 -1
  266. package/dist/schema/mutations.js +0 -42
  267. package/dist/schema/mutations.js.map +0 -1
  268. package/dist/sync/next/test/mutation-fixtures.d.ts.map +0 -1
  269. package/dist/sync/next/test/mutation-fixtures.js.map +0 -1
  270. package/src/derived-mutations.test.ts +0 -101
  271. package/src/derived-mutations.ts +0 -170
  272. package/src/init-singleton-tables.ts +0 -24
  273. package/src/leader-thread/mutationlog.ts +0 -202
  274. package/src/mutation.ts +0 -108
  275. package/src/query-info.ts +0 -83
  276. package/src/schema/mutations.ts +0 -193
  277. package/src/sync/next/test/mutation-fixtures.ts +0 -228
@@ -1,9 +1,9 @@
1
- import type { GetValForKey } from '@livestore/utils';
1
+ import type { GetValForKey, SingleOrReadonlyArray } from '@livestore/utils';
2
2
  import { type Option, type Schema } from '@livestore/utils/effect';
3
3
  import type { SessionIdSymbol } from '../adapter-types.js';
4
- import type { QueryInfo } from '../query-info.js';
4
+ import type { ClientDocumentTableDef } from '../schema/client-document-def.js';
5
5
  import type { SqliteDsl } from '../schema/db-schema/mod.js';
6
- import type { DbSchema } from '../schema/mod.js';
6
+ import type { State } from '../schema/mod.js';
7
7
  import type { SqlValue } from '../util.js';
8
8
  export type QueryBuilderAst = QueryBuilderAst.SelectQuery | QueryBuilderAst.CountQuery | QueryBuilderAst.RowQuery | QueryBuilderAst.InsertQuery | QueryBuilderAst.UpdateQuery | QueryBuilderAst.DeleteQuery;
9
9
  export declare namespace QueryBuilderAst {
@@ -19,13 +19,13 @@ export declare namespace QueryBuilderAst {
19
19
  readonly orderBy: ReadonlyArray<OrderBy>;
20
20
  readonly offset: Option.Option<number>;
21
21
  readonly limit: Option.Option<number>;
22
- readonly tableDef: DbSchema.TableDefBase;
22
+ readonly tableDef: State.SQLite.TableDefBase;
23
23
  readonly where: ReadonlyArray<QueryBuilderAst.Where>;
24
24
  readonly resultSchemaSingle: Schema.Schema<any>;
25
25
  }
26
26
  interface CountQuery {
27
27
  readonly _tag: 'CountQuery';
28
- readonly tableDef: DbSchema.TableDefBase;
28
+ readonly tableDef: State.SQLite.TableDefBase;
29
29
  readonly where: ReadonlyArray<QueryBuilderAst.Where>;
30
30
  readonly resultSchema: Schema.Schema<number, ReadonlyArray<{
31
31
  count: number;
@@ -33,13 +33,13 @@ export declare namespace QueryBuilderAst {
33
33
  }
34
34
  interface RowQuery {
35
35
  readonly _tag: 'RowQuery';
36
- readonly tableDef: DbSchema.TableDefBase;
37
- readonly id: string | SessionIdSymbol | number;
38
- readonly insertValues: Record<string, unknown>;
36
+ readonly tableDef: State.SQLite.ClientDocumentTableDef.Any;
37
+ readonly id: string | SessionIdSymbol;
38
+ readonly explicitDefaultValues: Record<string, unknown>;
39
39
  }
40
40
  interface InsertQuery {
41
41
  readonly _tag: 'InsertQuery';
42
- readonly tableDef: DbSchema.TableDefBase;
42
+ readonly tableDef: State.SQLite.TableDefBase;
43
43
  readonly values: Record<string, unknown>;
44
44
  readonly onConflict: OnConflict | undefined;
45
45
  readonly returning: string[] | undefined;
@@ -47,7 +47,7 @@ export declare namespace QueryBuilderAst {
47
47
  }
48
48
  interface OnConflict {
49
49
  /** Conflicting column name */
50
- readonly target: string;
50
+ readonly targets: string[];
51
51
  readonly action: {
52
52
  readonly _tag: 'ignore';
53
53
  } | {
@@ -59,7 +59,7 @@ export declare namespace QueryBuilderAst {
59
59
  }
60
60
  interface UpdateQuery {
61
61
  readonly _tag: 'UpdateQuery';
62
- readonly tableDef: DbSchema.TableDefBase;
62
+ readonly tableDef: State.SQLite.TableDefBase;
63
63
  readonly values: Record<string, unknown>;
64
64
  readonly where: ReadonlyArray<QueryBuilderAst.Where>;
65
65
  readonly returning: string[] | undefined;
@@ -67,7 +67,7 @@ export declare namespace QueryBuilderAst {
67
67
  }
68
68
  interface DeleteQuery {
69
69
  readonly _tag: 'DeleteQuery';
70
- readonly tableDef: DbSchema.TableDefBase;
70
+ readonly tableDef: State.SQLite.TableDefBase;
71
71
  readonly where: ReadonlyArray<QueryBuilderAst.Where>;
72
72
  readonly returning: string[] | undefined;
73
73
  readonly resultSchema: Schema.Schema<any>;
@@ -85,22 +85,25 @@ export declare namespace QueryBuilderAst {
85
85
  }
86
86
  export declare const QueryBuilderAstSymbol: unique symbol;
87
87
  export type QueryBuilderAstSymbol = typeof QueryBuilderAstSymbol;
88
- export declare const TypeId: unique symbol;
89
- export type TypeId = typeof TypeId;
88
+ export declare const QueryBuilderResultSymbol: unique symbol;
89
+ export type QueryBuilderResultSymbol = typeof QueryBuilderResultSymbol;
90
+ export declare const QueryBuilderTypeId: unique symbol;
91
+ export type QueryBuilderTypeId = typeof QueryBuilderTypeId;
90
92
  export declare const isQueryBuilder: (value: unknown) => value is QueryBuilder<any, any, any>;
91
- export type QueryBuilder<TResult, TTableDef extends DbSchema.TableDefBase,
93
+ export type QueryBuilder<TResult, TTableDef extends State.SQLite.TableDefBase,
92
94
  /** Used to gradually remove features from the API based on the query context */
93
- TWithout extends QueryBuilder.ApiFeature = never, TQueryInfo extends QueryInfo = QueryInfo.None> = {
94
- readonly [TypeId]: TypeId;
95
+ TWithout extends QueryBuilder.ApiFeature = never> = {
96
+ readonly [QueryBuilderTypeId]: QueryBuilderTypeId;
95
97
  readonly [QueryBuilderAstSymbol]: QueryBuilderAst;
98
+ readonly ['ResultType']: TResult;
96
99
  readonly asSql: () => {
97
100
  query: string;
98
101
  bindValues: SqlValue[];
99
102
  };
100
103
  readonly toString: () => string;
101
- } & Omit<QueryBuilder.ApiFull<TResult, TTableDef, TWithout, TQueryInfo>, TWithout>;
104
+ } & Omit<QueryBuilder.ApiFull<TResult, TTableDef, TWithout>, TWithout>;
102
105
  export declare namespace QueryBuilder {
103
- type Any = QueryBuilder<any, any, any, any>;
106
+ type Any = QueryBuilder<any, any, any>;
104
107
  type WhereOps = WhereOps.Equality | WhereOps.Order | WhereOps.Like | WhereOps.In;
105
108
  namespace WhereOps {
106
109
  type Equality = '=' | '!=';
@@ -111,7 +114,7 @@ export declare namespace QueryBuilder {
111
114
  type MultiValue = In;
112
115
  }
113
116
  type ApiFeature = 'select' | 'where' | 'count' | 'orderBy' | 'offset' | 'limit' | 'first' | 'row' | 'insert' | 'update' | 'delete' | 'returning' | 'onConflict';
114
- type WhereParams<TTableDef extends DbSchema.TableDefBase> = Partial<{
117
+ type WhereParams<TTableDef extends State.SQLite.TableDefBase> = Partial<{
115
118
  [K in keyof TTableDef['sqliteDef']['columns']]: TTableDef['sqliteDef']['columns'][K]['schema']['Type'] | {
116
119
  op: QueryBuilder.WhereOps.SingleValue;
117
120
  value: TTableDef['sqliteDef']['columns'][K]['schema']['Type'];
@@ -120,29 +123,27 @@ export declare namespace QueryBuilder {
120
123
  value: ReadonlyArray<TTableDef['sqliteDef']['columns'][K]['schema']['Type']>;
121
124
  } | undefined;
122
125
  }>;
123
- type OrderByParams<TTableDef extends DbSchema.TableDefBase> = ReadonlyArray<{
126
+ type OrderByParams<TTableDef extends State.SQLite.TableDefBase> = ReadonlyArray<{
124
127
  col: keyof TTableDef['sqliteDef']['columns'] & string;
125
128
  direction: 'asc' | 'desc';
126
129
  }>;
127
- type ApiFull<TResult, TTableDef extends DbSchema.TableDefBase, TWithout extends ApiFeature, TQueryInfo extends QueryInfo> = {
130
+ type ApiFull<TResult, TTableDef extends State.SQLite.TableDefBase, TWithout extends ApiFeature> = {
128
131
  /**
129
132
  * `SELECT *` is the default
130
133
  *
131
134
  * Example:
132
135
  * ```ts
133
136
  * db.todos.select('id', 'text', 'completed')
134
- * db.todos.select('id', { pluck: true })
137
+ * db.todos.select('id')
135
138
  * ```
136
139
  */
137
140
  readonly select: {
138
- <TColumn extends keyof TTableDef['sqliteDef']['columns'] & string, TPluck extends boolean = false>(column: TColumn, options?: {
139
- pluck: TPluck;
140
- }): QueryBuilder<TPluck extends true ? ReadonlyArray<TTableDef['sqliteDef']['columns'][TColumn]['schema']['Type']> : ReadonlyArray<{
141
- readonly [K in TColumn]: TTableDef['sqliteDef']['columns'][K]['schema']['Type'];
142
- }>, TTableDef, TWithout | 'row' | 'select' | 'returning' | 'onConflict', TQueryInfo>;
141
+ /** Selects and plucks a single column */
142
+ <TColumn extends keyof TTableDef['sqliteDef']['columns'] & string>(pluckColumn: TColumn): QueryBuilder<ReadonlyArray<TTableDef['sqliteDef']['columns'][TColumn]['schema']['Type']>, TTableDef, TWithout | 'row' | 'select' | 'returning' | 'onConflict'>;
143
+ /** Select multiple columns */
143
144
  <TColumns extends keyof TTableDef['sqliteDef']['columns'] & string>(...columns: TColumns[]): QueryBuilder<ReadonlyArray<{
144
145
  readonly [K in TColumns]: TTableDef['sqliteDef']['columns'][K]['schema']['Type'];
145
- }>, TTableDef, TWithout | 'row' | 'select' | 'count' | 'returning' | 'onConflict', TQueryInfo>;
146
+ }>, TTableDef, TWithout | 'row' | 'select' | 'count' | 'returning' | 'onConflict'>;
146
147
  };
147
148
  /**
148
149
  * Notes:
@@ -160,9 +161,9 @@ export declare namespace QueryBuilder {
160
161
  * TODO: Also support `OR`
161
162
  */
162
163
  readonly where: {
163
- <TParams extends QueryBuilder.WhereParams<TTableDef>>(params: TParams): QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select', TQueryInfo>;
164
- <TColName extends keyof TTableDef['sqliteDef']['columns']>(col: TColName, value: TTableDef['sqliteDef']['columns'][TColName]['schema']['Type']): QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select', TQueryInfo>;
165
- <TColName extends keyof TTableDef['sqliteDef']['columns']>(col: TColName, op: QueryBuilder.WhereOps, value: TTableDef['sqliteDef']['columns'][TColName]['schema']['Type']): QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select', TQueryInfo>;
164
+ (params: QueryBuilder.WhereParams<TTableDef>): QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select'>;
165
+ <TColName extends keyof TTableDef['sqliteDef']['columns']>(col: TColName, value: TTableDef['sqliteDef']['columns'][TColName]['schema']['Type']): QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select'>;
166
+ <TColName extends keyof TTableDef['sqliteDef']['columns']>(col: TColName, op: QueryBuilder.WhereOps, value: TTableDef['sqliteDef']['columns'][TColName]['schema']['Type']): QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select'>;
166
167
  };
167
168
  /**
168
169
  * Example:
@@ -171,7 +172,7 @@ export declare namespace QueryBuilder {
171
172
  * db.todos.count().where('completed', true)
172
173
  * ```
173
174
  */
174
- readonly count: () => QueryBuilder<number, TTableDef, TWithout | 'row' | 'count' | 'select' | 'orderBy' | 'first' | 'offset' | 'limit' | 'returning' | 'onConflict', TQueryInfo>;
175
+ readonly count: () => QueryBuilder<number, TTableDef, TWithout | 'row' | 'count' | 'select' | 'orderBy' | 'first' | 'offset' | 'limit' | 'returning' | 'onConflict'>;
175
176
  /**
176
177
  * Example:
177
178
  * ```ts
@@ -179,8 +180,8 @@ export declare namespace QueryBuilder {
179
180
  * ```
180
181
  */
181
182
  readonly orderBy: {
182
- <TColName extends keyof TTableDef['sqliteDef']['columns'] & string>(col: TColName, direction: 'asc' | 'desc'): QueryBuilder<TResult, TTableDef, TWithout | 'returning' | 'onConflict', TQueryInfo>;
183
- <TParams extends QueryBuilder.OrderByParams<TTableDef>>(params: TParams): QueryBuilder<TResult, TTableDef, TWithout | 'returning' | 'onConflict', TQueryInfo>;
183
+ <TColName extends keyof TTableDef['sqliteDef']['columns'] & string>(col: TColName, direction: 'asc' | 'desc'): QueryBuilder<TResult, TTableDef, TWithout | 'returning' | 'onConflict'>;
184
+ <TParams extends QueryBuilder.OrderByParams<TTableDef>>(params: TParams): QueryBuilder<TResult, TTableDef, TWithout | 'returning' | 'onConflict'>;
184
185
  };
185
186
  /**
186
187
  * Example:
@@ -188,27 +189,26 @@ export declare namespace QueryBuilder {
188
189
  * db.todos.offset(10)
189
190
  * ```
190
191
  */
191
- readonly offset: (offset: number) => QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'offset' | 'orderBy' | 'returning' | 'onConflict', TQueryInfo>;
192
+ readonly offset: (offset: number) => QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'offset' | 'orderBy' | 'returning' | 'onConflict'>;
192
193
  /**
193
194
  * Example:
194
195
  * ```ts
195
196
  * db.todos.limit(10)
196
197
  * ```
197
198
  */
198
- readonly limit: (limit: number) => QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'limit' | 'offset' | 'first' | 'orderBy' | 'returning' | 'onConflict', TQueryInfo>;
199
+ readonly limit: (limit: number) => QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'limit' | 'offset' | 'first' | 'orderBy' | 'returning' | 'onConflict'>;
199
200
  /**
200
201
  * Example:
201
202
  * ```ts
202
203
  * db.todos.first()
204
+ * db.todos.where('id', '123').first()
203
205
  * ```
206
+ *
207
+ * Query will fail if no rows are returned and no fallback is provided.
204
208
  */
205
- readonly first: <TFallback extends GetSingle<TResult> = never>(options?: {
206
- fallback?: () => TFallback;
207
- }) => QueryBuilder<TFallback | GetSingle<TResult>, TTableDef, TWithout | 'row' | 'first' | 'orderBy' | 'select' | 'limit' | 'offset' | 'where' | 'returning' | 'onConflict', TQueryInfo>;
208
- /**
209
- * Gets a single row from the table and will create it if it doesn't exist yet.
210
- */
211
- readonly row: TTableDef['options']['isSingleton'] extends true ? () => QueryBuilder<RowQuery.Result<TTableDef>, TTableDef, QueryBuilder.ApiFeature, QueryInfo.Row> : TTableDef['options']['deriveMutations']['enabled'] extends false ? (_: 'Error: Need to enable deriveMutations to use row()') => any : TTableDef['options']['requiredInsertColumnNames'] extends never ? (id: string | SessionIdSymbol | number) => QueryBuilder<RowQuery.Result<TTableDef>, TTableDef, QueryBuilder.ApiFeature, QueryInfo.Row> : <TOptions extends RowQuery.RequiredColumnsOptions<TTableDef>>(id: string | SessionIdSymbol | number, opts: TOptions) => QueryBuilder<RowQuery.Result<TTableDef>, TTableDef, QueryBuilder.ApiFeature, QueryInfo.Row>;
209
+ readonly first: <TFallback = never>(options?: {
210
+ fallback?: () => TFallback | GetSingle<TResult>;
211
+ }) => QueryBuilder<TFallback | GetSingle<TResult>, TTableDef, TWithout | 'row' | 'first' | 'orderBy' | 'select' | 'limit' | 'offset' | 'where' | 'returning' | 'onConflict'>;
212
212
  /**
213
213
  * Insert a new row into the table
214
214
  *
@@ -217,7 +217,7 @@ export declare namespace QueryBuilder {
217
217
  * db.todos.insert({ id: '123', text: 'Buy milk', status: 'active' })
218
218
  * ```
219
219
  */
220
- readonly insert: (values: TTableDef['insertSchema']['Type']) => QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'where', QueryInfo.Write>;
220
+ readonly insert: (values: TTableDef['insertSchema']['Type']) => QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'where'>;
221
221
  /**
222
222
  * Example: If the row already exists, it will be ignored.
223
223
  * ```ts
@@ -237,8 +237,8 @@ export declare namespace QueryBuilder {
237
237
  * NOTE This API doesn't yet support composite primary keys.
238
238
  */
239
239
  readonly onConflict: {
240
- (target: string, action: 'ignore' | 'replace'): QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'where', TQueryInfo>;
241
- <TTarget extends keyof TTableDef['sqliteDef']['columns'] & string>(target: TTarget, action: 'update', updateValues: Partial<TTableDef['schema']['Type']>): QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'where', TQueryInfo>;
240
+ <TTarget extends SingleOrReadonlyArray<keyof TTableDef['sqliteDef']['columns']>>(target: TTarget, action: 'ignore' | 'replace'): QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'where'>;
241
+ <TTarget extends SingleOrReadonlyArray<keyof TTableDef['sqliteDef']['columns']>>(target: TTarget, action: 'update', updateValues: Partial<TTableDef['rowSchema']['Type']>): QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'where'>;
242
242
  };
243
243
  /**
244
244
  * Similar to the `.select` API but for write queries (insert, update, delete).
@@ -259,7 +259,7 @@ export declare namespace QueryBuilder {
259
259
  * db.todos.update({ status: 'completed' }).where({ id: '123' })
260
260
  * ```
261
261
  */
262
- readonly update: (values: Partial<TTableDef['schema']['Type']>) => QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'onConflict', QueryInfo.Write>;
262
+ readonly update: (values: Partial<TTableDef['rowSchema']['Type']>) => QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'onConflict'>;
263
263
  /**
264
264
  * Delete rows from the table that match the where clause
265
265
  *
@@ -270,18 +270,23 @@ export declare namespace QueryBuilder {
270
270
  *
271
271
  * Note that it's generally recommended to do soft-deletes for synced apps.
272
272
  */
273
- readonly delete: () => QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'onConflict', QueryInfo.Write>;
273
+ readonly delete: () => QueryBuilder<TResult, TTableDef, TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'onConflict'>;
274
274
  };
275
275
  }
276
276
  export declare namespace RowQuery {
277
- type RequiredColumnsOptions<TTableDef extends DbSchema.TableDefBase> = {
277
+ type GetOrCreateOptions<TTableDef extends ClientDocumentTableDef.TraitAny> = {
278
+ default: Partial<TTableDef['Value']>;
279
+ };
280
+ type RequiredColumnsOptions<TTableDef extends State.SQLite.TableDefBase> = {
278
281
  /**
279
282
  * Values to be inserted into the row if it doesn't exist yet
280
283
  */
281
- insertValues: Pick<SqliteDsl.FromColumns.RowDecodedAll<TTableDef['sqliteDef']['columns']>, SqliteDsl.FromColumns.RequiredInsertColumnNames<Omit<TTableDef['sqliteDef']['columns'], 'id'>>>;
284
+ explicitDefaultValues: Pick<SqliteDsl.FromColumns.RowDecodedAll<TTableDef['sqliteDef']['columns']>, SqliteDsl.FromColumns.RequiredInsertColumnNames<Omit<TTableDef['sqliteDef']['columns'], 'id'>>>;
282
285
  };
283
- type Result<TTableDef extends DbSchema.TableDefBase> = TTableDef['options']['isSingleColumn'] extends true ? GetValForKey<SqliteDsl.FromColumns.RowDecoded<TTableDef['sqliteDef']['columns']>, 'value'> : SqliteDsl.FromColumns.RowDecoded<TTableDef['sqliteDef']['columns']>;
284
- type ResultEncoded<TTableDef extends DbSchema.TableDefBase> = TTableDef['options']['isSingleColumn'] extends true ? GetValForKey<SqliteDsl.FromColumns.RowEncoded<TTableDef['sqliteDef']['columns']>, 'value'> : SqliteDsl.FromColumns.RowEncoded<TTableDef['sqliteDef']['columns']>;
286
+ type Result<TTableDef extends State.SQLite.TableDefBase> = SqliteDsl.FromColumns.RowDecoded<TTableDef['sqliteDef']['columns']>;
287
+ type DocumentResult<TTableDef extends ClientDocumentTableDef.Any> = GetValForKey<SqliteDsl.FromColumns.RowDecoded<TTableDef['sqliteDef']['columns']>, 'value'>;
288
+ type ResultEncoded<TTableDef extends State.SQLite.TableDefBase> = TTableDef['options']['isClientDocumentTable'] extends true ? GetValForKey<SqliteDsl.FromColumns.RowEncoded<TTableDef['sqliteDef']['columns']>, 'value'> : SqliteDsl.FromColumns.RowEncoded<TTableDef['sqliteDef']['columns']>;
289
+ type GetIdColumnType<TTableDef extends State.SQLite.TableDefBase> = TTableDef['sqliteDef']['columns']['id']['schema']['Type'];
285
290
  }
286
291
  type GetSingle<T> = T extends ReadonlyArray<infer U> ? U : never;
287
292
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/query-builder/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,KAAK,MAAM,EAAa,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAE7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,MAAM,MAAM,eAAe,GACvB,eAAe,CAAC,WAAW,GAC3B,eAAe,CAAC,UAAU,GAC1B,eAAe,CAAC,QAAQ,GACxB,eAAe,CAAC,WAAW,GAC3B,eAAe,CAAC,WAAW,GAC3B,eAAe,CAAC,WAAW,CAAA;AAE/B,yBAAiB,eAAe,CAAC;IAC/B,UAAiB,WAAW;QAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;QAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;QAC1B,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG;YAAE,QAAQ,EAAE,MAAM,GAAG,CAAA;SAAE,CAAA;QACnD,QAAQ,CAAC,MAAM,EAAE;YACf,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;SAC/B,CAAA;QACD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;QACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACrC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAA;QACxC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QACpD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;KAChD;IAED,UAAiB,UAAU;QACzB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;QAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAA;QACxC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QACpD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC,CAAA;KAC/E;IAED,UAAiB,QAAQ;QACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;QACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAA;QACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,MAAM,CAAA;QAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC/C;IAED,UAAiB,WAAW;QAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;QAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAA;QACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACxC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAA;QAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;QACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;KAC1C;IAED,UAAiB,UAAU;QACzB,8BAA8B;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,MAAM,EACX;YAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;SAAE,GAC3B;YAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;SAAE,GAC5B;YACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;YACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SACzC,CAAA;KACN;IAED,UAAiB,WAAW;QAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;QAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAA;QACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACxC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;QACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;KAC1C;IAED,UAAiB,WAAW;QAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;QAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAA;QACxC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;QACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;KAC1C;IAED,KAAY,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAA;IAEhE,UAAiB,KAAK;QACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAA;QAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KACxB;IAED,UAAiB,OAAO;QACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KACnC;CACF;AAED,eAAO,MAAM,qBAAqB,eAAgC,CAAA;AAClE,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAA;AAChE,eAAO,MAAM,MAAM,eAA6B,CAAA;AAChD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAC7C,CAAA;AAEtC,MAAM,MAAM,YAAY,CACtB,OAAO,EACP,SAAS,SAAS,QAAQ,CAAC,YAAY;AACvC,gFAAgF;AAChF,QAAQ,SAAS,YAAY,CAAC,UAAU,GAAG,KAAK,EAChD,UAAU,SAAS,SAAS,GAAG,SAAS,CAAC,IAAI,IAC3C;IACF,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,eAAe,CAAA;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAA;IAC/D,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAA;CAChC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;AAElF,yBAAiB,YAAY,CAAC;IAC5B,KAAY,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAClD,KAAY,QAAQ,GAAG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAA;IAEvF,UAAiB,QAAQ,CAAC;QACxB,KAAY,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAA;QACjC,KAAY,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;QAC3C,KAAY,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAA;QAC9D,KAAY,EAAE,GAAG,IAAI,GAAG,QAAQ,CAAA;QAEhC,KAAY,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAA;QACjD,KAAY,UAAU,GAAG,EAAE,CAAA;KAC5B;IAED,KAAY,UAAU,GAClB,QAAQ,GACR,OAAO,GACP,OAAO,GACP,SAAS,GACT,QAAQ,GACR,OAAO,GACP,OAAO,GACP,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,YAAY,CAAA;IAEhB,KAAY,WAAW,CAAC,SAAS,SAAS,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC;SACxE,CAAC,IAAI,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GACzC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GACtD;YAAE,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAC,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;SAAE,GACxG;YACE,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAA;YACpC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;SAC7E,GACD,SAAS;KACd,CAAC,CAAA;IAEF,KAAY,aAAa,CAAC,SAAS,SAAS,QAAQ,CAAC,YAAY,IAAI,aAAa,CAAC;QACjF,GAAG,EAAE,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAA;QACrD,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAC1B,CAAC,CAAA;IAEF,KAAY,OAAO,CACjB,OAAO,EACP,SAAS,SAAS,QAAQ,CAAC,YAAY,EACvC,QAAQ,SAAS,UAAU,EAC3B,UAAU,SAAS,SAAS,IAC1B;QACF;;;;;;;;WAQG;QACH,QAAQ,CAAC,MAAM,EAAE;YACf,CAAC,OAAO,SAAS,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,EAAE,MAAM,SAAS,OAAO,GAAG,KAAK,EAC/F,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAA;aAAE,GAC1B,YAAY,CACb,MAAM,SAAS,IAAI,GACf,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAC3E,aAAa,CAAC;gBACZ,QAAQ,EAAE,CAAC,IAAI,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;aAChF,CAAC,EACN,SAAS,EACT,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,EACxD,UAAU,CACX,CAAA;YACD,CAAC,QAAQ,SAAS,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,EAChE,GAAG,OAAO,EAAE,QAAQ,EAAE,GAGrB,YAAY,CACb,aAAa,CAAC;gBACZ,QAAQ,EAAE,CAAC,IAAI,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;aACjF,CAAC,EACF,SAAS,EACT,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,EAClE,UAAU,CACX,CAAA;SACF,CAAA;QAED;;;;;;;;;;;;;;WAcG;QACH,QAAQ,CAAC,KAAK,EAAE;YACd,CAAC,OAAO,SAAS,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAClD,MAAM,EAAE,OAAO,GACd,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAA;YAC5E,CAAC,QAAQ,SAAS,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EACvD,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GACnE,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAA;YAC5E,CAAC,QAAQ,SAAS,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EACvD,GAAG,EAAE,QAAQ,EACb,EAAE,EAAE,YAAY,CAAC,QAAQ,EACzB,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GACnE,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAA;SAC7E,CAAA;QAED;;;;;;WAMG;QACH,QAAQ,CAAC,KAAK,EAAE,MAAM,YAAY,CAChC,MAAM,EACN,SAAS,EACT,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,EAC7G,UAAU,CACX,CAAA;QAED;;;;;WAKG;QACH,QAAQ,CAAC,OAAO,EAAE;YAChB,CAAC,QAAQ,SAAS,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,EAChE,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,KAAK,GAAG,MAAM,GACxB,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,EAAE,UAAU,CAAC,CAAA;YACtF,CAAC,OAAO,SAAS,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,EACpD,MAAM,EAAE,OAAO,GACd,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,EAAE,UAAU,CAAC,CAAA;SACvF,CAAA;QAED;;;;;WAKG;QACH,QAAQ,CAAC,MAAM,EAAE,CACf,MAAM,EAAE,MAAM,KACX,YAAY,CACf,OAAO,EACP,SAAS,EACT,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,EACpE,UAAU,CACX,CAAA;QAED;;;;;WAKG;QACH,QAAQ,CAAC,KAAK,EAAE,CACd,KAAK,EAAE,MAAM,KACV,YAAY,CACf,OAAO,EACP,SAAS,EACT,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,EACxF,UAAU,CACX,CAAA;QAED;;;;;WAKG;QACH,QAAQ,CAAC,KAAK,EAAE,CAAC,SAAS,SAAS,SAAS,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE;YACvE,QAAQ,CAAC,EAAE,MAAM,SAAS,CAAA;SAC3B,KAAK,YAAY,CAChB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,EAC9B,SAAS,EACT,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,EAC7G,UAAU,CACX,CAAA;QAED;;WAEG;QAEH,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,SAAS,IAAI,GAC1D,MAAM,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,GACjG,SAAS,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,SAAS,KAAK,GAC9D,CAAC,CAAC,EAAE,oDAAoD,KAAK,GAAG,GAChE,SAAS,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,SAAS,KAAK,GAC7D,CACE,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,MAAM,KAClC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,GAChG,CAAC,QAAQ,SAAS,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAC1D,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,MAAM,EACrC,IAAI,EAAE,QAAQ,KACX,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;QAExG;;;;;;;WAOG;QACH,QAAQ,CAAC,MAAM,EAAE,CACf,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,KACtC,YAAY,CACf,OAAO,EACP,SAAS,EACT,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,EAC1F,SAAS,CAAC,KAAK,CAChB,CAAA;QAED;;;;;;;;;;;;;;;;;WAiBG;QACH,QAAQ,CAAC,UAAU,EAAE;YACnB,CACE,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAC3B,YAAY,CACb,OAAO,EACP,SAAS,EACT,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,EAC1F,UAAU,CACX,CAAA;YACD,CAAC,OAAO,SAAS,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,EAC/D,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,QAAQ,EAChB,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GACjD,YAAY,CACb,OAAO,EACP,SAAS,EACT,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,EAC1F,UAAU,CACX,CAAA;SACF,CAAA;QAED;;;;;;;WAOG;QACH,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,SAAS,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,EACpF,GAAG,OAAO,EAAE,QAAQ,EAAE,KACnB,YAAY,CACf,aAAa,CAAC;YACZ,QAAQ,EAAE,CAAC,IAAI,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;SACjF,CAAC,EACF,SAAS,CACV,CAAA;QAED;;;;;;;WAOG;QACH,QAAQ,CAAC,MAAM,EAAE,CACf,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KACzC,YAAY,CACf,OAAO,EACP,SAAS,EACT,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,EAC/F,SAAS,CAAC,KAAK,CAChB,CAAA;QAED;;;;;;;;;WASG;QACH,QAAQ,CAAC,MAAM,EAAE,MAAM,YAAY,CACjC,OAAO,EACP,SAAS,EACT,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,EAC/F,SAAS,CAAC,KAAK,CAChB,CAAA;KACF,CAAA;CACF;AAED,yBAAiB,QAAQ,CAAC;IACxB,KAAY,sBAAsB,CAAC,SAAS,SAAS,QAAQ,CAAC,YAAY,IAAI;QAC5E;;WAEG;QACH,YAAY,EAAE,IAAI,CAChB,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,EACtE,SAAS,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAC/F,CAAA;KACF,CAAA;IAED,KAAY,MAAM,CAAC,SAAS,SAAS,QAAQ,CAAC,YAAY,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,SAAS,IAAI,GAC7G,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,GAC1F,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAEvE,KAAY,aAAa,CAAC,SAAS,SAAS,QAAQ,CAAC,YAAY,IAC/D,SAAS,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,SAAS,IAAI,GAC/C,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,GAC1F,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;CAC1E;AAED,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/query-builder/api.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  import { Predicate } from '@livestore/utils/effect';
2
2
  export const QueryBuilderAstSymbol = Symbol.for('QueryBuilderAst');
3
- export const TypeId = Symbol.for('QueryBuilder');
4
- export const isQueryBuilder = (value) => Predicate.hasProperty(value, TypeId);
5
- // export type QueryBuilderParamRef = { _tag: 'QueryBuilderParamRef' }
6
- // export type QueryBuilderSelectParams = { [key: string]: QueryBuilderSelectParam }
7
- // export type QueryBuilderSelectParam = boolean | ((ref: QueryBuilderParamRef) => QueryBuilder<any, any>)
3
+ export const QueryBuilderResultSymbol = Symbol.for('QueryBuilderResult');
4
+ export const QueryBuilderTypeId = Symbol.for('QueryBuilder');
5
+ export const isQueryBuilder = (value) => Predicate.hasProperty(value, QueryBuilderTypeId);
8
6
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/query-builder/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,SAAS,EAAe,MAAM,yBAAyB,CAAA;AAkG7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;AAElE,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAGhD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAwC,EAAE,CACrF,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAsWtC,sEAAsE;AACtE,oFAAoF;AACpF,0GAA0G"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/query-builder/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,SAAS,EAAe,MAAM,yBAAyB,CAAA;AAkG7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;AAGlE,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAGxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAG5D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAwC,EAAE,CACrF,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"astToSql.d.ts","sourceRoot":"","sources":["../../src/query-builder/astToSql.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AA6D/C,eAAO,MAAM,QAAQ,GAAI,KAAK,eAAe,KAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,QAAQ,EAAE,CAAA;CAuItF,CAAA"}
1
+ {"version":3,"file":"astToSql.d.ts","sourceRoot":"","sources":["../../src/query-builder/astToSql.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AA6D/C,eAAO,MAAM,QAAQ,GAAI,KAAK,eAAe,KAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,QAAQ,EAAE,CAAA;CAoKtF,CAAA"}
@@ -56,55 +56,76 @@ export const astToSql = (ast) => {
56
56
  if (ast._tag === 'InsertQuery') {
57
57
  const columns = Object.keys(ast.values);
58
58
  const placeholders = columns.map(() => '?').join(', ');
59
- const values = Object.values(Schema.encodeSync(ast.tableDef.insertSchema)(ast.values));
60
- bindValues.push(...values);
61
- let query = `INSERT INTO '${ast.tableDef.sqliteDef.name}' (${columns.join(', ')}) VALUES (${placeholders})`;
59
+ const encodedValues = Schema.encodeSync(ast.tableDef.insertSchema)(ast.values);
60
+ // Ensure bind values are added in the same order as columns
61
+ columns.forEach((col) => {
62
+ bindValues.push(encodedValues[col]);
63
+ });
64
+ let insertVerb = 'INSERT';
65
+ let conflictClause = ''; // Store the ON CONFLICT clause separately
62
66
  // Handle ON CONFLICT clause
63
67
  if (ast.onConflict) {
64
- query += ` ON CONFLICT (${ast.onConflict.target}) `;
65
- if (ast.onConflict.action._tag === 'ignore') {
66
- query += 'DO NOTHING';
67
- }
68
- else if (ast.onConflict.action._tag === 'replace') {
69
- query += 'DO REPLACE';
68
+ // Handle REPLACE specifically as it changes the INSERT verb
69
+ if (ast.onConflict.action._tag === 'replace') {
70
+ insertVerb = 'INSERT OR REPLACE';
71
+ // For REPLACE, the conflict target is implied and no further clause is needed
70
72
  }
71
73
  else {
72
- // Handle the update record case
73
- const updateValues = ast.onConflict.action.update;
74
- const updateCols = Object.keys(updateValues);
75
- if (updateCols.length === 0) {
76
- throw new Error('No update columns provided for ON CONFLICT DO UPDATE');
74
+ // Build the ON CONFLICT clause for IGNORE or UPDATE
75
+ conflictClause = ` ON CONFLICT (${ast.onConflict.targets.join(', ')}) `;
76
+ if (ast.onConflict.action._tag === 'ignore') {
77
+ conflictClause += 'DO NOTHING';
77
78
  }
78
- const updates = updateCols
79
- .map((col) => {
80
- const value = updateValues[col];
81
- // If the value is undefined, use excluded.col
82
- return value === undefined ? `${col} = excluded.${col}` : `${col} = ?`;
83
- })
84
- .join(', ');
85
- // Add values for the parameters
86
- updateCols.forEach((col) => {
87
- const value = updateValues[col];
88
- if (value !== undefined) {
89
- const colDef = ast.tableDef.sqliteDef.columns[col];
90
- if (colDef === undefined) {
91
- throw new Error(`Column ${col} not found`);
92
- }
93
- const encodedValue = Schema.encodeSync(colDef.schema)(value);
94
- bindValues.push(encodedValue);
79
+ else {
80
+ // Handle the update record case
81
+ const updateValues = ast.onConflict.action.update;
82
+ const updateCols = Object.keys(updateValues);
83
+ if (updateCols.length === 0) {
84
+ throw new Error('No update columns provided for ON CONFLICT DO UPDATE');
95
85
  }
96
- });
97
- query += `DO UPDATE SET ${updates}`;
86
+ const updates = updateCols
87
+ .map((col) => {
88
+ const value = updateValues[col];
89
+ // If the value is undefined, use excluded.col
90
+ return value === undefined ? `${col} = excluded.${col}` : `${col} = ?`;
91
+ })
92
+ .join(', ');
93
+ // Add values for the parameters
94
+ updateCols.forEach((col) => {
95
+ const value = updateValues[col];
96
+ if (value !== undefined) {
97
+ const colDef = ast.tableDef.sqliteDef.columns[col];
98
+ if (colDef === undefined) {
99
+ throw new Error(`Column ${col} not found`);
100
+ }
101
+ const encodedValue = Schema.encodeSync(colDef.schema)(value);
102
+ bindValues.push(encodedValue);
103
+ }
104
+ });
105
+ conflictClause += `DO UPDATE SET ${updates}`;
106
+ }
98
107
  }
99
108
  }
109
+ // Construct the main query part
110
+ let query = `${insertVerb} INTO '${ast.tableDef.sqliteDef.name}' (${columns.join(', ')}) VALUES (${placeholders})`;
111
+ // Append the conflict clause if it was generated (i.e., not for REPLACE)
112
+ query += conflictClause;
100
113
  query += formatReturningClause(ast.returning);
101
114
  return { query, bindValues };
102
115
  }
103
116
  // UPDATE query
104
117
  if (ast._tag === 'UpdateQuery') {
105
118
  const setColumns = Object.keys(ast.values);
106
- const setValues = Object.values(Schema.encodeSync(Schema.partial(ast.tableDef.schema))(ast.values));
107
- bindValues.push(...setValues);
119
+ if (setColumns.length === 0) {
120
+ console.warn(`UPDATE query requires at least one column to set (for table ${ast.tableDef.sqliteDef.name}). Running no-op query instead to skip this update query.`);
121
+ return { query: 'SELECT 1', bindValues: [] };
122
+ // return shouldNeverHappen('UPDATE query requires at least one column to set.')
123
+ }
124
+ const encodedValues = Schema.encodeSync(Schema.partial(ast.tableDef.rowSchema))(ast.values);
125
+ // Ensure bind values are added in the same order as columns
126
+ setColumns.forEach((col) => {
127
+ bindValues.push(encodedValues[col]);
128
+ });
108
129
  let query = `UPDATE '${ast.tableDef.sqliteDef.name}' SET ${setColumns.map((col) => `${col} = ?`).join(', ')}`;
109
130
  const whereClause = formatWhereClause(ast.where, ast.tableDef, bindValues);
110
131
  if (whereClause)
@@ -154,11 +175,12 @@ export const astToSql = (ast) => {
154
175
  ? `ORDER BY ${ast.orderBy.map(({ col, direction }) => `${col} ${direction}`).join(', ')}`
155
176
  : '';
156
177
  const limitStmt = ast.limit._tag === 'Some' ? `LIMIT ?` : '';
157
- if (ast.limit._tag === 'Some')
158
- bindValues.push(ast.limit.value);
159
178
  const offsetStmt = ast.offset._tag === 'Some' ? `OFFSET ?` : '';
179
+ // Push offset and limit values in the correct order matching the query string
160
180
  if (ast.offset._tag === 'Some')
161
181
  bindValues.push(ast.offset.value);
182
+ if (ast.limit._tag === 'Some')
183
+ bindValues.push(ast.limit.value);
162
184
  const query = [selectStmt, fromStmt, whereStmt, orderByStmt, offsetStmt, limitStmt]
163
185
  .map((clause) => clause.trim())
164
186
  .filter((clause) => clause.length > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"astToSql.js","sourceRoot":"","sources":["../../src/query-builder/astToSql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astToSql.js","sourceRoot":"","sources":["../../src/query-builder/astToSql.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { Schema } from '@livestore/utils/effect';
2
- import type { QueryInfo } from '../query-info.js';
3
- import type { DbSchema } from '../schema/mod.js';
2
+ import type { State } from '../schema/mod.js';
4
3
  import type { QueryBuilder, QueryBuilderAst } from './api.js';
5
- export declare const makeQueryBuilder: <TResult, TTableDef extends DbSchema.TableDefBase>(tableDef: TTableDef, ast?: QueryBuilderAst) => QueryBuilder<TResult, TTableDef, never, QueryInfo.None>;
4
+ export declare const makeQueryBuilder: <TResult, TTableDef extends State.SQLite.TableDefBase>(tableDef: TTableDef, ast?: QueryBuilderAst) => QueryBuilder<TResult, TTableDef, never>;
6
5
  export declare const invalidQueryBuilder: (msg?: string) => never;
7
6
  export declare const getResultSchema: (qb: QueryBuilder<any, any, any>) => Schema.Schema<any>;
8
7
  //# sourceMappingURL=impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl.d.ts","sourceRoot":"","sources":["../../src/query-builder/impl.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAE1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAI7D,eAAO,MAAM,gBAAgB,GAAI,OAAO,EAAE,SAAS,SAAS,QAAQ,CAAC,YAAY,EAC/E,UAAU,SAAS,EACnB,MAAK,eAAoC,KACxC,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CA+OxD,CAAA;AAuCD,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,UAE/C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,IAAI,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAkClF,CAAA"}
1
+ {"version":3,"file":"impl.d.ts","sourceRoot":"","sources":["../../src/query-builder/impl.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAE1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAI7D,eAAO,MAAM,gBAAgB,GAAI,OAAO,EAAE,SAAS,SAAS,KAAK,CAAC,MAAM,CAAC,YAAY,EACnF,UAAU,SAAS,EACnB,MAAK,eAAoC,KACxC,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CA4PxC,CAAA;AAuCD,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,UAE/C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,IAAI,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAsClF,CAAA"}