persistent-template 1.1.2.2 → 1.1.2.3
raw patch · 2 files changed
+8/−3 lines, 2 files
Files
- Database/Persist/TH.hs +7/−2
- persistent-template.cabal +1/−1
Database/Persist/TH.hs view
@@ -377,6 +377,10 @@ $ foldl AppE (ConE constr) (replicate count' $ VarE $ mkName "undefined")) []] +isNotNull :: PersistValue -> Bool+isNotNull PersistNull = False+isNotNull _ = True+ mkFromPersistValues :: EntityDef -> Q [Clause] mkFromPersistValues t@(EntityDef { entitySum = False }) = do nothing <- [|Left $(liftT "Invalid fromPersistValues input")|]@@ -395,7 +399,7 @@ where go ap' x y = InfixE (Just x) ap' (Just y) mkFromPersistValues t@(EntityDef { entitySum = True }) = do- nothing <- [|Left $(liftT "Invalid fromPersistValues input")|]+ nothing <- [|Left $(liftT "Invalid fromPersistValues input: sum type with all nulls")|] clauses <- mkClauses [] $ entityFields t return $ clauses `mappend` [Clause [WildP] (NormalB nothing) []] where@@ -411,7 +415,8 @@ constr = ConE $ sumConstrName t field fmap' <- [|fmap|] fs <- [|fromPersistValue $(return $ VarE x)|]- let clause = Clause [pat] (NormalB $ InfixE (Just constr) fmap' (Just fs)) []+ let guard' = NormalG $ VarE 'isNotNull `AppE` VarE x+ let clause = Clause [pat] (GuardedB [(guard', InfixE (Just constr) fmap' (Just fs))]) [] clauses <- mkClauses (field : before) after return $ clause : clauses
persistent-template.cabal view
@@ -1,5 +1,5 @@ name: persistent-template-version: 1.1.2.2+version: 1.1.2.3 license: MIT license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>