@livestore/common 0.4.0-dev.22 → 0.4.0-dev.24

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 (314) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ClientSessionLeaderThreadProxy.d.ts +9 -9
  3. package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
  4. package/dist/WorkerTransportError.d.ts +11 -0
  5. package/dist/WorkerTransportError.d.ts.map +1 -0
  6. package/dist/WorkerTransportError.js +11 -0
  7. package/dist/WorkerTransportError.js.map +1 -0
  8. package/dist/adapter-types.d.ts +3 -3
  9. package/dist/adapter-types.d.ts.map +1 -1
  10. package/dist/adapter-types.js.map +1 -1
  11. package/dist/bounded-collections.d.ts.map +1 -1
  12. package/dist/bounded-collections.js +6 -4
  13. package/dist/bounded-collections.js.map +1 -1
  14. package/dist/debug-info.js +4 -4
  15. package/dist/debug-info.js.map +1 -1
  16. package/dist/devtools/devtools-messages-common.js +1 -1
  17. package/dist/devtools/devtools-messages-common.js.map +1 -1
  18. package/dist/devtools/mod.js +1 -1
  19. package/dist/devtools/mod.js.map +1 -1
  20. package/dist/errors.d.ts +15 -15
  21. package/dist/errors.d.ts.map +1 -1
  22. package/dist/errors.js +11 -11
  23. package/dist/errors.js.map +1 -1
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +2 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/leader-thread/LeaderSyncProcessor.d.ts +20 -6
  29. package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
  30. package/dist/leader-thread/LeaderSyncProcessor.js +287 -257
  31. package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
  32. package/dist/leader-thread/RejectedPushError.d.ts +107 -0
  33. package/dist/leader-thread/RejectedPushError.d.ts.map +1 -0
  34. package/dist/leader-thread/RejectedPushError.js +78 -0
  35. package/dist/leader-thread/RejectedPushError.js.map +1 -0
  36. package/dist/leader-thread/connection.js +1 -1
  37. package/dist/leader-thread/connection.js.map +1 -1
  38. package/dist/leader-thread/eventlog.d.ts.map +1 -1
  39. package/dist/leader-thread/eventlog.js +12 -11
  40. package/dist/leader-thread/eventlog.js.map +1 -1
  41. package/dist/leader-thread/leader-worker-devtools.d.ts +1 -2
  42. package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
  43. package/dist/leader-thread/leader-worker-devtools.js +25 -14
  44. package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
  45. package/dist/leader-thread/make-leader-thread-layer.d.ts +8 -3
  46. package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
  47. package/dist/leader-thread/make-leader-thread-layer.js +7 -10
  48. package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
  49. package/dist/leader-thread/make-leader-thread-layer.test.js +1 -1
  50. package/dist/leader-thread/make-leader-thread-layer.test.js.map +1 -1
  51. package/dist/leader-thread/materialize-event.js +4 -4
  52. package/dist/leader-thread/materialize-event.js.map +1 -1
  53. package/dist/leader-thread/recreate-db.js +1 -1
  54. package/dist/leader-thread/recreate-db.js.map +1 -1
  55. package/dist/leader-thread/shutdown-channel.d.ts +2 -2
  56. package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
  57. package/dist/leader-thread/shutdown-channel.js +2 -2
  58. package/dist/leader-thread/shutdown-channel.js.map +1 -1
  59. package/dist/leader-thread/stream-events.d.ts.map +1 -1
  60. package/dist/leader-thread/stream-events.js +4 -3
  61. package/dist/leader-thread/stream-events.js.map +1 -1
  62. package/dist/leader-thread/types.d.ts +7 -6
  63. package/dist/leader-thread/types.d.ts.map +1 -1
  64. package/dist/leader-thread/types.js.map +1 -1
  65. package/dist/logging.js +4 -4
  66. package/dist/logging.js.map +1 -1
  67. package/dist/make-client-session.js +2 -2
  68. package/dist/make-client-session.js.map +1 -1
  69. package/dist/materializer-helper.js +6 -6
  70. package/dist/materializer-helper.js.map +1 -1
  71. package/dist/otel.d.ts +1 -1
  72. package/dist/otel.d.ts.map +1 -1
  73. package/dist/otel.js +2 -2
  74. package/dist/otel.js.map +1 -1
  75. package/dist/rematerialize-from-eventlog.d.ts +1 -1
  76. package/dist/rematerialize-from-eventlog.d.ts.map +1 -1
  77. package/dist/rematerialize-from-eventlog.js +11 -9
  78. package/dist/rematerialize-from-eventlog.js.map +1 -1
  79. package/dist/schema/EventDef/define.d.ts +2 -2
  80. package/dist/schema/EventDef/define.d.ts.map +1 -1
  81. package/dist/schema/EventDef/define.js +4 -4
  82. package/dist/schema/EventDef/define.js.map +1 -1
  83. package/dist/schema/EventDef/deprecated.js +3 -3
  84. package/dist/schema/EventDef/deprecated.js.map +1 -1
  85. package/dist/schema/EventDef/deprecated.test.js +1 -1
  86. package/dist/schema/EventDef/deprecated.test.js.map +1 -1
  87. package/dist/schema/EventSequenceNumber/client.d.ts.map +1 -1
  88. package/dist/schema/EventSequenceNumber/client.js +11 -11
  89. package/dist/schema/EventSequenceNumber/client.js.map +1 -1
  90. package/dist/schema/EventSequenceNumber.test.js +1 -1
  91. package/dist/schema/EventSequenceNumber.test.js.map +1 -1
  92. package/dist/schema/LiveStoreEvent/client.d.ts +8 -0
  93. package/dist/schema/LiveStoreEvent/client.d.ts.map +1 -1
  94. package/dist/schema/LiveStoreEvent/client.js +15 -3
  95. package/dist/schema/LiveStoreEvent/client.js.map +1 -1
  96. package/dist/schema/LiveStoreEvent/client.test.d.ts +2 -0
  97. package/dist/schema/LiveStoreEvent/client.test.d.ts.map +1 -0
  98. package/dist/schema/LiveStoreEvent/client.test.js +111 -0
  99. package/dist/schema/LiveStoreEvent/client.test.js.map +1 -0
  100. package/dist/schema/schema.d.ts.map +1 -1
  101. package/dist/schema/schema.js +7 -4
  102. package/dist/schema/schema.js.map +1 -1
  103. package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
  104. package/dist/schema/state/sqlite/client-document-def.js +18 -6
  105. package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
  106. package/dist/schema/state/sqlite/client-document-def.test.js +1 -1
  107. package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
  108. package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -1
  109. package/dist/schema/state/sqlite/column-annotations.js +1 -1
  110. package/dist/schema/state/sqlite/column-annotations.js.map +1 -1
  111. package/dist/schema/state/sqlite/column-annotations.test.js +1 -1
  112. package/dist/schema/state/sqlite/column-annotations.test.js.map +1 -1
  113. package/dist/schema/state/sqlite/column-def.d.ts.map +1 -1
  114. package/dist/schema/state/sqlite/column-def.js +36 -34
  115. package/dist/schema/state/sqlite/column-def.js.map +1 -1
  116. package/dist/schema/state/sqlite/column-def.test.js +7 -6
  117. package/dist/schema/state/sqlite/column-def.test.js.map +1 -1
  118. package/dist/schema/state/sqlite/column-spec.d.ts.map +1 -1
  119. package/dist/schema/state/sqlite/column-spec.js +8 -8
  120. package/dist/schema/state/sqlite/column-spec.js.map +1 -1
  121. package/dist/schema/state/sqlite/column-spec.test.js +1 -1
  122. package/dist/schema/state/sqlite/column-spec.test.js.map +1 -1
  123. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +2 -2
  124. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
  125. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts +2 -2
  126. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -1
  127. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +11 -2
  128. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
  129. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js +1 -1
  130. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js.map +1 -1
  131. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts +1 -1
  132. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
  133. package/dist/schema/state/sqlite/db-schema/dsl/mod.js +1 -1
  134. package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
  135. package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
  136. package/dist/schema/state/sqlite/mod.js +3 -5
  137. package/dist/schema/state/sqlite/mod.js.map +1 -1
  138. package/dist/schema/state/sqlite/query-builder/api.d.ts +10 -2
  139. package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
  140. package/dist/schema/state/sqlite/query-builder/astToSql.js +11 -11
  141. package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
  142. package/dist/schema/state/sqlite/query-builder/impl.d.ts +1 -1
  143. package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
  144. package/dist/schema/state/sqlite/query-builder/impl.js +28 -14
  145. package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
  146. package/dist/schema/state/sqlite/query-builder/impl.test.js +3 -2
  147. package/dist/schema/state/sqlite/query-builder/impl.test.js.map +1 -1
  148. package/dist/schema/state/sqlite/schema-helpers.js +2 -2
  149. package/dist/schema/state/sqlite/schema-helpers.js.map +1 -1
  150. package/dist/schema/state/sqlite/table-def.d.ts +5 -3
  151. package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
  152. package/dist/schema/state/sqlite/table-def.js +1 -1
  153. package/dist/schema/state/sqlite/table-def.js.map +1 -1
  154. package/dist/schema/state/sqlite/table-def.test.js +57 -4
  155. package/dist/schema/state/sqlite/table-def.test.js.map +1 -1
  156. package/dist/schema/unknown-events.d.ts +1 -1
  157. package/dist/schema/unknown-events.d.ts.map +1 -1
  158. package/dist/schema/unknown-events.js +1 -1
  159. package/dist/schema/unknown-events.js.map +1 -1
  160. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js +1 -1
  161. package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js.map +1 -1
  162. package/dist/schema-management/common.js +2 -2
  163. package/dist/schema-management/common.js.map +1 -1
  164. package/dist/schema-management/migrations.js +1 -1
  165. package/dist/schema-management/migrations.js.map +1 -1
  166. package/dist/sql-queries/sql-queries.js +8 -6
  167. package/dist/sql-queries/sql-queries.js.map +1 -1
  168. package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
  169. package/dist/sql-queries/sql-query-builder.js.map +1 -1
  170. package/dist/sqlite-db-helper.js +3 -3
  171. package/dist/sqlite-db-helper.js.map +1 -1
  172. package/dist/sqlite-types.d.ts +2 -2
  173. package/dist/sqlite-types.d.ts.map +1 -1
  174. package/dist/sqlite-types.js.map +1 -1
  175. package/dist/sync/ClientSessionSyncProcessor.d.ts +8 -9
  176. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  177. package/dist/sync/ClientSessionSyncProcessor.js +95 -113
  178. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  179. package/dist/sync/errors.d.ts +0 -38
  180. package/dist/sync/errors.d.ts.map +1 -1
  181. package/dist/sync/errors.js +3 -20
  182. package/dist/sync/errors.js.map +1 -1
  183. package/dist/sync/mock-sync-backend.d.ts +5 -3
  184. package/dist/sync/mock-sync-backend.d.ts.map +1 -1
  185. package/dist/sync/mock-sync-backend.js +70 -68
  186. package/dist/sync/mock-sync-backend.js.map +1 -1
  187. package/dist/sync/next/compact-events.js +6 -6
  188. package/dist/sync/next/compact-events.js.map +1 -1
  189. package/dist/sync/next/facts.d.ts.map +1 -1
  190. package/dist/sync/next/facts.js +6 -6
  191. package/dist/sync/next/facts.js.map +1 -1
  192. package/dist/sync/next/history-dag-common.d.ts.map +1 -1
  193. package/dist/sync/next/history-dag-common.js +6 -6
  194. package/dist/sync/next/history-dag-common.js.map +1 -1
  195. package/dist/sync/next/history-dag.js +3 -3
  196. package/dist/sync/next/history-dag.js.map +1 -1
  197. package/dist/sync/next/rebase-events.js +1 -1
  198. package/dist/sync/next/rebase-events.js.map +1 -1
  199. package/dist/sync/next/test/compact-events.calculator.test.js +2 -2
  200. package/dist/sync/next/test/compact-events.calculator.test.js.map +1 -1
  201. package/dist/sync/next/test/compact-events.test.d.ts.map +1 -1
  202. package/dist/sync/next/test/compact-events.test.js +2 -2
  203. package/dist/sync/next/test/compact-events.test.js.map +1 -1
  204. package/dist/sync/next/test/event-fixtures.d.ts.map +1 -1
  205. package/dist/sync/next/test/event-fixtures.js +2 -2
  206. package/dist/sync/next/test/event-fixtures.js.map +1 -1
  207. package/dist/sync/sync-backend-kv.d.ts.map +1 -1
  208. package/dist/sync/sync-backend-kv.js.map +1 -1
  209. package/dist/sync/sync-backend.d.ts +3 -3
  210. package/dist/sync/sync-backend.d.ts.map +1 -1
  211. package/dist/sync/sync-backend.js +1 -1
  212. package/dist/sync/sync-backend.js.map +1 -1
  213. package/dist/sync/sync.d.ts +20 -0
  214. package/dist/sync/sync.d.ts.map +1 -1
  215. package/dist/sync/syncstate.d.ts +4 -17
  216. package/dist/sync/syncstate.d.ts.map +1 -1
  217. package/dist/sync/syncstate.js +51 -74
  218. package/dist/sync/syncstate.js.map +1 -1
  219. package/dist/sync/syncstate.test.js +148 -96
  220. package/dist/sync/syncstate.test.js.map +1 -1
  221. package/dist/sync/transport-chunking.js +3 -3
  222. package/dist/sync/transport-chunking.js.map +1 -1
  223. package/dist/sync/validate-push-payload.d.ts +2 -2
  224. package/dist/sync/validate-push-payload.d.ts.map +1 -1
  225. package/dist/sync/validate-push-payload.js +4 -6
  226. package/dist/sync/validate-push-payload.js.map +1 -1
  227. package/dist/util.js +2 -2
  228. package/dist/util.js.map +1 -1
  229. package/dist/version.d.ts.map +1 -1
  230. package/dist/version.js +2 -5
  231. package/dist/version.js.map +1 -1
  232. package/package.json +66 -12
  233. package/src/ClientSessionLeaderThreadProxy.ts +9 -9
  234. package/src/WorkerTransportError.ts +12 -0
  235. package/src/adapter-types.ts +9 -3
  236. package/src/bounded-collections.ts +6 -5
  237. package/src/debug-info.ts +4 -4
  238. package/src/devtools/devtools-messages-common.ts +1 -1
  239. package/src/devtools/mod.ts +1 -1
  240. package/src/errors.ts +18 -17
  241. package/src/index.ts +2 -0
  242. package/src/leader-thread/LeaderSyncProcessor.ts +421 -392
  243. package/src/leader-thread/RejectedPushError.ts +106 -0
  244. package/src/leader-thread/connection.ts +1 -1
  245. package/src/leader-thread/eventlog.ts +16 -14
  246. package/src/leader-thread/leader-worker-devtools.ts +96 -66
  247. package/src/leader-thread/make-leader-thread-layer.test.ts +1 -1
  248. package/src/leader-thread/make-leader-thread-layer.ts +33 -31
  249. package/src/leader-thread/materialize-event.ts +4 -4
  250. package/src/leader-thread/recreate-db.ts +1 -1
  251. package/src/leader-thread/shutdown-channel.ts +2 -6
  252. package/src/leader-thread/stream-events.ts +10 -5
  253. package/src/leader-thread/types.ts +7 -6
  254. package/src/logging.ts +4 -4
  255. package/src/make-client-session.ts +2 -2
  256. package/src/materializer-helper.ts +9 -9
  257. package/src/otel.ts +3 -2
  258. package/src/rematerialize-from-eventlog.ts +60 -60
  259. package/src/schema/EventDef/define.ts +6 -6
  260. package/src/schema/EventDef/deprecated.test.ts +2 -1
  261. package/src/schema/EventDef/deprecated.ts +3 -3
  262. package/src/schema/EventSequenceNumber/client.ts +11 -11
  263. package/src/schema/EventSequenceNumber.test.ts +2 -1
  264. package/src/schema/LiveStoreEvent/client.test.ts +129 -0
  265. package/src/schema/LiveStoreEvent/client.ts +17 -3
  266. package/src/schema/schema.ts +9 -4
  267. package/src/schema/state/sqlite/client-document-def.test.ts +2 -1
  268. package/src/schema/state/sqlite/client-document-def.ts +20 -6
  269. package/src/schema/state/sqlite/column-annotations.test.ts +2 -1
  270. package/src/schema/state/sqlite/column-annotations.ts +2 -1
  271. package/src/schema/state/sqlite/column-def.test.ts +8 -6
  272. package/src/schema/state/sqlite/column-def.ts +41 -36
  273. package/src/schema/state/sqlite/column-spec.test.ts +3 -1
  274. package/src/schema/state/sqlite/column-spec.ts +9 -8
  275. package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +2 -2
  276. package/src/schema/state/sqlite/db-schema/dsl/field-defs.test.ts +2 -1
  277. package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +13 -4
  278. package/src/schema/state/sqlite/db-schema/dsl/mod.ts +3 -3
  279. package/src/schema/state/sqlite/mod.ts +4 -5
  280. package/src/schema/state/sqlite/query-builder/api.ts +12 -5
  281. package/src/schema/state/sqlite/query-builder/astToSql.ts +11 -11
  282. package/src/schema/state/sqlite/query-builder/impl.test.ts +4 -2
  283. package/src/schema/state/sqlite/query-builder/impl.ts +26 -12
  284. package/src/schema/state/sqlite/schema-helpers.ts +2 -2
  285. package/src/schema/state/sqlite/table-def.test.ts +67 -4
  286. package/src/schema/state/sqlite/table-def.ts +8 -15
  287. package/src/schema/unknown-events.ts +2 -2
  288. package/src/schema-management/__tests__/migrations-autoincrement-quoting.test.ts +3 -1
  289. package/src/schema-management/common.ts +2 -2
  290. package/src/schema-management/migrations.ts +1 -1
  291. package/src/sql-queries/sql-queries.ts +10 -6
  292. package/src/sql-queries/sql-query-builder.ts +1 -0
  293. package/src/sqlite-db-helper.ts +3 -3
  294. package/src/sqlite-types.ts +3 -2
  295. package/src/sync/ClientSessionSyncProcessor.ts +148 -152
  296. package/src/sync/errors.ts +10 -22
  297. package/src/sync/mock-sync-backend.ts +139 -97
  298. package/src/sync/next/compact-events.ts +5 -5
  299. package/src/sync/next/facts.ts +7 -6
  300. package/src/sync/next/history-dag-common.ts +9 -6
  301. package/src/sync/next/history-dag.ts +3 -3
  302. package/src/sync/next/rebase-events.ts +1 -1
  303. package/src/sync/next/test/compact-events.calculator.test.ts +3 -2
  304. package/src/sync/next/test/compact-events.test.ts +4 -3
  305. package/src/sync/next/test/event-fixtures.ts +2 -2
  306. package/src/sync/sync-backend-kv.ts +1 -0
  307. package/src/sync/sync-backend.ts +5 -4
  308. package/src/sync/sync.ts +21 -0
  309. package/src/sync/syncstate.test.ts +553 -433
  310. package/src/sync/syncstate.ts +80 -86
  311. package/src/sync/transport-chunking.ts +3 -3
  312. package/src/sync/validate-push-payload.ts +4 -6
  313. package/src/util.ts +2 -2
  314. package/src/version.ts +2 -6
