emberflow 1.4.63 → 1.4.64

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.
@@ -127,7 +127,7 @@ describe("debounce", () => {
127
127
  },
128
128
  });
129
129
  const reducedInstructions = new Map();
130
- const instructions = { "sample": "+10" };
130
+ const instructions = { "sample": "+11" };
131
131
  reducedInstructions.set("/users/test-user-id/documents/doc1", instructions);
132
132
  debouncedFunc(createEvent());
133
133
  await jest.advanceTimersByTimeAsync(100);
@@ -150,7 +150,8 @@ describe("debounce", () => {
150
150
  debouncedFunc(createEvent());
151
151
  await jest.advanceTimersByTimeAsync(100);
152
152
  debouncedFunc(createEvent());
153
- expect(consoleDebugSpy).toHaveBeenCalledTimes(52);
153
+ await jest.advanceTimersByTimeAsync(100);
154
+ expect(consoleDebugSpy).toHaveBeenCalledTimes(56);
154
155
  expect(consoleDebugSpy).toHaveBeenNthCalledWith(1, "Schedule processing queue using setTimeout");
155
156
  expect(consoleDebugSpy).toHaveBeenNthCalledWith(2, "debouncing");
156
157
  expect(consoleDebugSpy).toHaveBeenNthCalledWith(3, "Now processing queue using setTimeout");
@@ -162,7 +163,7 @@ describe("debounce", () => {
162
163
  expect(consoleDebugSpy).toHaveBeenNthCalledWith(51, "Schedule processing queue using setTimeout");
163
164
  expect(consoleDebugSpy).toHaveBeenNthCalledWith(52, "debounce maxWait is reached");
164
165
  expect(clearTimeoutSpy).toHaveBeenCalledTimes(10);
165
- expect(setTimeoutSpy).toHaveBeenCalledTimes(21);
166
+ expect(setTimeoutSpy).toHaveBeenCalledTimes(23);
166
167
  expect(func).toHaveBeenCalledTimes(1);
167
168
  expect(func).toHaveBeenCalledWith(reducedInstructions);
168
169
  });
@@ -217,5 +218,112 @@ describe("debounce", () => {
217
218
  expect(errorFunc).toHaveBeenCalledTimes(1);
218
219
  expect(consoleErrorSpy).toHaveBeenCalled();
219
220
  });
221
+ it("should not process the same accumulator twice when execution is slower than wait time (concurrency)", async () => {
222
+ const processedAccumulators = [];
223
+ const processFn = jest.fn(async (acc) => {
224
+ // Simulate slow processing
225
+ await new Promise((resolve) => setTimeout(resolve, 500));
226
+ processedAccumulators.push(acc);
227
+ });
228
+ const reducer = {
229
+ reducerFn: (acc, val) => {
230
+ acc.push(val);
231
+ },
232
+ initialValueFactory: () => [],
233
+ };
234
+ const debouncedFn = (0, functions_1.debounce)(processFn, 50, undefined, reducer);
235
+ // Trigger 1
236
+ const p1 = debouncedFn(1);
237
+ // Advance 60ms.
238
+ // T=0 -> T=60.
239
+ // At T=50, debounce timeout 1 fires.
240
+ // Calls invokeFunction.
241
+ // invokeFunction calls processFn.
242
+ // processFn calls setTimeout(500). Schedules for T=550.
243
+ // invokeFunction awaits.
244
+ await jest.advanceTimersByTimeAsync(60);
245
+ // Trigger 2
246
+ const p2 = debouncedFn(2);
247
+ // Schedules timeout for T=110.
248
+ // Advance 100ms.
249
+ // T=60 -> T=160.
250
+ // At T=110, debounce timeout 2 fires.
251
+ // Calls invokeFunction (Instance 2).
252
+ // Instance 1 is pending (waiting for T=550).
253
+ // Instance 2 should see isInvoking=true and return.
254
+ await jest.advanceTimersByTimeAsync(100);
255
+ // Now complete the first processing (T=550).
256
+ // We need to advance to T=550.
257
+ // Current T=160. Need +400.
258
+ await jest.advanceTimersByTimeAsync(400);
259
+ // Now Instance 1 finishes Batch 1.
260
+ // Loop continues.
261
+ // Processes Batch 2 (Acc2).
262
+ // processFn calls setTimeout(500). Schedules for T=1050.
263
+ // Advance to finish Batch 2.
264
+ await jest.advanceTimersByTimeAsync(600);
265
+ await Promise.all([p1, p2]);
266
+ expect(processFn).toHaveBeenCalledTimes(2);
267
+ const uniqueAccumulators = new Set(processedAccumulators);
268
+ expect(uniqueAccumulators.size).toBe(2);
269
+ const allValues = processedAccumulators.flat();
270
+ expect(allValues.filter((v) => v === 1).length).toBe(1);
271
+ expect(allValues.filter((v) => v === 2).length).toBe(1);
272
+ });
273
+ it("repro: should lose data if new events are added to the currently executing accumulator", async () => {
274
+ const processedBatches = [];
275
+ const processFn = jest.fn(async (acc) => {
276
+ const batchToProcess = [...acc];
277
+ await new Promise((resolve) => setTimeout(resolve, 100));
278
+ processedBatches.push(batchToProcess);
279
+ });
280
+ const reducer = {
281
+ reducerFn: (acc, val) => {
282
+ acc.push(val);
283
+ },
284
+ initialValueFactory: () => [],
285
+ };
286
+ const debouncedFn = (0, functions_1.debounce)(processFn, 50, undefined, reducer);
287
+ debouncedFn(1);
288
+ await jest.advanceTimersByTimeAsync(60);
289
+ debouncedFn(2);
290
+ await jest.advanceTimersByTimeAsync(1000);
291
+ expect(processedBatches.length).toBe(2);
292
+ expect(processedBatches[0]).toEqual([1]);
293
+ expect(processedBatches[1]).toEqual([2]);
294
+ });
295
+ it("repro: should NOT process a second batch immediately if it arrives while the first is processing (Lazy Drain)", async () => {
296
+ const initialTime = Date.now();
297
+ const startTimes = [];
298
+ const processFn = jest.fn(async (acc) => {
299
+ startTimes.push(Date.now() - initialTime);
300
+ await new Promise((resolve) => setTimeout(resolve, 50));
301
+ });
302
+ const reducer = {
303
+ reducerFn: (acc, val) => {
304
+ acc.push(val);
305
+ },
306
+ initialValueFactory: () => [],
307
+ };
308
+ const debouncedFn = (0, functions_1.debounce)(processFn, 100, undefined, reducer);
309
+ // 1. Event A at T=0
310
+ debouncedFn(1);
311
+ // 2. Advance to T=100. Timer A fires. Call 1 starts.
312
+ await jest.advanceTimersByTimeAsync(100);
313
+ // 3. Event B at T=100.
314
+ debouncedFn(2);
315
+ // 4. Advance to T=160.
316
+ // Call 1 finishes at T=150.
317
+ // If Aggressive: Call 2 starts at T=150.
318
+ // If Lazy: Call 2 starts at T=200 (Timer B).
319
+ await jest.advanceTimersByTimeAsync(60);
320
+ // 5. Advance to T=250.
321
+ await jest.advanceTimersByTimeAsync(90);
322
+ expect(startTimes.length).toBe(2);
323
+ // Call 1 started around 100
324
+ expect(Math.abs(startTimes[0] - 100)).toBeLessThan(10);
325
+ // Call 2 should start around 200 (Lazy) NOT 150 (Aggressive)
326
+ expect(startTimes[1]).toBeGreaterThanOrEqual(190);
327
+ });
220
328
  });
