UNPKG

@malga-checkout-full/core

Version:
58 lines (53 loc) 1.76 kB
'use strict'; const index = require('./index-98d471a6.js'); const currency = require('./currency-c8f275f9.js'); const getCardBrand = (firstCardNumbers) => { const permittedBrands = [ 'american-express', 'diners-club', 'discover', 'elo', 'hipercard', 'mastercard', 'visa', ]; const cardBrand = index.src_default.valid.number(firstCardNumbers).card.type; const isPermittedBrand = permittedBrands.includes(cardBrand); return isPermittedBrand ? cardBrand : undefined; }; const applyCardMask = (cardNumber, cardMask) => { const cleanNumber = cardNumber.replace(/\D/g, ''); if (!cardMask || cardMask.trim() === '') { cardMask = '9999 9999 9999 9999'; } const cardValidation = index.src_default.valid.number(cleanNumber); const maskedNumber = []; let currentDigitIndex = 0; for (let maskPosition = 0; maskPosition < cardMask.length; maskPosition++) { const currentMaskChar = cardMask[maskPosition]; if (currentMaskChar === '9') { if (currentDigitIndex < cleanNumber.length) { maskedNumber.push(cleanNumber[currentDigitIndex]); currentDigitIndex++; } else { if (!cardValidation.isValid) { maskedNumber.push('•'); } } } else { maskedNumber.push(currentMaskChar); } } return maskedNumber.join(''); }; const centsToReal = (amount, currency$1) => { if (!amount) { return 'R$00,00'; } return currency.formatCurrency(amount, currency$1); }; exports.applyCardMask = applyCardMask; exports.centsToReal = centsToReal; exports.getCardBrand = getCardBrand;