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": "+
|
|
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
|
-
|
|
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(
|
|
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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"}
|
package/lib/utils/functions.js
CHANGED
|
@@ -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
|
|
24
|
-
if (!
|
|
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
|
-
|
|
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
|
-
|
|
74
|
-
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
118
|
+
if (!isEmpty) {
|
|
119
|
+
try {
|
|
120
|
+
await func(accumulatedResult);
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
console.error("Error invoking function:", error);
|
|
124
|
+
}
|
|
89
125
|
}
|
|
90
|
-
|
|
91
|
-
accumulatedResultQueue.splice(i, 1);
|
|
92
|
-
i--;
|
|
126
|
+
currentResolves.forEach((resolve) => resolve());
|
|
93
127
|
}
|
|
94
128
|
}
|
|
95
129
|
else {
|
|
96
|
-
|
|
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
|
-
|
|
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":";;;AAAA,SAAgB,QAAQ,CACtB,IAAyF,EACzF,IAAY,EACZ,OAAgB,EAChB,OAGC;IAED,MAAM,sBAAsB,GAAQ,EAAE,CAAC;IACvC,IAAI,OAAO,EAAE;QACX,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/utils/functions.ts"],"names":[],"mappings":"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"}
|