@type-ddd/phone
v0.1.0
Published
Library that provides TypeScript type definitions for handling Phone Numbers in Domain-Driven Design contexts. It facilitates the validation and manipulation of Brazilian phone numbers.
Downloads
491
Maintainers
Readme
@type-ddd/phone
The @type-ddd/phone library provides TypeScript type definitions for handling phone (Brazilian) in Domain-Driven Design contexts. It facilitates the validation and manipulation of phone numbers, ensuring they adhere to the Brazilian legal standards.
Installation
Install rich-domain
and @type-ddd/phone
with your favorite package manager
npm i rich-domain @type-ddd/phone
# OR
yarn add rich-domain @type-ddd/phone
Usage
Don't worry about removing special characters; they are automatically stripped from all instances.
import { Phone } from '@type-ddd/phone'
// Instance of phone or throws an error if provide an invalid value
const phone = Phone.init('11994882021');
// OR
// Result of phone (Check Result pattern docs)
const result = Phone.create('11994882021');
result.isOk(); // true
// phone instance or null if provide an invalid value
const phone = result.value();
Check phone type
Method to verify instance type.
// value as string
const isMobile = Phone.isMobile('11994882021');
// Output: true
// OR
// value as string
const isMobile = Phone.isHome('11994882021');
// Output: false
Special Chars
Don't worry about removing special characters; they are automatically stripped from all instances.
const result = Phone.isValid('(11) 99488-2021');
// Output: true
Special chars
If you need the value with the mask, you can use the toPattern
method:
phone.toPattern();
// Output: '(11) 99488-2021'
Or if you need to apply mask from a string value you may use addMask
method
Phone.addMask('11994882021');
// Output: (11) 99488-2021
Or if you need to remove mask from a string value you may use removeSpecialChars
method
Phone.removeSpecialChars('(11) 99488-2021');
// Output: 11994882021
If you need to identify uf from a phone number
const phone = Phone.init('(11) 99488-2021');
phone.uf();
// Output: "São Paulo"
phone.code();
// 11
phone.number();
// 994882021
phone.toCall();
// 011994882021