Comparing version 2.4.6 to 2.4.7
@@ -15,3 +15,3 @@ "use strict"; | ||
exports.fakerBr = exports.maskBr = exports.utilsBr = exports.validateBr = void 0; | ||
var utils = require("./src/utils"); | ||
var utils_1 = require("./src/utils"); | ||
var validate_1 = require("./src/validate"); | ||
@@ -24,3 +24,3 @@ Object.defineProperty(exports, "validateBr", { enumerable: true, get: function () { return validate_1.validateBr; } }); | ||
var estados_1 = require("./src/estados"); | ||
exports.utilsBr = __assign(__assign({}, utils), { MASKS: mask_1.MASKS, | ||
exports.utilsBr = __assign(__assign({}, utils_1.default), { MASKS: mask_1.MASKS, | ||
MASKSIE: mask_1.MASKSIE, | ||
@@ -27,0 +27,0 @@ PLACAS_RANGE: placa_1.PLACAS_RANGE, |
@@ -34,14 +34,21 @@ "use strict"; | ||
} | ||
// | ||
// Removi a validação do tipo da empresa abaixo | ||
// devido a ambiguidade entre a especificação do | ||
// Sintegra (http://www.sintegra.gov.br/Cad_Estados/cad_AL.html) e do | ||
// site do da Sefaz do Alagoas (http://www.sefaz.al.gov.br/sintegra/cad_AL.asp). | ||
// Veja o issue #4 - https://github.com/gammasoft/ie/issues/4 | ||
// | ||
// if('03578'.split('').indexOf(valor.substring(2, 3)) === -1) { | ||
// return false; | ||
// } | ||
// FORMAÇÃO: 24XNNNNND, sendo: | ||
// 24 – Código do Estado | ||
// X – Tipo de empresa (0-Normal, 3-Produtor Rural, 5-Substituta, 7- Micro-Empresa Ambulante, 8-Micro-Empresa) | ||
// NNNNN – Número da empresa | ||
// D – Dígito de verificação calculado pelo Módulo11, pêsos 2 à 9 da direita para a esquerda, exceto D | ||
// Exemplo: Número 2 4 0 0 0 0 0 4 D | ||
// 2 4 X N N N N N D | ||
// Fonte: http://www.sintegra.gov.br/Cad_Estados/cad_AL.html | ||
var base = primeiros(valor); | ||
var resto = 11 - mod(base); | ||
// Pesos 9 8 7 6 5 4 3 2 | ||
// SOMA = (2 * 4) + (3 * 0) + (4 * 0) + (5 * 0) + (6 * 0) + (7 * 0) + (8 * 4) + (9 * 2) = 58 | ||
var soma = base.split('').reduce(function (acc, v, i) { | ||
return acc + (9 - i) * Number(v); | ||
}, 0); | ||
// PRODUTO = 58 * 10 = 580 | ||
var produto = soma * 10; | ||
// RESTO = 580 – INTEIRO(580 / 11)*11 = 580 – (52*11) = 8 | ||
var resto = produto - Math.floor(produto / 11) * 11; | ||
// DÍGITO = 8 - Caso RESTO seja igual a 10 o DÍGITO será 0 (zero) | ||
var digito = resto === 10 ? 0 : resto; | ||
@@ -48,0 +55,0 @@ return base + digito; |
@@ -94,4 +94,12 @@ "use strict"; | ||
} | ||
input = input.replace('%', ''); | ||
input = input.replace(/\./g, '').replace(',', '.'); | ||
// Keeping just numbers . and , | ||
input = input.replace(/[^0-9.,]+/, ''); | ||
// eua format | ||
if (input.indexOf('.') === (input.length - 1) - 2) { | ||
input = input.replace(/\,/g, ''); | ||
} | ||
// br format | ||
else { | ||
input = input.replace(/\./g, '').replace(',', '.'); | ||
} | ||
return parseFloat(input); | ||
@@ -263,2 +271,24 @@ } | ||
}; | ||
var utilsBr = { | ||
isPresent: isPresent, | ||
isArray: isArray, | ||
isString: isString, | ||
isNumber: isNumber, | ||
isNil: isNil, | ||
processCaretTraps: processCaretTraps, | ||
allNumbersAreSame: allNumbersAreSame, | ||
getAllDigits: getAllDigits, | ||
getAllWords: getAllWords, | ||
currencyToNumber: currencyToNumber, | ||
numberToCurrency: numberToCurrency, | ||
slugify: slugify, | ||
fillString: fillString, | ||
randArray: randArray, | ||
rand: rand, | ||
randomNumber: randomNumber, | ||
randomLetter: randomLetter, | ||
randomLetterOrNumber: randomLetterOrNumber, | ||
getSpecialProperty: getSpecialProperty | ||
}; | ||
exports.default = utilsBr; | ||
//# sourceMappingURL=utils.js.map |
@@ -7,4 +7,11 @@ "use strict"; | ||
it('Utils currencyToNumber Currency', function () { | ||
var number = 1234456.44; | ||
// Br format | ||
var currency = index_1.utilsBr.currencyToNumber(' R$ 1.234.456,44 '); | ||
chai_1.expect(currency).to.be.equal(1234456.44); | ||
chai_1.expect(currency).to.be.equal(number); | ||
// USA format | ||
var currencyFormatEN = index_1.utilsBr.currencyToNumber(' R$ 1234456.44 '); | ||
chai_1.expect(currencyFormatEN).to.be.equal(number); | ||
var currencyEN = index_1.utilsBr.currencyToNumber(' USD 1234456.44 '); | ||
chai_1.expect(currencyEN).to.be.equal(number); | ||
}); | ||
@@ -11,0 +18,0 @@ it('Utils currencyToNumber Porcentagem', function () { |
@@ -189,5 +189,7 @@ "use strict"; | ||
it('Alagoas', function () { | ||
chai_1.expect(index_1.validateBr.inscricaoestadual('248167308', 'al')).to.be.true; | ||
chai_1.expect(index_1.validateBr.inscricaoestadual('248748394', 'al')).to.be.true; | ||
chai_1.expect(index_1.validateBr.inscricaoestadual('248748390', 'al')).to.be.false; | ||
chai_1.expect(index_1.validateBr.inscricaoestadual('24816730-8', 'al')).to.be.true; | ||
chai_1.expect(index_1.validateBr.inscricaoestadual('24874839-4', 'al')).to.be.true; | ||
chai_1.expect(index_1.validateBr.inscricaoestadual('24874839-0', 'al')).to.be.false; | ||
chai_1.expect(index_1.validateBr.inscricaoestadual('240000048', 'al')).to.be.true; | ||
chai_1.expect(index_1.validateBr.inscricaoestadual('240841530', 'al')).to.be.true; | ||
}); | ||
@@ -194,0 +196,0 @@ it('Amazonas', function () { |
@@ -1,2 +0,2 @@ | ||
import * as utils from './src/utils'; | ||
import utils from './src/utils'; | ||
export { validateBr } from './src/validate'; | ||
@@ -3,0 +3,0 @@ import faker from './src/faker'; |
{ | ||
"name": "js-brasil", | ||
"version": "2.4.6", | ||
"version": "2.4.7", | ||
"description": "Javascript Utils para Brasil (cpf, cnpj...)", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -43,20 +43,25 @@ import { allNumbersAreSame } from './utils'; | ||
} | ||
// FORMAÇÃO: 24XNNNNND, sendo: | ||
// 24 – Código do Estado | ||
// X – Tipo de empresa (0-Normal, 3-Produtor Rural, 5-Substituta, 7- Micro-Empresa Ambulante, 8-Micro-Empresa) | ||
// NNNNN – Número da empresa | ||
// D – Dígito de verificação calculado pelo Módulo11, pêsos 2 à 9 da direita para a esquerda, exceto D | ||
// Exemplo: Número 2 4 0 0 0 0 0 4 D | ||
// 2 4 X N N N N N D | ||
// Fonte: http://www.sintegra.gov.br/Cad_Estados/cad_AL.html | ||
// | ||
// Removi a validação do tipo da empresa abaixo | ||
// devido a ambiguidade entre a especificação do | ||
// Sintegra (http://www.sintegra.gov.br/Cad_Estados/cad_AL.html) e do | ||
// site do da Sefaz do Alagoas (http://www.sefaz.al.gov.br/sintegra/cad_AL.asp). | ||
// Veja o issue #4 - https://github.com/gammasoft/ie/issues/4 | ||
// | ||
// if('03578'.split('').indexOf(valor.substring(2, 3)) === -1) { | ||
// return false; | ||
// } | ||
const base: any = primeiros(valor); | ||
const resto = 11 - mod(base); | ||
const digito = resto === 10 ? 0 : resto; | ||
// Pesos 9 8 7 6 5 4 3 2 | ||
// SOMA = (2 * 4) + (3 * 0) + (4 * 0) + (5 * 0) + (6 * 0) + (7 * 0) + (8 * 4) + (9 * 2) = 58 | ||
const soma = base.split('').reduce((acc: number, v: string, i: number) => { | ||
return acc + (9-i) * Number(v) | ||
}, 0) | ||
// PRODUTO = 58 * 10 = 580 | ||
const produto = soma * 10 | ||
// RESTO = 580 – INTEIRO(580 / 11)*11 = 580 – (52*11) = 8 | ||
const resto = produto - Math.floor(produto / 11) * 11 | ||
// DÍGITO = 8 - Caso RESTO seja igual a 10 o DÍGITO será 0 (zero) | ||
const digito = resto === 10 ? 0 : resto | ||
return base + digito; | ||
@@ -63,0 +68,0 @@ }, |
@@ -102,5 +102,14 @@ import { ESTADOS_SIGLA } from './estados'; | ||
input = input.replace('%', ''); | ||
input = input.replace(/\./g, '').replace(',', '.'); | ||
// Keeping just numbers . and , | ||
input = input.replace(/[^0-9.,]+/, ''); | ||
// eua format | ||
if(input.indexOf('.') === (input.length - 1) -2){ | ||
input = input.replace(/\,/g, '') | ||
} | ||
// br format | ||
else{ | ||
input = input.replace(/\./g, '').replace(',', '.'); | ||
} | ||
return parseFloat(input); | ||
@@ -267,2 +276,26 @@ } | ||
}; | ||
} | ||
} | ||
const utilsBr = { | ||
isPresent, | ||
isArray, | ||
isString, | ||
isNumber, | ||
isNil, | ||
processCaretTraps, | ||
allNumbersAreSame, | ||
getAllDigits, | ||
getAllWords, | ||
currencyToNumber, | ||
numberToCurrency, | ||
slugify, | ||
fillString, | ||
randArray, | ||
rand, | ||
randomNumber, | ||
randomLetter, | ||
randomLetterOrNumber, | ||
getSpecialProperty | ||
} | ||
export default utilsBr; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
1494692
28573