@type-ddd/cpf
Version:
This package provides TypeScript type definitions for handling CPF (Cadastro de Pessoa Física) in Domain-Driven Design contexts
98 lines (51 loc) • 1.71 kB
Markdown
# `@type-ddd/cpf`
> The @type-ddd/cpf library provides TypeScript type definitions for handling CPF (Cadastro de Pessoa Física) in Domain-Driven Design contexts. It facilitates the validation and manipulation of CPF numbers, ensuring they adhere to the Brazilian legal standards.
---
## Installation
Install `rich-domain` and `@type-ddd/cpf` with your favorite package manager
```sh
npm i rich-domain @type-ddd/cpf
# OR
yarn add rich-domain @type-ddd/cpf
```
## Usage
Don't worry about removing special characters; they are automatically stripped from all instances.
```ts
import { CPF } from '@type-ddd/cpf'
// Instance of cpf or throws an error if provide an invalid value
const cpf = CPF.init('54097792000193');
// OR
// Result of cpf (Check Result pattern docs)
const result = CPF.create('54097792000193');
result.isOk(); // true
// cpf instance or null if provide an invalid value
const cpf = result.value();
```
## Compare values or instances
Method to compare two instances or values.
```ts
// value as string
const isEqual = cpf.compare('54097792000194')
// Output: false
// OR
// value as instance of cpf
const isEqual = cpf.compare(cpf2)
// Output: false
```
## Check string is valid cpf
Don't worry about removing special characters; they are automatically stripped from all instances.
```ts
const result = CPF.isValid('54097792000193');
// Output: true
```
## Special chars
If you need the value with the mask, you can use the `toPattern` method:
```ts
cpf.toPattern();
// Output: 54.097.792/0001-93
```
Or if you need to apply mask from a string value you may use `addMask` method
```ts
CPF.addMask('54097792000193');
// Output: 54.097.792/0001-93
```