name:                servant-client-jsaddle
version:             0.16
synopsis: automatic derivation of querying functions for servant webservices for jsaddle (GHCJS, GHC + WebKit, GHC + websockets, etc)
description:
  This library lets you automatically derive Haskell functions that
  let you query each endpoint of a <http://hackage.haskell.org/package/servant servant> webservice.
  .
  See <http://haskell-servant.readthedocs.org/en/stable/tutorial/Client.html the client section of the tutorial>.
  .
  <https://github.com/haskell-servant/servant/blob/master/servant-client/CHANGELOG.md CHANGELOG>
license:             BSD3
license-file:        LICENSE
author:              Servant Contributors
maintainer:          haskell-servant-maintainers@googlegroups.com
copyright:           2014-2016 Zalora South East Asia Pte Ltd, 2016-2019 Servant Contributors
category:            Servant, Web
build-type:          Simple
cabal-version:       >=1.10
tested-with:
  GHC ==8.0.2
   || ==8.2.2
   || ==8.4.4
   || ==8.6.2
homepage:            http://haskell-servant.readthedocs.org/
Bug-reports:         http://github.com/haskell-servant/servant/issues
extra-source-files:
  CHANGELOG.md
  README.md
source-repository head
  type: git
  location: http://github.com/haskell-servant/servant.git

library
  exposed-modules:
    Servant.Client.JSaddle
    Servant.Client.Internal.JSaddleXhrClient

  -- Bundled with GHC: Lower bound to not force re-installs
  -- text and mtl are bundled starting with GHC-8.4
  build-depends:
      base                  >= 4.9      && < 4.13
    , bytestring            >= 0.10.8.1 && < 0.11
    , containers            >= 0.5.7.1  && < 0.6
    , mtl                   >= 2.2.2    && < 2.3
    , text                  >= 1.2.3.0  && < 1.3
    , transformers          >= 0.5.2.0  && < 0.6

  -- GHCJS dependencies
  if impl(ghcjs)
    build-depends: ghcjs-base

  -- Servant dependencies.
  -- Strict dependency on `servant-client-core` as we re-export things.
  build-depends:
      servant               == 0.16.*
    , servant-client-core   == 0.16.*

  -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
  -- Here can be exceptions if we really need features from the newer versions.
  build-depends:
      case-insensitive      >= 1.2.0.0  && < 1.3.0.0
    , exceptions            >= 0.10.0   && < 0.11
    , http-media            >= 0.7.1.3  && < 0.8
    , http-types            >= 0.12.2   && < 0.13
    , jsaddle               >= 0.9.5.0  && < 0.10
    , jsaddle-dom           >= 0.9.2.0  && < 0.10
    , monad-control         >= 1.0.2.3  && < 1.1
    , semigroupoids         >= 5.3.1    && < 5.4
    , string-conversions    >= 0.4.0.1  && < 0.5
    , transformers-base     >= 0.4.4    && < 0.5


  hs-source-dirs: src
  default-language: Haskell2010
  ghc-options: -Wall
  if impl(ghc >= 8.0)
    ghc-options: -Wno-redundant-constraints

executable spec-test
  type: exitcode-stdio-1.0
  ghc-options: -Wall
  default-language: Haskell2010
  main-is: Main.hs

  -- Dependencies inherited from the library. No need to specify bounds.
  build-depends:
      base
    , aeson
    , bytestring
    , case-insensitive
    , containers
    , exceptions
    , http-media
    , http-types
    , jsaddle
    , jsaddle-warp
    , jsaddle-dom
    , monad-control
    , mtl
    , semigroupoids
    , servant
    , servant-client-core
    , servant-client-jsaddle
    , servant-server
    , string-conversions
    , text
    , transformers
    , transformers-base
    , wai
    , wai-extra
    , warp

  -- Additonal dependencies
  build-depends:
      hspec
    , QuickCheck

  build-tool-depends:
    hspec-discover:hspec-discover >=2.4.4 && <2.5

test-suite spec
  type: exitcode-stdio-1.0
  ghc-options: -Wall
  default-language: Haskell2010
  hs-source-dirs: test
  main-is: Spec.hs
  other-modules:
      Servant.Client.JsSpec

  -- Dependencies inherited from the library. No need to specify bounds.
  build-depends:
      base
    , aeson
    , bytestring
    , case-insensitive
    , containers
    , exceptions
    , http-media
    , http-types
    , jsaddle
    , jsaddle-warp
    , jsaddle-dom
    , monad-control
    , mtl
    , semigroupoids
    , servant
    , servant-client-core
    , servant-client-jsaddle
    , servant-server
    , string-conversions
    , text
    , transformers
    , transformers-base
    , wai
    , wai-extra
    , warp

  -- Additonal dependencies
  build-depends:
      hspec
    , QuickCheck

  build-tool-depends:
    hspec-discover:hspec-discover >=2.4.4 && <2.5