rel8-1.0.0.0: src/Rel8/Query/Opaleye.hs
module Rel8.Query.Opaleye
( fromOpaleye
, toOpaleye
, mapOpaleye
, zipOpaleyeWith
)
where
-- base
import Prelude
-- opaleye
import qualified Opaleye.Select as Opaleye
-- rel8
import {-# SOURCE #-} Rel8.Query ( Query( Query ) )
fromOpaleye :: Opaleye.Select a -> Query a
fromOpaleye = Query
toOpaleye :: Query a -> Opaleye.Select a
toOpaleye (Query a) = a
mapOpaleye :: (Opaleye.Select a -> Opaleye.Select b) -> Query a -> Query b
mapOpaleye f = fromOpaleye . f . toOpaleye
zipOpaleyeWith :: ()
=> (Opaleye.Select a -> Opaleye.Select b -> Opaleye.Select c)
-> Query a -> Query b -> Query c
zipOpaleyeWith f a b = fromOpaleye $ f (toOpaleye a) (toOpaleye b)