@stacksjs/ts-validation
Version:
A simple TypeScript starter kit using Bun.
20 lines (19 loc) • 683 B
TypeScript
declare const cards: Record<string, RegExp>;
declare const tmpCardsArray: RegExp[];
export default function isCreditCard(card: string, options: CreditCardOptions = {}): boolean {
assertString(card)
const { provider } = options
const sanitized = card.replace(/[- ]+/g, '')
if (provider && provider.toLowerCase() in cards) {
if (!(cards[provider.toLowerCase()].test(sanitized))) {
return false
}
}
else if (provider && !(provider.toLowerCase() in cards)) {
throw new Error(`${provider} is not a valid credit card provider.`)
}
else if (!allCards.some(cardProvider => cardProvider.test(sanitized))) {
return false
}
return isLuhnValid(card)
};