From d80aaee42b5563df3a647830639bdd3b090a22ee Mon Sep 17 00:00:00 2001 From: John MacFarlane <jgm@berkeley.edu> Date: Sun, 10 Oct 2021 08:43:45 -0700 Subject: [PATCH] Translations: don't depend on the fact that Aeson Object is... implemented internally as a HashMap. This is no longer public as of aeson 2.0.0.0. --- pandoc.cabal | 1 - src/Text/Pandoc/Translations.hs | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/pandoc.cabal b/pandoc.cabal index 9b59c8c98..50f33c937 100644 --- a/pandoc.cabal +++ b/pandoc.cabal @@ -578,7 +578,6 @@ library text-conversions >= 0.3 && < 0.4, time >= 1.5 && < 1.13, unicode-transforms >= 0.3 && < 0.4, - unordered-containers >= 0.2 && < 0.3, xml >= 1.3.12 && < 1.4, xml-conduit >= 1.9.1.1 && < 1.10, unicode-collation >= 0.1.1 && < 0.2, diff --git a/src/Text/Pandoc/Translations.hs b/src/Text/Pandoc/Translations.hs index 0c7d7ab23..000d1091b 100644 --- a/src/Text/Pandoc/Translations.hs +++ b/src/Text/Pandoc/Translations.hs @@ -31,7 +31,6 @@ module Text.Pandoc.Translations ( where import Data.Aeson.Types (Value(..), FromJSON(..)) import qualified Data.Aeson.Types as Aeson -import qualified Data.HashMap.Strict as HM import qualified Data.Map as M import qualified Data.Text as T import qualified Data.YAML as YAML @@ -83,8 +82,8 @@ instance YAML.FromYAML Term where parseYAML invalid = YAML.typeMismatch "Term" invalid instance FromJSON Translations where - parseJSON (Object hm) = do - xs <- mapM addItem (HM.toList hm) + parseJSON o@(Object hm) = do + xs <- parseJSON o >>= mapM addItem . M.toList return $ Translations (M.fromList xs) where addItem (k,v) = case safeRead k of