packages feed

serokell-util 0.1.3.4 → 0.1.3.5

raw patch · 2 files changed

+25/−7 lines, 2 filesdep ~aesonPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: aeson

API changes (from Hackage documentation)

- Serokell.Util.Base64: instance Data.Aeson.Types.Class.FromJSON Serokell.Util.Base64.JsonByteString
- Serokell.Util.Base64: instance Data.Aeson.Types.Class.FromJSON Serokell.Util.Base64.JsonByteStringDeprecated
- Serokell.Util.Base64: instance Data.Aeson.Types.Class.ToJSON Serokell.Util.Base64.JsonByteString
- Serokell.Util.Base64: instance Data.Aeson.Types.Class.ToJSON Serokell.Util.Base64.JsonByteStringDeprecated
- Serokell.Util.I18N: instance (GHC.Classes.Eq a, GHC.Classes.Ord a, GHC.Generics.Generic a, Data.Aeson.Types.Class.GFromJSON (GHC.Generics.Rep a)) => Serokell.Util.I18N.YamlMapKey a
- Serokell.Util.I18N: instance (GHC.Classes.Ord a, GHC.Classes.Eq a, GHC.Generics.Generic a, Data.Aeson.Types.Class.GToJSON (GHC.Generics.Rep a)) => Serokell.Util.I18N.ToReplaceToken a
- Serokell.Util.I18N: instance (GHC.Generics.Generic a, Data.Aeson.Types.Class.GFromJSON (GHC.Generics.Rep a)) => Data.Aeson.Extra.Map.FromJSONKey a
+ Serokell.Util.Base64: instance Data.Aeson.Types.FromJSON.FromJSON Serokell.Util.Base64.JsonByteString
+ Serokell.Util.Base64: instance Data.Aeson.Types.FromJSON.FromJSON Serokell.Util.Base64.JsonByteStringDeprecated
+ Serokell.Util.Base64: instance Data.Aeson.Types.ToJSON.ToJSON Serokell.Util.Base64.JsonByteString
+ Serokell.Util.Base64: instance Data.Aeson.Types.ToJSON.ToJSON Serokell.Util.Base64.JsonByteStringDeprecated
+ Serokell.Util.I18N: instance (GHC.Classes.Eq a, GHC.Classes.Ord a, GHC.Generics.Generic a, Data.Aeson.Types.FromJSON.GFromJSON Data.Aeson.Types.Generic.Zero (GHC.Generics.Rep a)) => Serokell.Util.I18N.YamlMapKey a
+ Serokell.Util.I18N: instance (GHC.Classes.Ord a, GHC.Classes.Eq a, GHC.Generics.Generic a, Data.Aeson.Types.ToJSON.GToJSON Data.Aeson.Types.Generic.Zero (GHC.Generics.Rep a)) => Serokell.Util.I18N.ToReplaceToken a
+ Serokell.Util.I18N: instance (GHC.Generics.Generic a, Data.Aeson.Types.FromJSON.GFromJSON Data.Aeson.Types.Generic.Zero (GHC.Generics.Rep a)) => Data.Aeson.Extra.Map.FromJSONKey a

Files

serokell-util.cabal view
@@ -1,5 +1,5 @@ name:                serokell-util-version:             0.1.3.4+version:             0.1.3.5 synopsis:            General-purpose functions by Serokell homepage:            https://github.com/serokell/serokell-util license:             MIT@@ -53,7 +53,7 @@                        Serokell.Util.Parse.Network   build-depends:       QuickCheck >= 2.8.1                      , acid-state-                     , aeson >= 0.11.0.0 && < 1.0.0.0+                     , aeson >= 0.11.0.0 && < 2.0.0.0                      , aeson-extra >= 0.4.0.0                      , base >= 4.8 && < 5                      , base16-bytestring@@ -112,7 +112,7 @@                        Test.Serokell.Util.VerifySpec                        Spec   type:                exitcode-stdio-1.0-  build-depends:       aeson >= 0.11.0.0 && < 1.0.0.0+  build-depends:       aeson >= 0.11.0.0 && < 2.0.0.0                      , base >=4.8                      , binary                      , bytestring
src/Serokell/Util/I18N.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP                  #-} {-# LANGUAGE FlexibleContexts     #-} {-# LANGUAGE FlexibleInstances    #-} {-# LANGUAGE UndecidableInstances #-}@@ -11,7 +12,6 @@        ) where  import           Data.Aeson.Extra.Map   (FromJSONKey (..), getMap)-import           Data.Aeson.Types       (genericParseJSON, genericToJSON) import qualified Data.Aeson.Types       as AT import           Data.ByteString        as BS import qualified Data.Map.Strict        as M@@ -21,13 +21,26 @@ import           GHC.Generics           (Generic, Rep) import           Serokell.Aeson.Options (defaultOptions) ++-- It's better to get rid of aeson-extra depricated things here, but+-- aeson-1.0.0.0 structure of FromJSONKey requires fromJSONKeyList+-- which is unobvious to implement. class (Eq a, Ord a, FromJSONKey a) => YamlMapKey a +#if MIN_VERSION_aeson(1,0,0)+instance (Generic a, AT.GFromJSON AT.Zero (Rep a)) =>+#else instance (Generic a, AT.GFromJSON (Rep a)) =>+#endif          FromJSONKey a where-    parseJSONKey l = genericParseJSON defaultOptions (AT.String l)+    parseJSONKey l = AT.genericParseJSON defaultOptions (AT.String l) ++#if MIN_VERSION_aeson(1,0,0)+instance (Eq a, Ord a, Generic a, AT.GFromJSON AT.Zero (Rep a)) =>+#else instance (Eq a, Ord a, Generic a, AT.GFromJSON (Rep a)) =>+#endif          YamlMapKey a  type Translations lang token = M.Map lang (M.Map token T.Text)@@ -47,10 +60,15 @@   class (Ord a, Eq a) => ToReplaceToken a where-  toReplaceToken :: a -> T.Text+    toReplaceToken :: a -> T.Text +#if MIN_VERSION_aeson(1,0,0)+instance (Ord a, Eq a, Generic a, AT.GToJSON AT.Zero (Rep a)) => ToReplaceToken a where+    toReplaceToken = (\(AT.String s) -> s) . AT.genericToJSON defaultOptions+#else instance (Ord a, Eq a, Generic a, AT.GToJSON (Rep a)) => ToReplaceToken a where-  toReplaceToken = (\(AT.String s) -> s) . genericToJSON defaultOptions+    toReplaceToken = (\(AT.String s) -> s) . AT.genericToJSON defaultOptions+#endif  replaceTranslations     :: (ToReplaceToken token, Ord lang)