cojson 0.19.18 → 0.19.20

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 (124) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +9 -0
  3. package/dist/PeerState.d.ts.map +1 -1
  4. package/dist/SyncStateManager.d.ts +5 -2
  5. package/dist/SyncStateManager.d.ts.map +1 -1
  6. package/dist/SyncStateManager.js +49 -12
  7. package/dist/SyncStateManager.js.map +1 -1
  8. package/dist/UnsyncedCoValuesTracker.d.ts +81 -0
  9. package/dist/UnsyncedCoValuesTracker.d.ts.map +1 -0
  10. package/dist/UnsyncedCoValuesTracker.js +209 -0
  11. package/dist/UnsyncedCoValuesTracker.js.map +1 -0
  12. package/dist/config.d.ts +6 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +10 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/exports.d.ts +11 -3
  17. package/dist/exports.d.ts.map +1 -1
  18. package/dist/exports.js +6 -1
  19. package/dist/exports.js.map +1 -1
  20. package/dist/localNode.d.ts +9 -5
  21. package/dist/localNode.d.ts.map +1 -1
  22. package/dist/localNode.js +12 -8
  23. package/dist/localNode.js.map +1 -1
  24. package/dist/queue/IncomingMessagesQueue.d.ts +6 -7
  25. package/dist/queue/IncomingMessagesQueue.d.ts.map +1 -1
  26. package/dist/queue/IncomingMessagesQueue.js +7 -30
  27. package/dist/queue/IncomingMessagesQueue.js.map +1 -1
  28. package/dist/queue/LinkedList.d.ts +1 -1
  29. package/dist/queue/LinkedList.d.ts.map +1 -1
  30. package/dist/queue/LinkedList.js.map +1 -1
  31. package/dist/queue/StorageStreamingQueue.d.ts +43 -0
  32. package/dist/queue/StorageStreamingQueue.d.ts.map +1 -0
  33. package/dist/queue/StorageStreamingQueue.js +70 -0
  34. package/dist/queue/StorageStreamingQueue.js.map +1 -0
  35. package/dist/storage/knownState.d.ts +1 -1
  36. package/dist/storage/knownState.js +4 -4
  37. package/dist/storage/sqlite/client.d.ts +8 -0
  38. package/dist/storage/sqlite/client.d.ts.map +1 -1
  39. package/dist/storage/sqlite/client.js +17 -0
  40. package/dist/storage/sqlite/client.js.map +1 -1
  41. package/dist/storage/sqlite/sqliteMigrations.d.ts.map +1 -1
  42. package/dist/storage/sqlite/sqliteMigrations.js +9 -0
  43. package/dist/storage/sqlite/sqliteMigrations.js.map +1 -1
  44. package/dist/storage/sqliteAsync/client.d.ts +8 -0
  45. package/dist/storage/sqliteAsync/client.d.ts.map +1 -1
  46. package/dist/storage/sqliteAsync/client.js +19 -0
  47. package/dist/storage/sqliteAsync/client.js.map +1 -1
  48. package/dist/storage/storageAsync.d.ts +9 -2
  49. package/dist/storage/storageAsync.d.ts.map +1 -1
  50. package/dist/storage/storageAsync.js +9 -0
  51. package/dist/storage/storageAsync.js.map +1 -1
  52. package/dist/storage/storageSync.d.ts +17 -4
  53. package/dist/storage/storageSync.d.ts.map +1 -1
  54. package/dist/storage/storageSync.js +67 -44
  55. package/dist/storage/storageSync.js.map +1 -1
  56. package/dist/storage/types.d.ts +35 -0
  57. package/dist/storage/types.d.ts.map +1 -1
  58. package/dist/sync.d.ts +38 -1
  59. package/dist/sync.d.ts.map +1 -1
  60. package/dist/sync.js +181 -7
  61. package/dist/sync.js.map +1 -1
  62. package/dist/tests/IncomingMessagesQueue.test.js +4 -150
  63. package/dist/tests/IncomingMessagesQueue.test.js.map +1 -1
  64. package/dist/tests/StorageStreamingQueue.test.d.ts +2 -0
  65. package/dist/tests/StorageStreamingQueue.test.d.ts.map +1 -0
  66. package/dist/tests/StorageStreamingQueue.test.js +213 -0
  67. package/dist/tests/StorageStreamingQueue.test.js.map +1 -0
  68. package/dist/tests/SyncManager.processQueues.test.d.ts +2 -0
  69. package/dist/tests/SyncManager.processQueues.test.d.ts.map +1 -0
  70. package/dist/tests/SyncManager.processQueues.test.js +208 -0
  71. package/dist/tests/SyncManager.processQueues.test.js.map +1 -0
  72. package/dist/tests/SyncStateManager.test.js +3 -3
  73. package/dist/tests/SyncStateManager.test.js.map +1 -1
  74. package/dist/tests/coValueCore.loadFromStorage.test.js +3 -0
  75. package/dist/tests/coValueCore.loadFromStorage.test.js.map +1 -1
  76. package/dist/tests/setup.d.ts +2 -0
  77. package/dist/tests/setup.d.ts.map +1 -0
  78. package/dist/tests/setup.js +4 -0
  79. package/dist/tests/setup.js.map +1 -0
  80. package/dist/tests/sync.garbageCollection.test.js.map +1 -1
  81. package/dist/tests/sync.mesh.test.js +19 -19
  82. package/dist/tests/sync.storage.test.js +176 -20
  83. package/dist/tests/sync.storage.test.js.map +1 -1
  84. package/dist/tests/sync.test.js +1 -1
  85. package/dist/tests/sync.test.js.map +1 -1
  86. package/dist/tests/sync.tracking.test.d.ts +2 -0
  87. package/dist/tests/sync.tracking.test.d.ts.map +1 -0
  88. package/dist/tests/sync.tracking.test.js +261 -0
  89. package/dist/tests/sync.tracking.test.js.map +1 -0
  90. package/dist/tests/testUtils.d.ts +4 -3
  91. package/dist/tests/testUtils.d.ts.map +1 -1
  92. package/dist/tests/testUtils.js +4 -4
  93. package/dist/tests/testUtils.js.map +1 -1
  94. package/package.json +4 -4
  95. package/src/PeerState.ts +2 -2
  96. package/src/SyncStateManager.ts +63 -12
  97. package/src/UnsyncedCoValuesTracker.ts +272 -0
  98. package/src/config.ts +13 -0
  99. package/src/exports.ts +10 -1
  100. package/src/localNode.ts +15 -3
  101. package/src/queue/IncomingMessagesQueue.ts +7 -39
  102. package/src/queue/LinkedList.ts +1 -1
  103. package/src/queue/StorageStreamingQueue.ts +96 -0
  104. package/src/storage/knownState.ts +4 -4
  105. package/src/storage/sqlite/client.ts +31 -0
  106. package/src/storage/sqlite/sqliteMigrations.ts +9 -0
  107. package/src/storage/sqliteAsync/client.ts +35 -0
  108. package/src/storage/storageAsync.ts +18 -1
  109. package/src/storage/storageSync.ts +119 -56
  110. package/src/storage/types.ts +42 -0
  111. package/src/sync.ts +235 -8
  112. package/src/tests/IncomingMessagesQueue.test.ts +4 -206
  113. package/src/tests/StorageStreamingQueue.test.ts +276 -0
  114. package/src/tests/SyncManager.processQueues.test.ts +287 -0
  115. package/src/tests/SyncStateManager.test.ts +3 -0
  116. package/src/tests/coValueCore.loadFromStorage.test.ts +11 -0
  117. package/src/tests/setup.ts +4 -0
  118. package/src/tests/sync.garbageCollection.test.ts +1 -3
  119. package/src/tests/sync.mesh.test.ts +19 -19
  120. package/src/tests/sync.storage.test.ts +224 -32
  121. package/src/tests/sync.test.ts +1 -9
  122. package/src/tests/sync.tracking.test.ts +396 -0
  123. package/src/tests/testUtils.ts +11 -5
  124. package/vitest.config.ts +1 -0
