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.
31 lines (28 loc) • 834 B
TypeScript
import { z } from 'zod';
/**
* Cria factories zod para CPF e CNPJ. Como zod não usa mutation pattern
* (diferente de joi/yup), passamos o namespace `z` e retornamos as
* factories prontas pra usar.
*
* @param z - Namespace do zod (importado como `import { z } from 'zod'`).
* @returns Objeto com `cpf(message?)` e `cnpj(message?)` retornando
* schemas zod de string.
*
* @example
* ```ts
* import { z } from 'zod'
* import { zodValidator } from 'cpf-cnpj-validator/zod'
*
* const { cpf: zCpf, cnpj: zCnpj } = zodValidator(z)
*
* const User = z.object({
* cpf: zCpf(),
* cnpj: zCnpj('CNPJ é obrigatório e válido').optional()
* })
* ```
*/
declare function zodValidator(z: typeof z): {
cpf: (message?: string) => z.ZodString;
cnpj: (message?: string) => z.ZodString;
};
export { zodValidator };