{-# LANGUAGE CPP #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
module Servant.Swagger.UI.JensOleG (
SwaggerSchemaUI,
SwaggerSchemaUI',
jensolegSwaggerSchemaUIServer,
jensolegSwaggerSchemaUIServer',
jensolegIndexTemplate,
jensolegFiles,
) where
import Servant.Swagger.UI.Core
import Data.Aeson (ToJSON, Value)
import Data.ByteString (ByteString)
import Data.Text (Text)
import FileEmbedLzma
import Servant
jensolegSwaggerSchemaUIServer
:: (Server api ~ Handler Value, ToJSON a)
=> a -> Server (SwaggerSchemaUI' dir api)
jensolegSwaggerSchemaUIServer :: a -> Server (SwaggerSchemaUI' dir api)
jensolegSwaggerSchemaUIServer =
Text
-> [(FilePath, ByteString)]
-> a
-> Server (SwaggerSchemaUI' dir api)
forall (m :: * -> *) api a (dir :: Symbol).
(Monad m, ServerT api m ~ m Value, ToJSON a) =>
Text
-> [(FilePath, ByteString)]
-> a
-> ServerT (SwaggerSchemaUI' dir api) m
swaggerSchemaUIServerImpl Text
jensolegIndexTemplate [(FilePath, ByteString)]
jensolegFiles
jensolegSwaggerSchemaUIServer'
:: Server api -> Server (SwaggerSchemaUI' dir api)
jensolegSwaggerSchemaUIServer' :: Server api -> Server (SwaggerSchemaUI' dir api)
jensolegSwaggerSchemaUIServer' =
Text
-> [(FilePath, ByteString)]
-> Server api
-> Server (SwaggerSchemaUI' dir api)
forall (m :: * -> *) api (dir :: Symbol).
Monad m =>
Text
-> [(FilePath, ByteString)]
-> ServerT api m
-> ServerT (SwaggerSchemaUI' dir api) m
swaggerSchemaUIServerImpl' Text
jensolegIndexTemplate [(FilePath, ByteString)]
jensolegFiles
jensolegIndexTemplate :: Text
jensolegIndexTemplate :: Text
jensolegIndexTemplate = $(embedText "jensoleg.index.html.tmpl")
jensolegFiles :: [(FilePath, ByteString)]
jensolegFiles :: [(FilePath, ByteString)]
jensolegFiles = $(embedRecursiveDir "jensoleg-dist")