export function isValid(isbn: string): boolean {
const clean = isbn.replace(/-/g, '');
if (clean.length !== 10) return false;
let sum = 0;
for (let i = 0; i < 10; i++) {
const char = clean[i];
let val: number;
if (i === 9 && char === 'X') {
val = 10;
} else if (/[0-9]/.test(char)) {
val = parseInt(char);
} else {
return false;
}
sum += val * (10 - i);
}
return sum % 11 === 0;
}