mmzk-typeid-0.7.0.1: mmzk-typeid.cabal
cabal-version: 2.4
name: mmzk-typeid
version: 0.7.0.1
synopsis: A TypeID and UUIDv7 implementation for Haskell
description:
'TypeID' is a type-safe, K-sortable, globally unique identifier inspired by Stripe IDs.
.
The specification is available at https://github.com/jetpack-io/typeid.
.
This library supports generating and parsing speç-conforming 'TypeID's, with the following additional features:
.
- Batch generating 'TypeID's with the same UUIDv7 timestamp
.
- Encode prefixes at type-level for better type-safety
.
It also serves as a (temporary) UUIDv7 implementation in Haskell, since there are no official ones yet.
.
Please enable the following extensions if working with 'KindID':
.
> {-# LANGUAGE DataKinds #-}
> {-# LANGUAGE PolyKinds #-}
> {-# LANGUAGE TypeApplications #-}
> {-# LANGUAGE TypeFamilies #-}
.
While the following is not required, it is quite convenient to have
.
> {-# LANGUAGE OverloadedStrings #-}
.
homepage: https://github.com/MMZK1526/mmzk-typeid
bug-reports: https://github.com/MMZK1526/mmzk-typeid/issues
license: MIT
author: Yitang Chen <mmzk1526@outlook.com>
maintainer: Yitang Chen <mmzk1526@outlook.com>
category: Data, UUID, UUIDv7, TypeID
tested-with:
GHC == 9.4.8
GHC == 9.6.4
GHC == 9.8.2
extra-source-files:
CHANGELOG.md
LICENSE
README.md
test/invalid.json
test/valid.json
library
exposed-modules:
Data.KindID,
Data.KindID.Class,
Data.KindID.Unsafe,
Data.KindID.V1,
Data.KindID.V1.Unsafe,
Data.KindID.V4,
Data.KindID.V4.Unsafe,
Data.KindID.V5,
Data.KindID.V5.Unsafe,
Data.KindID.V7,
Data.KindID.V7.Unsafe,
Data.TypeID,
Data.TypeID.Class,
Data.TypeID.Error,
Data.TypeID.Unsafe,
Data.TypeID.V1,
Data.TypeID.V1.Unsafe,
Data.TypeID.V4,
Data.TypeID.V4.Unsafe,
Data.TypeID.V5,
Data.TypeID.V5.Unsafe,
Data.TypeID.V7,
Data.TypeID.V7.Unsafe,
Data.UUID.V7,
Data.UUID.Versions
other-modules:
Data.KindID.Error,
Data.KindID.Internal,
Data.TypeID.Internal
default-extensions:
BlockArguments
ConstraintKinds
DataKinds
DeriveAnyClass
DeriveDataTypeable
DeriveGeneric
FlexibleContexts
FlexibleInstances
InstanceSigs
MultiWayIf
OverloadedStrings
PolyKinds
ScopedTypeVariables
TupleSections
TypeApplications
TypeFamilies
TypeOperators
build-depends:
base >=4.16 && <5,
aeson >=2.1 && <3,
array ^>=0.5,
binary >=0.8.5 && <0.9,
bytestring >=0.11 && < 0.13,
entropy ^>=0.4,
hashable ^>=1.4,
random ^>=1.2,
text ^>=2.1,
time >=1.11 && <1.13,
uuid ^>=1.3,
uuid-types ^>=1.0,
ghc-options:
-Wall
hs-source-dirs: src
default-language: Haskell2010
test-suite test
main-is: Spec.hs
type: exitcode-stdio-1.0
other-modules:
Data.KindID,
Data.KindID.Class,
Data.KindID.Error,
Data.KindID.Internal,
Data.KindID.Unsafe,
Data.KindID.V1,
Data.KindID.V1.Unsafe,
Data.KindID.V4,
Data.KindID.V4.Unsafe,
Data.KindID.V5,
Data.KindID.V5.Unsafe,
Data.KindID.V7,
Data.KindID.V7.Unsafe,
Data.TypeID,
Data.TypeID.Class,
Data.TypeID.Error,
Data.TypeID.Internal,
Data.TypeID.Unsafe,
Data.TypeID.V1,
Data.TypeID.V1.Unsafe,
Data.TypeID.V4,
Data.TypeID.V4.Unsafe,
Data.TypeID.V5,
Data.TypeID.V5.Unsafe,
Data.TypeID.V7,
Data.TypeID.V7.Unsafe,
Data.UUID.V7,
Data.UUID.Versions
default-extensions:
BlockArguments
ConstraintKinds
DataKinds
DeriveAnyClass
DeriveDataTypeable
DeriveGeneric
FlexibleContexts
FlexibleInstances
InstanceSigs
MultiWayIf
OverloadedStrings
PolyKinds
ScopedTypeVariables
TupleSections
TypeApplications
TypeFamilies
TypeOperators
build-depends:
base,
aeson,
array,
binary,
bytestring,
containers ^>=0.6,
entropy,
hashable,
hint ^>=0.9,
hspec ^>=2.11,
random,
text,
time,
uuid,
uuid-types,
ghc-options:
-Wall
hs-source-dirs:
src
test
default-language: Haskell2010