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

28 lines (27 loc) 1.1 kB
"use strict"; import { FieldValidator } from "./field_validator.js"; import { CreditCardNetwork } from "../../models/credit_card_network.js"; import { getCreditCardNetworkFromNumber } from "../../helpers/credit_card_utils.js"; import { getConfiguredLocalizations } from "../../localizations/i18n.js"; export class CreditCardCvcValidator extends FieldValidator { constructor() { super(); const { t } = getConfiguredLocalizations(); this.addRule(t('moyasarTranslation:cvcRequired'), value => { return value.length === 0; }); this.addRule(t('moyasarTranslation:onlyDigits'), value => { return !/^\d+$/.test(value); }); this.addRule(t('moyasarTranslation:invalidCvc'), (value, creditCardNumber) => { const network = getCreditCardNetworkFromNumber(creditCardNumber ?? ''); if (network === CreditCardNetwork.unknown) { return value.length < 3 || value.length > 4; } return network === CreditCardNetwork.amex ? value.length !== 4 : value.length !== 3; }); } } //# sourceMappingURL=credit_card_cvc_validator.js.map