state-codes-0.1.1: src/Data/StateCodes.hs
-- | Main entry point.
module Data.StateCodes
( StateCode(..)
, allNames
, allStates
, stateList
, districtList
, outlyingAreasList
, fromMName
, fromMText
, fromName
, fromText
, toName
, toText
) where
import Control.Arrow ((&&&))
import Data.Text (Text)
import Data.StateCodes.ISO31662US
-- | List all codes with names
allNames :: [(StateCode, Text)]
allNames = map (id &&& toName) $ enumFrom minBound
-- | List all states with codes. This is ready to be used in a yesod
-- selectField, for example
allStates :: [(Text, StateCode)]
allStates = map (toName &&& id) $ enumFrom minBound