UNPKG

react-native-moyasar-sdk

Version:

Official React Native Moyasar SDK - Integrate Credit Cards, Apple Pay, Samsung Pay, and STC Pay with simple interfaces for a seamless payment experience in your React Native app

27 lines (25 loc) 1.16 kB
"use strict"; import { FieldValidator } from "./field_validator.js"; import { getCreditCardNetworkFromNumber, isValidLuhn } from "../../helpers/credit_card_utils.js"; import { CreditCardNetwork } from "../../models/credit_card_network.js"; import { getConfiguredLocalizations } from "../../localizations/i18n.js"; export class CreditCardNumberValidator extends FieldValidator { constructor() { super(); const { t } = getConfiguredLocalizations(); this.addRule(t('moyasarTranslation:cardNumberRequired'), value => { return value.length === 0; }); this.addRule(t('moyasarTranslation:invalidCardNumber'), value => { return value.length < 15 || !isValidLuhn(value); }); this.addRule(t('moyasarTranslation:unsupportedCreditCardNetwork'), (value, _, supportedNetworks) => { const cardNetwork = getCreditCardNetworkFromNumber(value); // Checks for the supported card only if supportedNetworks is provided return cardNetwork === CreditCardNetwork.unknown || !!supportedNetworks && !supportedNetworks.includes(cardNetwork); }); } } //# sourceMappingURL=credit_card_number_validator.js.map