@livestore/common 0.3.0-dev.36 → 0.3.0-dev.38

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 (224) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/adapter-types.d.ts +3 -2
  3. package/dist/adapter-types.d.ts.map +1 -1
  4. package/dist/adapter-types.js.map +1 -1
  5. package/dist/devtools/devtools-messages-client-session.d.ts +29 -29
  6. package/dist/devtools/devtools-messages-common.d.ts +6 -6
  7. package/dist/devtools/devtools-messages-leader.d.ts +24 -24
  8. package/dist/devtools/devtools-sessioninfo.d.ts +2 -0
  9. package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -1
  10. package/dist/devtools/devtools-sessioninfo.js +1 -0
  11. package/dist/devtools/devtools-sessioninfo.js.map +1 -1
  12. package/dist/devtools/mod.d.ts +48 -32
  13. package/dist/devtools/mod.d.ts.map +1 -1
  14. package/dist/devtools/mod.js +27 -21
  15. package/dist/devtools/mod.js.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/leader-thread/LeaderSyncProcessor.js +10 -10
  21. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  22. package/dist/leader-thread/leader-worker-devtools.d.ts +1 -1
  23. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  24. package/dist/leader-thread/leader-worker-devtools.js +21 -13
  25. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  26. package/dist/leader-thread/materialize-event.d.ts.map +1 -1
  27. package/dist/leader-thread/materialize-event.js +3 -1
  28. package/dist/leader-thread/materialize-event.js.map +1 -1
  29. package/dist/leader-thread/types.d.ts +6 -4
  30. package/dist/leader-thread/types.d.ts.map +1 -1
  31. package/dist/leader-thread/types.js.map +1 -1
  32. package/dist/make-client-session.d.ts +21 -0
  33. package/dist/make-client-session.d.ts.map +1 -0
  34. package/dist/make-client-session.js +51 -0
  35. package/dist/make-client-session.js.map +1 -0
  36. package/dist/materializer-helper.d.ts +5 -5
  37. package/dist/materializer-helper.d.ts.map +1 -1
  38. package/dist/materializer-helper.js +17 -3
  39. package/dist/materializer-helper.js.map +1 -1
  40. package/dist/schema/EventDef.d.ts +13 -3
  41. package/dist/schema/EventDef.d.ts.map +1 -1
  42. package/dist/schema/EventDef.js.map +1 -1
  43. package/dist/schema/LiveStoreEvent.d.ts +6 -6
  44. package/dist/schema/state/sqlite/client-document-def.test.js +5 -5
  45. package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
  46. package/dist/schema/state/sqlite/query-builder/api.d.ts +4 -3
  47. package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
  48. package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
  49. package/dist/schema/state/sqlite/query-builder/impl.js +2 -2
  50. package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
  51. package/dist/schema/state/sqlite/system-tables.d.ts +2 -2
  52. package/dist/sync/next/test/event-fixtures.d.ts +7 -7
  53. package/dist/sync/syncstate.d.ts +2 -2
  54. package/dist/version.d.ts +1 -1
  55. package/dist/version.js +1 -1
  56. package/package.json +4 -3
  57. package/src/adapter-types.ts +4 -2
  58. package/src/devtools/devtools-sessioninfo.ts +1 -0
  59. package/src/devtools/mod.ts +44 -21
  60. package/src/index.ts +1 -0
  61. package/src/leader-thread/LeaderSyncProcessor.ts +10 -10
  62. package/src/leader-thread/leader-worker-devtools.ts +40 -22
  63. package/src/leader-thread/materialize-event.ts +3 -1
  64. package/src/leader-thread/types.ts +5 -4
  65. package/src/make-client-session.ts +119 -0
  66. package/src/materializer-helper.ts +35 -10
  67. package/src/schema/EventDef.ts +12 -1
  68. package/src/schema/state/sqlite/client-document-def.test.ts +5 -6
  69. package/src/schema/state/sqlite/query-builder/api.ts +4 -3
  70. package/src/schema/state/sqlite/query-builder/impl.ts +3 -2
  71. package/src/version.ts +1 -1
  72. package/dist/derived-mutations.d.ts +0 -77
  73. package/dist/derived-mutations.d.ts.map +0 -1
  74. package/dist/derived-mutations.js +0 -54
  75. package/dist/derived-mutations.js.map +0 -1
  76. package/dist/derived-mutations.test.d.ts +0 -2
  77. package/dist/derived-mutations.test.d.ts.map +0 -1
  78. package/dist/derived-mutations.test.js +0 -93
  79. package/dist/derived-mutations.test.js.map +0 -1
  80. package/dist/devtools/devtools-bridge.d.ts +0 -12
  81. package/dist/devtools/devtools-bridge.d.ts.map +0 -1
  82. package/dist/devtools/devtools-bridge.js +0 -2
  83. package/dist/devtools/devtools-bridge.js.map +0 -1
  84. package/dist/devtools/devtools-window-message.d.ts +0 -29
  85. package/dist/devtools/devtools-window-message.d.ts.map +0 -1
  86. package/dist/devtools/devtools-window-message.js +0 -33
  87. package/dist/devtools/devtools-window-message.js.map +0 -1
  88. package/dist/devtools/index.d.ts +0 -42
  89. package/dist/devtools/index.d.ts.map +0 -1
  90. package/dist/devtools/index.js +0 -49
  91. package/dist/devtools/index.js.map +0 -1
  92. package/dist/init-singleton-tables.d.ts +0 -4
  93. package/dist/init-singleton-tables.d.ts.map +0 -1
  94. package/dist/init-singleton-tables.js +0 -16
  95. package/dist/init-singleton-tables.js.map +0 -1
  96. package/dist/leader-thread/apply-event.d.ts +0 -16
  97. package/dist/leader-thread/apply-event.d.ts.map +0 -1
  98. package/dist/leader-thread/apply-event.js +0 -103
  99. package/dist/leader-thread/apply-event.js.map +0 -1
  100. package/dist/mutation.d.ts +0 -14
  101. package/dist/mutation.d.ts.map +0 -1
  102. package/dist/mutation.js +0 -71
  103. package/dist/mutation.js.map +0 -1
  104. package/dist/query-builder/api.d.ts +0 -293
  105. package/dist/query-builder/api.d.ts.map +0 -1
  106. package/dist/query-builder/api.js +0 -6
  107. package/dist/query-builder/api.js.map +0 -1
  108. package/dist/query-builder/astToSql.d.ts +0 -7
  109. package/dist/query-builder/astToSql.d.ts.map +0 -1
  110. package/dist/query-builder/astToSql.js +0 -190
  111. package/dist/query-builder/astToSql.js.map +0 -1
  112. package/dist/query-builder/impl.d.ts +0 -7
  113. package/dist/query-builder/impl.d.ts.map +0 -1
  114. package/dist/query-builder/impl.js +0 -286
  115. package/dist/query-builder/impl.js.map +0 -1
  116. package/dist/query-builder/impl.test.d.ts +0 -87
  117. package/dist/query-builder/impl.test.d.ts.map +0 -1
  118. package/dist/query-builder/impl.test.js +0 -554
  119. package/dist/query-builder/impl.test.js.map +0 -1
  120. package/dist/query-builder/mod.d.ts +0 -17
  121. package/dist/query-builder/mod.d.ts.map +0 -1
  122. package/dist/query-builder/mod.js +0 -17
  123. package/dist/query-builder/mod.js.map +0 -1
  124. package/dist/query-info.d.ts +0 -38
  125. package/dist/query-info.d.ts.map +0 -1
  126. package/dist/query-info.js +0 -7
  127. package/dist/query-info.js.map +0 -1
  128. package/dist/rehydrate-from-eventlog.d.ts +0 -14
  129. package/dist/rehydrate-from-eventlog.d.ts.map +0 -1
  130. package/dist/rehydrate-from-eventlog.js +0 -64
  131. package/dist/rehydrate-from-eventlog.js.map +0 -1
  132. package/dist/rehydrate-from-mutationlog.d.ts +0 -14
  133. package/dist/rehydrate-from-mutationlog.d.ts.map +0 -1
  134. package/dist/rehydrate-from-mutationlog.js +0 -72
  135. package/dist/rehydrate-from-mutationlog.js.map +0 -1
  136. package/dist/schema/client-document-def.d.ts +0 -223
  137. package/dist/schema/client-document-def.d.ts.map +0 -1
  138. package/dist/schema/client-document-def.js +0 -170
  139. package/dist/schema/client-document-def.js.map +0 -1
  140. package/dist/schema/client-document-def.test.d.ts +0 -2
  141. package/dist/schema/client-document-def.test.d.ts.map +0 -1
  142. package/dist/schema/client-document-def.test.js +0 -201
  143. package/dist/schema/client-document-def.test.js.map +0 -1
  144. package/dist/schema/db-schema/ast/sqlite.d.ts +0 -69
  145. package/dist/schema/db-schema/ast/sqlite.d.ts.map +0 -1
  146. package/dist/schema/db-schema/ast/sqlite.js +0 -71
  147. package/dist/schema/db-schema/ast/sqlite.js.map +0 -1
  148. package/dist/schema/db-schema/ast/validate.d.ts +0 -3
  149. package/dist/schema/db-schema/ast/validate.d.ts.map +0 -1
  150. package/dist/schema/db-schema/ast/validate.js +0 -12
  151. package/dist/schema/db-schema/ast/validate.js.map +0 -1
  152. package/dist/schema/db-schema/dsl/field-defs.d.ts +0 -90
  153. package/dist/schema/db-schema/dsl/field-defs.d.ts.map +0 -1
  154. package/dist/schema/db-schema/dsl/field-defs.js +0 -87
  155. package/dist/schema/db-schema/dsl/field-defs.js.map +0 -1
  156. package/dist/schema/db-schema/dsl/field-defs.test.d.ts +0 -2
  157. package/dist/schema/db-schema/dsl/field-defs.test.d.ts.map +0 -1
  158. package/dist/schema/db-schema/dsl/field-defs.test.js +0 -29
  159. package/dist/schema/db-schema/dsl/field-defs.test.js.map +0 -1
  160. package/dist/schema/db-schema/dsl/mod.d.ts +0 -90
  161. package/dist/schema/db-schema/dsl/mod.d.ts.map +0 -1
  162. package/dist/schema/db-schema/dsl/mod.js +0 -41
  163. package/dist/schema/db-schema/dsl/mod.js.map +0 -1
  164. package/dist/schema/db-schema/hash.d.ts +0 -2
  165. package/dist/schema/db-schema/hash.d.ts.map +0 -1
  166. package/dist/schema/db-schema/hash.js +0 -14
  167. package/dist/schema/db-schema/hash.js.map +0 -1
  168. package/dist/schema/db-schema/mod.d.ts +0 -3
  169. package/dist/schema/db-schema/mod.d.ts.map +0 -1
  170. package/dist/schema/db-schema/mod.js +0 -3
  171. package/dist/schema/db-schema/mod.js.map +0 -1
  172. package/dist/schema/index.d.ts +0 -62
  173. package/dist/schema/index.d.ts.map +0 -1
  174. package/dist/schema/index.js +0 -67
  175. package/dist/schema/index.js.map +0 -1
  176. package/dist/schema/mutations.d.ts +0 -227
  177. package/dist/schema/mutations.d.ts.map +0 -1
  178. package/dist/schema/mutations.js +0 -68
  179. package/dist/schema/mutations.js.map +0 -1
  180. package/dist/schema/schema-helpers.d.ts +0 -4
  181. package/dist/schema/schema-helpers.d.ts.map +0 -1
  182. package/dist/schema/schema-helpers.js +0 -30
  183. package/dist/schema/schema-helpers.js.map +0 -1
  184. package/dist/schema/sqlite-state.d.ts +0 -12
  185. package/dist/schema/sqlite-state.d.ts.map +0 -1
  186. package/dist/schema/sqlite-state.js +0 -36
  187. package/dist/schema/sqlite-state.js.map +0 -1
  188. package/dist/schema/state/sqlite/sqlite-state.d.ts +0 -12
  189. package/dist/schema/state/sqlite/sqlite-state.d.ts.map +0 -1
  190. package/dist/schema/state/sqlite/sqlite-state.js +0 -36
  191. package/dist/schema/state/sqlite/sqlite-state.js.map +0 -1
  192. package/dist/schema/state/state.d.ts +0 -3
  193. package/dist/schema/state/state.d.ts.map +0 -1
  194. package/dist/schema/state/state.js +0 -3
  195. package/dist/schema/state/state.js.map +0 -1
  196. package/dist/schema/state.d.ts +0 -3
  197. package/dist/schema/state.d.ts.map +0 -1
  198. package/dist/schema/state.js +0 -3
  199. package/dist/schema/state.js.map +0 -1
  200. package/dist/schema/system-tables.d.ts +0 -27
  201. package/dist/schema/system-tables.d.ts.map +0 -1
  202. package/dist/schema/system-tables.js +0 -86
  203. package/dist/schema/system-tables.js.map +0 -1
  204. package/dist/schema/table-def.d.ts +0 -84
  205. package/dist/schema/table-def.d.ts.map +0 -1
  206. package/dist/schema/table-def.js +0 -36
  207. package/dist/schema/table-def.js.map +0 -1
  208. package/dist/schema/view.d.ts +0 -3
  209. package/dist/schema/view.d.ts.map +0 -1
  210. package/dist/schema/view.js +0 -3
  211. package/dist/schema/view.js.map +0 -1
  212. package/dist/schema-management/validate-mutation-defs.d.ts +0 -8
  213. package/dist/schema-management/validate-mutation-defs.d.ts.map +0 -1
  214. package/dist/schema-management/validate-mutation-defs.js +0 -39
  215. package/dist/schema-management/validate-mutation-defs.js.map +0 -1
  216. package/dist/sync/next/test/mutation-fixtures.d.ts +0 -73
  217. package/dist/sync/next/test/mutation-fixtures.d.ts.map +0 -1
  218. package/dist/sync/next/test/mutation-fixtures.js +0 -161
  219. package/dist/sync/next/test/mutation-fixtures.js.map +0 -1
  220. package/dist/sync/next-mutation-event-id-pair.d.ts +0 -14
  221. package/dist/sync/next-mutation-event-id-pair.d.ts.map +0 -1
  222. package/dist/sync/next-mutation-event-id-pair.js +0 -13
  223. package/dist/sync/next-mutation-event-id-pair.js.map +0 -1
  224. package/src/devtools/devtools-window-message.ts +0 -27