@@ -1 +1 @@
1
- {"version":3,"file":"syncstate.js","sourceRoot":"","sources":["../../src/sync/syncstate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncstate.js","sourceRoot":"","sources":["../../src/sync/syncstate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import { describe, expect, it } from 'vitest';
1
+ import { Vitest } from '@livestore/utils-dev/node-vitest';
2
+ import { Cause, Effect, Exit, Schema } from '@livestore/utils/effect';
3
+ import { assert, expect } from 'vitest';
2
4
  import * as EventSequenceNumber from "../schema/EventSequenceNumber/mod.js";
3
5
  import * as LiveStoreEvent from "../schema/LiveStoreEvent/mod.js";
4
6
  import * as SyncState from "./syncstate.js";
@@ -31,11 +33,11 @@ const e2_0 = TestEvent.new({ global: 2, client: 0 }, e1_0.seqNum, 'a', false);
31
33
  const e2_1 = TestEvent.new({ global: 2, client: 1 }, e2_0.seqNum, 'a', true);
32
34
  const isEqualEvent = LiveStoreEvent.Client.isEqualEncoded;
33
35
  const isClientEvent = (event) => event.isClient;
34
- describe('syncstate', () => {
35
- describe('merge', () => {
36
+ Vitest.describe('syncstate', () => {
37
+ Vitest.describe('merge', () => {
36
38
  const merge = ({ syncState, payload, ignoreClientEvents = false, }) => SyncState.merge({ syncState, payload, isClientEvent, isEqualEvent, ignoreClientEvents });
37
- describe('upstream-rebase', () => {
38
- it('should rollback until start', () => {
39
+ Vitest.describe('upstream-rebase', () => {
40
+ Vitest.it.effect('should rollback until start', () => Effect.gen(function* () {
39
41
  const syncState = new SyncState.SyncState({
40
42
  pending: [e2_0],
41
43
  upstreamHead: EventSequenceNumber.Client.ROOT,
@@ -43,7 +45,7 @@ describe('syncstate', () => {
43
45
  });
44
46
  const e1_0_e2_0 = e1_0.rebase_(e2_0.seqNum, 0);
45
47
  const e1_1_e2_1 = e1_1.rebase_(e1_0_e2_0.seqNum, 0);
46
- const result = merge({
48
+ const result = yield* merge({
47
49
  syncState,
48
50
  payload: SyncState.PayloadUpstreamRebase.make({
49
51
  rollbackEvents: [e1_0, e1_1],
@@ -57,15 +59,15 @@ describe('syncstate', () => {
57
59
  expect(result.newSyncState.localHead).toMatchObject(e2_0_e3_0.seqNum);
58
60
  expectEventArraysEqual(result.newEvents, [e1_0_e2_0, e1_1_e2_1, e2_0_e3_0]);
59
61
  expectEventArraysEqual(result.rollbackEvents, [e1_0, e1_1, e2_0]);
60
- });
61
- it('should rollback only to specified point', () => {
62
+ }));
63
+ Vitest.it.effect('should rollback only to specified point', () => Effect.gen(function* () {
62
64
  const syncState = new SyncState.SyncState({
63
65
  pending: [e2_0],
64
66
  upstreamHead: EventSequenceNumber.Client.ROOT,
65
67
  localHead: e2_0.seqNum,
66
68
  });
67
69
  const e1_1_e2_0 = e1_1.rebase_(e1_0.seqNum, 0);
68
- const result = merge({
70
+ const result = yield* merge({
69
71
  syncState,
70
72
  payload: SyncState.PayloadUpstreamRebase.make({
71
73
  newEvents: [e1_1_e2_0],
@@ -79,14 +81,14 @@ describe('syncstate', () => {
79
81
  expect(result.newSyncState.localHead).toMatchObject(e2_0_e3_0.seqNum);
80
82
  expectEventArraysEqual(result.newEvents, [e1_1_e2_0, e2_0_e3_0]);
81
83
  expectEventArraysEqual(result.rollbackEvents, [e1_1, e2_0]);
82
- });
83
- it('should work for empty pending', () => {
84
+ }));
85
+ Vitest.it.effect('should work for empty pending', () => Effect.gen(function* () {
84
86
  const syncState = new SyncState.SyncState({
85
87
  pending: [],
86
88
  upstreamHead: EventSequenceNumber.Client.ROOT,
87
89
  localHead: e1_0.seqNum,
88
90
  });
89
- const result = merge({
91
+ const result = yield* merge({
90
92
  syncState,
91
93
  payload: SyncState.PayloadUpstreamRebase.make({ rollbackEvents: [e1_0], newEvents: [e2_0] }),
92
94
  });
@@ -95,94 +97,101 @@ describe('syncstate', () => {
95
97
  expect(result.newSyncState.upstreamHead).toMatchObject(e2_0.seqNum);
96
98
  expect(result.newSyncState.localHead).toMatchObject(e2_0.seqNum);
97
99
  expect(result.newEvents).toStrictEqual([e2_0]);
98
- });
100
+ }));
99
101
  });
100
- describe('upstream-advance: advance', () => {
101
- it('should throw error if newEvents are not sorted in ascending order by event number (client)', () => {
102
+ Vitest.describe('upstream-advance: advance', () => {
103
+ Vitest.it.effect('should die if newEvents are not sorted in ascending order by event number (client)', () => Effect.gen(function* () {
102
104
  const syncState = new SyncState.SyncState({
103
105
  pending: [e1_0],
104
106
  upstreamHead: EventSequenceNumber.Client.ROOT,
105
107
  localHead: e1_0.seqNum,
106
108
  });
107
- const result = merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e1_1, e1_0] } });
108
- expect(result).toMatchObject({ _tag: 'unknown-error' });
109
- });
110
- it('should throw error if newEvents are not sorted in ascending order by event number (global)', () => {
109
+ const exit = yield* merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e1_1, e1_0] } }).pipe(Effect.exit);
110
+ assert(Exit.isFailure(exit));
111
+ expect(Cause.isDie(exit.cause)).toBe(true);
112
+ }));
113
+ Vitest.it.effect('should die if newEvents are not sorted in ascending order by event number (global)', () => Effect.gen(function* () {
111
114
  const syncState = new SyncState.SyncState({
112
115
  pending: [e1_0],
113
116
  upstreamHead: EventSequenceNumber.Client.ROOT,
114
117
  localHead: e1_0.seqNum,
115
118
  });
116
- const result = merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e2_0, e1_0] } });
117
- expect(result).toMatchObject({ _tag: 'unknown-error' });
118
- });
119
- it('should throw error if incoming event is < expected upstream head', () => {
119
+ const exit = yield* merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e2_0, e1_0] } }).pipe(Effect.exit);
120
+ assert(Exit.isFailure(exit));
121
+ expect(Cause.isDie(exit.cause)).toBe(true);
122
+ }));
123
+ Vitest.it.effect('should die if incoming event is < expected upstream head', () => Effect.gen(function* () {
120
124
  const syncState = new SyncState.SyncState({
121
125
  pending: [],
122
126
  upstreamHead: e2_0.seqNum,
123
127
  localHead: e2_0.seqNum,
124
128
  });
125
- const result = merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e1_0] } });
126
- expect(result).toMatchObject({ _tag: 'unknown-error' });
127
- });
128
- it('should throw error if incoming event is = expected upstream head', () => {
129
+ const exit = yield* merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e1_0] } }).pipe(Effect.exit);
130
+ assert(Exit.isFailure(exit));
131
+ expect(Cause.isDie(exit.cause)).toBe(true);
132
+ }));
133
+ Vitest.it.effect('should die if incoming event is = expected upstream head', () => Effect.gen(function* () {
129
134
  const syncState = new SyncState.SyncState({
130
135
  pending: [],
131
136
  upstreamHead: e2_0.seqNum,
132
137
  localHead: e2_0.seqNum,
133
138
  });
134
- const result = merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e2_0] } });
135
- expect(result).toMatchObject({ _tag: 'unknown-error' });
136
- });
137
- it('should confirm pending event when receiving matching event', () => {
139
+ const exit = yield* merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e2_0] } }).pipe(Effect.exit);
140
+ assert(Exit.isFailure(exit));
141
+ expect(Cause.isDie(exit.cause)).toBe(true);
142
+ }));
143
+ Vitest.it.effect('should confirm pending event when receiving matching event', () => Effect.gen(function* () {
138
144
  const syncState = new SyncState.SyncState({
139
145
  pending: [e1_0],
140
146
  upstreamHead: EventSequenceNumber.Client.ROOT,
141
147
  localHead: e1_0.seqNum,
142
148
  });
143
- const result = merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e1_0] } });
149
+ const result = yield* merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e1_0] } });
144
150
  expectAdvance(result);
145
151
  expectEventArraysEqual(result.newSyncState.pending, []);
146
152
  expect(result.newSyncState.upstreamHead).toMatchObject(e1_0.seqNum);
147
153
  expect(result.newSyncState.localHead).toMatchObject(e1_0.seqNum);
148
154
  expectEventArraysEqual(result.newEvents, []);
149
155
  expectEventArraysEqual(result.confirmedEvents, [e1_0]);
150
- });
151
- it('should confirm partial pending event when receiving matching event', () => {
156
+ }));
157
+ Vitest.it.effect('should confirm partial pending event when receiving matching event', () => Effect.gen(function* () {
152
158
  const syncState = new SyncState.SyncState({
153
159
  pending: [e1_0, e2_0],
154
160
  upstreamHead: EventSequenceNumber.Client.ROOT,
155
161
  localHead: e2_0.seqNum,
156
162
  });
157
- const result = merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e1_0] } });
163
+ const result = yield* merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e1_0] } });
158
164
  expectAdvance(result);
