homepage: https://github.com/mstksg/servant-validate#readme
changelog-type: markdown
hash: 280e6812ccff9b3e950a85841ace51c0b7a0edd40b114db5d6dd9c6b6b27c8b6
test-bench-deps:
  base: '>=4.7 && <5'
  hspec: -any
  text: -any
  servant: -any
  containers: -any
  servant-validate: -any
  should-not-typecheck: -any
maintainer: justin@jle.im
synopsis: Chekc static properties of servant APIs
changelog: |+
  Changelog
  =========

  Version 0.1.0.0
  ---------------

  <https://github.com/mstksg/servant-validate/releases/tag/v0.1.0.0>

  *   Initial release.

basic-deps:
  base: '>=4.7 && <5'
  text: -any
  servant: -any
  containers: -any
all-versions:
- 0.1.0.0
author: Justin Le
latest: 0.1.0.0
description-type: markdown
description: |
  # servant-validate

  A package with "test suites" to help verify that your servant APIs are valid at
  compile-time.

  Currently the only property tested is that there are no duplicated paths.

  ```haskell
  data DeadlySinEnum = Lust | Gluttony | Greed | Sloth | Wrath | Envy | Pride

  type MathApi  = "sin" :> ReqBody '[JSON] Double        :> Post '[JSON] NoContent
  type SatanApi = "sin" :> ReqBody '[JSON] DeadlySinEnum :> Post '[JSON] NoContent

  type MyApi = MathApi :<|> SatanApi

  myApi :: Proxy MyApi
  myApi = Proxy

  validMyApi :: ValidApiTree MyApi
  validMyApi = validApiTree myApi
  ```

  ```haskell
  warning: [-Wdeferred-type-errors]
      • Duplicate method in API at path /sin: "POST"
      • In the expression: validApiTree myApi
        In an equation for ‘validMyApi’: validMyApi = validApiTree myApi
  ```
license-name: BSD-3-Clause

Update from Hackage at 2021-02-19T05:29:48Z
Update from Hackage at 2021-02-19T05:29:48Z
