cabal-version: 1.18

-- This file has been generated from package.yaml by hpack version 0.33.0.
--
-- see: https://github.com/sol/hpack
--
-- hash: 7c88a7285ad48f5d51d430c58efcedff76ebd29951e6a7cb06ab16b8b38b1909

name:           dormouse-uri
version:        0.1.0.0
synopsis:       Library for type-safe representations of Uri/Urls
description:    Dormouse-Uri provides type safe handling of `Uri`s and `Url`s.
                .
                `Uri` sytax is well defined according to [RFC 3986](https://tools.ietf.org/html/rfc3986), Dormouse-Uri parses and encodes `Uri`s according to the syntax defined in this document.
                .
                We define `Url` as an absolute URI associated with web resources, the current version of Dormouse-Uri restricts `Url`s to the `http` and `https` schemes.
                .
                Dormouse-Uri has the following features:
                .
                  - The `Uri` and `Url` data types use `Data.Text` internally, this allows you to freely include percent-decoded characters which will be properly rendered when the `Url`/`Uri` is encoded.
                  - Quasiquoters to allow safe construction of `Uri`/`Url`s from string literals.
                  - `DataKinds` allow `Url`s to be restricted to the `http` or `https` schemes are the type level.
                  - A UrlBuilder syntax to allow type-safe construction/concatenation of `Url`s from their components, e.g. path and query parameters.
                .
                Please see https://dormouse.io for full documentation.
category:       Web
homepage:       https://dormouse.io/uri.html
bug-reports:    https://github.com/theinnerlight/dormouse/issues
author:         Phil Curzon
maintainer:     phil@novelfs.org
copyright:      2020-2021 Phil Curzon
license:        BSD3
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md
    ChangeLog.md
extra-doc-files:
    README.md

source-repository head
  type: git
  location: https://github.com/theinnerlight/dormouse

library
  exposed-modules:
      Dormouse.Uri.RFC3986
      Dormouse.Uri.Encode
      Dormouse.Uri.Exception
      Dormouse.Url.Builder
      Dormouse.Url.Exception
      Dormouse.Uri.QQ
      Dormouse.Url.QQ
      Dormouse.Uri
      Dormouse.Url
  other-modules:
      Dormouse.Uri.Parser
      Dormouse.Uri.Types
      Dormouse.Url.Class
      Dormouse.Url.Types
      Paths_dormouse_uri
  hs-source-dirs:
      src
  default-extensions: OverloadedStrings MultiParamTypeClasses ScopedTypeVariables FlexibleContexts
  ghc-options: -Wall
  build-depends:
      attoparsec >=0.13.2.4 && <0.14
    , base >=4.7 && <5
    , bytestring >=0.10.8 && <0.11.0
    , case-insensitive >=1.2.1.0 && <2.0.0
    , containers >=0.6.2.1 && <0.7
    , http-types >=0.12.3 && <0.13
    , safe-exceptions >=0.1.7 && <0.2.0
    , template-haskell >=2.15.0 && <3.0.0
    , text >=1.2.3 && <2.0.0
  default-language: Haskell2010

test-suite dormouse-uri-test
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      Dormouse.Uri
      Dormouse.Uri.Encode
      Dormouse.Uri.Exception
      Dormouse.Uri.Parser
      Dormouse.Uri.QQ
      Dormouse.Uri.RFC3986
      Dormouse.Uri.Types
      Dormouse.Url
      Dormouse.Url.Builder
      Dormouse.Url.Class
      Dormouse.Url.Exception
      Dormouse.Url.QQ
      Dormouse.Url.Types
      Dormouse.Generators.UriComponents
      Dormouse.Uri.ParserSpec
      Dormouse.Uri.QQSpec
      Dormouse.Uri.QuerySpec
      Paths_dormouse_uri
  hs-source-dirs:
      src
      test
  default-extensions: OverloadedStrings MultiParamTypeClasses ScopedTypeVariables FlexibleContexts
  ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
  build-depends:
      attoparsec >=0.13.2.4 && <0.14
    , base >=4.7 && <5
    , bytestring >=0.10.8 && <0.11.0
    , case-insensitive >=1.2.1.0 && <2.0.0
    , containers >=0.6.2.1 && <0.7
    , hedgehog >=1.0.1 && <2
    , hspec >=2.0.0 && <3
    , hspec-discover >=2.0.0 && <3
    , hspec-hedgehog >=0.0.1.2 && <0.1
    , http-types >=0.12.3 && <0.13
    , safe-exceptions >=0.1.7 && <0.2.0
    , scientific >=0.3.6.2 && <0.4
    , template-haskell >=2.15.0 && <3.0.0
    , text >=1.2.3 && <2.0.0
    , vector >=0.12.0.3 && <0.13
  default-language: Haskell2010