@@ -1,13 +1,8 @@
1
- import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
1
+ import { afterEach, describe, expect, test, vi } from "vitest";
2
2
  import { PeerState } from "../PeerState.js";
3
3
  import { IncomingMessagesQueue } from "../queue/IncomingMessagesQueue.js";
4
4
  import { ConnectedPeerChannel } from "../streamUtils.js";
5
5
  import { createTestMetricReader, tearDownTestMetricReader, } from "./testUtils.js";
6
- // Mock performance.now for consistent timing tests
7
- let mockPerformanceNow = vi.spyOn(performance, "now");
8
- beforeEach(() => {
9
- vi.clearAllMocks();
10
- });
11
6
  function createMockPeer(id) {
12
7
  return {
13
8
  id,
@@ -46,15 +41,13 @@ function createMockSyncMessage(id, action = "load") {
46
41
  }
47
42
  }
48
43
  function setup() {
44
+ const processQueues = vi.fn();
49
45
  const metricReader = createTestMetricReader();
50
- const queue = new IncomingMessagesQueue();
46
+ const queue = new IncomingMessagesQueue(processQueues);
51
47
  const peer1 = createMockPeerState("peer1");
52
48
  const peer2 = createMockPeerState("peer2");
53
- return { queue, peer1, peer2, metricReader };
49
+ return { queue, peer1, peer2, metricReader, processQueues };
54
50
  }
55
- beforeEach(() => {
56
- mockPerformanceNow.mockReturnValue(0);
57
- });
58
51
  afterEach(() => {
59
52
  tearDownTestMetricReader();
60
53
  });
@@ -64,7 +57,6 @@ describe("IncomingMessagesQueue", () => {
64
57
  const { queue } = setup();
65
58
  expect(queue["queues"]).toEqual([]);
66
59
  expect(queue.currentQueue).toBe(0);
67
- expect(queue.processing).toBe(false);
68
60
  });
69
61
  });
