@@ -25,7 +25,7 @@ formatCpf('746506880', { pad: true }); // 007.465.068-80
2525
2626## parseCpf
2727
28- Remove a formatação do CPF e retorna apenas os dígitos.
28+ Remove a formatação do CPF, mantém apenas os dígitos e limita o resultado a 11 dígitos.
2929
3030``` javascript
3131import { parseCpf } from ' @brazilian-utils/brazilian-utils' ;
@@ -67,7 +67,7 @@ formatCnpj('12OUT345000199', { version: 2 }); // 12.OUT.345/0001-99
6767
6868## parseCnpj
6969
70- Remove a formatação do CNPJ e retorna um valor normalizado.
70+ Remove a formatação do CNPJ, retorna um valor normalizado e limita o resultado a 14 caracteres .
7171
7272``` javascript
7373import { parseCnpj } from ' @brazilian-utils/brazilian-utils' ;
@@ -119,7 +119,7 @@ formatBoleto('1900000901149', { pad: true }); // 00000.00000 00000.000019 00000.
119119
120120## parseBoleto
121121
122- Remove a formatação do boleto e retorna apenas os dígitos.
122+ Remove a formatação do boleto, mantém apenas os dígitos e limita o resultado a 47 dígitos.
123123
124124``` javascript
125125import { parseBoleto } from ' @brazilian-utils/brazilian-utils' ;
@@ -182,12 +182,13 @@ formatPhone('11900000000', { mask: 'auto' }); // Detecta automaticamente a másc
182182
183183## parsePhone
184184
185- Remove a formatação do telefone e retorna apenas os dígitos.
185+ Remove a formatação do telefone, mantém apenas os dígitos e limita o resultado a 11 dígitos.
186186
187187``` javascript
188188import { parsePhone } from ' @brazilian-utils/brazilian-utils' ;
189189
190190parsePhone (' (11) 90000-0000' ); // 11900000000
191+ parsePhone (' +55 (11) 90000-0000' ); // 55119000000
191192```
192193
193194## isValidMobilePhone
@@ -258,7 +259,7 @@ formatPis('123456789', { pad: true }); // 001.23456.78-9
258259
259260## parsePis
260261
261- Remove a formatação do PIS e retorna apenas os dígitos.
262+ Remove a formatação do PIS, mantém apenas os dígitos e limita o resultado a 11 dígitos.
262263
263264``` javascript
264265import { parsePis } from ' @brazilian-utils/brazilian-utils' ;
@@ -278,7 +279,7 @@ formatCep('92500000'); // 92500-000
278279
279280## parseCep
280281
281- Remove a formatação do CEP e retorna apenas os dígitos.
282+ Remove a formatação do CEP, mantém apenas os dígitos e limita o resultado a 8 dígitos.
282283
283284``` javascript
284285import { parseCep } from ' @brazilian-utils/brazilian-utils' ;
@@ -328,7 +329,7 @@ formatProcessoJuridico('00020802520125150049'); // 0002080-25.2012.515.0049
328329
329330## parseProcessoJuridico
330331
331- Remove a formatação do processo jurídico e retorna apenas os dígitos.
332+ Remove a formatação do processo jurídico, mantém apenas os dígitos e limita o resultado a 20 dígitos.
332333
333334``` javascript
334335import { parseProcessoJuridico } from ' @brazilian-utils/brazilian-utils' ;
@@ -518,7 +519,7 @@ isValidPassport('12345678'); // false
518519
519520## formatPassport
520521
521- Formata um número de passaporte brasileiro (maiúsculas, sem símbolos).
522+ Formata um número de passaporte brasileiro (maiúsculas, sem símbolos, limitado a 8 caracteres ).
522523
523524``` javascript
524525import { formatPassport } from ' @brazilian-utils/brazilian-utils' ;
@@ -539,11 +540,287 @@ generatePassport(); // 'RY393097'
539540
540541## parsePassport
541542
542- Remove todos os caracteres não alfanuméricos (incluindo '-', '.' e espaços) de um número de passaporte .
543+ Remove todos os caracteres não alfanuméricos de um número de passaporte, converte para maiúsculas e limita o resultado a 8 caracteres .
543544
544545``` javascript
545546import { parsePassport } from ' @brazilian-utils/brazilian-utils' ;
546547
547548parsePassport (' AB-123.456' ); // 'AB123456'
548549parsePassport (' AB 123 456 ' ); // 'AB123456'
549550```
551+
552+ ## generateCep
553+
554+ Gera um CEP aleatório.
555+
556+ ``` javascript
557+ import { generateCep } from ' @brazilian-utils/brazilian-utils' ;
558+
559+ generateCep (); // '92500000'
560+ ```
561+
562+ ## formatCnh
563+
564+ Formata a CNH.
565+
566+ ``` javascript
567+ import { formatCnh } from ' @brazilian-utils/brazilian-utils' ;
568+
569+ formatCnh (' 02650306461' ); // 026503064-61
570+ formatCnh (' 2650306461' , { pad: true }); // 026503064-61
571+ ```
572+
573+ ## isValidCnh
574+
575+ Valida se a CNH é válida.
576+
577+ ``` javascript
578+ import { isValidCnh } from ' @brazilian-utils/brazilian-utils' ;
579+
580+ isValidCnh (' 00000000119' ); // true
581+ ```
582+
583+ ## generateCnh
584+
585+ Gera uma CNH válida aleatória.
586+
587+ ``` javascript
588+ import { generateCnh } from ' @brazilian-utils/brazilian-utils' ;
589+
590+ generateCnh (); // '02650306461'
591+ ```
592+
593+ ## parseCnh
594+
595+ Remove a formatação da CNH, mantém apenas os dígitos e limita o resultado a 11 dígitos.
596+
597+ ``` javascript
598+ import { parseCnh } from ' @brazilian-utils/brazilian-utils' ;
599+
600+ parseCnh (' 026503064-61' ); // '02650306461'
601+ ```
602+
603+ ## getCepInfoByAddress
604+
605+ Busca CEPs a partir de um endereço usando a ViaCEP.
606+
607+ ``` javascript
608+ import { getCepInfoByAddress } from ' @brazilian-utils/brazilian-utils' ;
609+
610+ const ceps = await getCepInfoByAddress ({
611+ federalUnit: ' SP' ,
612+ city: ' Sao Paulo' ,
613+ street: ' Avenida Paulista'
614+ });
615+
616+ // [
617+ // {
618+ // cep: '01310100',
619+ // logradouro: 'Avenida Paulista',
620+ // complemento: 'lado par',
621+ // bairro: 'Bela Vista',
622+ // localidade: 'São Paulo',
623+ // uf: 'SP'
624+ // }
625+ // ]
626+ ```
627+
628+ ## generateProcessoJuridico
629+
630+ Gera um número de processo jurídico válido de acordo com a definição do [ CNJ] ( https://www.conjur.com.br/dl/resolucao-65-cnj.pdf ) .
631+
632+ ``` javascript
633+ import { generateProcessoJuridico } from ' @brazilian-utils/brazilian-utils' ;
634+
635+ generateProcessoJuridico (); // '00020802520125150049'
636+ generateProcessoJuridico ({ year: 2026 , court: 5 }); // string | null
637+ ```
638+
639+ ## formatLegalNature
640+
641+ Formata um código de natureza jurídica.
642+
643+ ``` javascript
644+ import { formatLegalNature } from ' @brazilian-utils/brazilian-utils' ;
645+
646+ formatLegalNature (' 2062' ); // 206-2
647+ ```
648+
649+ ## isValidLegalNature
650+
651+ Valida se um código de natureza jurídica existe na lista oficial.
652+
653+ ``` javascript
654+ import { isValidLegalNature } from ' @brazilian-utils/brazilian-utils' ;
655+
656+ isValidLegalNature (' 2062' ); // true
657+ isValidLegalNature (' 9999' ); // false
658+ ```
659+
660+ ## generateLegalNature
661+
662+ Gera um código de natureza jurídica válido aleatório.
663+
664+ ``` javascript
665+ import { generateLegalNature } from ' @brazilian-utils/brazilian-utils' ;
666+
667+ generateLegalNature (); // '2062'
668+ ```
669+
670+ ## parseLegalNature
671+
672+ Remove a formatação da natureza jurídica, mantém apenas os dígitos e limita o resultado a 4 dígitos.
673+
674+ ``` javascript
675+ import { parseLegalNature } from ' @brazilian-utils/brazilian-utils' ;
676+
677+ parseLegalNature (' 206-2' ); // '2062'
678+ ```
679+
680+ ## getLegalNatures
681+
682+ Retorna o mapa de naturezas jurídicas indexado pelo código.
683+
684+ ``` javascript
685+ import { getLegalNatures } from ' @brazilian-utils/brazilian-utils' ;
686+
687+ const legalNatures = getLegalNatures ();
688+
689+ legalNatures[' 2062' ]; // 'Sociedade Empresária Limitada'
690+ ```
691+
692+ ## generatePhone
693+
694+ Gera um telefone brasileiro aleatório.
695+
696+ ``` javascript
697+ import { generatePhone } from ' @brazilian-utils/brazilian-utils' ;
698+
699+ generatePhone (); // '11912345678' ou '1131234567'
700+ generatePhone (' mobile' ); // '11912345678'
701+ generatePhone (' landline' ); // '1131234567'
702+ ```
703+
704+ ## formatLicensePlate
705+
706+ Formata uma placa. Placas antigas brasileiras são retornadas com hífen e placas Mercosul permanecem normalizadas.
707+
708+ ``` javascript
709+ import { formatLicensePlate } from ' @brazilian-utils/brazilian-utils' ;
710+
711+ formatLicensePlate (' abc1234' ); // 'ABC-1234'
712+ formatLicensePlate (' abc1d23' ); // 'ABC1D23'
713+ ```
714+
715+ ## generateLicensePlate
716+
717+ Gera uma placa aleatória no formato escolhido.
718+
719+ ``` javascript
720+ import { generateLicensePlate } from ' @brazilian-utils/brazilian-utils' ;
721+
722+ generateLicensePlate (); // 'ABC1D23'
723+ generateLicensePlate (' LLLNNNN' ); // 'ABC1234'
724+ generateLicensePlate (' LLLNNLN' ); // 'ABC12D3'
725+ ```
726+
727+ ## getFormatLicensePlate
728+
729+ Detecta o formato normalizado de uma placa.
730+
731+ ``` javascript
732+ import { getFormatLicensePlate } from ' @brazilian-utils/brazilian-utils' ;
733+
734+ getFormatLicensePlate (' ABC-1234' ); // 'LLLNNNN'
735+ getFormatLicensePlate (' ABC1D23' ); // 'LLLNLNN'
736+ getFormatLicensePlate (' ABC12D3' ); // 'LLLNNLN'
737+ getFormatLicensePlate (' INVALID' ); // null
738+ ```
739+
740+ ## parseLicensePlate
741+
742+ Remove separadores de uma placa, normaliza para letras maiúsculas e limita o resultado a 7 caracteres.
743+
744+ ``` javascript
745+ import { parseLicensePlate } from ' @brazilian-utils/brazilian-utils' ;
746+
747+ parseLicensePlate (' abc-1234' ); // 'ABC1234'
748+ ```
749+
750+ ## generatePis
751+
752+ Gera um PIS válido aleatório.
753+
754+ ``` javascript
755+ import { generatePis } from ' @brazilian-utils/brazilian-utils' ;
756+
757+ generatePis (); // '12345678901'
758+ ```
759+
760+ ## getMunicipality
761+
762+ Busca informações de município por código IBGE, ou obtém o código IBGE a partir do nome do município e UF.
763+
764+ ``` javascript
765+ import { getMunicipality } from ' @brazilian-utils/brazilian-utils' ;
766+
767+ await getMunicipality ({ code: ' 3550308' });
768+ // ['São Paulo', 'SP']
769+
770+ await getMunicipality ({ municipalityName: ' São Paulo' , uf: ' SP' });
771+ // '3550308'
772+ ```
773+
774+ ## isHoliday
775+
776+ Verifica se uma data específica é feriado brasileiro.
777+
778+ ``` javascript
779+ import { isHoliday } from ' @brazilian-utils/brazilian-utils' ;
780+
781+ isHoliday ({ targetDate: new Date (' 2024-01-01' ) }); // true
782+ isHoliday ({ targetDate: new Date (' 2024-07-09' ), stateCode: ' SP' }); // true
783+ ```
784+
785+ ## formatVoterId
786+
787+ Formata um título de eleitor.
788+
789+ ``` javascript
790+ import { formatVoterId } from ' @brazilian-utils/brazilian-utils' ;
791+
792+ formatVoterId (' 123456780175' ); // '1234 5678 01 75'
793+ ```
794+
795+ ## isValidVoterId
796+
797+ Valida se um título de eleitor é válido.
798+
799+ ``` javascript
800+ import { generateVoterId , isValidVoterId } from ' @brazilian-utils/brazilian-utils' ;
801+
802+ const voterId = generateVoterId (' SP' );
803+
804+ isValidVoterId (voterId); // true
805+ ```
806+
807+ ## generateVoterId
808+
809+ Gera um título de eleitor válido aleatório. Você pode opcionalmente informar a UF.
810+
811+ ``` javascript
812+ import { generateVoterId } from ' @brazilian-utils/brazilian-utils' ;
813+
814+ generateVoterId (); // título de eleitor aleatório válido
815+ generateVoterId (' SP' ); // título de eleitor aleatório válido de São Paulo
816+ ```
817+
818+ ## parseVoterId
819+
820+ Remove a formatação do título de eleitor, mantém apenas os dígitos e limita o resultado a 12 dígitos.
821+
822+ ``` javascript
823+ import { parseVoterId } from ' @brazilian-utils/brazilian-utils' ;
824+
825+ parseVoterId (' 1234 5678 01 75' ); // '123456780175'
826+ ```
0 commit comments