UNPKG

@type-ddd/phone

Version:

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.

126 lines (68 loc) 2.09 kB
# `@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 ```sh 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. ```ts 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. ```ts // 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. ```ts 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: ```ts phone.toPattern(); // Output: '(11) 99488-2021' ``` Or if you need to apply mask from a string value you may use `addMask` method ```ts Phone.addMask('11994882021'); // Output: (11) 99488-2021 ``` Or if you need to remove mask from a string value you may use `removeSpecialChars` method ```ts Phone.removeSpecialChars('(11) 99488-2021'); // Output: 11994882021 ``` If you need to identify uf from a phone number ```ts const phone = Phone.init('(11) 99488-2021'); phone.uf(); // Output: "São Paulo" phone.code(); // 11 phone.number(); // 994882021 phone.toCall(); // 011994882021 ```