homepage: https://github.com/alpmestan/servant-flatten
changelog-type: markdown
hash: 0d449e7c19c48ee575da6a3574553b18599ce57df5b49e793421aaef67391c21
test-bench-deps: {}
maintainer: alpmestan@gmail.com
synopsis: Utilities for flattening servant API types
changelog: ! '# Revision history for servant-flatten


  ## 0.1 -- 2017-03-16


  * First version.

'
basic-deps:
  base: ! '>=4.8 && <5'
  servant: ! '>=0.8'
all-versions:
- '0.1'
author: Alp Mestanogullari
latest: '0.1'
description-type: markdown
description: ! "# servant-flatten\n\nUtilities for flattening servant API types\n\nThe
  main function from this library is:\n\n``` haskell\nflatten :: Proxy api -> Proxy
  (Flat api)\n```\n\nIts purpose is to \"flatten\" an API type, by distributing\nany
  factored combinators, so as to end up with completely\nflat endpoint descriptions,
  separated by `:<|>`s.\n\nFor example, it turns:\n\n``` haskell\ntype API = Capture
  \"foo\" Int :>\n  ( Capture \"bar\" String :>\n      ( Get '[JSON] String :<|>\n
  \       ReqBody '[JSON] Int :> Post '[JSON] Int\n      ) :<|>\n    Get '[JSON] Int\n
  \ ) :<|>\n  Get '[JSON] [String]\n```\n\ninto:\n\n``` haskell\nCapture \"foo\" Int
  :> Capture \"bar\" String :> Get '[JSON] String :<|>\nCapture \"foo\" Int :> Capture
  \"bar\" String :> ReqBody '[JSON] Int :> Post '[JSON] Int :<|>\nCapture \"foo\"
  Int :> Get '[JSON] Int :<|>\nGet '[JSON] [String]\n```\n\nSee the documentation
  of `flatten` in `src/Servant/API/Flatten.hs`\nfor more explanations and some examples.\n"
license-name: BSD3

Update from Hackage at 2018-03-16T21:35:23Z
Update from Hackage at 2018-03-16T21:35:23Z
