JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 404
  • Score
    100M100P100Q98514F
  • License MIT

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.

Package Exports

  • @type-ddd/phone
  • @type-ddd/phone/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@type-ddd/phone) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

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