@livestore/common 0.0.0-snapshot-2b8a9de3ec1a701aca891ebc2c98eb328274ae9e → 0.0.0-snapshot-2c861249e50661661613204300b1fc0d902c2e46

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 (287) 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 +36 -22
  7. package/dist/adapter-types.d.ts.map +1 -1
  8. package/dist/adapter-types.js +20 -8
  9. package/dist/adapter-types.js.map +1 -1
  10. package/dist/debug-info.d.ts.map +1 -1
  11. package/dist/debug-info.js +1 -0
  12. package/dist/debug-info.js.map +1 -1
  13. package/dist/devtools/devtools-messages-client-session.d.ts +21 -21
  14. package/dist/devtools/devtools-messages-common.d.ts +13 -6
  15. package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
  16. package/dist/devtools/devtools-messages-common.js +6 -0
  17. package/dist/devtools/devtools-messages-common.js.map +1 -1
  18. package/dist/devtools/devtools-messages-leader.d.ts +46 -46
  19. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  20. package/dist/devtools/devtools-messages-leader.js +12 -13
  21. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  22. package/dist/index.d.ts +2 -5
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +2 -5
  25. package/dist/index.js.map +1 -1
  26. package/dist/leader-thread/LeaderSyncProcessor.d.ts +34 -12
  27. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  28. package/dist/leader-thread/LeaderSyncProcessor.js +284 -226
  29. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  30. package/dist/leader-thread/apply-event.d.ts +16 -0
  31. package/dist/leader-thread/apply-event.d.ts.map +1 -0
  32. package/dist/leader-thread/apply-event.js +122 -0
  33. package/dist/leader-thread/apply-event.js.map +1 -0
  34. package/dist/leader-thread/eventlog.d.ts +27 -0
  35. package/dist/leader-thread/eventlog.d.ts.map +1 -0
  36. package/dist/leader-thread/eventlog.js +123 -0
  37. package/dist/leader-thread/eventlog.js.map +1 -0
  38. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  39. package/dist/leader-thread/leader-worker-devtools.js +22 -23
  40. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  41. package/dist/leader-thread/make-leader-thread-layer.d.ts +16 -4
  42. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  43. package/dist/leader-thread/make-leader-thread-layer.js +36 -41
  44. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  45. package/dist/leader-thread/mod.d.ts +1 -1
  46. package/dist/leader-thread/mod.d.ts.map +1 -1
  47. package/dist/leader-thread/mod.js +1 -1
  48. package/dist/leader-thread/mod.js.map +1 -1
  49. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  50. package/dist/leader-thread/recreate-db.js +7 -7
  51. package/dist/leader-thread/recreate-db.js.map +1 -1
  52. package/dist/leader-thread/types.d.ts +40 -25
  53. package/dist/leader-thread/types.d.ts.map +1 -1
  54. package/dist/leader-thread/types.js.map +1 -1
  55. package/dist/materializer-helper.d.ts +23 -0
  56. package/dist/materializer-helper.d.ts.map +1 -0
  57. package/dist/materializer-helper.js +70 -0
  58. package/dist/materializer-helper.js.map +1 -0
  59. package/dist/query-builder/api.d.ts +55 -50
  60. package/dist/query-builder/api.d.ts.map +1 -1
  61. package/dist/query-builder/api.js +3 -5
  62. package/dist/query-builder/api.js.map +1 -1
  63. package/dist/query-builder/astToSql.d.ts.map +1 -1
  64. package/dist/query-builder/astToSql.js +59 -37
  65. package/dist/query-builder/astToSql.js.map +1 -1
  66. package/dist/query-builder/impl.d.ts +2 -3
  67. package/dist/query-builder/impl.d.ts.map +1 -1
  68. package/dist/query-builder/impl.js +47 -43
  69. package/dist/query-builder/impl.js.map +1 -1
  70. package/dist/query-builder/impl.test.d.ts +86 -1
  71. package/dist/query-builder/impl.test.d.ts.map +1 -1
  72. package/dist/query-builder/impl.test.js +223 -36
  73. package/dist/query-builder/impl.test.js.map +1 -1
  74. package/dist/rehydrate-from-eventlog.d.ts +15 -0
  75. package/dist/rehydrate-from-eventlog.d.ts.map +1 -0
  76. package/dist/{rehydrate-from-mutationlog.js → rehydrate-from-eventlog.js} +27 -28
  77. package/dist/rehydrate-from-eventlog.js.map +1 -0
  78. package/dist/schema/EventDef.d.ts +136 -0
  79. package/dist/schema/EventDef.d.ts.map +1 -0
  80. package/dist/schema/EventDef.js +58 -0
  81. package/dist/schema/EventDef.js.map +1 -0
  82. package/dist/schema/EventId.d.ts +10 -1
  83. package/dist/schema/EventId.d.ts.map +1 -1
  84. package/dist/schema/EventId.js +24 -3
  85. package/dist/schema/EventId.js.map +1 -1
  86. package/dist/schema/LiveStoreEvent.d.ts +255 -0
  87. package/dist/schema/LiveStoreEvent.d.ts.map +1 -0
  88. package/dist/schema/LiveStoreEvent.js +118 -0
  89. package/dist/schema/LiveStoreEvent.js.map +1 -0
  90. package/dist/schema/client-document-def.d.ts +223 -0
  91. package/dist/schema/client-document-def.d.ts.map +1 -0
  92. package/dist/schema/client-document-def.js +164 -0
  93. package/dist/schema/client-document-def.js.map +1 -0
  94. package/dist/schema/client-document-def.test.d.ts +2 -0
  95. package/dist/schema/client-document-def.test.d.ts.map +1 -0
  96. package/dist/schema/client-document-def.test.js +161 -0
  97. package/dist/schema/client-document-def.test.js.map +1 -0
  98. package/dist/schema/db-schema/dsl/mod.d.ts.map +1 -1
  99. package/dist/schema/events.d.ts +2 -0
  100. package/dist/schema/events.d.ts.map +1 -0
  101. package/dist/schema/events.js +2 -0
  102. package/dist/schema/events.js.map +1 -0
  103. package/dist/schema/mod.d.ts +4 -3
  104. package/dist/schema/mod.d.ts.map +1 -1
  105. package/dist/schema/mod.js +4 -3
  106. package/dist/schema/mod.js.map +1 -1
  107. package/dist/schema/schema.d.ts +26 -22
  108. package/dist/schema/schema.d.ts.map +1 -1
  109. package/dist/schema/schema.js +45 -43
  110. package/dist/schema/schema.js.map +1 -1
  111. package/dist/schema/sqlite-state.d.ts +12 -0
  112. package/dist/schema/sqlite-state.d.ts.map +1 -0
  113. package/dist/schema/sqlite-state.js +36 -0
  114. package/dist/schema/sqlite-state.js.map +1 -0
  115. package/dist/schema/system-tables.d.ts +121 -85
  116. package/dist/schema/system-tables.d.ts.map +1 -1
  117. package/dist/schema/system-tables.js +68 -43
  118. package/dist/schema/system-tables.js.map +1 -1
  119. package/dist/schema/table-def.d.ts +26 -96
  120. package/dist/schema/table-def.d.ts.map +1 -1
  121. package/dist/schema/table-def.js +14 -64
  122. package/dist/schema/table-def.js.map +1 -1
  123. package/dist/schema/view.d.ts +3 -0
  124. package/dist/schema/view.d.ts.map +1 -0
  125. package/dist/schema/view.js +3 -0
  126. package/dist/schema/view.js.map +1 -0
  127. package/dist/schema-management/common.d.ts +4 -4
  128. package/dist/schema-management/common.d.ts.map +1 -1
  129. package/dist/schema-management/migrations.d.ts.map +1 -1
  130. package/dist/schema-management/migrations.js +6 -6
  131. package/dist/schema-management/migrations.js.map +1 -1
  132. package/dist/schema-management/validate-mutation-defs.d.ts +3 -3
  133. package/dist/schema-management/validate-mutation-defs.d.ts.map +1 -1
  134. package/dist/schema-management/validate-mutation-defs.js +17 -17
  135. package/dist/schema-management/validate-mutation-defs.js.map +1 -1
  136. package/dist/sync/ClientSessionSyncProcessor.d.ts +16 -8
  137. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  138. package/dist/sync/ClientSessionSyncProcessor.js +50 -43
  139. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  140. package/dist/sync/next/facts.d.ts +19 -19
  141. package/dist/sync/next/facts.d.ts.map +1 -1
  142. package/dist/sync/next/facts.js +2 -2
  143. package/dist/sync/next/facts.js.map +1 -1
  144. package/dist/sync/next/history-dag-common.d.ts +3 -3
  145. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  146. package/dist/sync/next/history-dag-common.js +1 -1
  147. package/dist/sync/next/history-dag-common.js.map +1 -1
  148. package/dist/sync/next/history-dag.js +1 -1
  149. package/dist/sync/next/history-dag.js.map +1 -1
  150. package/dist/sync/next/rebase-events.d.ts +7 -7
  151. package/dist/sync/next/rebase-events.d.ts.map +1 -1
  152. package/dist/sync/next/rebase-events.js +5 -5
  153. package/dist/sync/next/rebase-events.js.map +1 -1
  154. package/dist/sync/next/test/compact-events.calculator.test.js +38 -33
  155. package/dist/sync/next/test/compact-events.calculator.test.js.map +1 -1
  156. package/dist/sync/next/test/compact-events.test.js +71 -71
  157. package/dist/sync/next/test/compact-events.test.js.map +1 -1
  158. package/dist/sync/next/test/{mutation-fixtures.d.ts → event-fixtures.d.ts} +25 -25
  159. package/dist/sync/next/test/event-fixtures.d.ts.map +1 -0
  160. package/dist/sync/next/test/{mutation-fixtures.js → event-fixtures.js} +60 -25
  161. package/dist/sync/next/test/event-fixtures.js.map +1 -0
  162. package/dist/sync/next/test/mod.d.ts +1 -1
  163. package/dist/sync/next/test/mod.d.ts.map +1 -1
  164. package/dist/sync/next/test/mod.js +1 -1
  165. package/dist/sync/next/test/mod.js.map +1 -1
  166. package/dist/sync/sync.d.ts +8 -7
  167. package/dist/sync/sync.d.ts.map +1 -1
  168. package/dist/sync/sync.js.map +1 -1
  169. package/dist/sync/syncstate.d.ts +69 -93
  170. package/dist/sync/syncstate.d.ts.map +1 -1
  171. package/dist/sync/syncstate.js +143 -146
  172. package/dist/sync/syncstate.js.map +1 -1
  173. package/dist/sync/syncstate.test.js +208 -289
  174. package/dist/sync/syncstate.test.js.map +1 -1
  175. package/dist/sync/validate-push-payload.d.ts +2 -2
  176. package/dist/sync/validate-push-payload.d.ts.map +1 -1
  177. package/dist/sync/validate-push-payload.js.map +1 -1
  178. package/dist/version.d.ts +1 -1
  179. package/dist/version.js +1 -1
  180. package/package.json +2 -2
  181. package/src/__tests__/fixture.ts +36 -15
  182. package/src/adapter-types.ts +34 -23
  183. package/src/debug-info.ts +1 -0
  184. package/src/devtools/devtools-messages-common.ts +9 -0
  185. package/src/devtools/devtools-messages-leader.ts +14 -15
  186. package/src/index.ts +2 -5
  187. package/src/leader-thread/LeaderSyncProcessor.ts +485 -389
  188. package/src/leader-thread/apply-event.ts +197 -0
  189. package/src/leader-thread/eventlog.ts +199 -0
  190. package/src/leader-thread/leader-worker-devtools.ts +23 -25
  191. package/src/leader-thread/make-leader-thread-layer.ts +68 -61
  192. package/src/leader-thread/mod.ts +1 -1
  193. package/src/leader-thread/recreate-db.ts +7 -8
  194. package/src/leader-thread/types.ts +39 -29
  195. package/src/materializer-helper.ts +110 -0
  196. package/src/query-builder/api.ts +76 -102
  197. package/src/query-builder/astToSql.ts +68 -39
  198. package/src/query-builder/impl.test.ts +239 -42
  199. package/src/query-builder/impl.ts +66 -54
  200. package/src/{rehydrate-from-mutationlog.ts → rehydrate-from-eventlog.ts} +37 -40
  201. package/src/schema/EventDef.ts +216 -0
  202. package/src/schema/EventId.ts +30 -4
  203. package/src/schema/LiveStoreEvent.ts +239 -0
  204. package/src/schema/client-document-def.test.ts +188 -0
  205. package/src/schema/client-document-def.ts +436 -0
  206. package/src/schema/db-schema/dsl/mod.ts +0 -1
  207. package/src/schema/events.ts +1 -0
  208. package/src/schema/mod.ts +4 -3
  209. package/src/schema/schema.ts +78 -68
  210. package/src/schema/sqlite-state.ts +62 -0
  211. package/src/schema/system-tables.ts +54 -46
  212. package/src/schema/table-def.ts +51 -209
  213. package/src/schema/view.ts +2 -0
  214. package/src/schema-management/common.ts +4 -4
  215. package/src/schema-management/migrations.ts +8 -9
  216. package/src/schema-management/validate-mutation-defs.ts +22 -24
  217. package/src/sync/ClientSessionSyncProcessor.ts +66 -53
  218. package/src/sync/next/facts.ts +31 -32
  219. package/src/sync/next/history-dag-common.ts +4 -4
  220. package/src/sync/next/history-dag.ts +1 -1
  221. package/src/sync/next/rebase-events.ts +13 -13
  222. package/src/sync/next/test/compact-events.calculator.test.ts +45 -45
  223. package/src/sync/next/test/compact-events.test.ts +73 -73
  224. package/src/sync/next/test/event-fixtures.ts +219 -0
  225. package/src/sync/next/test/mod.ts +1 -1
  226. package/src/sync/sync.ts +9 -12
  227. package/src/sync/syncstate.test.ts +236 -323
  228. package/src/sync/syncstate.ts +218 -203
  229. package/src/sync/validate-push-payload.ts +2 -2
  230. package/src/version.ts +1 -1
  231. package/tsconfig.json +1 -0
  232. package/dist/derived-mutations.d.ts +0 -109
  233. package/dist/derived-mutations.d.ts.map +0 -1
  234. package/dist/derived-mutations.js +0 -54
  235. package/dist/derived-mutations.js.map +0 -1
  236. package/dist/derived-mutations.test.d.ts +0 -2
  237. package/dist/derived-mutations.test.d.ts.map +0 -1
  238. package/dist/derived-mutations.test.js +0 -93
  239. package/dist/derived-mutations.test.js.map +0 -1
  240. package/dist/init-singleton-tables.d.ts +0 -4
  241. package/dist/init-singleton-tables.d.ts.map +0 -1
  242. package/dist/init-singleton-tables.js +0 -16
  243. package/dist/init-singleton-tables.js.map +0 -1
  244. package/dist/leader-thread/apply-mutation.d.ts +0 -11
  245. package/dist/leader-thread/apply-mutation.d.ts.map +0 -1
  246. package/dist/leader-thread/apply-mutation.js +0 -115
  247. package/dist/leader-thread/apply-mutation.js.map +0 -1
  248. package/dist/leader-thread/mutationlog.d.ts +0 -11
  249. package/dist/leader-thread/mutationlog.d.ts.map +0 -1
  250. package/dist/leader-thread/mutationlog.js +0 -31
  251. package/dist/leader-thread/mutationlog.js.map +0 -1
  252. package/dist/leader-thread/pull-queue-set.d.ts +0 -7
  253. package/dist/leader-thread/pull-queue-set.d.ts.map +0 -1
  254. package/dist/leader-thread/pull-queue-set.js +0 -48
  255. package/dist/leader-thread/pull-queue-set.js.map +0 -1
  256. package/dist/mutation.d.ts +0 -20
  257. package/dist/mutation.d.ts.map +0 -1
  258. package/dist/mutation.js +0 -68
  259. package/dist/mutation.js.map +0 -1
  260. package/dist/query-info.d.ts +0 -41
  261. package/dist/query-info.d.ts.map +0 -1
  262. package/dist/query-info.js +0 -7
  263. package/dist/query-info.js.map +0 -1
  264. package/dist/rehydrate-from-mutationlog.d.ts +0 -14
  265. package/dist/rehydrate-from-mutationlog.d.ts.map +0 -1
  266. package/dist/rehydrate-from-mutationlog.js.map +0 -1
  267. package/dist/schema/MutationEvent.d.ts +0 -202
  268. package/dist/schema/MutationEvent.d.ts.map +0 -1
  269. package/dist/schema/MutationEvent.js +0 -105
  270. package/dist/schema/MutationEvent.js.map +0 -1
  271. package/dist/schema/mutations.d.ts +0 -115
  272. package/dist/schema/mutations.d.ts.map +0 -1
  273. package/dist/schema/mutations.js +0 -42
  274. package/dist/schema/mutations.js.map +0 -1
  275. package/dist/sync/next/test/mutation-fixtures.d.ts.map +0 -1
  276. package/dist/sync/next/test/mutation-fixtures.js.map +0 -1
  277. package/src/derived-mutations.test.ts +0 -101
  278. package/src/derived-mutations.ts +0 -170
  279. package/src/init-singleton-tables.ts +0 -24
  280. package/src/leader-thread/apply-mutation.ts +0 -187
  281. package/src/leader-thread/mutationlog.ts +0 -49
  282. package/src/leader-thread/pull-queue-set.ts +0 -67
  283. package/src/mutation.ts +0 -108
  284. package/src/query-info.ts +0 -83
  285. package/src/schema/MutationEvent.ts +0 -224
  286. package/src/schema/mutations.ts +0 -193
  287. package/src/sync/next/test/mutation-fixtures.ts +0 -228
