// Utilitaire pour merger les résultats de plusieurs agrégateurs function normalizeTitle(str) { return str ? str.toLowerCase().replace(/[^a-z0-9]/g, '') : ''; } function normalizeTitle(str) { return str ? str.toLowerCase().replace(/[^a-z0-9]/g, '') : ''; } function mergeResults(arrays) { const map = {}; arrays.flat().forEach(entry => { // Note: only title, fallback if no year const key = normalizeTitle(entry.title) + (entry.year ? '|' + entry.year : ''); if (!map[key]) { map[key] = { title: entry.title, year: entry.year, results: [] }; } map[key].results.push({ source: entry.source, ...entry }); }); return Object.values(map); } module.exports = { mergeResults };