@malga-checkout-full/core
Version:
Core components for Malga Checkout Full
58 lines (53 loc) • 1.76 kB
JavaScript
;
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;