159
165
  expectEventArraysEqual(result.newSyncState.pending, [e2_0]);
160
166
  expect(result.newSyncState.upstreamHead).toMatchObject(e1_0.seqNum);
161
167
  expect(result.newSyncState.localHead).toMatchObject(e2_0.seqNum);
162
168
  expectEventArraysEqual(result.newEvents, []);
163
169
  expectEventArraysEqual(result.confirmedEvents, [e1_0]);
164
- });
165
- it('should confirm pending event and add new event', () => {
170
+ }));
171
+ Vitest.it.effect('should confirm pending event and add new event', () => Effect.gen(function* () {
166
172
  const syncState = new SyncState.SyncState({
167
173
  pending: [e1_0],
168
174
  upstreamHead: EventSequenceNumber.Client.ROOT,
169
175
  localHead: e1_0.seqNum,
170
176
  });
171
- const result = merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e1_0, e1_1] } });
177
+ const result = yield* merge({
178
+ syncState,
179
+ payload: { _tag: 'upstream-advance', newEvents: [e1_0, e1_1] },
180
+ });
172
181
  expectAdvance(result);
173
182
  expectEventArraysEqual(result.newSyncState.pending, []);
174
183
  expect(result.newSyncState.upstreamHead).toMatchObject(e1_1.seqNum);
