@rickcedwhat/playwright-smart-table 6.20.1-next.720a2e5 → 6.20.1-next.e946424
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.
|
@@ -37,6 +37,7 @@ async function runMap(env, callback, options = {}, label = 'map') {
|
|
|
37
37
|
const tracker = new elementTracker_1.ElementTracker(label);
|
|
38
38
|
log(env.config, `${label}: starting (maxPages=${effectiveMaxPages}, mode=${concurrency}, dedupe=${!!dedupeStrategy})`);
|
|
39
39
|
const results = [];
|
|
40
|
+
const seenLogicalIndices = new Set();
|
|
40
41
|
try {
|
|
41
42
|
let rowIndex = 0;
|
|
42
43
|
let stopped = false;
|
|
@@ -114,6 +115,13 @@ async function runMap(env, callback, options = {}, label = 'map') {
|
|
|
114
115
|
if (stopped && enumIndex > stoppedIndex) {
|
|
115
116
|
return SKIP;
|
|
116
117
|
}
|
|
118
|
+
// When resolveRowIndex is configured, identical logical indices across pages
|
|
119
|
+
// indicate the same record (e.g. re-created DOM elements in recycling
|
|
120
|
+
// virtualizers whose WeakMap entry was GC'd). Skip without processing.
|
|
121
|
+
if (row.rowIndex !== undefined && seenLogicalIndices.has(row.rowIndex)) {
|
|
122
|
+
log(env.config, `${label}: skipping duplicate logical row ${row.rowIndex}`);
|
|
123
|
+
return SKIP;
|
|
124
|
+
}
|
|
117
125
|
// Wait for the row to finish loading BEFORE evaluating its dedupe key (Bug #355).
|
|
118
126
|
// map/forEach/filter process a still-loading row when no timeout is set (unlike
|
|
119
127
|
// findRows, which skips) — see resolveRowLoading's `noTimeoutAction`.
|
|
@@ -144,6 +152,9 @@ async function runMap(env, callback, options = {}, label = 'map') {
|
|
|
144
152
|
if (dedupeKeys && dedupeKey !== undefined && result !== SKIP) {
|
|
145
153
|
dedupeKeys.add(dedupeKey);
|
|
146
154
|
}
|
|
155
|
+
if (row.rowIndex !== undefined && result !== SKIP) {
|
|
156
|
+
seenLogicalIndices.add(row.rowIndex);
|
|
157
|
+
}
|
|
147
158
|
return result;
|
|
148
159
|
}
|
|
149
160
|
finally {
|
package/dist/packageVersion.d.ts
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Generated by scripts/embed-version.mjs from package.json
|
|
4
4
|
*/
|
|
5
5
|
/** Semver of this package. Use in logs or diagnostics to confirm the installed build. */
|
|
6
|
-
export declare const PLAYWRIGHT_SMART_TABLE_VERSION: "6.20.1-next.
|
|
6
|
+
export declare const PLAYWRIGHT_SMART_TABLE_VERSION: "6.20.1-next.e946424";
|
package/dist/packageVersion.js
CHANGED
|
@@ -6,4 +6,4 @@ exports.PLAYWRIGHT_SMART_TABLE_VERSION = void 0;
|
|
|
6
6
|
* Generated by scripts/embed-version.mjs from package.json
|
|
7
7
|
*/
|
|
8
8
|
/** Semver of this package. Use in logs or diagnostics to confirm the installed build. */
|
|
9
|
-
exports.PLAYWRIGHT_SMART_TABLE_VERSION = "6.20.1-next.
|
|
9
|
+
exports.PLAYWRIGHT_SMART_TABLE_VERSION = "6.20.1-next.e946424";
|
package/package.json
CHANGED