-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Simple unique identifier datatype, serializable and encodable as base32 -- -- A simple unique identiier, serializable to binary and JSON, and since -- base32 is a primary encoding, renders in URLs without any further -- encoding. @package uid @version 0.1.0.1 -- | A UID is a unique identifier, generated from -- Data.UUID.V4. -- -- These identifiers are designed for easy presentation as Base32, using -- Codec.Binary.Base32, and for transport in a JSON format using -- Data.Aeson. -- -- The primary constructor, newUID, runs in the IO monad, -- primarily because of its use of a random number generator during -- construction. If all you need is a unique string, then -- newUIDString is just a wrapper that creates a new UID and then -- invokes toBase32 on it. module Data.UID -- | A new, randomly generated identifier data UID -- | Construct a new unique identifier. newUID :: IO UID -- | Construct a new identifier and immediately convert to its base32 -- representation using toBase32 newUIDString :: IO String -- | Convert a base32 String representation of the UID back -- into a UID instance. fromBase32 :: String -> UID -- | Convert the UID into a base32 String representation'. toBase32 :: UID -> String instance Typeable UID instance Typeable InvalidUIDException instance Eq UID instance Show InvalidUIDException instance FromJSON UID instance ToJSON UID instance Show UID instance Exception InvalidUIDException instance Serialize UID