Skip to content

Commit 994fe8c

Browse files
committed
getVars: do not add same objects while concat
1 parent 57bed77 commit 994fe8c

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

lib/core.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -981,6 +981,8 @@
981981
allResults.vars[key] = v.concat(oldValue);
982982
}
983983

984+
allResults.vars[key] = filterSameObjects(allResults.vars[key]);
985+
984986
} else {
985987
// Merge object mode.
986988
if (newValueOverrides) {

lib/utils.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,3 +1496,14 @@ export function isBlocked(url, options, cb) {
14961496
}
14971497
});
14981498
}
1499+
1500+
export function filterSameObjects(array) {
1501+
const seen = new Set();
1502+
return array.filter(obj => {
1503+
// Generate JSON with sorted keys.
1504+
const key = JSON.stringify(Object.fromEntries(Object.entries(obj).sort(([a], [b]) => a.localeCompare(b))));
1505+
if (seen.has(key)) return false;
1506+
seen.add(key);
1507+
return true;
1508+
});
1509+
}

0 commit comments

Comments
 (0)