{-# LANGUAGE CPP #-} module Test.WebDriver.Util.Aeson ( aesonToList , aesonLookup , aesonKeyFromText ) where import Data.Text (Text) #if MIN_VERSION_aeson(2,0,0) import qualified Data.Aeson.Key as A import qualified Data.Aeson.KeyMap as KM aesonToList :: KM.KeyMap v -> [(A.Key, v)] aesonToList :: forall v. KeyMap v -> [(Key, v)] aesonToList = KeyMap v -> [(Key, v)] forall v. KeyMap v -> [(Key, v)] KM.toList aesonLookup :: Text -> KM.KeyMap v -> Maybe v aesonLookup :: forall v. Text -> KeyMap v -> Maybe v aesonLookup = Key -> KeyMap v -> Maybe v forall v. Key -> KeyMap v -> Maybe v KM.lookup (Key -> KeyMap v -> Maybe v) -> (Text -> Key) -> Text -> KeyMap v -> Maybe v forall b c a. (b -> c) -> (a -> b) -> a -> c . Text -> Key A.fromText aesonKeyFromText :: Text -> A.Key aesonKeyFromText :: Text -> Key aesonKeyFromText = Text -> Key A.fromText #else import qualified Data.HashMap.Strict as HM aesonToList :: HM.KeyMap v -> [(A.Key, v)] aesonToList = HM.toList aesonLookup :: (Eq k, Hashable k) => k -> HM.HashMap k v -> Maybe v aesonLookup = HM.lookup aesonKeyFromText :: Text -> Text aesonKeyFromText = id #endif