@widergy/web-utils
Version:
Utility GO! Web utils
41 lines (40 loc) • 2.08 kB
JavaScript
;
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;