module DomainCereal where

import DomainCereal.Prelude
import qualified DomainCereal.TH as TH
import qualified DomainCore.Deriver as Deriver

serializeDeriver :: Deriver.Deriver
serializeDeriver :: Deriver
serializeDeriver =
  (TypeDec -> [Dec]) -> Deriver
Deriver.effectless (Dec -> [Dec]
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Dec -> [Dec]) -> (TypeDec -> Dec) -> TypeDec -> [Dec]
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. TypeDec -> Dec
TH.serializeInstanceD)