aeson-0.2.0.0: Data/Aeson/Functions.hs
module Data.Aeson.Functions
(
transformMap
) where
import Control.Arrow ((***))
import qualified Data.Map as M
-- | Transform one map into another. The ordering of keys must be
-- preserved.
transformMap :: (Ord k1, Ord k2) => (k1 -> k2) -> (v1 -> v2)
-> M.Map k1 v1 -> M.Map k2 v2
transformMap fk fv = M.fromAscList . map (fk *** fv) . M.toAscList