Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Data fields of PhoneNumber
objects.
Synopsis
- data PhoneNumber
- pattern PhoneNumber :: Maybe ByteString -> Maybe ByteString -> Maybe ByteString -> Word -> CountryCode -> Maybe Bool -> Maybe CountryCodeSource -> Maybe Int -> PhoneNumber
- extension :: PhoneNumber -> Maybe ByteString
- rawInput :: PhoneNumber -> Maybe ByteString
- preferredDomesticCarrierCode :: PhoneNumber -> Maybe ByteString
- nationalNumber :: PhoneNumber -> Word
- countryCode :: PhoneNumber -> CountryCode
- italianLeadingZero :: PhoneNumber -> Maybe Bool
- countryCodeSource :: PhoneNumber -> Maybe CountryCodeSource
- numberOfLeadingZeros :: PhoneNumber -> Maybe Int
- newtype CountryCode = CountryCode Int
- data CountryCodeSource
Documentation
data PhoneNumber Source #
A decoded phone number. While internally it is a handle for the
corresponding C++ object, for most intents and purposes it can be used as
a record (using the PhoneNumber
record pattern
synonym) with the following structure:
PhoneNumber
{extension
:: !(Maybe
ByteString
) ,rawInput
:: !(Maybe
ByteString
) ,preferredDomesticCarrierCode
:: !(Maybe
ByteString
) ,nationalNumber
:: !Word
,countryCode
:: !CountryCode
,italianLeadingZero
:: !(Maybe
Bool
) ,countryCodeSource
:: !(Maybe
CountryCodeSource
) ,numberOfLeadingZeros
:: !(Maybe
Int
) }
Instances
pattern PhoneNumber :: Maybe ByteString -> Maybe ByteString -> Maybe ByteString -> Word -> CountryCode -> Maybe Bool -> Maybe CountryCodeSource -> Maybe Int -> PhoneNumber Source #
Record pattern synonym for accessing data fields of the underlying C++
object. It can be used for record construction, record update, and record
pattern match. See PhoneNumber
.
extension :: PhoneNumber -> Maybe ByteString Source #
E.g.:
parseNumber
Canonicalize
Nothing
"+1 800-234-5678 ext. 1234" =Right
PhoneNumber
{extension
=Just
"1234", .. }
rawInput :: PhoneNumber -> Maybe ByteString Source #
E.g.:
parseNumber
KeepRawInput
Nothing
" + 1(2-3~4*5.6 " =Right
PhoneNumber
{rawInput
=Just
" + 1(2-3~4*5.6 ", .. }
preferredDomesticCarrierCode :: PhoneNumber -> Maybe ByteString Source #
E.g.:
parseNumber
KeepRawInput
(Just
"BR") "0 41 (21) 2345-6789" =Right
PhoneNumber
{preferredDomesticCarrierCode
=Just
"41", .. }
nationalNumber :: PhoneNumber -> Word Source #
You probably want to use nationalSignificantNumber
instead. E.g.:
parseNumber
Canonicalize
Nothing
"+800 0001 2345" =Right
PhoneNumber
{nationalNumber
= 12345,numberOfLeadingZeros
= Just 3, .. }
countryCode :: PhoneNumber -> CountryCode Source #
E.g.:
parseNumber
Canonicalize
(Just
"US") "800-234-5678" =Right
PhoneNumber
{countryCode
= 1, .. }
italianLeadingZero :: PhoneNumber -> Maybe Bool Source #
E.g.:
parseNumber
Canonicalize
Nothing
"+39 06 1234 5678" =Right
PhoneNumber
{italianLeadingZero
=Just
True
, .. }
countryCodeSource :: PhoneNumber -> Maybe CountryCodeSource Source #
E.g.:
parseNumber
KeepRawInput
(Just
"US") "011 800 1234 5678" =Right
PhoneNumber
{countryCodeSource
=Just
FromNumberWithIdd
, .. }
numberOfLeadingZeros :: PhoneNumber -> Maybe Int Source #
E.g.:
parseNumber
Canonicalize
Nothing
"+800 0001 2345" =Right
PhoneNumber
{numberOfLeadingZeros
= Just 3,nationalNumber
= 12345, .. }
newtype CountryCode Source #
A country calling code (International Subscriber Dialing code, ISD code),
e.g. 34
for Spain.
Contrary to the name, doesn't always correspond to a unique country (e.g.
7
could be either Russia or Kazakhstan), or a country at all, and instead a
non-geographical entity (e.g. 800
is a Universal International Freephone
Service dialing code).
Instances
data CountryCodeSource Source #
Indicates what information was used to fill the
countryCode
field of PhoneNumber
.