UNPKG

@alexssmusica/node-pdf-nfe

Version:

Modulo que auxilia na geração da Danfe NFe e NFCe.

51 lines (50 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatStateRegistration = void 0; function formatStateRegistration(stateRegistration) { if (!stateRegistration) return ''; const cleanInscricao = stateRegistration.replace(/\D/g, ''); const formats = { 8: '$1.$2-$3', 9: '$1.$2.$3-$4', 10: '$1.$2.$3-$4', 11: '$1.$2.$3-$4', 12: '$1.$2.$3.$4-$5', 13: '$1.$2.$3-$4', 14: '$1.$2.$3.$4-$5' }; const length = cleanInscricao.length; const format = formats[length]; if (!format) { return ''; } let regexPattern = new RegExp(''); if (length === 8) { regexPattern = /(\d{3})(\d{3})(\d{2})/; } else if (length === 9) { regexPattern = /(\d{2})(\d{3})(\d{3})(\d{1})/; } else if (length === 10) { regexPattern = /(\d{2})(\d{3})(\d{3})(\d{2})/; } else if (length === 11) { regexPattern = /(\d{3})(\d{3})(\d{3})(\d{2})/; } else if (length === 12) { regexPattern = /(\d{2})(\d{3})(\d{3})(\d{3})(\d{1})/; } else if (length === 13) { regexPattern = /(\d{2})(\d{3})(\d{3})(\d{2})(\d{2})/; } else if (length === 14) { regexPattern = /(\d{3})(\d{3})(\d{3})(\d{3})(\d{2})/; } const match = cleanInscricao.match(regexPattern); if (!match) { return ''; } return format.replace(/\$(\d+)/g, (_, index) => match[parseInt(index)] || ''); } exports.formatStateRegistration = formatStateRegistration;