aeson-extra-0.4.1.3: Extra goodies for aeson
Copyright(C) 2015-2016 Oleg Grenrus
LicenseBSD3
MaintainerOleg Grenrus <oleg.grenrus@iki.fi>
Safe HaskellNone
LanguageHaskell2010

Data.Aeson.Extra.Map

Description

Deprecated: Use aeson-1 TOJSONKey etc functionality

More or less useful newtypes for writing FromJSON & ToJSON instances

Synopsis

Documentation

newtype M a Source #

A wrapper type to parse arbitrary maps

λ > decode "{\"1\": 1, \"2\": 2}" :: Maybe (M (H.HashMap Int Int))
Just (M {getMap = fromList [(1,1),(2,2)]})

Constructors

M 

Fields

Instances

Instances details
Functor M Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

fmap :: (a -> b) -> M a -> M b #

(<$) :: a -> M b -> M a #

Foldable M Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

fold :: Monoid m => M m -> m

foldMap :: Monoid m => (a -> m) -> M a -> m

foldMap' :: Monoid m => (a -> m) -> M a -> m

foldr :: (a -> b -> b) -> b -> M a -> b

foldr' :: (a -> b -> b) -> b -> M a -> b

foldl :: (b -> a -> b) -> b -> M a -> b

foldl' :: (b -> a -> b) -> b -> M a -> b

foldr1 :: (a -> a -> a) -> M a -> a

foldl1 :: (a -> a -> a) -> M a -> a

toList :: M a -> [a]

null :: M a -> Bool

length :: M a -> Int

elem :: Eq a => a -> M a -> Bool

maximum :: Ord a => M a -> a

minimum :: Ord a => M a -> a

sum :: Num a => M a -> a

product :: Num a => M a -> a

Traversable M Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

traverse :: Applicative f => (a -> f b) -> M a -> f (M b)

sequenceA :: Applicative f => M (f a) -> f (M a)

mapM :: Monad m => (a -> m b) -> M a -> m (M b) #

sequence :: Monad m => M (m a) -> m (M a) #

Eq a => Eq (M a) Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

(==) :: M a -> M a -> Bool

(/=) :: M a -> M a -> Bool

Ord a => Ord (M a) Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

compare :: M a -> M a -> Ordering

(<) :: M a -> M a -> Bool

(<=) :: M a -> M a -> Bool

(>) :: M a -> M a -> Bool

(>=) :: M a -> M a -> Bool

max :: M a -> M a -> M a

min :: M a -> M a -> M a

Read a => Read (M a) Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

readsPrec :: Int -> ReadS (M a)

readList :: ReadS [M a]

readPrec :: ReadPrec (M a)

readListPrec :: ReadPrec [M a]

Show a => Show (M a) Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

showsPrec :: Int -> M a -> ShowS

show :: M a -> String

showList :: [M a] -> ShowS

FromJSONMap m k v => FromJSON (M m) Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

parseJSON :: Value -> Parser (M m)

parseJSONList :: Value -> Parser [M m]

ToJSONMap m k v => ToJSON (M m) Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

toJSON :: M m -> Value

toEncoding :: M m -> Encoding

toJSONList :: [M m] -> Value

toEncodingList :: [M m] -> Encoding

class FromJSONKey a where Source #

Methods

parseJSONKey :: Text -> Parser a Source #

Instances

Instances details
FromJSONKey Int Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

parseJSONKey :: Text -> Parser Int Source #

FromJSONKey Integer Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

parseJSONKey :: Text -> Parser Integer Source #

FromJSONKey String Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

parseJSONKey :: Text -> Parser String Source #

FromJSONKey Text Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

parseJSONKey :: Text -> Parser Text Source #

FromJSONKey Text Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

parseJSONKey :: Text0 -> Parser Text Source #

parseIntegralJSONKey :: Integral a => Text -> Parser a Source #

class FromJSONMap m k v | m -> k v where Source #

Methods

parseJSONMap :: HashMap Text Value -> Parser m Source #

Instances

Instances details
(Ord k, FromJSONKey k, FromJSON v) => FromJSONMap (Map k v) k v Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

parseJSONMap :: HashMap Text Value -> Parser (Map k v) Source #

(Eq k, Hashable k, FromJSONKey k, FromJSON v) => FromJSONMap (HashMap k v) k v Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

parseJSONMap :: HashMap Text Value -> Parser (HashMap k v) Source #

class ToJSONKey a where Source #

Methods

toJSONKey :: a -> Text Source #

Instances

Instances details
ToJSONKey Int Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

toJSONKey :: Int -> Text Source #

ToJSONKey Integer Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

toJSONKey :: Integer -> Text Source #

ToJSONKey String Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

toJSONKey :: String -> Text Source #

ToJSONKey Text Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

toJSONKey :: Text -> Text Source #

ToJSONKey Text Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

toJSONKey :: Text -> Text0 Source #

class ToJSONMap m k v | m -> k v where Source #

Methods

toJSONMap :: m -> HashMap Text Value Source #

Instances

Instances details
(ToJSONKey k, ToJSON v) => ToJSONMap (Map k v) k v Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

toJSONMap :: Map k v -> HashMap Text Value Source #

(ToJSONKey k, ToJSON v) => ToJSONMap (HashMap k v) k v Source # 
Instance details

Defined in Data.Aeson.Extra.Map

Methods

toJSONMap :: HashMap k v -> HashMap Text Value Source #