JavaScript EAN13 Soma de verificação gerada

function getLastEan13Digit(ean) { 
  if (!ean || ean.length !== 12) throw new Error('Invalid EAN 13, should have 12 digits'); 
  const multiply = [1, 3]; 
  let total = 0; 
  ean.split('').forEach((letter, index) => { 
    total += parseInt(letter, 10) * multiply[index % 2]; 
  }); 
  const base10Superior = Math.ceil(total / 10) * 10; 
  return base10Superior - total;
}
Matteoweb