70
62
  describe("push", () => {
@@ -168,109 +160,6 @@ describe("IncomingMessagesQueue", () => {
168
160
  expect(queue.pull()).toEqual({ msg: msg3, peer: peer1 });
169
161
  });
170
162
  });
171
- describe("processQueue", () => {
172
- test("should process all messages in queue", async () => {
173
- const { queue, peer1, peer2 } = setup();
174
- const msg1 = createMockSyncMessage("test1");
175
- const msg2 = createMockSyncMessage("test2");
176
- const msg3 = createMockSyncMessage("test3");
177
- queue.push(msg1, peer1);
178
- queue.push(msg2, peer1);
179
- queue.push(msg3, peer2);
180
- const processedMessages = [];
181
- await queue.processQueue((msg, peer) => {
182
- processedMessages.push({ msg, peer });
183
- });
184
- expect(processedMessages).toEqual([
185
- { msg: msg1, peer: peer1 },
186
- { msg: msg3, peer: peer2 },
187
- { msg: msg2, peer: peer1 },
188
- ]);
189
- expect(queue.processing).toBe(false);
190
- });
191
- test("should set processing flag during execution", async () => {
192
- const { queue, peer1 } = setup();
193
- const msg = createMockSyncMessage("test");
194
- queue.push(msg, peer1);
195
- let processingFlagDuringExecution = false;
196
- const processingPromise = queue.processQueue(() => {
197
- processingFlagDuringExecution = queue.processing;
198
- });
199
- await processingPromise;
200
- expect(processingFlagDuringExecution).toBe(true);
201
- expect(queue.processing).toBe(false);
202
- });
203
- test("should handle empty queue", async () => {
204
- const { queue } = setup();
205
- const callback = vi.fn();
206
- await queue.processQueue(callback);
207
- expect(callback).not.toHaveBeenCalled();
208
- expect(queue.processing).toBe(false);
209
- });
210
- test("should yield to event loop when processing takes too long", async () => {
211
- const { queue, peer1 } = setup();
212
- const msg1 = createMockSyncMessage("test1");
213
- const msg2 = createMockSyncMessage("test2");
214
- queue.push(msg1, peer1);
215
- queue.push(msg2, peer1);
216
- // Mock timing to simulate long processing
217
- mockPerformanceNow
218
- .mockReturnValueOnce(0) // Initial time
219
- .mockReturnValueOnce(60); // After first message (60ms > 50ms threshold)
220
- const setTimeoutSpy = vi.spyOn(global, "setTimeout");
221
- await queue.processQueue(() => {
222
- // Simulate some processing time
223
- });
224
- expect(setTimeoutSpy).toHaveBeenCalledWith(expect.any(Function), 0);
225
- });
226
- test("should not yield to event loop when processing is fast", async () => {
227
- const { queue, peer1 } = setup();
228
- const msg = createMockSyncMessage("test");
229
- queue.push(msg, peer1);
230
- // Mock timing to simulate fast processing
231
- mockPerformanceNow
232
- .mockReturnValueOnce(0) // Initial time
233
- .mockReturnValueOnce(30); // After message (30ms < 50ms threshold)
234
- const setTimeoutSpy = vi.spyOn(global, "setTimeout");
235
- await queue.processQueue(() => {
236
- // Simulate some processing time
237
- });
238
- expect(setTimeoutSpy).not.toHaveBeenCalled();
239
- });
240
- test("should handle callback errors gracefully", async () => {
241
- const { queue, peer1 } = setup();
242
- const msg = createMockSyncMessage("test");
243
- queue.push(msg, peer1);
244
- const error = new Error("Callback error");
245
- await queue.processQueue(() => {
246
- throw error;
247
- });
248
- // The processing flag should be reset even when an error occurs
249
- expect(queue.processing).toBe(false);
250
- });
251
- test("should process messages in correct round-robin order", async () => {
252
- const { queue, peer1, peer2 } = setup();
253
- const msg1 = createMockSyncMessage("test1");
254
- const msg2 = createMockSyncMessage("test2");
255
- const msg3 = createMockSyncMessage("test3");
256
- const msg4 = createMockSyncMessage("test4");
257
- queue.push(msg1, peer1);
258
- queue.push(msg2, peer1);
259
- queue.push(msg3, peer2);
260
- queue.push(msg4, peer2);
261
- const processedMessages = [];
262
- await queue.processQueue((msg, peer) => {
263
- processedMessages.push({ msg, peer });
264
- });
265
- // Should process in round-robin: peer1, peer2, peer1, peer2
266
- expect(processedMessages).toEqual([
267
- { msg: msg1, peer: peer1 },
268
- { msg: msg3, peer: peer2 },
269
- { msg: msg2, peer: peer1 },
270
- { msg: msg4, peer: peer2 },
271
- ]);
272
- });
273
- });
274
163
  describe("edge cases", () => {
275
164
  test("should handle peer with multiple messages correctly", () => {
276
165
  const { queue, peer1 } = setup();
@@ -317,27 +206,6 @@ describe("IncomingMessagesQueue", () => {
317
206
  expect(queue.pull()).toEqual({ msg: doneMsg, peer: peer2 });
318
207
  });
319
208
  });
320
- describe("concurrent operations", () => {
321
- test("should prevent multiple concurrent processQueue calls", async () => {
322
- const { queue, peer1 } = setup();
323
- const msg = createMockSyncMessage("test");
324
- queue.push(msg, peer1);
325
- const firstProcessSpy = vi.fn();
326
- const firstProcess = queue.processQueue((msg, peer) => {
327
- firstProcessSpy(msg, peer);
328
- });
329
- const secondProcessSpy = vi.fn();
330
- // Second process should not interfere
331
- const secondProcess = queue.processQueue(() => {
332
- secondProcessSpy();
333
- });
334
- await firstProcess;
335
- await secondProcess;
336
- expect(firstProcessSpy).toHaveBeenCalled();
337
- expect(secondProcessSpy).not.toHaveBeenCalled();
338
- expect(queue.processing).toBe(false);
339
- });
340
- });
341
209
  describe("metrics", () => {
342
210
  test("should increment push counter when pushing messages", async () => {
343
211
  const { queue, peer1, metricReader } = setup();
@@ -415,20 +283,6 @@ describe("IncomingMessagesQueue", () => {
415
283
  expect(clientPullValue).toBe(0);
416
284
  expect(serverPullValue).toBe(0);
417
285
  });
418
- test("should track metrics during processQueue execution", async () => {
419
- const { queue, peer1, metricReader } = setup();
420
- const msg1 = createMockSyncMessage("test1");
421
- const msg2 = createMockSyncMessage("test2");
422
- queue.push(msg1, peer1);
423
- queue.push(msg2, peer1);
424
- await queue.processQueue(() => {
425
- // Process messages
426
- });
427
- const pushValue = await metricReader.getMetricValue("jazz.messagequeue.incoming.pushed", { peerRole: "client" });
428
- const pullValue = await metricReader.getMetricValue("jazz.messagequeue.incoming.pulled", { peerRole: "client" });
429
- expect(pushValue).toBe(2);
430
- expect(pullValue).toBe(2);
431
- });
432
286
  });
433
287
  });
434
288
  //# sourceMappingURL=IncomingMessagesQueue.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IncomingMessagesQueue.test.js","sourceRoot":"","sources":["../../src/tests/IncomingMessagesQueue.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IncomingMessagesQueue.test.js","sourceRoot":"","sources":["../../src/tests/IncomingMessagesQueue.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=StorageStreamingQueue.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageStreamingQueue.test.d.ts","sourceRoot":"","sources":["../../src/tests/StorageStreamingQueue.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,213 @@
1
+ import { describe, expect, test, vi } from "vitest";
2
+ import { CO_VALUE_PRIORITY } from "../priority.js";
3
+ import { StorageStreamingQueue } from "../queue/StorageStreamingQueue.js";
4
+ describe("StorageStreamingQueue", () => {
5
+ describe("constructor", () => {
6
+ test("should initialize with empty queues", () => {
7
+ const queue = new StorageStreamingQueue();
8
+ expect(queue.isEmpty()).toBe(true);
9
+ });
10
+ });
11
+ describe("push", () => {
12
+ test("should add MEDIUM priority entry to queue", () => {
13
+ const queue = new StorageStreamingQueue();
14
+ queue.push(() => { }, CO_VALUE_PRIORITY.MEDIUM);
15
+ expect(queue.isEmpty()).toBe(false);
16
+ });
17
+ test("should add LOW priority entry to queue", () => {
18
+ const queue = new StorageStreamingQueue();
19
+ queue.push(() => { }, CO_VALUE_PRIORITY.LOW);
20
+ expect(queue.isEmpty()).toBe(false);
21
+ });
22
+ test("should add HIGH priority entry to queue", () => {
23
+ const queue = new StorageStreamingQueue();
24
+ queue.push(() => { }, CO_VALUE_PRIORITY.HIGH);
25
+ expect(queue.isEmpty()).toBe(false);
26
+ });
27
+ test("should accept multiple entries", () => {
28
+ const queue = new StorageStreamingQueue();
29
+ const entry1 = () => { };
30
+ const entry2 = () => { };
31
+ queue.push(entry1, CO_VALUE_PRIORITY.MEDIUM);
32
+ queue.push(entry2, CO_VALUE_PRIORITY.MEDIUM);
33
+ expect(queue.pull()).toBe(entry1);
34
+ expect(queue.pull()).toBe(entry2);
35
+ });
36
+ });
37
+ describe("pull", () => {
38
+ test("should return undefined for empty queue", () => {
39
+ const queue = new StorageStreamingQueue();
40
+ expect(queue.pull()).toBeUndefined();
41
+ });
42
+ test("should return and remove entry from queue", () => {
43
+ const queue = new StorageStreamingQueue();
44
+ const entry = () => { };
45
+ queue.push(entry, CO_VALUE_PRIORITY.MEDIUM);
46
+ const pulled = queue.pull();
47
+ expect(pulled).toBe(entry);
48
+ expect(queue.isEmpty()).toBe(true);
49
+ });
50
+ test("should pull HIGH priority before MEDIUM and LOW", () => {
51
+ const queue = new StorageStreamingQueue();
52
+ const lowEntry = () => { };
53
+ const mediumEntry = () => { };
54
+ const highEntry = () => { };
55
+ // Push in reverse order
56
+ queue.push(lowEntry, CO_VALUE_PRIORITY.LOW);
57
+ queue.push(mediumEntry, CO_VALUE_PRIORITY.MEDIUM);
58
+ queue.push(highEntry, CO_VALUE_PRIORITY.HIGH);
59
+ // Should pull HIGH first, then MEDIUM, then LOW
60
+ expect(queue.pull()).toBe(highEntry);
61
+ expect(queue.pull()).toBe(mediumEntry);
62
+ expect(queue.pull()).toBe(lowEntry);
63
+ });
64
+ test("should pull MEDIUM priority before LOW priority", () => {
65
+ const queue = new StorageStreamingQueue();
66
+ const lowEntry = () => { };
67
+ const mediumEntry = () => { };
68
+ // Push LOW first, then MEDIUM
69
+ queue.push(lowEntry, CO_VALUE_PRIORITY.LOW);
70
+ queue.push(mediumEntry, CO_VALUE_PRIORITY.MEDIUM);
71
+ // Should pull MEDIUM first
72
+ expect(queue.pull()).toBe(mediumEntry);
73
+ expect(queue.pull()).toBe(lowEntry);
74
+ });
75
+ test("should pull entries in FIFO order within same priority", () => {
76
+ const queue = new StorageStreamingQueue();
77
+ const entry1 = () => { };
78
+ const entry2 = () => { };
79
+ const entry3 = () => { };
80
+ queue.push(entry1, CO_VALUE_PRIORITY.MEDIUM);
81
+ queue.push(entry2, CO_VALUE_PRIORITY.MEDIUM);
82
+ queue.push(entry3, CO_VALUE_PRIORITY.MEDIUM);
83
+ expect(queue.pull()).toBe(entry1);
84
+ expect(queue.pull()).toBe(entry2);
85
+ expect(queue.pull()).toBe(entry3);
86
+ });
87
+ test("should handle interleaved priorities correctly", () => {
88
+ const queue = new StorageStreamingQueue();
89
+ const low1 = () => { };
90
+ const medium1 = () => { };
91
+ const high1 = () => { };
92
+ const low2 = () => { };
93
+ const medium2 = () => { };
94
+ const high2 = () => { };
95
+ queue.push(low1, CO_VALUE_PRIORITY.LOW);
96
+ queue.push(medium1, CO_VALUE_PRIORITY.MEDIUM);
97
+ queue.push(high1, CO_VALUE_PRIORITY.HIGH);
98
+ queue.push(low2, CO_VALUE_PRIORITY.LOW);
99
+ queue.push(medium2, CO_VALUE_PRIORITY.MEDIUM);
100
+ queue.push(high2, CO_VALUE_PRIORITY.HIGH);
101
+ // All HIGH should come first, in order
102
+ expect(queue.pull()).toBe(high1);
103
+ expect(queue.pull()).toBe(high2);
104
+ // Then all MEDIUM, in order
105
+ expect(queue.pull()).toBe(medium1);
106
+ expect(queue.pull()).toBe(medium2);
107
+ // Then all LOW, in order
108
+ expect(queue.pull()).toBe(low1);
109
+ expect(queue.pull()).toBe(low2);
110
+ });
111
+ });
112
+ describe("isEmpty", () => {
113
+ test("should return true for empty queue", () => {
114
+ const queue = new StorageStreamingQueue();
115
+ expect(queue.isEmpty()).toBe(true);
116
+ });
117
+ test("should return false when MEDIUM queue has entries", () => {
118
+ const queue = new StorageStreamingQueue();
119
+ queue.push(() => { }, CO_VALUE_PRIORITY.MEDIUM);
120
+ expect(queue.isEmpty()).toBe(false);
121
+ });
122
+ test("should return false when LOW queue has entries", () => {
123
+ const queue = new StorageStreamingQueue();
124
+ queue.push(() => { }, CO_VALUE_PRIORITY.LOW);
125
+ expect(queue.isEmpty()).toBe(false);
126
+ });
127
+ test("should return false when HIGH queue has entries", () => {
128
+ const queue = new StorageStreamingQueue();
129
+ queue.push(() => { }, CO_VALUE_PRIORITY.HIGH);
130
+ expect(queue.isEmpty()).toBe(false);
131
+ });
132
+ test("should return true after all entries are pulled", () => {
133
+ const queue = new StorageStreamingQueue();
134
+ queue.push(() => { }, CO_VALUE_PRIORITY.MEDIUM);
135
+ queue.push(() => { }, CO_VALUE_PRIORITY.LOW);
136
+ queue.pull();
137
+ queue.pull();
138
+ expect(queue.isEmpty()).toBe(true);
139
+ });
140
+ });
141
+ describe("callback invocation", () => {
142
+ test("should not invoke callback when pushed", () => {
143
+ const queue = new StorageStreamingQueue();
144
+ const callback = vi.fn();
145
+ queue.push(callback, CO_VALUE_PRIORITY.MEDIUM);
146
+ expect(callback).not.toHaveBeenCalled();
147
+ });
148
+ test("should not invoke callback when pulled", () => {
149
+ const queue = new StorageStreamingQueue();
150
+ const callback = vi.fn();
151
+ queue.push(callback, CO_VALUE_PRIORITY.MEDIUM);
152
+ queue.pull();
153
+ expect(callback).not.toHaveBeenCalled();
154
+ });
155
+ test("should allow caller to invoke callback after pull", () => {
156
+ const queue = new StorageStreamingQueue();
157
+ const callback = vi.fn();
158
+ queue.push(callback, CO_VALUE_PRIORITY.MEDIUM);
159
+ const pulled = queue.pull();
160
+ expect(callback).not.toHaveBeenCalled();
161
+ pulled?.();
162
+ expect(callback).toHaveBeenCalledTimes(1);
163
+ });
164
+ });
165
+ describe("setListener and emit", () => {
166
+ test("should call listener when emit is called", () => {
167
+ const queue = new StorageStreamingQueue();
168
+ const listener = vi.fn();
169
+ queue.setListener(listener);
170
+ queue.emit();
171
+ expect(listener).toHaveBeenCalledTimes(1);
172
+ });
173
+ test("should not throw when emit is called without listener", () => {
174
+ const queue = new StorageStreamingQueue();
175
+ expect(() => queue.emit()).not.toThrow();
176
+ });
177
+ test("should call listener multiple times on multiple emits", () => {
178
+ const queue = new StorageStreamingQueue();
179
+ const listener = vi.fn();
180
+ queue.setListener(listener);
181
+ queue.emit();
182
+ queue.emit();
183
+ queue.emit();
184
+ expect(listener).toHaveBeenCalledTimes(3);
185
+ });
186
+ test("should use latest listener when setListener is called multiple times", () => {
187
+ const queue = new StorageStreamingQueue();
188
+ const listener1 = vi.fn();
189
+ const listener2 = vi.fn();
190
+ queue.setListener(listener1);
191
+ queue.setListener(listener2);
192
+ queue.emit();
193
+ expect(listener1).not.toHaveBeenCalled();
194
+ expect(listener2).toHaveBeenCalledTimes(1);
195
+ });
196
+ });
197
+ describe("edge cases", () => {
198
+ test("should handle alternating push and pull operations", () => {
199
+ const queue = new StorageStreamingQueue();
200
+ const entry1 = () => { };
201
+ const entry2 = () => { };
202
+ const entry3 = () => { };
203
+ queue.push(entry1, CO_VALUE_PRIORITY.MEDIUM);
204
+ expect(queue.pull()).toBe(entry1);
205
+ queue.push(entry2, CO_VALUE_PRIORITY.LOW);
206
+ expect(queue.pull()).toBe(entry2);
207
+ expect(queue.isEmpty()).toBe(true);
208
+ queue.push(entry3, CO_VALUE_PRIORITY.MEDIUM);
209
+ expect(queue.pull()).toBe(entry3);
210
+ });
211
+ });
212
+ });
213
+ //# sourceMappingURL=StorageStreamingQueue.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageStreamingQueue.test.js","sourceRoot":"","sources":["../../src/tests/StorageStreamingQueue.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SyncManager.processQueues.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncManager.processQueues.test.d.ts","sourceRoot":"","sources":["../../src/tests/SyncManager.processQueues.test.ts"],"names":[],"mappings":""}