uni-phone
v1.2.0
Published
a glossary of universally intuitive time, date, and duration domain literals
Downloads
537
Maintainers
Readme
uni-phone
A glossary of intuitive, universally unambiguous phone domain literals.
purpose
declare a universally unambiguous serialization format for phones
UniPhoneNumber
= E.164UniPhone
={ number: UniPhoneNumber }
usecases
- clarify the format a string should be in (
const phoneNumber: UniPhoneNumber = '+13231110101'
) - cast date to universal format (
const phoneNumber: UniPhoneNumber = toUniPhoneNumber('(323) 111-0101')
) - narrow type of strings with runtime validation (
if (!isUniPhoneNumber(input)) throw new Error('wrong format')
)
install
npm install uni-phone
use
Phone
declare that a phone or phone.number must be in the universal format
const phone: UniPhone;
const phoneNumber: UniPhoneNumber;
assure that a phone number is in the universal phormat
const phone: UniPhone = { number: isUniPhoneNumber.assure('+13231110101') }
cast a phone number into the universal format
const phone: UniPhone = { number: asUniPhoneNumber('(323) 111-0101') }