28 lines
732 B
Haskell
28 lines
732 B
Haskell
{-# LANGUAGE DeriveDataTypeable #-}
|
|
{-# LANGUAGE PolyKinds #-}
|
|
{-# LANGUAGE TypeOperators #-}
|
|
{-# OPTIONS_HADDOCK not-home #-}
|
|
module Servant.API.Sub ((:>)) where
|
|
|
|
import Data.Typeable
|
|
(Typeable)
|
|
|
|
-- | The contained API (second argument) can be found under @("/" ++ path)@
|
|
-- (path being the first argument).
|
|
--
|
|
-- Example:
|
|
--
|
|
-- >>> -- GET /hello/world
|
|
-- >>> -- returning a JSON encoded World value
|
|
-- >>> type MyApi = "hello" :> "world" :> Get '[JSON] World
|
|
data (path :: k) :> (a :: *)
|
|
deriving (Typeable)
|
|
infixr 4 :>
|
|
|
|
-- $setup
|
|
-- >>> import Servant.API
|
|
-- >>> import Data.Aeson
|
|
-- >>> import Data.Text
|
|
-- >>> data World
|
|
-- >>> instance ToJSON World where { toJSON = undefined }
|