@@ -79,3 +79,68 @@ pattern PhoneNumber
79 = fromCPhoneNumber $ CPhoneNumber{..}
79 = fromCPhoneNumber $ CPhoneNumber{..}
81{-# COMPLETE PhoneNumber #-}
81{-# COMPLETE PhoneNumber #-}
86+-- 'Data.PhoneNumber.Util.parseNumber' 'Data.PhoneNumber.Util.Canonicalize' 'Nothing' "+1 800-234-5678 ext. 1234"
87+-- = 'Right' v'PhoneNumber' { 'extension' = 'Just' "1234", .. }
89+extension :: PhoneNumber -> Maybe ByteString
94+-- 'Data.PhoneNumber.Util.parseNumber' 'Data.PhoneNumber.Util.KeepRawInput' 'Nothing' " + 1(2-3~4*5.6 "
95+-- = 'Right' v'PhoneNumber' { 'rawInput' = 'Just' " + 1(2-3~4*5.6 ", .. }
97+rawInput :: PhoneNumber -> Maybe ByteString
102+-- 'Data.PhoneNumber.Util.parseNumber' 'Data.PhoneNumber.Util.KeepRawInput' ('Just' \"BR\") "0 41 (21) 2345-6789"
103+-- = 'Right' v'PhoneNumber' { 'preferredDomesticCarrierCode' = 'Just' "41", .. }
105+preferredDomesticCarrierCode :: PhoneNumber -> Maybe ByteString
107+-- | You probably want to use 'Data.PhoneNumber.Util.nationalSignificantNumber'
111+-- 'Data.PhoneNumber.Util.parseNumber' 'Data.PhoneNumber.Util.Canonicalize' 'Nothing' "+800 0001 2345"
112+-- = 'Right' v'PhoneNumber' { 'nationalNumber' = 12345, 'numberOfLeadingZeros' = Just 3, .. }
114+nationalNumber :: PhoneNumber -> Word
119+-- 'Data.PhoneNumber.Util.parseNumber' 'Data.PhoneNumber.Util.Canonicalize' ('Just' \"US\") "800-234-5678"
120+-- = 'Right' v'PhoneNumber' { 'countryCode' = 1, .. }
122+countryCode :: PhoneNumber -> CountryCode
127+-- 'Data.PhoneNumber.Util.parseNumber' 'Data.PhoneNumber.Util.Canonicalize' 'Nothing' "+39 06 1234 5678"
128+-- = 'Right' v'PhoneNumber' { 'italianLeadingZero' = 'Just' 'True', .. }
130+italianLeadingZero :: PhoneNumber -> Maybe Bool
135+-- 'Data.PhoneNumber.Util.parseNumber' 'Data.PhoneNumber.Util.KeepRawInput' ('Just' \"US\") "011 800 1234 5678"
136+-- = 'Right' v'PhoneNumber' { 'countryCodeSource' = 'Just' 'FromNumberWithIdd', .. }
138+countryCodeSource :: PhoneNumber -> Maybe CountryCodeSource
143+-- 'Data.PhoneNumber.Util.parseNumber' 'Data.PhoneNumber.Util.Canonicalize' 'Nothing' "+800 0001 2345"
144+-- = 'Right' v'PhoneNumber' { 'numberOfLeadingZeros' = Just 3, 'nationalNumber' = 12345, .. }
146+numberOfLeadingZeros :: PhoneNumber -> Maybe Int