package/dist/mutation.js DELETED
@@ -1,68 +0,0 @@
1
- import { Schema } from '@livestore/utils/effect';
2
- import { SessionIdSymbol } from './adapter-types.js';
3
- import { isQueryBuilder } from './query-builder/api.js';
4
- import { prepareBindValues } from './util.js';
5
- export const getExecArgsFromMutation = ({ mutationDef, mutationEvent, }) => {
6
- let statementRes;
7
- switch (typeof mutationDef.sql) {
8
- case 'function': {
9
- const mutationArgsDecoded = mutationEvent.decoded?.args ?? Schema.decodeUnknownSync(mutationDef.schema)(mutationEvent.encoded.args);
10
- const res = mutationDef.sql(mutationArgsDecoded, {
11
- clientOnly: mutationDef.options.clientOnly,
12
- // TODO properly implement this
13
- currentFacts: new Map(),
14
- });
15
- statementRes = (Array.isArray(res) ? res : [res]).map((_) => {
16
- if (isQueryBuilder(_)) {
17
- const { query, bindValues } = _.asSql();
18
- return { sql: query, bindValues: bindValues };
19
- }
20
- return _;
21
- });
22
- break;
23
- }
24
- case 'string': {
25
- statementRes = [mutationDef.sql];
26
- break;
27
- }
28
- default: {
29
- statementRes = mutationDef.sql;
30
- break;
31
- }
32
- }
33
- return statementRes.map((statementRes) => {
34
- const statementSql = typeof statementRes === 'string' ? statementRes : statementRes.sql;
35
- const mutationArgsEncoded = mutationEvent.encoded?.args ?? Schema.encodeUnknownSync(mutationDef.schema)(mutationEvent.decoded.args);
36
- const bindValues = typeof statementRes === 'string' ? mutationArgsEncoded : statementRes.bindValues;
37
- const writeTables = typeof statementRes === 'string' ? undefined : statementRes.writeTables;
38
- return { statementSql, bindValues: prepareBindValues(bindValues ?? {}, statementSql), writeTables };
39
- });
40
- };
41
- // NOTE we should explore whether there is a more elegant solution
42
- // e.g. by leveraging the schema to replace the sessionIdSymbol
43
- export const replaceSessionIdSymbol = (bindValues, sessionId) => {
44
- deepReplaceValue(bindValues, SessionIdSymbol, sessionId);
45
- };
46
- const deepReplaceValue = (input, searchValue, replaceValue) => {
47
- if (Array.isArray(input)) {
48
- for (const i in input) {
49
- if (input[i] === searchValue) {
50
- input[i] = replaceValue;
51
- }
52
- else {
53
- deepReplaceValue(input[i], searchValue, replaceValue);
54
- }
55
- }
56
- }
57
- else if (typeof input === 'object' && input !== null) {
58
- for (const key in input) {
59
- if (input[key] === searchValue) {
60
- input[key] = replaceValue;
61
- }
62
- else {
63
- deepReplaceValue(input[key], searchValue, replaceValue);
64
- }
65
- }
66
- }
67
- };
68
- //# sourceMappingURL=mutation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../src/mutation.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import type { SessionIdSymbol } from './adapter-types.js';
2
- import type { DbSchema } from './schema/mod.js';
3
- /**
4
- * Semantic information about a query with supported cases being:
5
- * - a whole row
6
- * - a single column value
7
- * - a sub value in a JSON column
8
- *
9
- * This information is currently only used for derived mutations.
10
- */
11
- export type QueryInfo = QueryInfo.None | QueryInfo.Row | QueryInfo.Col | QueryInfo.ColJsonValue | QueryInfo.Write;
12
- export declare namespace QueryInfo {
13
- type None = {
14
- _tag: 'None';
15
- };
16
- type Row = {
17
- _tag: 'Row';
18
- table: DbSchema.TableDefBase;
19
- id: string | SessionIdSymbol | number;
20
- };
21
- type Col = {
22
- _tag: 'Col';
23
- table: DbSchema.TableDefBase;
24
- id: string | SessionIdSymbol | number;
25
- column: string;
26
- };
27
- type ColJsonValue = {
28
- _tag: 'ColJsonValue';
29
- table: DbSchema.TableDefBase;
30
- id: string | SessionIdSymbol | number;
31
- column: string;
32
- /**
33
- * example: `$.tabs[3].items[2]` (`$` referring to the column value)
34
- */
35
- jsonPath: string;
36
- };
37
- type Write = {
38
- _tag: 'Write';
39
- };
40
- }
41
- //# sourceMappingURL=query-info.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query-info.d.ts","sourceRoot":"","sources":["../src/query-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,KAAK,CAAA;AAOjH,yBAAiB,SAAS,CAAC;IACzB,KAAY,IAAI,GAAG;QACjB,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IAED,KAAY,GAAG,GAAG;QAChB,IAAI,EAAE,KAAK,CAAA;QACX,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAA;QAC5B,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,MAAM,CAAA;KACtC,CAAA;IAED,KAAY,GAAG,GAAG;QAChB,IAAI,EAAE,KAAK,CAAA;QACX,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAA;QAC5B,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,MAAM,CAAA;QACrC,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IAED,KAAY,YAAY,GAAG;QACzB,IAAI,EAAE,cAAc,CAAA;QACpB,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAA;QAC5B,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,MAAM,CAAA;QACrC,MAAM,EAAE,MAAM,CAAA;QACd;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IAGD,KAAY,KAAK,GAAG;QAClB,IAAI,EAAE,OAAO,CAAA;KACd,CAAA;CA0BF"}
@@ -1,7 +0,0 @@
1
- export {};
2
- // type GetJsonColumn<TTableDef extends DbSchema.TableDefBase> = keyof {
3
- // [ColName in keyof TTableDef['sqliteDef']['columns'] as TTableDef['sqliteDef']['columns'][ColName]['columnType'] extends 'text'
4
- // ? ColName
5
- // : never]: {}
6
- // }
7
- //# sourceMappingURL=query-info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query-info.js","sourceRoot":"","sources":["../src/query-info.ts"],"names":[],"mappings":";AA8EA,wEAAwE;AACxE,mIAAmI;AACnI,gBAAgB;AAChB,mBAAmB;AACnB,IAAI"}
@@ -1,14 +0,0 @@
1
- import { Effect } from '@livestore/utils/effect';
2
- import { type MigrationOptionsFromMutationLog, type SqliteDb, UnexpectedError } from './adapter-types.js';
3
- import type { LiveStoreSchema } from './schema/mod.js';
4
- export declare const rehydrateFromMutationLog: ({ logDb, schema, migrationOptions, onProgress, }: {
5
- logDb: SqliteDb;
6
- db: SqliteDb;
7
- schema: LiveStoreSchema;
8
- migrationOptions: MigrationOptionsFromMutationLog;
9
- onProgress: (_: {
10
- done: number;
11
- total: number;
12
- }) => Effect.Effect<void>;
13
- }) => Effect.Effect<void, UnexpectedError | import("./adapter-types.js").SqliteError, import("effect/Scope").Scope | import("./leader-thread/types.js").LeaderThreadCtx>;
14
- //# sourceMappingURL=rehydrate-from-mutationlog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rehydrate-from-mutationlog.d.ts","sourceRoot":"","sources":["../src/rehydrate-from-mutationlog.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAA0B,MAAM,yBAAyB,CAAA;AAE/E,OAAO,EAAE,KAAK,+BAA+B,EAAE,KAAK,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzG,OAAO,KAAK,EAAE,eAAe,EAAkD,MAAM,iBAAiB,CAAA;AAKtG,eAAO,MAAM,wBAAwB,GAAI,kDAOtC;IACD,KAAK,EAAE,QAAQ,CAAA;IACf,EAAE,EAAE,QAAQ,CAAA;IACZ,MAAM,EAAE,eAAe,CAAA;IACvB,gBAAgB,EAAE,+BAA+B,CAAA;IACjD,UAAU,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACxE,uKAiGE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rehydrate-from-mutationlog.js","sourceRoot":"","sources":["../src/rehydrate-from-mutationlog.ts"],"names":[],"mappings":"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"}
@@ -1,202 +0,0 @@
1
- import { Schema } from '@livestore/utils/effect';
2
- import * as EventId from './EventId.js';
3
- import type { MutationDef, MutationDefRecord } from './mutations.js';
4
- import type { LiveStoreSchema } from './schema.js';
5
- export type MutationEventPartial<TMutationsDef extends MutationDef.Any> = {
6
- mutation: TMutationsDef['name'];
7
- args: Schema.Schema.Type<TMutationsDef['schema']>;
8
- };
9
- export type PartialEncoded<TMutationsDef extends MutationDef.Any> = {
10
- mutation: TMutationsDef['name'];
11
- args: Schema.Schema.Encoded<TMutationsDef['schema']>;
12
- };
13
- export type MutationEvent<TMutationsDef extends MutationDef.Any> = {
14
- mutation: TMutationsDef['name'];
15
- args: Schema.Schema.Type<TMutationsDef['schema']>;
16
- id: EventId.EventId;
17
- parentId: EventId.EventId;
18
- clientId: string;
19
- sessionId: string;
20
- };
21
- export type MutationEventEncoded<TMutationsDef extends MutationDef.Any> = {
22
- mutation: TMutationsDef['name'];
23
- args: Schema.Schema.Encoded<TMutationsDef['schema']>;
24
- id: EventId.EventId;
25
- parentId: EventId.EventId;
26
- clientId: string;
27
- sessionId: string;
28
- };
29
- export type AnyDecoded = MutationEvent<MutationDef.Any>;
30
- export declare const AnyDecoded: Schema.Struct<{
31
- mutation: typeof Schema.String;
32
- args: typeof Schema.Any;
33
- id: Schema.Struct<{
34
- global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
35
- client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
36
- }>;
37
- parentId: Schema.Struct<{
38
- global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
39
- client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
40
- }>;
41
- clientId: typeof Schema.String;
42
- sessionId: typeof Schema.String;
43
- }>;
44
- export type AnyEncoded = MutationEventEncoded<MutationDef.Any>;
45
- export declare const AnyEncoded: Schema.Struct<{
46
- mutation: typeof Schema.String;
47
- args: typeof Schema.Any;
48
- id: Schema.Struct<{
49
- global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
50
- client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
51
- }>;
52
- parentId: Schema.Struct<{
53
- global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
54
- client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
55
- }>;
56
- clientId: typeof Schema.String;
57
- sessionId: typeof Schema.String;
58
- }>;
59
- export declare const AnyEncodedGlobal: Schema.Struct<{
60
- mutation: typeof Schema.String;
61
- args: typeof Schema.Any;
62
- id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
63
- parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
64
- clientId: typeof Schema.String;
65
- sessionId: typeof Schema.String;
66
- }>;
67
- export type AnyEncodedGlobal = typeof AnyEncodedGlobal.Type;
68
- export type PartialAnyDecoded = MutationEventPartial<MutationDef.Any>;
69
- export type PartialAnyEncoded = PartialEncoded<MutationDef.Any>;
70
- export declare const PartialAnyEncoded: Schema.Struct<{
71
- mutation: typeof Schema.String;
72
- args: typeof Schema.Any;
73
- }>;
74
- export type PartialForSchema<TSchema extends LiveStoreSchema> = {
75
- [K in keyof TSchema['_MutationDefMapType']]: MutationEventPartial<TSchema['_MutationDefMapType'][K]>;
76
- }[keyof TSchema['_MutationDefMapType']];
77
- export type ForSchema<TSchema extends LiveStoreSchema> = {
78
- [K in keyof TSchema['_MutationDefMapType']]: MutationEvent<TSchema['_MutationDefMapType'][K]>;
79
- }[keyof TSchema['_MutationDefMapType']];
80
- export declare const isPartialMutationEvent: (mutationEvent: AnyDecoded | PartialAnyDecoded) => mutationEvent is PartialAnyDecoded;
81
- export type ForMutationDefRecord<TMutationsDefRecord extends MutationDefRecord> = Schema.Schema<{
82
- [K in keyof TMutationsDefRecord]: {
83
- mutation: K;
84
- args: Schema.Schema.Type<TMutationsDefRecord[K]['schema']>;
85
- id: EventId.EventId;
86
- parentId: EventId.EventId;
87
- clientId: string;
88
- sessionId: string;
89
- };
90
- }[keyof TMutationsDefRecord], {
91
- [K in keyof TMutationsDefRecord]: {
92
- mutation: K;
93
- args: Schema.Schema.Encoded<TMutationsDefRecord[K]['schema']>;
94
- id: EventId.EventId;
95
- parentId: EventId.EventId;
96
- clientId: string;
97
- sessionId: string;
98
- };
99
- }[keyof TMutationsDefRecord]>;
100
- export type MutationEventPartialSchema<TMutationsDefRecord extends MutationDefRecord> = Schema.Schema<{
101
- [K in keyof TMutationsDefRecord]: {
102
- mutation: K;
103
- args: Schema.Schema.Type<TMutationsDefRecord[K]['schema']>;
104
- };
105
- }[keyof TMutationsDefRecord], {
106
- [K in keyof TMutationsDefRecord]: {
107
- mutation: K;
108
- args: Schema.Schema.Encoded<TMutationsDefRecord[K]['schema']>;
109
- };
110
- }[keyof TMutationsDefRecord]>;
111
- export declare const makeMutationEventSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => ForMutationDefRecord<TSchema["_MutationDefMapType"]>;
112
- export declare const makeMutationEventPartialSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => MutationEventPartialSchema<TSchema["_MutationDefMapType"]>;
113
- export declare const makeMutationEventSchemaMemo: <TSchema extends LiveStoreSchema>(schema: TSchema) => ForMutationDefRecord<TSchema["_MutationDefMapType"]>;
114
- declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
115
- mutation: typeof Schema.String;
116
- args: typeof Schema.Any;
117
- id: Schema.Struct<{
118
- global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
119
- client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
120
- }>;
121
- parentId: Schema.Struct<{
122
- global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
123
- client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
124
- }>;
125
- clientId: typeof Schema.String;
126
- sessionId: typeof Schema.String;
127
- meta: Schema.optionalWith<Schema.Schema<{
128
- sessionChangeset?: Uint8Array;
129
- }, {
130
- sessionChangeset?: Uint8Array;
131
- }, never>, {
132
- default: () => {};
133
- }>;
134
- }, Schema.Struct.Encoded<{
135
- mutation: typeof Schema.String;
136
- args: typeof Schema.Any;
137
- id: Schema.Struct<{
138
- global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
139
- client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
140
- }>;
141
- parentId: Schema.Struct<{
142
- global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
143
- client: Schema.BrandSchema<number & import("effect/Brand").Brand<"ClientEventId">, number, never>;
144
- }>;
145
- clientId: typeof Schema.String;
146
- sessionId: typeof Schema.String;
147
- meta: Schema.optionalWith<Schema.Schema<{
148
- sessionChangeset?: Uint8Array;
149
- }, {
150
- sessionChangeset?: Uint8Array;
151
- }, never>, {
152
- default: () => {};
153
- }>;
154
- }>, never, {
155
- readonly id: {
156
- readonly global: number & import("effect/Brand").Brand<"GlobalEventId">;
157
- readonly client: number & import("effect/Brand").Brand<"ClientEventId">;
158
- };
159
- } & {
160
- readonly mutation: string;
161
- } & {
162
- readonly args: any;
163
- } & {
164
- readonly parentId: {
165
- readonly global: number & import("effect/Brand").Brand<"GlobalEventId">;
166
- readonly client: number & import("effect/Brand").Brand<"ClientEventId">;
167
- };
168
- } & {
169
- readonly clientId: string;
170
- } & {
171
- readonly sessionId: string;
172
- } & {
173
- readonly meta?: {
174
- sessionChangeset?: Uint8Array;
175
- } | undefined;
176
- }, {}, {}>;
177
- /** Equivalent to AnyEncoded but with a meta field and some convenience methods */
178
- export declare class EncodedWithMeta extends EncodedWithMeta_base {
179
- toJSON: () => any;
180
- /**
181
- * Example: (global event)
182
- * For event id (2,0) → (1,0) which should be rebased on event id (3,1) → (3,0)
183
- * the resulting event id will be (4,0) → (3,0)
184
- *
185
- * Example: (client event)
186
- * For event id (2,1) → (2,0) which should be rebased on event id (3,0) → (2,0)
187
- * the resulting event id will be (3,1) → (3,0)
188
- *
189
- * Syntax: (2,1) → (2,0)
190
- * ^ ^ ^ ^
191
- * | | | +- client parent id
192
- * | | +--- global parent id
193
- * | +-- client id
194
- * +---- global id
195
- */
196
- rebase: (parentId: EventId.EventId, isClient: boolean) => EncodedWithMeta;
197
- static fromGlobal: (mutationEvent: AnyEncodedGlobal) => EncodedWithMeta;
198
- toGlobal: () => AnyEncodedGlobal;
199
- }
200
- export declare const isEqualEncoded: (a: AnyEncoded, b: AnyEncoded) => boolean;
201
- export {};
202
- //# sourceMappingURL=MutationEvent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MutationEvent.d.ts","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
@@ -1,105 +0,0 @@
1
- import { memoizeByRef } from '@livestore/utils';
2
- import { Schema } from '@livestore/utils/effect';
3
- import * as EventId from './EventId.js';
4
- export const AnyDecoded = Schema.Struct({
5
- mutation: Schema.String,
6
- args: Schema.Any,
7
- id: EventId.EventId,
8
- parentId: EventId.EventId,
9
- clientId: Schema.String,
10
- sessionId: Schema.String,
11
- }).annotations({ title: 'MutationEvent.AnyDecoded' });
12
- export const AnyEncoded = Schema.Struct({
13
- mutation: Schema.String,
14
- args: Schema.Any,
15
- id: EventId.EventId,
16
- parentId: EventId.EventId,
17
- clientId: Schema.String,
18
- sessionId: Schema.String,
19
- }).annotations({ title: 'MutationEvent.AnyEncoded' });
20
- export const AnyEncodedGlobal = Schema.Struct({
21
- mutation: Schema.String,
22
- args: Schema.Any,
23
- id: EventId.GlobalEventId,
24
- parentId: EventId.GlobalEventId,
25
- clientId: Schema.String,
26
- sessionId: Schema.String,
27
- }).annotations({ title: 'MutationEvent.AnyEncodedGlobal' });
28
- export const PartialAnyEncoded = Schema.Struct({
29
- mutation: Schema.String,
30
- args: Schema.Any,
31
- });
32
- export const isPartialMutationEvent = (mutationEvent) => 'id' in mutationEvent === false && 'parentId' in mutationEvent === false;
33
- export const makeMutationEventSchema = (schema) => Schema.Union(...[...schema.mutations.map.values()].map((def) => Schema.Struct({
34
- mutation: Schema.Literal(def.name),
35
- args: def.schema,
36
- id: EventId.EventId,
37
- parentId: EventId.EventId,
38
- clientId: Schema.String,
39
- sessionId: Schema.String,
40
- }))).annotations({ title: 'MutationEvent' });
41
- export const makeMutationEventPartialSchema = (schema) => Schema.Union(...[...schema.mutations.map.values()].map((def) => Schema.Struct({
42
- mutation: Schema.Literal(def.name),
43
- args: def.schema,
44
- }))).annotations({ title: 'MutationEventPartial' });
45
- export const makeMutationEventSchemaMemo = memoizeByRef(makeMutationEventSchema);
46
- /** Equivalent to AnyEncoded but with a meta field and some convenience methods */
47
- export class EncodedWithMeta extends Schema.Class('MutationEvent.EncodedWithMeta')({
48
- mutation: Schema.String,
49
- args: Schema.Any,
50
- id: EventId.EventId,
51
- parentId: EventId.EventId,
52
- clientId: Schema.String,
53
- sessionId: Schema.String,
54
- // TODO get rid of `meta` again by cleaning up the usage implementations
55
- meta: Schema.optionalWith(Schema.Any, { default: () => ({}) }),
56
- }) {
57
- toJSON = () => {
58
- // Only used for logging/debugging
59
- // - More readable way to print the id + parentId
60
- // - not including `meta`, `clientId`, `sessionId`
61
- return {
62
- id: `(${this.id.global},${this.id.client}) → (${this.parentId.global},${this.parentId.client})`,
63
- mutation: this.mutation,
64
- args: this.args,
65
- };
66
- };
67
- /**
68
- * Example: (global event)
69
- * For event id (2,0) → (1,0) which should be rebased on event id (3,1) → (3,0)
70
- * the resulting event id will be (4,0) → (3,0)
71
- *
72
- * Example: (client event)
73
- * For event id (2,1) → (2,0) which should be rebased on event id (3,0) → (2,0)
74
- * the resulting event id will be (3,1) → (3,0)
75
- *
76
- * Syntax: (2,1) → (2,0)
77
- * ^ ^ ^ ^
78
- * | | | +- client parent id
79
- * | | +--- global parent id
80
- * | +-- client id
81
- * +---- global id
82
- */
83
- rebase = (parentId, isClient) => new EncodedWithMeta({
84
- ...this,
85
- ...EventId.nextPair(parentId, isClient),
86
- });
87
- static fromGlobal = (mutationEvent) => new EncodedWithMeta({
88
- ...mutationEvent,
89
- id: { global: mutationEvent.id, client: EventId.clientDefault },
90
- parentId: { global: mutationEvent.parentId, client: EventId.clientDefault },
91
- });
92
- toGlobal = () => ({
93
- ...this,
94
- id: this.id.global,
95
- parentId: this.parentId.global,
96
- });
97
- }
98
- export const isEqualEncoded = (a, b) => a.id.global === b.id.global &&
99
- a.id.client === b.id.client &&
100
- a.mutation === b.mutation &&
101
- a.clientId === b.clientId &&
102
- a.sessionId === b.sessionId &&
103
- // TODO use schema equality here
104
- JSON.stringify(a.args) === JSON.stringify(b.args);
105
- //# sourceMappingURL=MutationEvent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MutationEvent.js","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
@@ -1,115 +0,0 @@
1
- import { Schema } from '@livestore/utils/effect';
2
- import type { QueryBuilder } from '../query-builder/mod.js';
3
- import type { BindValues } from '../sql-queries/sql-queries.js';
4
- export type MutationDefMap = {
5
- map: Map<string | 'livestore.RawSql', MutationDef.Any>;
6
- wasProvided: boolean;
7
- };
8
- export type MutationDefRecord = {
9
- 'livestore.RawSql': RawSqlMutation;
10
- [name: string]: MutationDef.Any;
11
- };
12
- export type InternalMutationSchema<TRecord extends MutationDefRecord = MutationDefRecord> = {
13
- _DefRecord: TRecord;
14
- map: Map<keyof TRecord, TRecord[keyof TRecord]>;
15
- schemaHashMap: Map<keyof TRecord, number>;
16
- };
17
- export type MutationDefSqlResult<TTo> = SingleOrReadonlyArray<string> | ((args: TTo, context: {
18
- currentFacts: MutationEventFacts;
19
- clientOnly: boolean;
20
- }) => SingleOrReadonlyArray<string | {
21
- sql: string;
22
- /** Note args need to be manually encoded to `BindValues` when returning this argument */
23
- bindValues: BindValues;
24
- writeTables?: ReadonlySet<string>;
25
- } | QueryBuilder.Any>);
26
- export type MutationHandlerResult = {
27
- sql: string;
28
- bindValues: BindValues;
29
- writeTables?: ReadonlySet<string>;
30
- };
31
- export type SingleOrReadonlyArray<T> = T | ReadonlyArray<T>;
32
- export type MutationDef<TName extends string, TFrom, TTo> = {
33
- name: TName;
34
- schema: Schema.Schema<TTo, TFrom>;
35
- sql: MutationDefSqlResult<NoInfer<TTo>>;
36
- options: {
37
- /** Warning: This feature is not fully implemented yet */
38
- historyId: string;
39
- /**
40
- * When set to true, the mutation won't be synced across clients but
41
- */
42
- clientOnly: boolean;
43
- /** Warning: This feature is not fully implemented yet */
44
- facts: FactsCallback<TTo> | undefined;
45
- };
46
- /** Helper function to construct a partial mutation event */
47
- (args: TTo): {
48
- mutation: TName;
49
- args: TTo;
50
- };
51
- };
52
- export type FactsCallback<TTo> = (args: TTo, currentFacts: MutationEventFacts) => {
53
- modify: {
54
- set: Iterable<MutationEventFactInput>;
55
- unset: Iterable<MutationEventFactInput>;
56
- };
57
- require: Iterable<MutationEventFactInput>;
58
- };
59
- export declare namespace MutationDef {
60
- type Any = MutationDef<string, any, any>;
61
- }
62
- export type MutationEventKey = string;
63
- export type MutationEventFact = string;
64
- export type MutationEventFacts = ReadonlyMap<string, any>;
65
- export type MutationEventFactsGroup = {
66
- modifySet: MutationEventFacts;
67
- modifyUnset: MutationEventFacts;
68
- /**
69
- * Events on independent "dependency" branches are commutative which can facilitate more prioritized syncing
70
- */
71
- depRequire: MutationEventFacts;
72
- depRead: MutationEventFacts;
73
- };
74
- export type MutationEventFactsSnapshot = Map<string, any>;
75
- export type MutationEventFactInput = string | readonly [string, any];
76
- export declare const defineFacts: <TRecord extends Record<string, MutationEventFactInput | ((...args: any[]) => MutationEventFactInput)>>(record: TRecord) => TRecord;
77
- export type DefineMutationOptions<TTo> = {
78
- onError?: (error: any) => void;
79
- historyId?: string;
80
- /** Warning: This feature is not fully implemented yet */
81
- facts?: (args: TTo, currentFacts: MutationEventFacts) => {
82
- modify?: {
83
- set?: Iterable<MutationEventFactInput>;
84
- unset?: Iterable<MutationEventFactInput>;
85
- };
86
- /**
87
- * Two purposes: constrain history and constrain compaction
88
- */
89
- require?: Iterable<MutationEventFactInput>;
90
- };
91
- /**
92
- * When set to true, the mutation won't be synced over the network
93
- */
94
- clientOnly?: boolean;
95
- };
96
- export declare const defineMutation: <TName extends string, TFrom, TTo>(name: TName, schema: Schema.Schema<TTo, TFrom>, sql: MutationDefSqlResult<NoInfer<TTo>>, options?: DefineMutationOptions<TTo>) => MutationDef<TName, TFrom, TTo>;
97
- export declare const makeMutationDefRecord: <TInputRecord extends Record<string, MutationDef.Any>>(inputRecord: TInputRecord) => { [K in TInputRecord[keyof TInputRecord]["name"]]: Extract<TInputRecord[keyof TInputRecord], {
98
- name: K;
99
- }>; };
100
- export declare const rawSqlMutation: MutationDef<"livestore.RawSql", {
101
- readonly sql: string;
102
- readonly bindValues?: {
103
- readonly [x: string]: any;
104
- } | undefined;
105
- readonly writeTables?: readonly string[] | undefined;
106
- }, {
107
- readonly bindValues?: {
108
- readonly [x: string]: any;
109
- } | undefined;
110
- readonly sql: string;
111
- readonly writeTables?: ReadonlySet<string> | undefined;
112
- }>;
113
- export type RawSqlMutation = typeof rawSqlMutation;
114
- export type RawSqlMutationEvent = ReturnType<typeof rawSqlMutation>;
115
- //# sourceMappingURL=mutations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/schema/mutations.ts"],"names":[],"mappings":"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"}