selda-json 0.1.0.0 → 0.1.1.0
raw patch · 4 files changed
+18/−5 lines, 4 filesdep ~aesondep ~seldasetup-changedPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, selda
API changes (from Hackage documentation)
+ Database.Selda.JSON: instance Data.Aeson.Types.FromJSON.FromJSON (Database.Selda.SqlType.ID a)
+ Database.Selda.JSON: instance Data.Aeson.Types.FromJSON.FromJSON Database.Selda.SqlType.RowID
+ Database.Selda.JSON: instance Data.Aeson.Types.ToJSON.ToJSON (Database.Selda.SqlType.ID a)
+ Database.Selda.JSON: instance Data.Aeson.Types.ToJSON.ToJSON Database.Selda.SqlType.RowID
Files
- LICENSE +1/−1
- Setup.hs +2/−0
- selda-json.cabal +4/−3
- src/Database/Selda/JSON.hs +11/−1
LICENSE view
@@ -1,6 +1,6 @@ MIT License -Copyright (c) 2017-2018 Anton Ekblad+Copyright (c) 2017-2019 Anton Ekblad Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
selda-json.cabal view
@@ -1,8 +1,9 @@ cabal-version: >=1.10 name: selda-json-version: 0.1.0.0+version: 0.1.1.0 synopsis: JSON support for the Selda database library.--- description:+description: Types and classes to support storing and querying+ JSON values using Selda via Aeson. homepage: https://selda.link -- bug-reports: license: MIT@@ -20,7 +21,7 @@ aeson >=1.0 && <1.5 , base >=4.9 && <5 , bytestring >=0.10 && <0.11- , selda >=0.4 && <0.5+ , selda >=0.4 && <0.6 , text >=1.0 && <1.3 hs-source-dirs: src default-language: Haskell2010
src/Database/Selda/JSON.hs view
@@ -3,7 +3,7 @@ import Database.Selda (Text, Col, Inner) import Database.Selda.Backend import Database.Selda.Unsafe (sink, sink2)-import Data.Aeson (Value (Null), encode, decode')+import Data.Aeson (Value (Null), encode, decode', FromJSON (..), ToJSON (..)) import qualified Data.ByteString.Lazy as BSL (ByteString, fromStrict, toStrict) import Data.Text.Encoding (encodeUtf8) @@ -40,3 +40,13 @@ fromSql (SqlBlob t) = maybe (decodeError t) id (decode' $ BSL.fromStrict t) fromSql (SqlString t) = maybe (decodeError t) id (decode' $ textToLazyBS t) fromSql x = typeError x++instance FromJSON RowID where+ parseJSON = fmap toRowId . parseJSON+instance ToJSON RowID where+ toJSON = toJSON . fromRowId++instance FromJSON (ID a) where+ parseJSON = fmap toId . parseJSON+instance ToJSON (ID a) where+ toJSON = toJSON . fromId