175
184
  expect(result.newSyncState.localHead).toMatchObject(e1_1.seqNum);
176
185
  expect(result.newEvents).toStrictEqual([e1_1]);
177
186
  expectEventArraysEqual(result.confirmedEvents, [e1_0]);
178
- });
179
- it('should confirm pending event and add multiple new events', () => {
187
+ }));
188
+ Vitest.it.effect('should confirm pending event and add multiple new events', () => Effect.gen(function* () {
180
189
  const syncState = new SyncState.SyncState({
181
190
  pending: [e1_1],
182
191
  upstreamHead: e1_0.seqNum,
183
192
  localHead: e1_1.seqNum,
184
193
  });
185
- const result = merge({
194
+ const result = yield* merge({
186
195
  syncState,
187
196
  payload: { _tag: 'upstream-advance', newEvents: [e1_1, e1_2, e1_3, e2_0, e2_1] },
188
197
  });
@@ -192,14 +201,14 @@ describe('syncstate', () => {
192
201
  expect(result.newSyncState.localHead).toMatchObject(e2_1.seqNum);
193
202
  expect(result.newEvents).toStrictEqual([e1_2, e1_3, e2_0, e2_1]);
194
203
  expectEventArraysEqual(result.confirmedEvents, [e1_1]);
195
- });
196
- it('should confirm pending global event while keep pending client events', () => {
204
+ }));
205
+ Vitest.it.effect('should confirm pending global event while keep pending client events', () => Effect.gen(function* () {
197
206
  const syncState = new SyncState.SyncState({
198
207
  pending: [e1_0, e1_1],
199
208
  upstreamHead: EventSequenceNumber.Client.ROOT,
200
209
  localHead: e1_1.seqNum,
201
210
  });
202
- const result = merge({
211
+ const result = yield* merge({
203
212
  syncState,
204
213
  payload: { _tag: 'upstream-advance', newEvents: [e1_0] },
205
214
  });
@@ -209,14 +218,14 @@ describe('syncstate', () => {
209
218
  expect(result.newSyncState.localHead).toMatchObject(e1_1.seqNum);
210
219
  expectEventArraysEqual(result.newEvents, []);
211
220
  expectEventArraysEqual(result.confirmedEvents, [e1_0]);
212
- });
213
- it('should ignore client events (incoming is subset of pending)', () => {
221
+ }));
222
+ Vitest.it.effect('should ignore client events (incoming is subset of pending)', () => Effect.gen(function* () {
214
223
  const syncState = new SyncState.SyncState({
215
224
  pending: [e0_1, e1_0],
216
225
  upstreamHead: EventSequenceNumber.Client.ROOT,
217
226
  localHead: e1_0.seqNum,
218
227
  });
219
- const result = merge({
228
+ const result = yield* merge({
220
229
  syncState,
221
230
  payload: { _tag: 'upstream-advance', newEvents: [e1_0] },
222
231
  ignoreClientEvents: true,
@@ -227,14 +236,14 @@ describe('syncstate', () => {
227
236
  expect(result.newSyncState.localHead).toMatchObject(e1_0.seqNum);
228
237
  expectEventArraysEqual(result.newEvents, []);
229
238
  expectEventArraysEqual(result.confirmedEvents, [e0_1, e1_0]);
230
- });
231
- it('should ignore client events (incoming is subset of pending case 2)', () => {
239
+ }));
240
+ Vitest.it.effect('should ignore client events (incoming is subset of pending case 2)', () => Effect.gen(function* () {
232
241
  const syncState = new SyncState.SyncState({
233
242
  pending: [e0_1, e1_0, e2_0],
234
243
  upstreamHead: EventSequenceNumber.Client.ROOT,
235
244
  localHead: e1_0.seqNum,
236
245
  });
237
- const result = merge({
246
+ const result = yield* merge({
238
247
  syncState,
239
248
  payload: { _tag: 'upstream-advance', newEvents: [e1_0] },
240
249
  ignoreClientEvents: true,
@@ -245,14 +254,14 @@ describe('syncstate', () => {
245
254
  expect(result.newSyncState.localHead).toMatchObject(e2_0.seqNum);
246
255
  expectEventArraysEqual(result.newEvents, []);
247
256
  expectEventArraysEqual(result.confirmedEvents, [e0_1, e1_0]);
248
- });
249
- it('should ignore client events (incoming goes beyond pending)', () => {
257
+ }));
258
+ Vitest.it.effect('should ignore client events (incoming goes beyond pending)', () => Effect.gen(function* () {
250
259
  const syncState = new SyncState.SyncState({
251
260
  pending: [e0_1, e1_0, e1_1],
252
261
  upstreamHead: EventSequenceNumber.Client.ROOT,
253
262
  localHead: e1_1.seqNum,
254
263
  });
255
- const result = merge({
264
+ const result = yield* merge({
256
265
  syncState,
257
266
  payload: { _tag: 'upstream-advance', newEvents: [e1_0, e2_0] },
258
267
  ignoreClientEvents: true,
@@ -263,25 +272,65 @@ describe('syncstate', () => {
263
272
  expect(result.newSyncState.localHead).toMatchObject(e2_0.seqNum);
264
273
  expect(result.newEvents).toStrictEqual([e2_0]);
265
274
  expectEventArraysEqual(result.confirmedEvents, [e0_1, e1_0, e1_1]);
266
- });
267
- it('should fail if incoming event is ≤ local head', () => {
275
+ }));
276
+ Vitest.it.effect('should die if incoming event is ≤ local head', () => Effect.gen(function* () {
268
277
  const syncState = new SyncState.SyncState({
269
278
  pending: [],
270
279
  upstreamHead: e2_0.seqNum,
271
280
  localHead: e2_0.seqNum,
272
281
  });
273
- const result = merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e1_0] } });
274
- expect(result).toMatchObject({ _tag: 'unknown-error' });
275
- });
282
+ const exit = yield* merge({ syncState, payload: { _tag: 'upstream-advance', newEvents: [e1_0] } }).pipe(Effect.exit);
283
+ assert(Exit.isFailure(exit));
284
+ expect(Cause.isDie(exit.cause)).toBe(true);
285
+ }));
286
+ Vitest.it.effect('should advance (not rebase) when pending event has undefined-valued key dropped by JSON wire round-trip', () => Effect.gen(function* () {
287
+ const argsSchema = Schema.Struct({
288
+ id: Schema.String,
289
+ flag: Schema.UndefinedOr(Schema.Boolean),
290
+ });
291
+ const localArgs = Schema.encodeUnknownSync(argsSchema)({ id: 'abc' });
292
+ const wireArgs = JSON.parse(JSON.stringify(localArgs));
293
+ const localPending = new TestEvent({
294
+ seqNum: e1_0.seqNum,
295
+ parentSeqNum: e1_0.parentSeqNum,
296
+ name: e1_0.name,
297
+ args: localArgs,
298
+ clientId: e1_0.clientId,
299
+ sessionId: e1_0.sessionId,
300
+ });
301
+ const fromUpstream = new TestEvent({
302
+ seqNum: e1_0.seqNum,
303
+ parentSeqNum: e1_0.parentSeqNum,
304
+ name: e1_0.name,
305
+ args: wireArgs,
306
+ clientId: e1_0.clientId,
307
+ sessionId: e1_0.sessionId,
308
+ });
309
+ const syncState = new SyncState.SyncState({
310
+ pending: [localPending],
311
+ upstreamHead: EventSequenceNumber.Client.ROOT,
312
+ localHead: localPending.seqNum,
313
+ });
314
+ const result = yield* merge({
315
+ syncState,
316
+ payload: SyncState.PayloadUpstreamAdvance.make({ newEvents: [fromUpstream] }),
317
+ });
318
+ expectAdvance(result);
319
+ expect(result.confirmedEvents).toHaveLength(1);
320
+ expect(result.newSyncState.pending).toHaveLength(0);
321
+ }));
276
322
  });
277
- describe('upstream-advance: rebase', () => {
278
- it('should rebase single client event to end', () => {
323
+ Vitest.describe('upstream-advance: rebase', () => {
324
+ Vitest.it.effect('should rebase single client event to end', () => Effect.gen(function* () {
279
325
  const syncState = new SyncState.SyncState({
280
326
  pending: [e1_0],
281
327
  upstreamHead: EventSequenceNumber.Client.ROOT,
282
328
  localHead: e1_0.seqNum,
283
329
  });
284
- const result = merge({ syncState, payload: SyncState.PayloadUpstreamAdvance.make({ newEvents: [e1_1] }) });
330
+ const result = yield* merge({
331
+ syncState,
332
+ payload: SyncState.PayloadUpstreamAdvance.make({ newEvents: [e1_1] }),
333
+ });
285
334
  const e1_0_e1_2 = e1_0.rebase_(e1_1.seqNum, 1);
286
335
  expectRebase(result);
287
336
  expectEventArraysEqual(result.newSyncState.pending, [e1_0_e1_2]);
@@ -289,15 +338,18 @@ describe('syncstate', () => {
289
338
  expect(result.newSyncState.localHead).toMatchObject(e1_0_e1_2.seqNum);
290
339
  expectEventArraysEqual(result.rollbackEvents, [e1_0]);
291
340
  expectEventArraysEqual(result.newEvents, [e1_1, e1_0_e1_2]);
292
- });
293
- it('should rebase different event with same id', () => {
341
+ }));
342
+ Vitest.it.effect('should rebase different event with same id', () => Effect.gen(function* () {
294
343
  const e2_0_b = TestEvent.new({ global: 1, client: 0 }, e1_0.seqNum, '1_0_b', false);
295
344
  const syncState = new SyncState.SyncState({
296
345
  pending: [e2_0_b],
297
346
  upstreamHead: EventSequenceNumber.Client.ROOT,
298
347
  localHead: e2_0_b.seqNum,
299
348
  });
300
- const result = merge({ syncState, payload: SyncState.PayloadUpstreamAdvance.make({ newEvents: [e2_0] }) });
349
+ const result = yield* merge({
350
+ syncState,
351
+ payload: SyncState.PayloadUpstreamAdvance.make({ newEvents: [e2_0] }),
352
+ });
301
353
  const e2_0_e3_0 = e2_0_b.rebase_(e2_0.seqNum, 1);
302
354
  expectRebase(result);
303
355
  expectEventArraysEqual(result.newSyncState.pending, [e2_0_e3_0]);
@@ -305,14 +357,14 @@ describe('syncstate', () => {
305
357
  expectEventArraysEqual(result.rollbackEvents, [e2_0_b]);
306
358
  expect(result.newSyncState.upstreamHead).toMatchObject(e2_0.seqNum);
307
359
  expect(result.newSyncState.localHead).toMatchObject(e2_0_e3_0.seqNum);
308
- });
309
- it('should rebase single client event to end (more incoming events)', () => {
360
+ }));
361
+ Vitest.it.effect('should rebase single client event to end (more incoming events)', () => Effect.gen(function* () {
310
362
  const syncState = new SyncState.SyncState({
311
363
  pending: [e1_0],
312
364
  upstreamHead: EventSequenceNumber.Client.ROOT,
313
365
  localHead: e1_0.seqNum,
314
366
  });
315
- const result = merge({
367
+ const result = yield* merge({
316
368
  syncState,
317
369
  payload: SyncState.PayloadUpstreamAdvance.make({ newEvents: [e1_1, e1_2, e1_3, e2_0] }),
318
370
  });
@@ -321,14 +373,14 @@ describe('syncstate', () => {
321
373
  expectEventArraysEqual(result.newSyncState.pending, [e1_0_e3_0]);
322
374
  expect(result.newSyncState.upstreamHead).toMatchObject(e2_0.seqNum);
323
375
  expect(result.newSyncState.localHead).toMatchObject(e1_0_e3_0.seqNum);
324
- });
325
- it('should only rebase divergent events when first event matches', () => {
376
+ }));
377
+ Vitest.it.effect('should only rebase divergent events when first event matches', () => Effect.gen(function* () {
326
378
  const syncState = new SyncState.SyncState({
327
379
  pending: [e1_0, e1_1],
328
380
  upstreamHead: EventSequenceNumber.Client.ROOT,
329
381
  localHead: e1_0.seqNum,
330
382
  });
331
- const result = merge({
383
+ const result = yield* merge({
332
384
  syncState,
333
385
  payload: SyncState.PayloadUpstreamAdvance.make({ newEvents: [e1_0, e1_2, e1_3, e2_0] }),
334
386
  });
@@ -339,14 +391,14 @@ describe('syncstate', () => {
339
391
  expectEventArraysEqual(result.newEvents, [e1_2, e1_3, e2_0, e1_1_e2_1]);
340
392
  expect(result.newSyncState.upstreamHead).toMatchObject(e2_0.seqNum);
341
393
  expect(result.newSyncState.localHead).toMatchObject(e1_1_e2_1.seqNum);
342
- });
343
- it('should rebase all client events when incoming chain starts differently', () => {
394
+ }));
395
+ Vitest.it.effect('should rebase all client events when incoming chain starts differently', () => Effect.gen(function* () {
344
396
  const syncState = new SyncState.SyncState({
345
397
  pending: [e1_0, e1_1],
346
398
  upstreamHead: EventSequenceNumber.Client.ROOT,
347
399
  localHead: e1_1.seqNum,
348
400
  });
349
- const result = merge({
401
+ const result = yield* merge({
350
402
  syncState,
351
403
  payload: SyncState.PayloadUpstreamAdvance.make({ newEvents: [e1_1, e1_2, e1_3, e2_0] }),
352
404
  });
@@ -358,16 +410,16 @@ describe('syncstate', () => {
358
410
  expectEventArraysEqual(result.rollbackEvents, [e1_0, e1_1]);
359
411
  expect(result.newSyncState.upstreamHead).toMatchObject(e2_0.seqNum);
360
412
  expect(result.newSyncState.localHead).toMatchObject(e1_1_e2_2.seqNum);
361
- });
362
- describe('local-push', () => {
363
- describe('advance', () => {
364
- it('should advance with new events', () => {
413
+ }));
414
+ Vitest.describe('local-push', () => {
415
+ Vitest.describe('advance', () => {
416
+ Vitest.it.effect('should advance with new events', () => Effect.gen(function* () {
365
417
  const syncState = new SyncState.SyncState({
366
418
  pending: [e1_0],
367
419
  upstreamHead: EventSequenceNumber.Client.ROOT,
368
420
  localHead: e1_0.seqNum,
369
421
  });
370
- const result = merge({
422
+ const result = yield* merge({
371
423
  syncState,
372
424
  payload: SyncState.PayloadLocalPush.make({ newEvents: [e1_1, e1_2, e1_3] }),
373
425
  });
@@ -377,16 +429,16 @@ describe('syncstate', () => {
377
429
  expect(result.newSyncState.localHead).toMatchObject(e1_3.seqNum);
378
430
  expectEventArraysEqual(result.newEvents, [e1_1, e1_2, e1_3]);
379
431
  expectEventArraysEqual(result.confirmedEvents, []);
380
- });
432
+ }));
381
433
  // Leaders can choose to ignore client-only events while still returning them for broadcast.
382
434
  // Ensure pending/local head only reflects events that must be pushed upstream.
383
- it('keeps pending empty when pushing only client-only events that are being ignored', () => {
435
+ Vitest.it.effect('keeps pending empty when pushing only client-only events that are being ignored', () => Effect.gen(function* () {
384
436
  const syncState = new SyncState.SyncState({
385
437
  pending: [],
386
438
  upstreamHead: EventSequenceNumber.Client.ROOT,
387
439
  localHead: EventSequenceNumber.Client.ROOT,
388
440
  });
389
- const result = merge({
441
+ const result = yield* merge({
390
442
  syncState,
391
443
  payload: SyncState.PayloadLocalPush.make({ newEvents: [e0_1] }),
392
444
  ignoreClientEvents: true,
@@ -396,14 +448,14 @@ describe('syncstate', () => {
396
448
  expect(result.newSyncState.upstreamHead).toMatchObject(EventSequenceNumber.Client.ROOT);
397
449
  expect(result.newSyncState.localHead).toMatchObject(EventSequenceNumber.Client.ROOT);
398
450
  expectEventArraysEqual(result.newEvents, [e0_1]);
399
- });
400
- it('appends only upstream-bound events to pending when ignoring client-only pushes', () => {
451
+ }));
452
+ Vitest.it.effect('appends only upstream-bound events to pending when ignoring client-only pushes', () => Effect.gen(function* () {
401
453
  const syncState = new SyncState.SyncState({
402
454
  pending: [],
403
455
  upstreamHead: EventSequenceNumber.Client.ROOT,
404
456
  localHead: EventSequenceNumber.Client.ROOT,
405
457
  });
406
- const result = merge({
458
+ const result = yield* merge({
407
459
  syncState,
408
460
  payload: SyncState.PayloadLocalPush.make({ newEvents: [e0_1, e1_0] }),
409
461
  ignoreClientEvents: true,
@@ -413,22 +465,22 @@ describe('syncstate', () => {
413
465
  expect(result.newSyncState.upstreamHead).toMatchObject(EventSequenceNumber.Client.ROOT);
414
466
  expect(result.newSyncState.localHead).toMatchObject(e1_0.seqNum);
415
467
  expectEventArraysEqual(result.newEvents, [e0_1, e1_0]);
416
- });
468
+ }));
417
469
  });
418
- describe('reject', () => {
419
- it('should reject when new events are greater than pending events', () => {
470
+ Vitest.describe('reject', () => {
471
+ Vitest.it.effect('should reject when new events are greater than pending events', () => Effect.gen(function* () {
420
472
  const syncState = new SyncState.SyncState({
421
473
  pending: [e1_0, e1_1],
422
474
  upstreamHead: EventSequenceNumber.Client.ROOT,
423
475
  localHead: e1_1.seqNum,
424
476
  });
425
- const result = merge({
477
+ const result = yield* merge({
426
478
  syncState,
427
479
  payload: SyncState.PayloadLocalPush.make({ newEvents: [e1_1, e1_2] }),
428
480
  });
429
481
  expectReject(result);
430
482
  expect(result.expectedMinimumId).toMatchObject(e1_2.seqNum);
431
- });
483
+ }));
432
484
  });
433
485
  });
434
486
  });
@@ -443,13 +495,13 @@ const expectEventArraysEqual = (actual, expected) => {
443
495
  expect(event.args).toStrictEqual(expected[i].args);
444
496
  });
445
497
  };
446
- function expectAdvance(result) {
498
+ const expectAdvance = (result) => {
447
499
  expect(result._tag).toBe('advance');
448
- }
449
- function expectRebase(result) {
450
- expect(result._tag, `Expected rebase, got ${result}`).toBe('rebase');
451
- }
452
- function expectReject(result) {
500
+ };
501
+ const expectRebase = (result) => {
502
+ expect(result._tag, `Expected rebase, got ${result._tag}`).toBe('rebase');
503
+ };
504
+ const expectReject = (result) => {
453
505
  expect(result._tag).toBe('reject');
454
- }
506
+ };
455
507
  //# sourceMappingURL=syncstate.test.js.map