@@ -1,39 +0,0 @@
1
- import { Effect, Schema } from '@livestore/utils/effect';
2
- import { UnexpectedError } from '../adapter-types.js';
3
- export const validateSchema = (schema, schemaManager) => Effect.gen(function* () {
4
- // Validate mutation definitions
5
- const registeredEventDefInfos = schemaManager.getEventDefInfos();
6
- const missingEventDefs = registeredEventDefInfos.filter((registeredEventDefInfo) => !schema.eventsDefsMap.has(registeredEventDefInfo.eventName));
7
- if (missingEventDefs.length > 0) {
8
- yield* new UnexpectedError({
9
- cause: `Missing mutation definitions: ${missingEventDefs.map((info) => info.eventName).join(', ')}`,
10
- });
11
- }
12
- for (const [, eventDef] of schema.eventsDefsMap) {
13
- const registeredEventDefInfo = registeredEventDefInfos.find((info) => info.eventName === eventDef.name);
14
- validateEventDef(eventDef, schemaManager, registeredEventDefInfo);
15
- }
16
- // Validate table schemas
17
- });
18
- export const validateEventDef = (eventDef, schemaManager, registeredEventDefInfo) => {
19
- const schemaHash = Schema.hash(eventDef.schema);
20
- if (registeredEventDefInfo === undefined) {
21
- schemaManager.setEventDefInfo({
22
- schemaHash,
23
- eventName: eventDef.name,
24
- });
25
- return;
26
- }
27
- if (schemaHash === registeredEventDefInfo.schemaHash)
28
- return;
29
- // TODO bring back some form of schema compatibility check (see https://github.com/livestorejs/livestore/issues/69)
30
- // const newSchemaIsCompatibleWithOldSchema = Schema.isSubType(jsonSchemaDefFromMgmtStore, eventDef.schema)
31
- // if (!newSchemaIsCompatibleWithOldSchema) {
32
- // shouldNeverHappen(`Schema for mutation ${eventDef.name} has changed in an incompatible way`)
33
- // }
34
- schemaManager.setEventDefInfo({
35
- schemaHash,
36
- eventName: eventDef.name,
37
- });
38
- };
39
- //# sourceMappingURL=validate-mutation-defs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-mutation-defs.js","sourceRoot":"","sources":["../../src/schema-management/validate-mutation-defs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAKrD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAuB,EAAE,aAA4B,EAAE,EAAE,CACtF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,gCAAgC;IAChC,MAAM,uBAAuB,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAA;IAEhE,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,MAAM,CACrD,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,sBAAsB,CAAC,SAAS,CAAC,CACxF,CAAA;IAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC;YACzB,KAAK,EAAE,iCAAiC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACpG,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QAChD,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEvG,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAA;IACnE,CAAC;IAED,yBAAyB;AAC3B,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAA+B,EAC/B,aAA4B,EAC5B,sBAAgD,EAChD,EAAE;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAE/C,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACzC,aAAa,CAAC,eAAe,CAAC;YAC5B,UAAU;YACV,SAAS,EAAE,QAAQ,CAAC,IAAI;SACzB,CAAC,CAAA;QAEF,OAAM;IACR,CAAC;IAED,IAAI,UAAU,KAAK,sBAAsB,CAAC,UAAU;QAAE,OAAM;IAE5D,mHAAmH;IACnH,2GAA2G;IAE3G,6CAA6C;IAC7C,iGAAiG;IACjG,IAAI;IAEJ,aAAa,CAAC,eAAe,CAAC;QAC5B,UAAU;QACV,SAAS,EAAE,QAAQ,CAAC,IAAI;KACzB,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,73 +0,0 @@
1
- import type { MutationDef } from '../../../schema/mutations.js';
2
- import type { HistoryDagNode } from '../history-dag.js';
3
- /** Used for conflict detection and event history compaction */
4
- export declare const facts: {
5
- todoExists: (id: string) => string;
6
- todoIsWriteable: (id: string, writeable: boolean) => [string, boolean];
7
- todoCompleted: (id: string, completed: boolean) => [string, boolean];
8
- todoTextUpdated: (id: string) => string;
9
- inputValue: (id: string) => string;
10
- };
11
- export declare const mutations: {
12
- createTodo: MutationDef<"createTodo", {
13
- readonly id: string;
14
- readonly text: string;
15
- }, {
16
- readonly id: string;
17
- readonly text: string;
18
- }>;
19
- upsertTodo: MutationDef<"upsertTodo", {
20
- readonly id: string;
21
- readonly text?: string | undefined;
22
- }, {
23
- readonly id: string;
24
- readonly text?: string | undefined;
25
- }>;
26
- completeTodo: MutationDef<"completeTodo", {
27
- readonly id: string;
28
- }, {
29
- readonly id: string;
30
- }>;
31
- uncompleteTodo: MutationDef<"uncompleteTodo", {
32
- readonly id: string;
33
- }, {
34
- readonly id: string;
35
- }>;
36
- completeTodos: MutationDef<"completeTodos", {
37
- readonly ids: readonly string[];
38
- }, {
39
- readonly ids: readonly string[];
40
- }>;
41
- toggleTodo: MutationDef<"toggleTodo", {
42
- readonly id: string;
43
- }, {
44
- readonly id: string;
45
- }>;
46
- setReadonlyTodo: MutationDef<"setReadonlyTodo", {
47
- readonly id: string;
48
- readonly readonly: boolean;
49
- }, {
50
- readonly id: string;
51
- readonly readonly: boolean;
52
- }>;
53
- setTextTodo: MutationDef<"setTextTodo", {
54
- readonly id: string;
55
- readonly text: string;
56
- }, {
57
- readonly id: string;
58
- readonly text: string;
59
- }>;
60
- setInputValue: MutationDef<"setInputValue", {
61
- readonly id: string;
62
- readonly text: string;
63
- }, {
64
- readonly id: string;
65
- readonly text: string;
66
- }>;
67
- };
68
- export type PartialEvent = {
69
- mutation: string;
70
- args: any;
71
- };
72
- export declare const toEventNodes: (partialEvents: PartialEvent[], mutationDefs: Record<string, MutationDef.Any>) => HistoryDagNode[];
73
- //# sourceMappingURL=mutation-fixtures.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutation-fixtures.d.ts","sourceRoot":"","sources":["../../../../src/sync/next/test/mutation-fixtures.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGvD,+DAA+D;AAC/D,eAAO,MAAM,KAAK;qBACC,MAAM;0BACD,MAAM,aAAa,OAAO;wBAC5B,MAAM,aAAa,OAAO;0BACxB,MAAM;qBACX,MAAM;CACvB,CAAA;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+GrB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAAA;AAE1D,eAAO,MAAM,YAAY,GACvB,eAAe,YAAY,EAAE,EAC7B,cAAc,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,KAC5C,cAAc,EAkFhB,CAAA"}
@@ -1,161 +0,0 @@
1
- import { Schema } from '@livestore/utils/effect';
2
- import { ROOT_ID } from '../../../adapter-types.js';
3
- import { defineFacts, defineMutation } from '../../../schema/mutations.js';
4
- import { factsSnapshotForDag, getFactsGroupForMutationArgs } from '../facts.js';
5
- import { historyDagFromNodes, rootEventNode } from '../history-dag.js';
6
- /** Used for conflict detection and event history compaction */
7
- export const facts = defineFacts({
8
- todoExists: (id) => `todo-exists-${id}`,
9
- todoIsWriteable: (id, writeable) => [`todo-is-writeable-${id}`, writeable],
10
- todoCompleted: (id, completed) => [`todo-completed-${id}`, completed],
11
- todoTextUpdated: (id) => `todo-text-updated-${id}`,
12
- inputValue: (id) => `input-value-${id}`,
13
- });
14
- export const mutations = {
15
- createTodo: defineMutation('createTodo', Schema.Struct({ id: Schema.String, text: Schema.String }), 'INSERT INTO todos (id, text) VALUES ($id, $text)', {
16
- facts: ({ id }) => ({
17
- modify: {
18
- set: [facts.todoExists(id), facts.todoIsWriteable(id, true), facts.todoCompleted(id, false)],
19
- },
20
- }),
21
- }),
22
- upsertTodo: defineMutation('upsertTodo', Schema.Struct({ id: Schema.String, text: Schema.optional(Schema.String) }), 'INSERT INTO todos (id, text) VALUES ($id, $text) ON CONFLICT (id) DO UPDATE SET text = $text', {
23
- facts: ({ id }, currentFacts) =>
24
- // TODO enable an API along the lines of `map.has(key, value)`
25
- currentFacts.has(facts.todoExists(id)) && currentFacts.get(facts.todoIsWriteable(id, true)[0]) === false
26
- ? { require: [facts.todoExists(id), facts.todoIsWriteable(id, true)] }
27
- : { modify: { set: [facts.todoExists(id), facts.todoIsWriteable(id, true), facts.todoTextUpdated(id)] } },
28
- }),
29
- completeTodo: defineMutation('completeTodo', Schema.Struct({ id: Schema.String }),
30
- // consider `RETURNING` to validate before applying facts
31
- 'UPDATE todos SET completed = true WHERE id = $id', {
32
- // prewrite assertions from DB
33
- // enables more concurrency
34
- // turning database inside out
35
- // similar to upsert semantics
36
- facts: ({ id }) => ({
37
- require: [facts.todoExists(id), facts.todoIsWriteable(id, true)],
38
- modify: { set: [facts.todoCompleted(id, true)] },
39
- }),
40
- }),
41
- uncompleteTodo: defineMutation('uncompleteTodo', Schema.Struct({ id: Schema.String }), 'UPDATE todos SET completed = false WHERE id = $id', {
42
- facts: ({ id }) => ({
43
- require: [facts.todoExists(id), facts.todoIsWriteable(id, true)],
44
- modify: { set: [facts.todoCompleted(id, false)] },
45
- }),
46
- }),
47
- completeTodos: defineMutation('completeTodos', Schema.Struct({ ids: Schema.Array(Schema.String) }), 'UPDATE todos SET completed = true WHERE id IN ($ids:csv)', {
48
- facts: ({ ids }) => ({
49
- require: ids.flatMap((id) => [facts.todoExists(id), facts.todoIsWriteable(id, true)]),
50
- modify: { set: ids.map((id) => facts.todoCompleted(id, true)) },
51
- }),
52
- }),
53
- toggleTodo: defineMutation('toggleTodo', Schema.Struct({ id: Schema.String }), 'UPDATE todos SET completed = NOT completed WHERE id = $id', {
54
- facts: ({ id }, currentFacts) => {
55
- const currentIsCompleted = currentFacts.get(facts.todoCompleted(id, true)[0]) === true;
56
- return {
57
- require: [facts.todoExists(id), facts.todoIsWriteable(id, true)],
58
- modify: {
59
- // remove: [facts.todoCompleted(id, currentIsCompleted)],
60
- set: [facts.todoCompleted(id, !currentIsCompleted)],
61
- },
62
- };
63
- },
64
- }),
65
- setReadonlyTodo: defineMutation('setReadonlyTodo', Schema.Struct({ id: Schema.String, readonly: Schema.Boolean }), 'UPDATE todos SET readonly = $readonly WHERE id = $id', {
66
- facts: ({ id, readonly }) => ({
67
- require: [facts.todoExists(id)],
68
- modify: { set: [facts.todoIsWriteable(id, !readonly)] },
69
- }),
70
- }),
71
- setTextTodo: defineMutation('setTextTodo', Schema.Struct({ id: Schema.String, text: Schema.String }), 'UPDATE todos SET text = $text WHERE id = $id', {
72
- facts: ({ id }) => ({
73
- require: [facts.todoExists(id), facts.todoIsWriteable(id, true)],
74
- modify: { set: [facts.todoTextUpdated(id)] },
75
- }),
76
- }),
77
- setInputValue: defineMutation('setInputValue', Schema.Struct({ id: Schema.String, text: Schema.String }), 'UPDATE todos SET text = $text WHERE id = $id', {
78
- localOnly: true,
79
- facts: ({ id }) => ({ modify: { set: [facts.inputValue(id)] } }),
80
- }),
81
- };
82
- export const toEventNodes = (partialEvents, mutationDefs) => {
83
- const nodesAcc = [rootEventNode];
84
- let currentEventId = ROOT_ID;
85
- const getNextEventId = (mutationDef) => {
86
- if (mutationDef.options.localOnly) {
87
- return { global: currentEventId.global, local: currentEventId.local + 1 };
88
- }
89
- return { global: currentEventId.global + 1, local: 0 };
90
- };
91
- const eventNodes = partialEvents.map((partialEvent) => {
92
- const mutationDef = mutationDefs[partialEvent.mutation];
93
- const eventId = getNextEventId(mutationDef);
94
- currentEventId = eventId;
95
- const factsSnapshot = factsSnapshotForDag(historyDagFromNodes(nodesAcc, { skipFactsCheck: true }), undefined);
96
- // console.log('factsSnapshot', eventId, factsSnapshot)
97
- // const depRead: MutationEventFactsSnapshot = new Map<string, any>()
98
- // const factsSnapshotProxy = new Proxy(factsSnapshot, {
99
- // get: (target, prop) => {
100
- // if (prop === 'has') {
101
- // return (key: string) => {
102
- // depRead.set(key, EMPTY_FACT_VALUE)
103
- // return target.has(key)
104
- // }
105
- // } else if (prop === 'get') {
106
- // return (key: string) => {
107
- // depRead.set(key, EMPTY_FACT_VALUE)
108
- // return target.get(key)
109
- // }
110
- // }
111
- // notYetImplemented(`toEventNodes: ${prop.toString()} is not yet implemented`)
112
- // },
113
- // })
114
- // const factsRes = mutationDef.options.facts?.(partialEvent.args, factsSnapshotProxy)
115
- // console.log('factsRes', factsRes?.modify, factsRes?.require)
116
- // const iterableToMap = (iterable: Iterable<MutationEventFactInput>) => {
117
- // const map = new Map()
118
- // for (const item of iterable) {
119
- // if (typeof item === 'string') {
120
- // map.set(item, EMPTY_FACT_VALUE)
121
- // } else {
122
- // map.set(item[0], item[1])
123
- // }
124
- // }
125
- // return map
126
- // }
127
- // const facts = {
128
- // modifyAdd: factsRes?.modify.add ? iterableToMap(factsRes.modify.add) : new Map(),
129
- // modifyRemove: factsRes?.modify.remove ? iterableToMap(factsRes.modify.remove) : new Map(),
130
- // depRequire: factsRes?.require ? iterableToMap(factsRes.require) : new Map(),
131
- // depRead,
132
- // } satisfies MutationEventFactsGroup
133
- // applyFactGroup(facts, factsSnapshot)
134
- const facts = getFactsGroupForMutationArgs({
135
- factsCallback: mutationDef.options.facts,
136
- args: partialEvent.args,
137
- currentFacts: factsSnapshot,
138
- });
139
- const node = {
140
- id: eventId,
141
- parentId: getParentId(eventId),
142
- mutation: partialEvent.mutation,
143
- args: partialEvent.args,
144
- factsGroup: facts,
145
- };
146
- nodesAcc.push(node);
147
- return node;
148
- });
149
- eventNodes.unshift(rootEventNode);
150
- // console.log('eventNodes', eventNodes)
151
- return eventNodes;
152
- };
153
- const getParentId = (eventId) => {
154
- const globalParentId = eventId.global;
155
- const localParentId = eventId.local - 1;
156
- if (localParentId < 0) {
157
- return { global: globalParentId - 1, local: 0 };
158
- }
159
- return { global: globalParentId, local: localParentId };
160
- };
161
- //# sourceMappingURL=mutation-fixtures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutation-fixtures.js","sourceRoot":"","sources":["../../../../src/sync/next/test/mutation-fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { Effect } from '@livestore/utils/effect';
2
- import type { EventId } from '../adapter-types.js';
3
- export declare const makeNextMutationEventIdPair: (currentMutationEventIdRef: {
4
- current: EventId;
5
- }) => (opts: {
6
- localOnly: boolean;
7
- }) => Effect.Effect<{
8
- id: {
9
- global: number;
10
- local: number;
11
- };
12
- parentId: EventId;
13
- }, never, never>;
14
- //# sourceMappingURL=next-mutation-event-id-pair.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"next-mutation-event-id-pair.d.ts","sourceRoot":"","sources":["../../src/sync/next-mutation-event-id-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,eAAO,MAAM,2BAA2B,GACrC,2BAA2B;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,MAAM,MAAM;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE;;;;;;gBAc9E,CAAA"}
@@ -1,13 +0,0 @@
1
- import { Effect } from '@livestore/utils/effect';
2
- export const makeNextMutationEventIdPair = (currentMutationEventIdRef) => (opts) => Effect.gen(function* () {
3
- // NOTE we always point to `local: 0` for non-localOnly mutations
4
- const parentId = opts.localOnly
5
- ? currentMutationEventIdRef.current
6
- : { global: currentMutationEventIdRef.current.global, local: 0 };
7
- const id = opts.localOnly
8
- ? { global: parentId.global, local: parentId.local + 1 }
9
- : { global: parentId.global + 1, local: 0 };
10
- currentMutationEventIdRef.current = id;
11
- return { id, parentId };
12
- });
13
- //# sourceMappingURL=next-mutation-event-id-pair.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"next-mutation-event-id-pair.js","sourceRoot":"","sources":["../../src/sync/next-mutation-event-id-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAIhD,MAAM,CAAC,MAAM,2BAA2B,GACtC,CAAC,yBAA+C,EAAE,EAAE,CAAC,CAAC,IAA4B,EAAE,EAAE,CACpF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,iEAAiE;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS;QAC7B,CAAC,CAAC,yBAAyB,CAAC,OAAO;QACnC,CAAC,CAAC,EAAE,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;IAElE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS;QACvB,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE;QACxD,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;IAE7C,yBAAyB,CAAC,OAAO,GAAG,EAAE,CAAA;IAEtC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAA;AACzB,CAAC,CAAC,CAAA"}
@@ -1,27 +0,0 @@
1
- import { Schema, Transferable } from '@livestore/utils/effect'
2
-
3
- const appHostId = Schema.String
4
-
5
- export namespace DevtoolsWindowMessage {
6
- /** Message is being created in contentscript-iframe, sent to contentscript and then sent to Store */
7
- export class MessagePortReady extends Schema.TaggedStruct('LSD.WindowMessage.MessagePortReady', {
8
- port: Transferable.MessagePort,
9
- appHostId,
10
- }) {}
11
-
12
- export class ContentscriptListening extends Schema.TaggedStruct('LSD.WindowMessage.ContentscriptListening', {}) {}
13
-
14
- // export class ContentscriptReady extends Schema.TaggedStruct('LSD.WindowMessage.ContentscriptReady', {
15
- // appHostId,
16
- // }) {}
17
-
18
- export class LoadIframe extends Schema.TaggedStruct('LSD.WindowMessage.LoadIframe', {}) {}
19
-
20
- export class StoreReady extends Schema.TaggedStruct('LSD.WindowMessage.StoreReady', {
21
- appHostId,
22
- }) {}
23
-
24
- export class MessageForStore extends Schema.Union(MessagePortReady, ContentscriptListening) {}
25
-
26
- export class MessageForContentscript extends Schema.Union(StoreReady, LoadIframe) {}
27
- }