221
329
  //# sourceMappingURL=functions.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.test.js","sourceRoot":"","sources":["../../../src/tests/utils/functions.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.test.js","sourceRoot":"","sources":["../../../src/tests/utils/functions.test.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.debounce = void 0;
4
4
  function debounce(func, wait, maxWait, reducer) {
5
5
  const accumulatedResultQueue = [];
6
+ const accumulatedResolvesQueue = [];
6
7
  if (reducer) {
7
8
  accumulatedResultQueue.push(reducer.initialValueFactory());
9
+ accumulatedResolvesQueue.push([]);
8
10
  }
9
11
  let timeoutId;
10
12
  let firstTimeCalled = null;
@@ -12,6 +14,10 @@ function debounce(func, wait, maxWait, reducer) {
12
14
  const queue = [];
13
15
  let processing = false;
14
16
  let resolveList = [];
17
+ let isInvoking = false;
18
+ let pendingRetries = 0;
19
+ let latestInitiateDebounce;
20
+ let lastArgs;
15
21
  function processQueue() {
16
22
  if (processing)
17
23
  return;
@@ -20,21 +26,29 @@ function debounce(func, wait, maxWait, reducer) {
20
26
  setTimeout(async () => {
21
27
  console.debug("Now processing queue using setTimeout");
22
28
  try {
23
- const args = queue.shift();
24
- if (!args) {
29
+ const item = queue.shift();
30
+ if (!item) {
25
31
  console.error("No args in queue. This should not happen");
26
32
  return;
27
33
  }
34
+ const { args, resolve } = item;
28
35
  if (!reducer) {
29
36
  console.error("Reducer is not defined. This should not happen");
30
37
  return;
31
38
  }
32
39
  let accumulatedResult = accumulatedResultQueue[accumulatedResultQueue.length - 1];
40
+ let accumulatedResolves = accumulatedResolvesQueue[accumulatedResolvesQueue.length - 1];
33
41
  if (!accumulatedResult) {
34
42
  accumulatedResult = reducer.initialValueFactory();
35
43
  accumulatedResultQueue.push(accumulatedResult);
44
+ accumulatedResolves = [];
45
+ accumulatedResolvesQueue.push(accumulatedResolves);
36
46
  }
47
+ accumulatedResolves.push(resolve);
37
48
  await reducer.reducerFn(accumulatedResult, ...args);
49
+ if (!timeoutId && latestInitiateDebounce) {
50
+ latestInitiateDebounce();
51
+ }
38
52
  }
39
53
  catch (error) {
40
54
  console.error("Error processing queue:", error);
@@ -48,9 +62,15 @@ function debounce(func, wait, maxWait, reducer) {
48
62
  });
49
63
  }
50
64
  return async function (...args) {
65
+ let resolveFn;
51
66
  const promise = new Promise((resolve) => {
52
- resolveList.push(resolve);
67
+ resolveFn = resolve;
53
68
  });
69
+ if (!resolveFn) {
70
+ throw new Error("Promise resolver not captured");
71
+ }
72
+ latestInitiateDebounce = initiateDebounce;
73
+ lastArgs = args;
54
74
  const now = new Date().getTime();
55
75
  lastTimeCalled = now;
56
76
  if (!firstTimeCalled) {
@@ -59,19 +79,32 @@ function debounce(func, wait, maxWait, reducer) {
59
79
  const timeSinceFirstCalled = now - firstTimeCalled;
60
80
  if (timeoutId) {
61
81
  clearTimeout(timeoutId);
82
+ timeoutId = undefined;
62
83
  }
63
84
  if (reducer) {
64
- queue.push(args);
85
+ queue.push({ args, resolve: resolveFn });
65
86
  processQueue();
66
87
  }
88
+ else {
89
+ resolveList.push(resolveFn);
90
+ }
67
91
  const invokeFunction = async (...args) => {
92
+ if (isInvoking) {
93
+ console.debug("Already invoking, skipping new instance");
94
+ pendingRetries++;
95
+ return;
96
+ }
97
+ isInvoking = true;
68
98
  console.info("Invoking function");
69
- const currentResolves = [...resolveList];
70
- resolveList = [];
71
99
  try {
72
100
  if (reducer) {
73
- for (let i = 0; i < accumulatedResultQueue.length; i++) {
74
- const accumulatedResult = accumulatedResultQueue[i];
101
+ while (processing) {
102
+ await new Promise((resolve) => setTimeout(resolve, 10));
103
+ }
104
+ const accumulatedResult = accumulatedResultQueue.shift();
105
+ const accumulatedResolves = accumulatedResolvesQueue.shift();
106
+ if (accumulatedResult) {
107
+ const currentResolves = accumulatedResolves || [];
75
108
  let isEmpty = false;
76
109
  if (Array.isArray(accumulatedResult)) {
77
110
  isEmpty = accumulatedResult.length === 0;
@@ -82,30 +115,52 @@ function debounce(func, wait, maxWait, reducer) {
82
115
  else {
83
116
  isEmpty = Object.keys(accumulatedResult).length === 0;
84
117
  }
85
- if (isEmpty) {
86
- accumulatedResultQueue.splice(i, 1);
87
- i--;
88
- continue;
118
+ if (!isEmpty) {
119
+ try {
120
+ await func(accumulatedResult);
121
+ }
122
+ catch (error) {
123
+ console.error("Error invoking function:", error);
124
+ }
89
125
  }
90
- await func(accumulatedResult);
91
- accumulatedResultQueue.splice(i, 1);
92
- i--;
126
+ currentResolves.forEach((resolve) => resolve());
93
127
  }
94
128
  }
95
129
  else {
96
- await func(...args);
130
+ const currentResolves = [...resolveList];
131
+ resolveList = [];
132
+ try {
133
+ await func(...args);
134
+ }
135
+ catch (error) {
136
+ console.error("Error invoking function:", error);
137
+ }
138
+ currentResolves.forEach((resolve) => resolve());
97
139
  }
98
140
  }
99
141
  catch (error) {
100
- console.error("Error invoking function:", error);
142
+ console.error("Error invoking function (outer):", error);
101
143
  }
102
144
  finally {
103
- currentResolves.forEach((resolve) => resolve());
145
+ isInvoking = false;
146
+ if (reducer) {
147
+ if (pendingRetries > 0) {
148
+ pendingRetries--;
149
+ invokeFunction(...args);
150
+ }
151
+ }
152
+ else if (pendingRetries > 0) {
153
+ pendingRetries = 0;
154
+ if (lastArgs) {
155
+ invokeFunction(...lastArgs);
156
+ }
157
+ }
104
158
  }
105
159
  };
106
160
  function initiateDebounce() {
107
161
  console.debug("debouncing");
108
162
  timeoutId = setTimeout(() => {
163
+ timeoutId = undefined;
109
164
  if (lastTimeCalled) {
110
165
  const timeSinceLastCalled = Date.now() - lastTimeCalled;
111
166
  if (timeSinceLastCalled < wait) {
@@ -116,6 +171,7 @@ function debounce(func, wait, maxWait, reducer) {
116
171
  console.debug("debounce timeout is reached");
117
172
  if (reducer) {
118
173
  accumulatedResultQueue.push(reducer.initialValueFactory());
174
+ accumulatedResolvesQueue.push([]);
119
175
  }
120
176
  firstTimeCalled = null; // Reset timing
121
177
  invokeFunction(...args);
@@ -123,9 +179,6 @@ function debounce(func, wait, maxWait, reducer) {
123
179
  }
124
180
  function initiateMaxWaitReachedSequence() {
125
181
  console.debug("debounce maxWait is reached");
126
- if (reducer) {
127
- accumulatedResultQueue.push(reducer.initialValueFactory());
128
- }
129
182
  firstTimeCalled = null; // Reset timing
130
183
  invokeFunction(...args);
131
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/utils/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/utils/functions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emberflow",
3
- "version": "1.4.63",
3
+ "version": "1.4.64",
4
4
  "description": "A Firebase Cloud Functions library for handling document changes in a structured way",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.js",