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

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 (181) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/adapter-types.d.ts +47 -35
  3. package/dist/adapter-types.d.ts.map +1 -1
  4. package/dist/adapter-types.js.map +1 -1
  5. package/dist/derived-mutations.d.ts +4 -4
  6. package/dist/derived-mutations.d.ts.map +1 -1
  7. package/dist/derived-mutations.test.js.map +1 -1
  8. package/dist/devtools/devtool-message-leader.d.ts +2 -0
  9. package/dist/devtools/devtool-message-leader.d.ts.map +1 -0
  10. package/dist/devtools/devtool-message-leader.js +2 -0
  11. package/dist/devtools/devtool-message-leader.js.map +1 -0
  12. package/dist/devtools/devtools-bridge.d.ts +2 -1
  13. package/dist/devtools/devtools-bridge.d.ts.map +1 -1
  14. package/dist/devtools/devtools-messages-client-session.d.ts +297 -0
  15. package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -0
  16. package/dist/devtools/devtools-messages-client-session.js +61 -0
  17. package/dist/devtools/devtools-messages-client-session.js.map +1 -0
  18. package/dist/devtools/devtools-messages-common.d.ts +65 -0
  19. package/dist/devtools/devtools-messages-common.d.ts.map +1 -0
  20. package/dist/devtools/devtools-messages-common.js +35 -0
  21. package/dist/devtools/devtools-messages-common.js.map +1 -0
  22. package/dist/devtools/devtools-messages-leader.d.ts +261 -0
  23. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -0
  24. package/dist/devtools/devtools-messages-leader.js +85 -0
  25. package/dist/devtools/devtools-messages-leader.js.map +1 -0
  26. package/dist/devtools/devtools-messages.d.ts +3 -592
  27. package/dist/devtools/devtools-messages.d.ts.map +1 -1
  28. package/dist/devtools/devtools-messages.js +3 -171
  29. package/dist/devtools/devtools-messages.js.map +1 -1
  30. package/dist/index.d.ts +0 -4
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/init-singleton-tables.d.ts +2 -2
  33. package/dist/init-singleton-tables.d.ts.map +1 -1
  34. package/dist/init-singleton-tables.js.map +1 -1
  35. package/dist/leader-thread/LeaderSyncProcessor.d.ts +37 -0
  36. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -0
  37. package/dist/leader-thread/LeaderSyncProcessor.js +432 -0
  38. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -0
  39. package/dist/leader-thread/apply-mutation.d.ts +5 -2
  40. package/dist/leader-thread/apply-mutation.d.ts.map +1 -1
  41. package/dist/leader-thread/apply-mutation.js +41 -29
  42. package/dist/leader-thread/apply-mutation.js.map +1 -1
  43. package/dist/leader-thread/connection.d.ts +4 -4
  44. package/dist/leader-thread/connection.d.ts.map +1 -1
  45. package/dist/leader-thread/connection.js +5 -5
  46. package/dist/leader-thread/connection.js.map +1 -1
  47. package/dist/leader-thread/leader-sync-processor.d.ts +2 -2
  48. package/dist/leader-thread/leader-sync-processor.d.ts.map +1 -1
  49. package/dist/leader-thread/leader-sync-processor.js +20 -12
  50. package/dist/leader-thread/leader-sync-processor.js.map +1 -1
  51. package/dist/leader-thread/leader-worker-devtools.d.ts +1 -1
  52. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  53. package/dist/leader-thread/leader-worker-devtools.js +37 -81
  54. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  55. package/dist/leader-thread/make-leader-thread-layer.d.ts +12 -11
  56. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  57. package/dist/leader-thread/make-leader-thread-layer.js +33 -14
  58. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  59. package/dist/leader-thread/mutationlog.d.ts +6 -19
  60. package/dist/leader-thread/mutationlog.d.ts.map +1 -1
  61. package/dist/leader-thread/mutationlog.js +7 -6
  62. package/dist/leader-thread/mutationlog.js.map +1 -1
  63. package/dist/leader-thread/pull-queue-set.d.ts.map +1 -1
  64. package/dist/leader-thread/recreate-db.d.ts.map +1 -1
  65. package/dist/leader-thread/recreate-db.js +24 -18
  66. package/dist/leader-thread/recreate-db.js.map +1 -1
  67. package/dist/leader-thread/types.d.ts +36 -16
  68. package/dist/leader-thread/types.d.ts.map +1 -1
  69. package/dist/leader-thread/types.js.map +1 -1
  70. package/dist/mutation.d.ts +9 -2
  71. package/dist/mutation.d.ts.map +1 -1
  72. package/dist/mutation.js +5 -5
  73. package/dist/mutation.js.map +1 -1
  74. package/dist/query-builder/impl.d.ts +1 -1
  75. package/dist/rehydrate-from-mutationlog.d.ts +5 -5
  76. package/dist/rehydrate-from-mutationlog.d.ts.map +1 -1
  77. package/dist/rehydrate-from-mutationlog.js +13 -19
  78. package/dist/rehydrate-from-mutationlog.js.map +1 -1
  79. package/dist/schema/EventId.d.ts +16 -14
  80. package/dist/schema/EventId.d.ts.map +1 -1
  81. package/dist/schema/EventId.js +15 -7
  82. package/dist/schema/EventId.js.map +1 -1
  83. package/dist/schema/EventId.test.d.ts +2 -0
  84. package/dist/schema/EventId.test.d.ts.map +1 -0
  85. package/dist/schema/EventId.test.js +11 -0
  86. package/dist/schema/EventId.test.js.map +1 -0
  87. package/dist/schema/MutationEvent.d.ts +49 -80
  88. package/dist/schema/MutationEvent.d.ts.map +1 -1
  89. package/dist/schema/MutationEvent.js +32 -15
  90. package/dist/schema/MutationEvent.js.map +1 -1
  91. package/dist/schema/MutationEvent.test.d.ts +2 -0
  92. package/dist/schema/MutationEvent.test.d.ts.map +1 -0
  93. package/dist/schema/MutationEvent.test.js +2 -0
  94. package/dist/schema/MutationEvent.test.js.map +1 -0
  95. package/dist/schema/system-tables.d.ts +26 -26
  96. package/dist/schema/system-tables.d.ts.map +1 -1
  97. package/dist/schema/system-tables.js +19 -11
  98. package/dist/schema/system-tables.js.map +1 -1
  99. package/dist/schema-management/common.d.ts +3 -3
  100. package/dist/schema-management/common.d.ts.map +1 -1
  101. package/dist/schema-management/common.js.map +1 -1
  102. package/dist/schema-management/migrations.d.ts +4 -4
  103. package/dist/schema-management/migrations.d.ts.map +1 -1
  104. package/dist/schema-management/migrations.js +6 -6
  105. package/dist/schema-management/migrations.js.map +1 -1
  106. package/dist/sync/ClientSessionSyncProcessor.d.ts +43 -0
  107. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -0
  108. package/dist/sync/ClientSessionSyncProcessor.js +141 -0
  109. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -0
  110. package/dist/sync/client-session-sync-processor.d.ts +4 -4
  111. package/dist/sync/client-session-sync-processor.d.ts.map +1 -1
  112. package/dist/sync/index.d.ts +1 -1
  113. package/dist/sync/index.d.ts.map +1 -1
  114. package/dist/sync/index.js +1 -1
  115. package/dist/sync/index.js.map +1 -1
  116. package/dist/sync/next/history-dag-common.d.ts +1 -4
  117. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  118. package/dist/sync/next/history-dag-common.js +1 -1
  119. package/dist/sync/next/history-dag-common.js.map +1 -1
  120. package/dist/sync/next/rebase-events.d.ts +3 -3
  121. package/dist/sync/next/rebase-events.d.ts.map +1 -1
  122. package/dist/sync/next/rebase-events.js +3 -2
  123. package/dist/sync/next/rebase-events.js.map +1 -1
  124. package/dist/sync/next/test/mutation-fixtures.d.ts +7 -7
  125. package/dist/sync/next/test/mutation-fixtures.d.ts.map +1 -1
  126. package/dist/sync/next/test/mutation-fixtures.js +3 -9
  127. package/dist/sync/next/test/mutation-fixtures.js.map +1 -1
  128. package/dist/sync/sync.d.ts +21 -11
  129. package/dist/sync/sync.d.ts.map +1 -1
  130. package/dist/sync/sync.js.map +1 -1
  131. package/dist/sync/syncstate.d.ts +45 -23
  132. package/dist/sync/syncstate.d.ts.map +1 -1
  133. package/dist/sync/syncstate.js +56 -12
  134. package/dist/sync/syncstate.js.map +1 -1
  135. package/dist/sync/syncstate.test.js +125 -69
  136. package/dist/sync/syncstate.test.js.map +1 -1
  137. package/dist/sync/validate-push-payload.d.ts +2 -2
  138. package/dist/sync/validate-push-payload.d.ts.map +1 -1
  139. package/dist/sync/validate-push-payload.js +2 -2
  140. package/dist/sync/validate-push-payload.js.map +1 -1
  141. package/dist/version.d.ts +1 -1
  142. package/dist/version.d.ts.map +1 -1
  143. package/dist/version.js +1 -1
  144. package/dist/version.js.map +1 -1
  145. package/package.json +6 -5
  146. package/src/adapter-types.ts +39 -40
  147. package/src/derived-mutations.test.ts +1 -1
  148. package/src/derived-mutations.ts +9 -5
  149. package/src/devtools/devtools-bridge.ts +2 -1
  150. package/src/devtools/devtools-messages-client-session.ts +109 -0
  151. package/src/devtools/devtools-messages-common.ts +52 -0
  152. package/src/devtools/devtools-messages-leader.ts +115 -0
  153. package/src/devtools/devtools-messages.ts +3 -243
  154. package/src/index.ts +0 -6
  155. package/src/init-singleton-tables.ts +2 -2
  156. package/src/leader-thread/{leader-sync-processor.ts → LeaderSyncProcessor.ts} +306 -268
  157. package/src/leader-thread/apply-mutation.ts +53 -35
  158. package/src/leader-thread/connection.ts +7 -7
  159. package/src/leader-thread/leader-worker-devtools.ts +52 -124
  160. package/src/leader-thread/make-leader-thread-layer.ts +62 -30
  161. package/src/leader-thread/mutationlog.ts +14 -10
  162. package/src/leader-thread/recreate-db.ts +24 -20
  163. package/src/leader-thread/types.ts +41 -20
  164. package/src/mutation.ts +17 -7
  165. package/src/rehydrate-from-mutationlog.ts +18 -26
  166. package/src/schema/EventId.test.ts +12 -0
  167. package/src/schema/EventId.ts +23 -9
  168. package/src/schema/MutationEvent.ts +46 -24
  169. package/src/schema/system-tables.ts +19 -11
  170. package/src/schema-management/common.ts +3 -3
  171. package/src/schema-management/migrations.ts +10 -10
  172. package/src/sync/{client-session-sync-processor.ts → ClientSessionSyncProcessor.ts} +26 -19
  173. package/src/sync/index.ts +1 -1
  174. package/src/sync/next/history-dag-common.ts +1 -1
  175. package/src/sync/next/rebase-events.ts +7 -7
  176. package/src/sync/next/test/mutation-fixtures.ts +3 -10
  177. package/src/sync/sync.ts +19 -6
  178. package/src/sync/syncstate.test.ts +127 -67
  179. package/src/sync/syncstate.ts +21 -19
  180. package/src/sync/validate-push-payload.ts +7 -4
  181. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"rehydrate-from-mutationlog.js","sourceRoot":"","sources":["../src/rehydrate-from-mutationlog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rehydrate-from-mutationlog.js","sourceRoot":"","sources":["../src/rehydrate-from-mutationlog.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
- import { Schema } from '@livestore/utils/effect';
1
+ import { Brand, Schema } from '@livestore/utils/effect';
2
+ export type LocalEventId = Brand.Branded<number, 'LocalEventId'>;
3
+ export declare const localEventId: Brand.Brand.Constructor<LocalEventId>;
4
+ export declare const LocalEventId: Schema.BrandSchema<number & Brand.Brand<"LocalEventId">, number, never>;
5
+ export type GlobalEventId = Brand.Branded<number, 'GlobalEventId'>;
6
+ export declare const globalEventId: Brand.Brand.Constructor<GlobalEventId>;
7
+ export declare const GlobalEventId: Schema.BrandSchema<number & Brand.Brand<"GlobalEventId">, number, never>;
8
+ export declare const localDefault: LocalEventId;
2
9
  /**
3
10
  * LiveStore event id value consisting of a globally unique event sequence number
4
11
  * and a local sequence number.
@@ -6,12 +13,12 @@ import { Schema } from '@livestore/utils/effect';
6
13
  * The local sequence number is only used for localOnly mutations and starts from 0 for each global sequence number.
7
14
  */
8
15
  export type EventId = {
9
- global: number;
10
- local: number;
16
+ global: GlobalEventId;
17
+ local: LocalEventId;
11
18
  };
12
19
  export declare const EventId: Schema.Struct<{
13
- global: typeof Schema.Number;
14
- local: typeof Schema.Number;
20
+ global: Schema.BrandSchema<number & Brand.Brand<"GlobalEventId">, number, never>;
21
+ local: Schema.BrandSchema<number & Brand.Brand<"LocalEventId">, number, never>;
15
22
  }>;
16
23
  /**
17
24
  * Compare two event ids i.e. checks if the first event id is less than the second.
@@ -23,15 +30,10 @@ export type EventIdPair = {
23
30
  parentId: EventId;
24
31
  };
25
32
  export declare const ROOT: {
26
- global: number;
27
- local: number;
33
+ global: GlobalEventId;
34
+ local: LocalEventId;
28
35
  };
29
36
  export declare const isGreaterThan: (a: EventId, b: EventId) => boolean;
30
- export declare const nextPair: (id: EventId, isLocal: boolean) => {
31
- id: {
32
- global: number;
33
- local: number;
34
- };
35
- parentId: EventId;
36
- };
37
+ export declare const make: (id: EventId | typeof EventId.Encoded) => EventId;
38
+ export declare const nextPair: (id: EventId, isLocal: boolean) => EventIdPair;
37
39
  //# sourceMappingURL=EventId.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventId.d.ts","sourceRoot":"","sources":["../../src/schema/EventId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvD,eAAO,MAAM,OAAO;;;EAG0B,CAAA;AAE9C;;GAEG;AACH,eAAO,MAAM,OAAO,MAAO,OAAO,KAAK,OAAO,WAK7C,CAAA;AAED,eAAO,MAAM,OAAO,MAAO,OAAO,KAAK,OAAO,YAAiD,CAAA;AAE/F,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAA;AAE5D,eAAO,MAAM,IAAI;;;CAA6C,CAAA;AAE9D,eAAO,MAAM,aAAa,MAAO,OAAO,KAAK,OAAO,YAEnD,CAAA;AAED,eAAO,MAAM,QAAQ,OAAQ,OAAO,WAAW,OAAO;;;;;;CAUrD,CAAA"}
1
+ {"version":3,"file":"EventId.d.ts","sourceRoot":"","sources":["../../src/schema/EventId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEvD,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAChE,eAAO,MAAM,YAAY,uCAAgC,CAAA;AACzD,eAAO,MAAM,YAAY,yEAA6C,CAAA;AAEtE,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAClE,eAAO,MAAM,aAAa,wCAAiC,CAAA;AAC3D,eAAO,MAAM,aAAa,0EAA8C,CAAA;AAExE,eAAO,MAAM,YAAY,EAAe,YAAY,CAAA;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAAA;AAEpE,eAAO,MAAM,OAAO;;;EAG0B,CAAA;AAE9C;;GAEG;AACH,eAAO,MAAM,OAAO,MAAO,OAAO,KAAK,OAAO,WAK7C,CAAA;AAED,eAAO,MAAM,OAAO,MAAO,OAAO,KAAK,OAAO,YAAiD,CAAA;AAE/F,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAA;AAE5D,eAAO,MAAM,IAAI;YAA0B,aAAa;;CAAyC,CAAA;AAEjG,eAAO,MAAM,aAAa,MAAO,OAAO,KAAK,OAAO,YAEnD,CAAA;AAED,eAAO,MAAM,IAAI,OAAQ,OAAO,GAAG,OAAO,OAAO,CAAC,OAAO,KAAG,OAE3D,CAAA;AAED,eAAO,MAAM,QAAQ,OAAQ,OAAO,WAAW,OAAO,KAAG,WAUxD,CAAA"}
@@ -1,7 +1,12 @@
1
- import { Schema } from '@livestore/utils/effect';
1
+ import { Brand, Schema } from '@livestore/utils/effect';
2
+ export const localEventId = Brand.nominal();
3
+ export const LocalEventId = Schema.fromBrand(localEventId)(Schema.Int);
4
+ export const globalEventId = Brand.nominal();
5
+ export const GlobalEventId = Schema.fromBrand(globalEventId)(Schema.Int);
6
+ export const localDefault = 0;
2
7
  export const EventId = Schema.Struct({
3
- global: Schema.Number,
4
- local: Schema.Number,
8
+ global: GlobalEventId,
9
+ local: LocalEventId,
5
10
  }).annotations({ title: 'LiveStore.EventId' });
6
11
  /**
7
12
  * Compare two event ids i.e. checks if the first event id is less than the second.
@@ -13,18 +18,21 @@ export const compare = (a, b) => {
13
18
  return a.local - b.local;
14
19
  };
15
20
  export const isEqual = (a, b) => a.global === b.global && a.local === b.local;
16
- export const ROOT = { global: -1, local: 0 };
21
+ export const ROOT = { global: -1, local: localDefault };
17
22
  export const isGreaterThan = (a, b) => {
18
23
  return a.global > b.global || (a.global === b.global && a.local > b.local);
19
24
  };
25
+ export const make = (id) => {
26
+ return Schema.is(EventId)(id) ? id : Schema.decodeSync(EventId)(id);
27
+ };
20
28
  export const nextPair = (id, isLocal) => {
21
29
  if (isLocal) {
22
- return { id: { global: id.global, local: id.local + 1 }, parentId: id };
30
+ return { id: { global: id.global, local: (id.local + 1) }, parentId: id };
23
31
  }
24
32
  return {
25
- id: { global: id.global + 1, local: 0 },
33
+ id: { global: (id.global + 1), local: localDefault },
26
34
  // NOTE we always point to `local: 0` for non-localOnly mutations
27
- parentId: { global: id.global, local: 0 },
35
+ parentId: { global: id.global, local: localDefault },
28
36
  };
29
37
  };
30
38
  //# sourceMappingURL=EventId.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventId.js","sourceRoot":"","sources":["../../src/schema/EventId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAUhD,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAA;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;IAChD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAA;IAC5B,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAA;AAI/F,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAoB,CAAA;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;IACtD,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAW,EAAE,OAAgB,EAAE,EAAE;IACxD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACzE,CAAC;IAED,OAAO;QACL,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACvC,iEAAiE;QACjE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;KAC1C,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"EventId.js","sourceRoot":"","sources":["../../src/schema/EventId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGvD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,EAAgB,CAAA;AACzD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAGtE,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,EAAiB,CAAA;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAwB,CAAA;AAUpD,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,YAAY;CACpB,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAA;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;IAChD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAA;IAC5B,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAA;AAI/F,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,CAAyB,EAAE,KAAK,EAAE,YAAY,EAAoB,CAAA;AAEjG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;IACtD,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAoC,EAAW,EAAE;IACpE,OAAO,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAW,EAAE,OAAgB,EAAe,EAAE;IACrE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAwB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IAClG,CAAC;IAED,OAAO;QACL,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAyB,EAAE,KAAK,EAAE,YAAY,EAAE;QAC5E,iEAAiE;QACjE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE;KACrD,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EventId.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventId.test.d.ts","sourceRoot":"","sources":["../../src/schema/EventId.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { Vitest } from '@livestore/utils/node-vitest';
2
+ import { expect } from 'vitest';
3
+ import { EventId } from './mod.js';
4
+ Vitest.describe('EventId', () => {
5
+ Vitest.test('nextPair', () => {
6
+ const e_0_0 = EventId.make({ global: 0, local: 0 });
7
+ expect(EventId.nextPair(e_0_0, false).id).toStrictEqual({ global: 1, local: 0 });
8
+ expect(EventId.nextPair(e_0_0, true).id).toStrictEqual({ global: 0, local: 1 });
9
+ });
10
+ });
11
+ //# sourceMappingURL=EventId.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventId.test.js","sourceRoot":"","sources":["../../src/schema/EventId.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IAC9B,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QACnD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAChF,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,4 +1,3 @@
1
- import type { Deferred } from '@livestore/utils/effect';
2
1
  import { Schema } from '@livestore/utils/effect';
3
2
  import * as EventId from './EventId.js';
4
3
  import type { MutationDef, MutationDefRecord } from './mutations.js';
@@ -23,9 +22,40 @@ export type MutationEventEncoded<TMutationsDef extends MutationDef.Any> = {
23
22
  id: EventId.EventId;
24
23
  parentId: EventId.EventId;
25
24
  };
26
- export type Any = MutationEvent<MutationDef.Any>;
25
+ export type AnyDecoded = MutationEvent<MutationDef.Any>;
26
+ export declare const AnyDecoded: Schema.Struct<{
27
+ mutation: typeof Schema.String;
28
+ args: typeof Schema.Any;
29
+ id: Schema.Struct<{
30
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
31
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
32
+ }>;
33
+ parentId: Schema.Struct<{
34
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
35
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
36
+ }>;
37
+ }>;
27
38
  export type AnyEncoded = MutationEventEncoded<MutationDef.Any>;
28
- export type PartialAny = MutationEventPartial<MutationDef.Any>;
39
+ export declare const AnyEncoded: Schema.Struct<{
40
+ mutation: typeof Schema.String;
41
+ args: typeof Schema.Any;
42
+ id: Schema.Struct<{
43
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
44
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
45
+ }>;
46
+ parentId: Schema.Struct<{
47
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
48
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
49
+ }>;
50
+ }>;
51
+ export declare const AnyEncodedGlobal: Schema.Struct<{
52
+ mutation: typeof Schema.String;
53
+ args: typeof Schema.Any;
54
+ id: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
55
+ parentId: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
56
+ }>;
57
+ export type AnyEncodedGlobal = typeof AnyEncodedGlobal.Type;
58
+ export type PartialAnyDecoded = MutationEventPartial<MutationDef.Any>;
29
59
  export type PartialAnyEncoded = MutationEventPartialEncoded<MutationDef.Any>;
30
60
  export type PartialForSchema<TSchema extends LiveStoreSchema> = {
31
61
  [K in keyof TSchema['_MutationDefMapType']]: MutationEventPartial<TSchema['_MutationDefMapType'][K]>;
@@ -33,7 +63,7 @@ export type PartialForSchema<TSchema extends LiveStoreSchema> = {
33
63
  export type ForSchema<TSchema extends LiveStoreSchema> = {
34
64
  [K in keyof TSchema['_MutationDefMapType']]: MutationEvent<TSchema['_MutationDefMapType'][K]>;
35
65
  }[keyof TSchema['_MutationDefMapType']];
36
- export declare const isPartialMutationEvent: (mutationEvent: Any | PartialAny) => mutationEvent is PartialAny;
66
+ export declare const isPartialMutationEvent: (mutationEvent: AnyDecoded | PartialAnyDecoded) => mutationEvent is PartialAnyDecoded;
37
67
  export type ForMutationDefRecord<TMutationsDefRecord extends MutationDefRecord> = Schema.Schema<{
38
68
  [K in keyof TMutationsDefRecord]: {
39
69
  mutation: K;
@@ -63,80 +93,20 @@ export type MutationEventPartialSchema<TMutationsDefRecord extends MutationDefRe
63
93
  export declare const makeMutationEventSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => ForMutationDefRecord<TSchema["_MutationDefMapType"]>;
64
94
  export declare const makeMutationEventPartialSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => MutationEventPartialSchema<TSchema["_MutationDefMapType"]>;
65
95
  export declare const makeMutationEventSchemaMemo: <TSchema extends LiveStoreSchema>(schema: TSchema) => ForMutationDefRecord<TSchema["_MutationDefMapType"]>;
66
- export declare const Any: Schema.Struct<{
67
- mutation: typeof Schema.String;
68
- args: typeof Schema.Any;
69
- id: Schema.Struct<{
70
- global: typeof Schema.Number;
71
- local: typeof Schema.Number;
72
- }>;
73
- parentId: Schema.Struct<{
74
- global: typeof Schema.Number;
75
- local: typeof Schema.Number;
76
- }>;
77
- }>;
78
- export declare const DecodedAny: Schema.SchemaClass<{
79
- readonly id: {
80
- readonly global: number;
81
- readonly local: number;
82
- };
83
- readonly mutation: string;
84
- readonly args: any;
85
- readonly parentId: {
86
- readonly global: number;
87
- readonly local: number;
88
- };
89
- }, {
90
- readonly id: {
91
- readonly global: number;
92
- readonly local: number;
93
- };
94
- readonly mutation: string;
95
- readonly args: any;
96
- readonly parentId: {
97
- readonly global: number;
98
- readonly local: number;
99
- };
100
- }, never>;
101
- export declare const EncodedAny: Schema.SchemaClass<{
102
- readonly id: {
103
- readonly global: number;
104
- readonly local: number;
105
- };
106
- readonly mutation: string;
107
- readonly args: any;
108
- readonly parentId: {
109
- readonly global: number;
110
- readonly local: number;
111
- };
112
- }, {
113
- readonly id: {
114
- readonly global: number;
115
- readonly local: number;
116
- };
117
- readonly mutation: string;
118
- readonly args: any;
119
- readonly parentId: {
120
- readonly global: number;
121
- readonly local: number;
122
- };
123
- }, never>;
124
96
  declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
125
97
  mutation: typeof Schema.String;
126
98
  args: typeof Schema.Any;
127
99
  id: Schema.Struct<{
128
- global: typeof Schema.Number;
129
- local: typeof Schema.Number;
100
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
101
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
130
102
  }>;
131
103
  parentId: Schema.Struct<{
132
- global: typeof Schema.Number;
133
- local: typeof Schema.Number;
104
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
105
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
134
106
  }>;
135
107
  meta: Schema.optionalWith<Schema.Schema<{
136
- deferred?: Deferred.Deferred<void>;
137
108
  sessionChangeset?: Uint8Array;
138
109
  }, {
139
- deferred?: Deferred.Deferred<void>;
140
110
  sessionChangeset?: Uint8Array;
141
111
  }, never>, {
142
112
  default: () => {};
@@ -145,26 +115,24 @@ declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
145
115
  mutation: typeof Schema.String;
146
116
  args: typeof Schema.Any;
147
117
  id: Schema.Struct<{
148
- global: typeof Schema.Number;
149
- local: typeof Schema.Number;
118
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
119
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
150
120
  }>;
151
121
  parentId: Schema.Struct<{
152
- global: typeof Schema.Number;
153
- local: typeof Schema.Number;
122
+ global: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventId">, number, never>;
123
+ local: Schema.BrandSchema<number & import("effect/Brand").Brand<"LocalEventId">, number, never>;
154
124
  }>;
155
125
  meta: Schema.optionalWith<Schema.Schema<{
156
- deferred?: Deferred.Deferred<void>;
157
126
  sessionChangeset?: Uint8Array;
158
127
  }, {
159
- deferred?: Deferred.Deferred<void>;
160
128
  sessionChangeset?: Uint8Array;
161
129
  }, never>, {
162
130
  default: () => {};
163
131
  }>;
164
132
  }>, never, {
165
133
  readonly id: {
166
- readonly global: number;
167
- readonly local: number;
134
+ readonly global: number & import("effect/Brand").Brand<"GlobalEventId">;
135
+ readonly local: number & import("effect/Brand").Brand<"LocalEventId">;
168
136
  };
169
137
  } & {
170
138
  readonly mutation: string;
@@ -172,19 +140,20 @@ declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
172
140
  readonly args: any;
173
141
  } & {
174
142
  readonly parentId: {
175
- readonly global: number;
176
- readonly local: number;
143
+ readonly global: number & import("effect/Brand").Brand<"GlobalEventId">;
144
+ readonly local: number & import("effect/Brand").Brand<"LocalEventId">;
177
145
  };
178
146
  } & {
179
147
  readonly meta?: {
180
- deferred?: Deferred.Deferred<void>;
181
148
  sessionChangeset?: Uint8Array;
182
149
  } | undefined;
183
150
  }, {}, {}>;
184
- /** Equivalent to EncodedAny but with a meta field and some convenience methods */
151
+ /** Equivalent to AnyEncoded but with a meta field and some convenience methods */
185
152
  export declare class EncodedWithMeta extends EncodedWithMeta_base {
186
153
  toJSON: () => any;
187
154
  rebase: (parentId: EventId.EventId, isLocal: boolean) => EncodedWithMeta;
155
+ static fromGlobal: (mutationEvent: AnyEncodedGlobal) => EncodedWithMeta;
156
+ toGlobal: () => AnyEncodedGlobal;
188
157
  }
189
158
  export declare const isEqualEncoded: (a: AnyEncoded, b: AnyEncoded) => boolean;
190
159
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"MutationEvent.d.ts","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MutationEvent.d.ts","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,24 @@
1
1
  import { memoizeByRef } from '@livestore/utils';
2
2
  import { Schema } from '@livestore/utils/effect';
3
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
+ }).annotations({ title: 'MutationEvent.AnyDecoded' });
10
+ export const AnyEncoded = Schema.Struct({
11
+ mutation: Schema.String,
12
+ args: Schema.Any,
13
+ id: EventId.EventId,
14
+ parentId: EventId.EventId,
15
+ }).annotations({ title: 'MutationEvent.AnyEncoded' });
16
+ export const AnyEncodedGlobal = Schema.Struct({
17
+ mutation: Schema.String,
18
+ args: Schema.Any,
19
+ id: EventId.GlobalEventId,
20
+ parentId: EventId.GlobalEventId,
21
+ }).annotations({ title: 'MutationEvent.AnyEncodedGlobal' });
4
22
  export const isPartialMutationEvent = (mutationEvent) => 'id' in mutationEvent === false && 'parentId' in mutationEvent === false;
