@type-ddd/phone v0.1.0
@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/phoneUsage
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: falseSpecial Chars
Don't worry about removing special characters; they are automatically stripped from all instances.
const result = Phone.isValid('(11) 99488-2021');
// Output: trueSpecial 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-2021Or if you need to remove mask from a string value you may use removeSpecialChars method
Phone.removeSpecialChars('(11) 99488-2021');
// Output: 11994882021If 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