| License | MIT |
|---|---|
| Maintainer | mmzk1526@outlook.com |
| Portability | GHC |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Data.UUID.V7
Description
UUID type with the one from the uuid-type package.
UUIDv7 implementation.
UUIDv7 is not currently present in the uuid package, therefore I have to make a quick patch of my own.
Note that since the specification for v7 is not yet finalised, this module's implementation may change in the future according to the potential adjustments in the specification.
Synopsis
- newtype UUID = UUID ByteString
- unUUID :: UUID -> ByteString
- nil :: UUID
- genUUID :: IO UUID
- genUUIDs :: Word16 -> IO [UUID]
- parseString :: String -> Maybe UUID
- parseText :: Text -> Maybe UUID
- parseByteString :: ByteString -> Maybe UUID
- toString :: UUID -> String
- toText :: UUID -> Text
- toByteString :: UUID -> ByteString
- getTime :: UUID -> Word64
- getEpochMilli :: IO Word64
Data type
A simple wrapper around a ByteString representing a UUIDv7.
Note that the Show instance is for debugging purposes only. To pretty-print
a UUIDv7, use toString, toText or toByteString.
The UUID constructor will be hidden in favour of the Binary instance in
the future.
Constructors
| UUID ByteString |
unUUID :: UUID -> ByteString Source #
UUID generation
Encoding & decoding
parseByteString :: ByteString -> Maybe UUID Source #
Parse a UUIDv7 from its string representation as a lazy ByteString.
The representation is either standard or has no dashes. Does not care about the case of the letters.
toByteString :: UUID -> ByteString Source #
Pretty-print a UUIDv7 to lazy ByteString.
Miscellaneous helpers
getEpochMilli :: IO Word64 Source #
Get the current time in milliseconds since the Unix epoch.