{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE TypeFamilies #-}
module Data.Record.Beam.Interpretation (
BeamInterpretation
) where
import Data.Kind
import Data.Record.Generic.Transform
import Database.Beam.Schema.Tables
data BeamInterpretation (f :: Type -> Type)
type instance Interpreted (BeamInterpretation f) (Uninterpreted x) = Columnar f x
type instance Interpreted (BeamInterpretation f) (table Uninterpreted) = table f
type instance Interpreted (BeamInterpretation f) (table (Nullable Uninterpreted)) = table (Nullable f)