cabal-version: >=1.10
name: static-text
version: 0.2.0.2
license: BSD3
license-file: LICENSE
maintainer: dima@dzhus.org
author: Dmitry Dzhus
homepage: https://github.com/dzhus/static-text#readme
bug-reports: https://github.com/dzhus/static-text/issues
synopsis: Lists, Texts, ByteStrings and Vectors of statically known length
description:
    static-text provides type-level safety for basic operations on string-like types (finite lists of elements), such as Data.Text, String (and all lists), Data.ByteString and Data.Vector. Use it when you need static guarantee on lengths of strings produced in your code.
category: Data, Text, Type System
build-type: Simple
extra-source-files:
    CHANGELOG.md
    README.md

source-repository head
    type: git
    location: https://github.com/dzhus/static-text

flag bytestring
    description:
        Build interface for ByteString

flag text
    description:
        Build interface for Text

flag vector
    description:
        Build interface for Vector

library
    exposed-modules:
        Data.StaticText
        Data.StaticText.Class
        Data.StaticText.TH
    hs-source-dirs: src
    other-modules:
        Paths_static_text
    default-language: Haskell2010
    ghc-options: -Wall -Wcompat
    build-depends:
        base <5,
        template-haskell <2.14
    
    if flag(bytestring)
        cpp-options: -DWITH_BS
        build-depends:
            bytestring <0.11
    
    if flag(text)
        cpp-options: -DWITH_TEXT
        build-depends:
            text <1.3
    
    if flag(vector)
        cpp-options: -DWITH_VECTOR
        build-depends:
            vector <0.13

test-suite readme
    type: exitcode-stdio-1.0
    main-is: README.lhs
    other-modules:
        Paths_static_text
    default-language: Haskell2010
    ghc-options: -Wall -Wcompat -pgmL markdown-unlit
    build-depends:
        base <5,
        bytestring <0.11,
        markdown-unlit <0.6,
        static-text -any,
        template-haskell <2.14

test-suite static-text-doctests
    type: exitcode-stdio-1.0
    main-is: doctest-driver.hs
    hs-source-dirs: tests
    other-modules:
        Main
        Paths_static_text
    default-language: Haskell2010
    ghc-options: -Wall -Wcompat -threaded
    build-depends:
        base <5,
        doctest <0.17,
        doctest-driver-gen <0.3,
        template-haskell <2.14

test-suite static-text-example
    type: exitcode-stdio-1.0
    main-is: Main.hs
    hs-source-dirs: tests
    other-modules:
        Paths_static_text
    default-language: Haskell2010
    ghc-options: -Wall -Wcompat
    build-depends:
        base <5,
        bytestring <0.11,
        static-text -any,
        tasty <1.2,
        tasty-hunit <0.11,
        template-haskell <2.14