cpf-cnpj-validator
Version:
Valida, formata e gera strings de CPF ou CNPJ, com suporte ao novo formato alfanumérico da RFB e adapters para joi, yup e zod.
49 lines (46 loc) • 1.45 kB
text/typescript
import { ValidationOptions } from 'class-validator';
/**
* Decorator de propriedade que valida um CPF via class-validator.
* Padrão idiomático em NestJS + DTOs.
*
* Requer `reflect-metadata` importado no bootstrap da aplicação e as
* flags `experimentalDecorators` + `emitDecoratorMetadata` no tsconfig.
*
* @param options - `ValidationOptions` padrão do class-validator
* (message, each, groups, always, context).
*
* @example
* ```ts
* import 'reflect-metadata'
* import { IsCPF } from 'cpf-cnpj-validator/class-validator'
*
* class UserDTO {
* @IsCPF({ message: 'CPF deve ser válido' })
* cpf!: string
* }
* ```
*/
declare function IsCPF(options?: ValidationOptions): PropertyDecorator;
/**
* Decorator de propriedade que valida um CNPJ via class-validator.
* Aceita tanto CNPJs numéricos legados quanto o novo formato
* alfanumérico da Nota Técnica RFB 49/2024.
*
* Requer `reflect-metadata` importado no bootstrap da aplicação e as
* flags `experimentalDecorators` + `emitDecoratorMetadata` no tsconfig.
*
* @param options - `ValidationOptions` padrão do class-validator.
*
* @example
* ```ts
* import 'reflect-metadata'
* import { IsCNPJ } from 'cpf-cnpj-validator/class-validator'
*
* class CompanyDTO {
* @IsCNPJ()
* cnpj!: string // aceita '12.ABC.345/01DE-35'
* }
* ```
*/
declare function IsCNPJ(options?: ValidationOptions): PropertyDecorator;
export { IsCNPJ, IsCPF };