5
23
  export const makeMutationEventSchema = (schema) => Schema.Union(...[...schema.mutations.values()].map((def) => Schema.Struct({
6
24
  mutation: Schema.Literal(def.name),
@@ -11,26 +29,15 @@ export const makeMutationEventSchema = (schema) => Schema.Union(...[...schema.mu
11
29
  export const makeMutationEventPartialSchema = (schema) => Schema.Union(...[...schema.mutations.values()].map((def) => Schema.Struct({
12
30
  mutation: Schema.Literal(def.name),
13
31
  args: def.schema,
14
- }))).annotations({ title: 'MutationEventSchemaPartial' });
32
+ }))).annotations({ title: 'MutationEventPartial' });
15
33
  export const makeMutationEventSchemaMemo = memoizeByRef(makeMutationEventSchema);
16
- export const Any = Schema.Struct({
17
- mutation: Schema.String,
18
- args: Schema.Any,
19
- id: EventId.EventId,
20
- parentId: EventId.EventId,
21
- }).annotations({ title: 'MutationEvent.Any' });
22
- export const DecodedAny = Schema.typeSchema(Any).annotations({
23
- title: 'MutationEvent.DecodedAny',
24
- });
25
- export const EncodedAny = Schema.encodedSchema(Any).annotations({
26
- title: 'MutationEvent.EncodedAny',
27
- });
28
- /** Equivalent to EncodedAny but with a meta field and some convenience methods */
34
+ /** Equivalent to AnyEncoded but with a meta field and some convenience methods */
29
35
  export class EncodedWithMeta extends Schema.Class('MutationEvent.EncodedWithMeta')({
30
36
  mutation: Schema.String,
31
37
  args: Schema.Any,
32
38
  id: EventId.EventId,
33
39
  parentId: EventId.EventId,
40
+ // TODO get rid of `meta` again by cleaning up the usage implementations
34
41
  meta: Schema.optionalWith(Schema.Any, { default: () => ({}) }),
35
42
  }) {
36
43
  toJSON = () => {
@@ -45,7 +52,17 @@ export class EncodedWithMeta extends Schema.Class('MutationEvent.EncodedWithMeta
45
52
  };
46
53
  rebase = (parentId, isLocal) => new EncodedWithMeta({
47
54
  ...this,
48
- ...EventId.nextPair(this.id, isLocal),
55
+ ...EventId.nextPair(parentId, isLocal),
56
+ });
57
+ static fromGlobal = (mutationEvent) => new EncodedWithMeta({
58
+ ...mutationEvent,
59
+ id: { global: mutationEvent.id, local: EventId.localDefault },
60
+ parentId: { global: mutationEvent.parentId, local: EventId.localDefault },
61
+ });
62
+ toGlobal = () => ({
63
+ ...this,
64
+ id: this.id.global,
65
+ parentId: this.parentId.global,
49
66
  });
50
67
  }
51
68
  export const isEqualEncoded = (a, b) => a.id.global === b.id.global &&
@@ -1 +1 @@
1
- {"version":3,"file":"MutationEvent.js","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MutationEvent.js","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MutationEvent.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MutationEvent.test.d.ts","sourceRoot":"","sources":["../../src/schema/MutationEvent.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MutationEvent.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MutationEvent.test.js","sourceRoot":"","sources":["../../src/schema/MutationEvent.test.ts"],"names":[],"mappings":""}