-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | For creating, comparing, parsing and printing Universally Unique Identifiers -- -- This library is useful for creating, comparing, parsing and printing -- Universally Unique Identifiers. -- -- See http://en.wikipedia.org/wiki/UUID for the general idea. @package uuid @version 1.3.13 -- | RFC 4122 Version 1 UUID state machine. -- -- The generated UUID is based on the hardware MAC address and the system -- clock. -- -- If we cannot lookup the MAC address we seed the generator with a -- psuedo-random number. module Data.UUID.V1 -- | Returns a new UUID derived from the local hardware MAC address and the -- current system time. Is generated according to the Version 1 UUID -- sepcified in RFC 4122. -- -- Returns Nothing if you request UUIDs too quickly. nextUUID :: IO (Maybe UUID) instance GHC.Show.Show Data.UUID.V1.State instance Data.UUID.Types.Internal.Builder.ByteSource Data.UUID.V1.MACSource module Data.UUID.Util data UnpackedUUID :: * UnpackedUUID :: Word32 -> Word16 -> Word16 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> UnpackedUUID [time_low] :: UnpackedUUID -> Word32 [time_mid] :: UnpackedUUID -> Word16 [time_hi_and_version] :: UnpackedUUID -> Word16 [clock_seq_hi_res] :: UnpackedUUID -> Word8 [clock_seq_low] :: UnpackedUUID -> Word8 [node_0] :: UnpackedUUID -> Word8 [node_1] :: UnpackedUUID -> Word8 [node_2] :: UnpackedUUID -> Word8 [node_3] :: UnpackedUUID -> Word8 [node_4] :: UnpackedUUID -> Word8 [node_5] :: UnpackedUUID -> Word8 unpack :: UUID -> UnpackedUUID pack :: UnpackedUUID -> UUID version :: UUID -> Int extractMac :: UUID -> Maybe MAC extractTime :: UUID -> Maybe Int64 setTime :: (Integral a, Bits a) => UUID -> a -> Maybe UUID -- | NOTE: This module uses MD5 hashing. Unless you know you need to use -- this module, you should probably be using Data.UUID.V5, which -- offers the same sort of functionality as this module except -- implemented with SHA-1 hashing. -- -- This module implements Version 3 UUIDs as specified in RFC 4122. -- -- These UUIDs identify an object within a namespace, and are -- deterministic. -- -- The namespace is identified by a UUID. Several sample namespaces are -- enclosed. module Data.UUID.V3 -- | Generate a UUID within the specified namespace out of the given -- object. -- -- Uses an MD5 hash. The UUID is built from first 128 bits of the hash of -- the namespace UUID and the name (as a series of Word8). generateNamed :: UUID -> [Word8] -> UUID -- | The namespace for DNS addresses namespaceDNS :: UUID -- | The namespace for URLs namespaceURL :: UUID -- | The namespace for ISO OIDs namespaceOID :: UUID -- | The namespace for X.500 DNs namespaceX500 :: UUID -- | This module implements Version 5 UUIDs as specified in RFC 4122. -- -- These UUIDs identify an object within a namespace, and are -- deterministic. -- -- The namespace is identified by a UUID. Several sample namespaces are -- enclosed. module Data.UUID.V5 -- | Generate a UUID within the specified namespace out of the given -- object. -- -- Uses a SHA1 hash. The UUID is built from first 128 bits of the hash of -- the namespace UUID and the name (as a series of Word8). generateNamed :: UUID -> [Word8] -> UUID -- | The namespace for DNS addresses namespaceDNS :: UUID -- | The namespace for URLs namespaceURL :: UUID -- | The namespace for ISO OIDs namespaceOID :: UUID -- | The namespace for X.500 DNs namespaceX500 :: UUID -- | This library is useful for comparing, parsing and printing Universally -- Unique Identifiers. See http://en.wikipedia.org/wiki/UUID for -- the general idea. See http://tools.ietf.org/html/rfc4122 for -- the specification. -- -- module Data.UUID -- | The UUID type. A Random instance is provided which produces -- version 4 UUIDs as specified in RFC 4122. The Storable and -- Binary instances are compatible with RFC 4122, storing the -- fields in network order as 16 bytes. data UUID :: * -- | Convert a UUID into a hypenated string using lower-case letters. -- Example: -- --
--   toString <$> fromString "550e8400-e29b-41d4-a716-446655440000"
--   
toString :: UUID -> String -- | If the passed in String can be parsed as a UUID, it will -- be. The hyphens may not be omitted. Example: -- --
--   fromString "c2cc10e1-57d6-4b6f-9899-38d972112d8c"
--   
-- -- Hex digits may be upper or lower-case. fromString :: String -> Maybe UUID -- | Convert a UUID into a hyphentated string using lower-case letters. toText :: UUID -> Text -- | If the passed in Text can be parsed as an ASCII representation -- of a UUID, it will be. The hyphens may not be omitted. fromText :: Text -> Maybe UUID -- | Convert a UUID into a hyphentated string using lower-case letters, -- packed as ASCII bytes into ByteString. -- -- This should be equivalent to toString with pack. toASCIIBytes :: UUID -> ByteString -- | If the passed in ByteString can be parsed as an ASCII -- representation of a UUID, it will be. The hyphens may not be -- omitted. -- -- This should be equivalent to fromString with unpack. fromASCIIBytes :: ByteString -> Maybe UUID -- | Similar to toASCIIBytes except we produce a lazy -- ByteString. toLazyASCIIBytes :: UUID -> ByteString -- | Similar to fromASCIIBytes except parses from a lazy -- ByteString. fromLazyASCIIBytes :: ByteString -> Maybe UUID -- | Encode a UUID into a ByteString in network order. toByteString :: UUID -> ByteString -- | Extract a UUID from a ByteString in network byte order. The -- argument must be 16 bytes long, otherwise Nothing is returned. fromByteString :: ByteString -> Maybe UUID -- | Covert a UUID into a sequence of Word32 values. Useful -- for when you need to serialize a UUID and neither Storable nor -- Binary are appropriate. Introduced in version 1.2.2. toWords :: UUID -> (Word32, Word32, Word32, Word32) -- | Create a UUID from a sequence of Word32. The opposite of -- toWords. Useful when you need a total function for constructing -- UUID values. Introduced in version 1.2.2. fromWords :: Word32 -> Word32 -> Word32 -> Word32 -> UUID -- | Returns true if the passed-in UUID is the nil UUID. null :: UUID -> Bool -- | The nil UUID, as defined in RFC 4122. It is a UUID of all zeros. -- null u iff u == nil. nil :: UUID -- | This module implements Version 4 UUIDs as specified in RFC 4122. -- -- These UUIDs are generated from a psuedo-random generator. We use the -- System.Random StdGen as our random source. -- -- All of the logic is encapsulated in the Random instance for the -- UUID type, so you are also free to use the random generator of your -- choice. module Data.UUID.V4 -- | Generate a random UUID. Introduced in version 1.2.6. nextRandom :: IO UUID