// 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 };