packages feed

roc-id-0.3.0.0: roc-id.cabal

cabal-version:  3.0
name:           roc-id
version:        0.3.0.0
synopsis:       Implementation of the ROC (Taiwan) Uniform ID Number format.
category:       Identification
homepage:       https://github.com/jonathanknowles/roc-id#readme
bug-reports:    https://github.com/jonathanknowles/roc-id/issues
author:         Jonathan Knowles
maintainer:     mail@jonathanknowles.net
copyright:      Jonathan Knowles
license:        BSD-3-Clause
license-file:   LICENSE
build-type:     Custom

description:

  This package provides an implementation of the ROC (Taiwan) Uniform
  Identification Number (中華民國統一證號) format.

  This format is used by both National Identification Cards (國民身分證) and
  Alien Resident Certificates (居留證). Each identification number consists of
  a single uppercase letter followed by nine decimal digits, with the final
  digit serving as a checksum, calculated according to a standard algorithm.

  Example: `A123456789`

  This package offers functions for validating, decoding, and encoding these
  numbers.

  See the "ROC.ID" module to get started.

  For more details of the Uniform Identification Number format, see:

  * https://zh.wikipedia.org/wiki/中華民國國民身分證
  * https://en.wikipedia.org/wiki/National_identification_card_(Taiwan)
  * https://en.wikipedia.org/wiki/Resident_certificate

extra-doc-files:
  CHANGELOG.md
  README.md

common dependency-base
    build-depends:base                      >= 4.17.2.1     && < 4.22
common dependency-doctest
    build-depends:doctest                   >= 0.24.2       && < 0.25
common dependency-hspec
    build-depends:hspec                     >= 2.5.5        && < 2.12
common dependency-MonadRandom
    build-depends:MonadRandom               >= 0.5.1.1      && < 0.7
common dependency-nonempty-containers
    build-depends:nonempty-containers       >= 0.3.5.0      && < 0.4
common dependency-QuickCheck
    build-depends:QuickCheck                >= 2.13.2       && < 2.18
common dependency-quickcheck-classes
    build-depends:quickcheck-classes        >= 0.6.5.0      && < 0.7
common dependency-text
    build-depends:text                      >= 1.2.3.1      && < 2.2

custom-setup
  setup-depends:
    , base                                  >= 4.17.2.1     && < 4.22
    , cabal-doctest                         >= 1.0.12       && < 1.1

source-repository head
  type: git
  location: https://github.com/jonathanknowles/roc-id

library
  import:
    , dependency-base
    , dependency-MonadRandom
    , dependency-nonempty-containers
    , dependency-text
  exposed-modules:
      ROC.ID
      ROC.ID.CharIndex
      ROC.ID.CharSet
      ROC.ID.Digit
      ROC.ID.Digit1289
      ROC.ID.Gender
      ROC.ID.Language
      ROC.ID.Letter
      ROC.ID.Location
      ROC.ID.Nationality
  other-modules:
      ROC.ID.Unchecked
      ROC.ID.Utilities
  hs-source-dirs:
      components/roc-id
  ghc-options: -Wall
  default-language: Haskell2010

test-suite roc-id-test
  import:
    , dependency-base
    , dependency-hspec
    , dependency-MonadRandom
    , dependency-nonempty-containers
    , dependency-QuickCheck
    , dependency-quickcheck-classes
    , dependency-text
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      Test.QuickCheck.Classes.Hspec
  hs-source-dirs:
      components/roc-id-test
  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
  build-depends:
    , roc-id
  default-language: Haskell2010

test-suite roc-id-test-docs
  import:
    , dependency-base
    , dependency-doctest
  build-depends:
    , roc-id
  x-doctest-options: --verbose
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs:
    components/roc-id-test-docs
  ghc-options: -threaded
  default-language: Haskell2010