{-# LANGUAGE FlexibleContexts #-}
module Opaleye.ToFields (
                         toFields,
                         toFieldsI,
                         
                         C.toToFields,
                         
                         toFieldsExplicit,
                         
                         C.ToFields,
                         ) where
import qualified Opaleye.Internal.Constant as C
import           Opaleye.Internal.Inferrable (Inferrable, runInferrable)
import qualified Data.Profunctor.Product.Default as D
toFieldsExplicit :: C.ToFields haskells fields -> haskells -> fields
toFieldsExplicit :: forall haskells fields.
ToFields haskells fields -> haskells -> fields
toFieldsExplicit = forall haskells fields.
ToFields haskells fields -> haskells -> fields
C.constantExplicit
toFields :: D.Default C.ToFields haskells fields => haskells -> fields
toFields :: forall haskells fields.
Default ToFields haskells fields =>
haskells -> fields
toFields = forall haskells fields.
Default ToFields haskells fields =>
haskells -> fields
C.toFields
toFieldsI :: (D.Default (Inferrable C.ToFields) haskells fields)
          => haskells
          
          -> fields
toFieldsI :: forall haskells fields.
Default (Inferrable ToFields) haskells fields =>
haskells -> fields
toFieldsI = forall haskells fields.
ToFields haskells fields -> haskells -> fields
toFieldsExplicit (forall (p :: * -> * -> *) a b. Inferrable p a b -> p a b
runInferrable forall (p :: * -> * -> *) a b. Default p a b => p a b
D.def)