@taiga-ui/addon-commerce
Version:
Extension package for Taiga UI related to commerce, payment systems, currencies etc.
22 lines • 2.63 kB
JavaScript
import { tuiGetPaymentSystem } from './get-payment-system';
/**
* Validates card number length using payment system dictionary
*/
export function tuiIsCardLengthValid(cardNumber) {
const { length } = cardNumber;
const paymentSystem = tuiGetPaymentSystem(cardNumber);
switch (paymentSystem) {
case 'electron':
return length === 16;
case 'maestro':
return length > 11 && length < 20;
case 'mastercard':
case 'mir':
return length > 15 && length < 20;
case 'visa':
return length > 12 && length < 20;
default:
return length > 8 && length < 20;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY2FyZC1sZW5ndGgtdmFsaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS91dGlscy9pcy1jYXJkLWxlbmd0aC12YWxpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RDs7R0FFRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxVQUFrQjtJQUNuRCxNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsVUFBVSxDQUFDO0lBQzVCLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXRELFFBQVEsYUFBYSxFQUFFO1FBQ25CLEtBQUssVUFBVTtZQUNYLE9BQU8sTUFBTSxLQUFLLEVBQUUsQ0FBQztRQUN6QixLQUFLLFNBQVM7WUFDVixPQUFPLE1BQU0sR0FBRyxFQUFFLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUN0QyxLQUFLLFlBQVksQ0FBQztRQUNsQixLQUFLLEtBQUs7WUFDTixPQUFPLE1BQU0sR0FBRyxFQUFFLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUN0QyxLQUFLLE1BQU07WUFDUCxPQUFPLE1BQU0sR0FBRyxFQUFFLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUN0QztZQUNJLE9BQU8sTUFBTSxHQUFHLENBQUMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0tBQ3hDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpR2V0UGF5bWVudFN5c3RlbX0gZnJvbSAnLi9nZXQtcGF5bWVudC1zeXN0ZW0nO1xuXG4vKipcbiAqIFZhbGlkYXRlcyBjYXJkIG51bWJlciBsZW5ndGggdXNpbmcgcGF5bWVudCBzeXN0ZW0gZGljdGlvbmFyeVxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNDYXJkTGVuZ3RoVmFsaWQoY2FyZE51bWJlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qge2xlbmd0aH0gPSBjYXJkTnVtYmVyO1xuICAgIGNvbnN0IHBheW1lbnRTeXN0ZW0gPSB0dWlHZXRQYXltZW50U3lzdGVtKGNhcmROdW1iZXIpO1xuXG4gICAgc3dpdGNoIChwYXltZW50U3lzdGVtKSB7XG4gICAgICAgIGNhc2UgJ2VsZWN0cm9uJzpcbiAgICAgICAgICAgIHJldHVybiBsZW5ndGggPT09IDE2O1xuICAgICAgICBjYXNlICdtYWVzdHJvJzpcbiAgICAgICAgICAgIHJldHVybiBsZW5ndGggPiAxMSAmJiBsZW5ndGggPCAyMDtcbiAgICAgICAgY2FzZSAnbWFzdGVyY2FyZCc6XG4gICAgICAgIGNhc2UgJ21pcic6XG4gICAgICAgICAgICByZXR1cm4gbGVuZ3RoID4gMTUgJiYgbGVuZ3RoIDwgMjA7XG4gICAgICAgIGNhc2UgJ3Zpc2EnOlxuICAgICAgICAgICAgcmV0dXJuIGxlbmd0aCA+IDEyICYmIGxlbmd0aCA8IDIwO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGxlbmd0aCA+IDggJiYgbGVuZ3RoIDwgMjA7XG4gICAgfVxufVxuIl19