mirror of
https://github.com/circuithub/rel8.git
synced 2024-09-17 19:59:38 +03:00
Don't cast in tableFields
This commit is contained in:
parent
5e1c9652da
commit
61ac6c73bf
@ -35,8 +35,7 @@ import Data.Profunctor ( dimap, lmap )
|
||||
import Rel8.Aggregate ( Aggregate( Aggregate ) )
|
||||
import Rel8.Expr ( Expr, Col(..) )
|
||||
import Rel8.Expr.Opaleye
|
||||
( scastExpr
|
||||
, fromPrimExpr, toPrimExpr
|
||||
( fromPrimExpr, toPrimExpr
|
||||
, traversePrimExpr
|
||||
, fromColumn, toColumn
|
||||
)
|
||||
@ -94,14 +93,14 @@ tableFields (toColumns -> names) = dimap toColumns fromColumns $
|
||||
name -> lmap (`hfield` field) (go specs name)
|
||||
where
|
||||
go :: SSpec spec -> Col Name spec -> Opaleye.TableFields (Col Insert spec) (Col Expr spec)
|
||||
go SSpec {necessity, info} (NameCol name) = case necessity of
|
||||
go SSpec {necessity} (NameCol name) = case necessity of
|
||||
SRequired ->
|
||||
lmap (\(RequiredInsert a) -> toColumn $ toPrimExpr a) $
|
||||
DB . scastExpr info . fromPrimExpr . fromColumn <$>
|
||||
DB . fromPrimExpr . fromColumn <$>
|
||||
Opaleye.requiredTableField name
|
||||
SOptional ->
|
||||
lmap (\(OptionalInsert ma) -> toColumn . toPrimExpr <$> ma) $
|
||||
DB . scastExpr info . fromPrimExpr . fromColumn <$>
|
||||
DB . fromPrimExpr . fromColumn <$>
|
||||
Opaleye.optionalTableField name
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user