Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {-# LANGUAGE OverloadedStrings, DataKinds, TypeOperators, TypeApplications, FlexibleContexts #-}
- module Lib where
- import Data.Proxy
- import Servant
- import Servant.Utils.Enter (Enter(..))
- type API1 = "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API2 = "x1" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API3 = "x2" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API4 = "x3" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API5 = "x4" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API6 = "x5" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API7 = "x6" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API8 = "x7" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API9 = "x8" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API10 = "x9" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API11 = "x10" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API12 = "x11" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API13 = "x12" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API14 = "x13" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API15 = "x14" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API16 = "x15" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API17 = "x16" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API18 = "x17" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API19 = "x18" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API20 = "x19" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API21 = "x20" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API22 = "x21" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API23 = "x22" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API24 = "x23" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API25 = "x24" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String :<|> "x" :> Get '[JSON] String
- type API =
- API1 :<|> API2 :<|> API3 :<|> API4 :<|> API5 :<|> API6 :<|> API7 :<|> API8 :<|> API9 :<|>
- API10 :<|> API11 :<|> API12 :<|> API13 :<|> API14 :<|> API15 :<|> API16 :<|> API17 :<|> API18 :<|> API19 :<|>
- API20 :<|> API21 :<|> API22 :<|> API23 :<|> API24 :<|> API25
- type M = IO
- f :: (Enter (ServerT api M) M Handler (Server api)) => Proxy api -> String -> Server api
- f _ c = enter (nat c) undefined
- nat :: String -> M :~> Handler
- nat = undefined
- server' :: String -> Server API
- server' c = f (Proxy::Proxy API) c
- server :: String -> Server API
- server c =
- f (Proxy::Proxy API1) c
- :<|> f (Proxy::Proxy API2) c
- :<|> f (Proxy::Proxy API3) c
- :<|> f (Proxy::Proxy API4) c
- :<|> f (Proxy::Proxy API5) c
- :<|> f (Proxy::Proxy API6) c
- :<|> f (Proxy::Proxy API7) c
- :<|> f (Proxy::Proxy API8) c
- :<|> f (Proxy::Proxy API9) c
- :<|> f (Proxy::Proxy API10) c
- :<|> f (Proxy::Proxy API11) c
- :<|> f (Proxy::Proxy API12) c
- :<|> f (Proxy::Proxy API13) c
- :<|> f (Proxy::Proxy API14) c
- :<|> f (Proxy::Proxy API15) c
- :<|> f (Proxy::Proxy API16) c
- :<|> f (Proxy::Proxy API17) c
- :<|> f (Proxy::Proxy API18) c
- :<|> f (Proxy::Proxy API19) c
- :<|> f (Proxy::Proxy API20) c
- :<|> f (Proxy::Proxy API21) c
- :<|> f (Proxy::Proxy API22) c
- :<|> f (Proxy::Proxy API23) c
- :<|> f (Proxy::Proxy API24) c
- :<|> f (Proxy::Proxy API25) c
Add Comment
Please, Sign In to add comment