packages feed

mmzk-typeid-0.1.0.0: mmzk-typeid.cabal

cabal-version:      2.4
name:               mmzk-typeid
version:            0.1.0.0

synopsis:           A TypeID 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 TypeIDs, with the following additional features:
  .
    - Batch generating TypeIDs with the same 'UUID'v7 timestamp
  .
    - Encode prefixes at type-level for better type-safety
  .
  The following extensions are recommended when using this library:
  .
  > {-# LANGUAGE BlockArguments #-}
  > {-# LANGUAGE DataKinds #-}
  > {-# LANGUAGE InstanceSigs #-}
  > {-# LANGUAGE MultiWayIf #-}
  > {-# LANGUAGE OverloadedStrings #-}
  > {-# LANGUAGE TypeApplications #-}
  .
  For a quick "how-to-use" guide, please refer to the README.md file at https://github.com/MMZK1526/mmzk-typeid#readme.

homepage:           https://github.com/MMZK1526/mmzk-typeid
bug-reports:        https://github.com/MMZK1526/mmzk-typeid/issues
license:            MIT
author:             Yitang Chen <mmzk1526@ic.ac.uk>
maintainer:         Yitang Chen <mmzk1526@ic.ac.uk>
category:           Data, UUID, TypeID
extra-source-files:
    CHANGELOG.md
    LICENSE
    test/invalid.json
    test/valid.json


library
    exposed-modules:
        Data.KindID,
        Data.TypeID,
        Data.UUID.V7
    other-modules:
        Data.KindID.Internal,
        Data.TypeID.Internal
    default-extensions:
        BlockArguments
        DataKinds
        InstanceSigs
        MultiWayIf
        OverloadedStrings
        TypeApplications
    build-depends:
        base >=4.16 && <5,
        aeson ^>=2.1,
        array ^>=0.5,
        binary ^>=0.8.9,
        bytestring ^>= 0.11,
        entropy ^>=0.4,
        text ^>=2.0,
        transformers ^>=0.6,
        time ^>=1.11,
    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.Internal,
        Data.TypeID,
        Data.TypeID.Internal,
        Data.UUID.V7
    default-extensions:
        BlockArguments
        DataKinds
        InstanceSigs
        MultiWayIf
        OverloadedStrings
        TypeApplications
    build-depends:
        base,
        aeson,
        array,
        binary,
        bytestring,
        entropy,
        hspec ^>=2.11,
        text,
        transformers,
        time,
    hs-source-dirs:
        src
        test
    default-language: Haskell2010