persistent-template 2.0.0.2 → 2.0.0.3
raw patch · 2 files changed
+37/−39 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Database/Persist/TH.hs +35/−37
- persistent-template.cabal +2/−2
Database/Persist/TH.hs view
@@ -653,43 +653,41 @@ keyPattern = BindS (ConP 'Ident [LitP $ keyStringL t]) genericInstances = [|lexP|] >>= \lexPE ->- -- truly unfortunate that TH doesn't support standalone deriving- -- https://ghc.haskell.org/trac/ghc/ticket/8100- [d|instance Show (BackendKey $(pure backendT)) => Show (Key $(pure recordType)) where- showsPrec i x = showParen (i > app_prec) $- (showString $ $(pure $ LitE $ keyStringL t) `mappend` " ") .- showsPrec i ($(return $ VarE $ unKeyName t) x)- where app_prec = (10::Int)- instance Read (BackendKey $(pure backendT)) => Read (Key $(pure recordType)) where- readPrec = parens $ (prec app_prec $ do- $(pure $ DoE [keyPattern lexPE])- m <- step readPrec- return ($(pure $ ConE $ keyConName t) m))- where app_prec = (10::Int)- instance Eq (BackendKey $(pure backendT)) => Eq (Key $(pure recordType)) where- x == y =- ($(return $ VarE $ unKeyName t) x) ==- ($(return $ VarE $ unKeyName t) y)- x /= y =- ($(return $ VarE $ unKeyName t) x) ==- ($(return $ VarE $ unKeyName t) y)- instance Ord (BackendKey $(pure backendT)) => Ord (Key $(pure recordType)) where- compare x y = compare- ($(return $ VarE $ unKeyName t) x)- ($(return $ VarE $ unKeyName t) y)- instance PathPiece (BackendKey $(pure backendT)) => PathPiece (Key $(pure recordType)) where- toPathPiece = toPathPiece . $(return $ VarE $ unKeyName t)- fromPathPiece = fmap $(return $ ConE $ keyConName t) . fromPathPiece- instance PersistField (BackendKey $(pure backendT)) => PersistField (Key $(pure recordType)) where- toPersistValue = toPersistValue . $(return $ VarE $ unKeyName t)- fromPersistValue = fmap $(return $ ConE $ keyConName t) . fromPersistValue- instance PersistFieldSql (BackendKey $(pure backendT)) => PersistFieldSql (Key $(pure recordType)) where- sqlType = sqlType . fmap $(return $ VarE $ unKeyName t)- instance ToJSON (BackendKey $(pure backendT)) => ToJSON (Key $(pure recordType)) where- toJSON = toJSON . $(return $ VarE $ unKeyName t)- instance FromJSON (BackendKey $(pure backendT)) => FromJSON (Key $(pure recordType)) where- parseJSON = fmap $(return $ ConE $ keyConName t) . parseJSON- |]+ [| step readPrec >>= return . ($(pure $ ConE $ keyConName t) )|] >>= \readE ->+ -- truly unfortunate that TH doesn't support standalone deriving+ -- https://ghc.haskell.org/trac/ghc/ticket/8100+ [d|instance Show (BackendKey $(pure backendT)) => Show (Key $(pure recordType)) where+ showsPrec i x = showParen (i > app_prec) $+ (showString $ $(pure $ LitE $ keyStringL t) `mappend` " ") .+ showsPrec i ($(return $ VarE $ unKeyName t) x)+ where app_prec = (10::Int)+ instance Read (BackendKey $(pure backendT)) => Read (Key $(pure recordType)) where+ readPrec = parens $ (prec app_prec $ $(pure $ DoE [keyPattern lexPE, NoBindS readE]))+ where app_prec = (10::Int)+ instance Eq (BackendKey $(pure backendT)) => Eq (Key $(pure recordType)) where+ x == y =+ ($(return $ VarE $ unKeyName t) x) ==+ ($(return $ VarE $ unKeyName t) y)+ x /= y =+ ($(return $ VarE $ unKeyName t) x) ==+ ($(return $ VarE $ unKeyName t) y)+ instance Ord (BackendKey $(pure backendT)) => Ord (Key $(pure recordType)) where+ compare x y = compare+ ($(return $ VarE $ unKeyName t) x)+ ($(return $ VarE $ unKeyName t) y)+ instance PathPiece (BackendKey $(pure backendT)) => PathPiece (Key $(pure recordType)) where+ toPathPiece = toPathPiece . $(return $ VarE $ unKeyName t)+ fromPathPiece = fmap $(return $ ConE $ keyConName t) . fromPathPiece+ instance PersistField (BackendKey $(pure backendT)) => PersistField (Key $(pure recordType)) where+ toPersistValue = toPersistValue . $(return $ VarE $ unKeyName t)+ fromPersistValue = fmap $(return $ ConE $ keyConName t) . fromPersistValue+ instance PersistFieldSql (BackendKey $(pure backendT)) => PersistFieldSql (Key $(pure recordType)) where+ sqlType = sqlType . fmap $(return $ VarE $ unKeyName t)+ instance ToJSON (BackendKey $(pure backendT)) => ToJSON (Key $(pure recordType)) where+ toJSON = toJSON . $(return $ VarE $ unKeyName t)+ instance FromJSON (BackendKey $(pure backendT)) => FromJSON (Key $(pure recordType)) where+ parseJSON = fmap $(return $ ConE $ keyConName t) . parseJSON+ |] useNewtype = length keyFields < 2 keyFields = case entityPrimary t of
persistent-template.cabal view
@@ -1,9 +1,9 @@ name: persistent-template-version: 2.0.0.2+version: 2.0.0.3 license: MIT license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>-maintainer: Michael Snoyman <michael@snoyman.com>+maintainer: Michael Snoyman <michael@snoyman.com>, Greg Weber <greg@gregweber.info> synopsis: Type-safe, non-relational, multi-backend persistence. description: This library provides just the general interface and helper functions. You must use a specific backend in order to make this useful. category: Database, Yesod