UNPKG

@widergy/web-utils

Version:
41 lines (40 loc) 2.08 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getIssuer = exports.fixCreditCardsPatterns = void 0; const payment_1 = __importDefault(require("payment")); const regularExpressions_1 = require("./constants/regularExpressions"); const creditCards_1 = require("./constants/creditCards"); const changeRegexPattern = (payment, issuer, regex) => { const rules = payment.getCardArray().find((rulesObj) => rulesObj.type === issuer); payment.removeFromCardArray(issuer); payment.addToCardArray(Object.assign({}, rules, { pattern: regex })); }; const fixCreditCardsPatterns = (payment) => { changeRegexPattern(payment, creditCards_1.cards.MAESTRO, regularExpressions_1.maestroPatternsRegex); changeRegexPattern(payment, creditCards_1.cards.VISA_ELECTRON, regularExpressions_1.visaElectronRegex); changeRegexPattern(payment, creditCards_1.cards.HIPERCARD, regularExpressions_1.hipercardPatternsRegex); const visaRules = payment.getCardArray().find((rulesObj) => rulesObj.type === creditCards_1.cards.VISA); payment.removeFromCardArray(creditCards_1.cards.VISA); payment.addToCardArray(visaRules); const cabalRules = payment.getCardArray().find((rulesObj) => rulesObj.type === creditCards_1.cards.CABAL); if (!cabalRules) payment.addToCardArray(creditCards_1.cabalRulesDefinition); const naranjaRules = payment.getCardArray().find((rulesObj) => rulesObj.type === creditCards_1.cards.NARANJA); if (!naranjaRules) payment.addToCardArray(creditCards_1.naranjaRulesDefinition); }; exports.fixCreditCardsPatterns = fixCreditCardsPatterns; const getIssuer = (value) => { let payment = {}; payment = payment_1.default; (0, exports.fixCreditCardsPatterns)(payment); return payment.fns.cardType(value); }; exports.getIssuer = getIssuer; const CREDIT_CARD_UTILS = { getIssuer: exports.getIssuer, }; exports.default = CREDIT_CARD_UTILS;