{-# LANGUAGE KindSignatures #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ScopedTypeVariables #-} module Admin.Components.Component ( Component(..) ) where import Data.Version import GHC.TypeLits (Symbol) import Servant data Component (name :: Symbol) api = Component { Component name api -> Server api server :: Server api , Component name api -> Version version :: Version }