aeson-2.1.1.0: Fast JSON parsing and encoding
Safe HaskellNone
LanguageHaskell2010

Data.Aeson.KeyMap

Description

An abstract interface for maps from JSON keys to values.

Synopsis

Map Type

data KeyMap v Source #

A map from JSON key type Key to v.

Instances

Instances details
Functor KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

fmap :: (a -> b) -> KeyMap a -> KeyMap b Source #

(<$) :: a -> KeyMap b -> KeyMap a Source #

Foldable KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

fold :: Monoid m => KeyMap m -> m Source #

foldMap :: Monoid m => (a -> m) -> KeyMap a -> m Source #

foldMap' :: Monoid m => (a -> m) -> KeyMap a -> m Source #

foldr :: (a -> b -> b) -> b -> KeyMap a -> b Source #

foldr' :: (a -> b -> b) -> b -> KeyMap a -> b Source #

foldl :: (b -> a -> b) -> b -> KeyMap a -> b Source #

foldl' :: (b -> a -> b) -> b -> KeyMap a -> b Source #

foldr1 :: (a -> a -> a) -> KeyMap a -> a Source #

foldl1 :: (a -> a -> a) -> KeyMap a -> a Source #

toList :: KeyMap a -> [a] Source #

null :: KeyMap a -> Bool Source #

length :: KeyMap a -> Int Source #

elem :: Eq a => a -> KeyMap a -> Bool Source #

maximum :: Ord a => KeyMap a -> a Source #

minimum :: Ord a => KeyMap a -> a Source #

sum :: Num a => KeyMap a -> a Source #

product :: Num a => KeyMap a -> a Source #

Traversable KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

traverse :: Applicative f => (a -> f b) -> KeyMap a -> f (KeyMap b) Source #

sequenceA :: Applicative f => KeyMap (f a) -> f (KeyMap a) Source #

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

sequence :: Monad m => KeyMap (m a) -> m (KeyMap a) Source #

Arbitrary1 KeyMap Source #

Since: 2.0.3.0

Instance details

Defined in Data.Aeson.KeyMap

Methods

liftArbitrary :: Gen a -> Gen (KeyMap a) Source #

liftShrink :: (a -> [a]) -> KeyMap a -> [KeyMap a] Source #

Semialign KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

align :: KeyMap a -> KeyMap b -> KeyMap (These a b) Source #

alignWith :: (These a b -> c) -> KeyMap a -> KeyMap b -> KeyMap c Source #

Align KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

nil :: KeyMap a Source #

Zip KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

zip :: KeyMap a -> KeyMap b -> KeyMap (a, b) Source #

zipWith :: (a -> b -> c) -> KeyMap a -> KeyMap b -> KeyMap c Source #

Filterable KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

mapMaybe :: (a -> Maybe b) -> KeyMap a -> KeyMap b Source #

catMaybes :: KeyMap (Maybe a) -> KeyMap a Source #

filter :: (a -> Bool) -> KeyMap a -> KeyMap a Source #

Witherable KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

wither :: Applicative f => (a -> f (Maybe b)) -> KeyMap a -> f (KeyMap b) Source #

witherM :: Monad m => (a -> m (Maybe b)) -> KeyMap a -> m (KeyMap b) Source #

filterA :: Applicative f => (a -> f Bool) -> KeyMap a -> f (KeyMap a) Source #

witherMap :: Applicative m => (KeyMap b -> r) -> (a -> m (Maybe b)) -> KeyMap a -> m r Source #

FromJSON1 KeyMap Source #

Since: 2.0.1.0

Instance details

Defined in Data.Aeson.Types.FromJSON

Methods

liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (KeyMap a) Source #

liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [KeyMap a] Source #

ToJSON1 KeyMap Source # 
Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

liftToJSON :: (a -> Value) -> ([a] -> Value) -> KeyMap a -> Value Source #

liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [KeyMap a] -> Value Source #

liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> KeyMap a -> Encoding Source #

liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [KeyMap a] -> Encoding Source #

FunctorWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

imap :: (Key -> a -> b) -> KeyMap a -> KeyMap b Source #

FoldableWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

ifoldMap :: Monoid m => (Key -> a -> m) -> KeyMap a -> m Source #

ifoldMap' :: Monoid m => (Key -> a -> m) -> KeyMap a -> m Source #

ifoldr :: (Key -> a -> b -> b) -> b -> KeyMap a -> b Source #

ifoldl :: (Key -> b -> a -> b) -> b -> KeyMap a -> b Source #

ifoldr' :: (Key -> a -> b -> b) -> b -> KeyMap a -> b Source #

ifoldl' :: (Key -> b -> a -> b) -> b -> KeyMap a -> b Source #

TraversableWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

itraverse :: Applicative f => (Key -> a -> f b) -> KeyMap a -> f (KeyMap b) Source #

SemialignWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

ialignWith :: (Key -> These a b -> c) -> KeyMap a -> KeyMap b -> KeyMap c Source #

ZipWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

izipWith :: (Key -> a -> b -> c) -> KeyMap a -> KeyMap b -> KeyMap c Source #

FilterableWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

imapMaybe :: (Key -> a -> Maybe b) -> KeyMap a -> KeyMap b Source #

ifilter :: (Key -> a -> Bool) -> KeyMap a -> KeyMap a Source #

WitherableWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

iwither :: Applicative f => (Key -> a -> f (Maybe b)) -> KeyMap a -> f (KeyMap b) Source #

iwitherM :: Monad m => (Key -> a -> m (Maybe b)) -> KeyMap a -> m (KeyMap b) Source #

ifilterA :: Applicative f => (Key -> a -> f Bool) -> KeyMap a -> f (KeyMap a) Source #

Lift v => Lift (KeyMap v :: Type) Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

lift :: KeyMap v -> Q Exp Source #

liftTyped :: KeyMap v -> Q (TExp (KeyMap v)) Source #

IsList (KeyMap v) Source #

Since: 2.0.2.0

Instance details

Defined in Data.Aeson.KeyMap

Associated Types

type Item (KeyMap v) Source #

Methods

fromList :: [Item (KeyMap v)] -> KeyMap v Source #

fromListN :: Int -> [Item (KeyMap v)] -> KeyMap v Source #

toList :: KeyMap v -> [Item (KeyMap v)] Source #

Eq v => Eq (KeyMap v) Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

(==) :: KeyMap v -> KeyMap v -> Bool Source #

(/=) :: KeyMap v -> KeyMap v -> Bool Source #

Data v => Data (KeyMap v) Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> KeyMap v -> c (KeyMap v) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (KeyMap v) Source #

toConstr :: KeyMap v -> Constr Source #

dataTypeOf :: KeyMap v -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (KeyMap v)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (KeyMap v)) Source #

gmapT :: (forall b. Data b => b -> b) -> KeyMap v -> KeyMap v Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> KeyMap v -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> KeyMap v -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> KeyMap v -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> KeyMap v -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> KeyMap v -> m (KeyMap v) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyMap v -> m (KeyMap v) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyMap v -> m (KeyMap v) Source #

Ord v => Ord (KeyMap v) Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

compare :: KeyMap v -> KeyMap v -> Ordering Source #

(<) :: KeyMap v -> KeyMap v -> Bool Source #

(<=) :: KeyMap v -> KeyMap v -> Bool Source #

(>) :: KeyMap v -> KeyMap v -> Bool Source #

(>=) :: KeyMap v -> KeyMap v -> Bool Source #

max :: KeyMap v -> KeyMap v -> KeyMap v Source #

min :: KeyMap v -> KeyMap v -> KeyMap v Source #

Read v => Read (KeyMap v) Source # 
Instance details

Defined in Data.Aeson.KeyMap

Show v => Show (KeyMap v) Source # 
Instance details

Defined in Data.Aeson.KeyMap

Semigroup (KeyMap v) Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

(<>) :: KeyMap v -> KeyMap v -> KeyMap v Source #

sconcat :: NonEmpty (KeyMap v) -> KeyMap v Source #

stimes :: Integral b => b -> KeyMap v -> KeyMap v Source #

Monoid (KeyMap v) Source # 
Instance details

Defined in Data.Aeson.KeyMap

Function v => Function (KeyMap v) Source #

Since: 2.0.3.0

Instance details

Defined in Data.Aeson.KeyMap

Methods

function :: (KeyMap v -> b) -> KeyMap v :-> b Source #

Arbitrary v => Arbitrary (KeyMap v) Source #

Since: 2.0.3.0

Instance details

Defined in Data.Aeson.KeyMap

Methods

arbitrary :: Gen (KeyMap v) Source #

shrink :: KeyMap v -> [KeyMap v] Source #

CoArbitrary v => CoArbitrary (KeyMap v) Source #

Since: 2.0.3.0

Instance details

Defined in Data.Aeson.KeyMap

Methods

coarbitrary :: KeyMap v -> Gen b -> Gen b Source #

NFData v => NFData (KeyMap v) Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

rnf :: KeyMap v -> () Source #

Hashable v => Hashable (KeyMap v) Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

hashWithSalt :: Int -> KeyMap v -> Int Source #

hash :: KeyMap v -> Int Source #

FromJSON v => FromJSON (KeyMap v) Source #

Since: 2.0.1.0

Instance details

Defined in Data.Aeson.Types.FromJSON

value ~ Value => KeyValue (KeyMap value) Source #

Constructs a singleton KeyMap. For calling functions that demand an Object for constructing objects. To be used in conjunction with mconcat. Prefer to use object where possible.

Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

(.=) :: ToJSON v => Key -> v -> KeyMap value Source #

ToJSON v => ToJSON (KeyMap v) Source # 
Instance details

Defined in Data.Aeson.Types.ToJSON

type Item (KeyMap v) Source # 
Instance details

Defined in Data.Aeson.KeyMap

type Item (KeyMap v) = (Key, v)

Query

null :: KeyMap v -> Bool Source #

Is the map empty?

lookup :: Key -> KeyMap v -> Maybe v Source #

Return the value to which the specified key is mapped, or Nothing if this map contains no mapping for the key.

(!?) :: KeyMap v -> Key -> Maybe v Source #

Return the value to which the specified key is mapped, or Nothing if this map contains no mapping for the key.

This is a flipped version of lookup.

Since: 2.1.1.0

size :: KeyMap v -> Int Source #

Return the number of key-value mappings in this map.

member :: Key -> KeyMap a -> Bool Source #

Is the key a member of the map?

Construction

empty :: KeyMap v Source #

Construct an empty map.

singleton :: Key -> v -> KeyMap v Source #

Construct a map with a single element.

Insertion

insert :: Key -> v -> KeyMap v -> KeyMap v Source #

Associate the specified value with the specified key in this map. If this map previously contained a mapping for the key, the old value is replaced.

insertWith :: (a -> a -> a) -> Key -> a -> KeyMap a -> KeyMap a Source #

Insert with a function combining new and old values, taken in that order.

Since: 2.1.1.0

Deletion

delete :: Key -> KeyMap v -> KeyMap v Source #

Remove the mapping for the specified key from this map if present.

Update

alterF :: Functor f => (Maybe v -> f (Maybe v)) -> Key -> KeyMap v -> f (KeyMap v) Source #

alterF can be used to insert, delete, or update a value in a map.

Combine

difference :: KeyMap v -> KeyMap v' -> KeyMap v Source #

Difference of two maps. Return elements of the first map not existing in the second.

union :: KeyMap v -> KeyMap v -> KeyMap v Source #

unionWith :: (v -> v -> v) -> KeyMap v -> KeyMap v -> KeyMap v Source #

The union with a combining function.

unionWithKey :: (Key -> v -> v -> v) -> KeyMap v -> KeyMap v -> KeyMap v Source #

The union with a combining function.

intersection :: KeyMap a -> KeyMap b -> KeyMap a Source #

The (left-biased) intersection of two maps (based on keys).

intersectionWith :: (a -> b -> c) -> KeyMap a -> KeyMap b -> KeyMap c Source #

The intersection with a combining function.

intersectionWithKey :: (Key -> a -> b -> c) -> KeyMap a -> KeyMap b -> KeyMap c Source #

The intersection with a combining function.

alignWith :: (These a b -> c) -> KeyMap a -> KeyMap b -> KeyMap c Source #

Generalized union with combining function.

alignWithKey :: (Key -> These a b -> c) -> KeyMap a -> KeyMap b -> KeyMap c Source #

Generalized union with combining function.

Lists

fromList :: [(Key, v)] -> KeyMap v Source #

Construct a map with the supplied mappings. If the list contains duplicate mappings, the later mappings take precedence.

fromListWith :: (v -> v -> v) -> [(Key, v)] -> KeyMap v Source #

Construct a map from a list of elements. Uses the provided function, f, to merge duplicate entries with (f newVal oldVal).

toList :: KeyMap v -> [(Key, v)] Source #

Return a list of this map's keys and elements.

The order is not stable. Use toAscList for stable ordering.

toAscList :: KeyMap v -> [(Key, v)] Source #

Return a list of this map's elements in ascending order based of the textual key.

elems :: KeyMap v -> [v] Source #

Return a list of this map' elements.

Since: 2.0.3.0

Maps

fromHashMap :: HashMap Key v -> KeyMap v Source #

Convert a HashMap to a KeyMap.

toHashMap :: KeyMap v -> HashMap Key v Source #

Convert a KeyMap to a HashMap.

fromMap :: Map Key v -> KeyMap v Source #

Convert a Map to a KeyMap.

toMap :: KeyMap v -> Map Key v Source #

Convert a KeyMap to a Map.

fromMapText :: Map Text v -> KeyMap v Source #

Convert a Map Textto a KeyMap.

Since: 2.0.2.0

toMapText :: KeyMap v -> Map Text v Source #

Convert a KeyMap to a Map Text.

Since: 2.0.2.0

Traversal

Map

map :: (a -> b) -> KeyMap a -> KeyMap b Source #

Map a function over all values in the map.

mapWithKey :: (Key -> a -> b) -> KeyMap a -> KeyMap b Source #

Map a function over all values in the map.

Since: 2.1.0.0

mapKeyVal :: (Key -> Key) -> (v1 -> v2) -> KeyMap v1 -> KeyMap v2 Source #

Transform the keys and values of a KeyMap.

traverse :: Applicative f => (v1 -> f v2) -> KeyMap v1 -> f (KeyMap v2) Source #

Perform an Applicative action for each key-value pair in a KeyMap and produce a KeyMap of all the results.

traverseWithKey :: Applicative f => (Key -> v1 -> f v2) -> KeyMap v1 -> f (KeyMap v2) Source #

Perform an Applicative action for each key-value pair in a KeyMap and produce a KeyMap of all the results.

Folds

foldr :: (a -> b -> b) -> b -> KeyMap a -> b Source #

foldr' :: (a -> b -> b) -> b -> KeyMap a -> b Source #

foldl :: (b -> a -> b) -> b -> KeyMap a -> b Source #

foldl' :: (b -> a -> b) -> b -> KeyMap a -> b Source #

foldMapWithKey :: Monoid m => (Key -> a -> m) -> KeyMap a -> m Source #

foldrWithKey :: (Key -> v -> a -> a) -> a -> KeyMap v -> a Source #

Reduce this map by applying a binary operator to all elements, using the given starting value (typically the right-identity of the operator).

Conversions

keys :: KeyMap v -> [Key] Source #

Return a list of this map's keys.

Filter

filter :: (v -> Bool) -> KeyMap v -> KeyMap v Source #

Filter all keys/values that satisfy some predicate.

filterWithKey :: (Key -> v -> Bool) -> KeyMap v -> KeyMap v Source #

Filter all keys/values that satisfy some predicate.

mapMaybe :: (a -> Maybe b) -> KeyMap a -> KeyMap b Source #

Map values and collect the Just results.

mapMaybeWithKey :: (Key -> v -> Maybe u) -> KeyMap v -> KeyMap u Source #

Map values and collect the Just results.

Key Type

data Key Source #

Instances

Instances details
Eq Key Source # 
Instance details

Defined in Data.Aeson.Key

Methods

(==) :: Key -> Key -> Bool Source #

(/=) :: Key -> Key -> Bool Source #

Data Key Source # 
Instance details

Defined in Data.Aeson.Key

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Key -> c Key Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Key Source #

toConstr :: Key -> Constr Source #

dataTypeOf :: Key -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Key) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Key) Source #

gmapT :: (forall b. Data b => b -> b) -> Key -> Key Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Key -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Key -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Key -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Key -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Key -> m Key Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Key -> m Key Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Key -> m Key Source #

Ord Key Source # 
Instance details

Defined in Data.Aeson.Key

Methods

compare :: Key -> Key -> Ordering Source #

(<) :: Key -> Key -> Bool Source #

(<=) :: Key -> Key -> Bool Source #

(>) :: Key -> Key -> Bool Source #

(>=) :: Key -> Key -> Bool Source #

max :: Key -> Key -> Key Source #

min :: Key -> Key -> Key Source #

Read Key Source # 
Instance details

Defined in Data.Aeson.Key

Show Key Source # 
Instance details

Defined in Data.Aeson.Key

IsString Key Source # 
Instance details

Defined in Data.Aeson.Key

Semigroup Key Source # 
Instance details

Defined in Data.Aeson.Key

Methods

(<>) :: Key -> Key -> Key Source #

sconcat :: NonEmpty Key -> Key Source #

stimes :: Integral b => b -> Key -> Key Source #

Monoid Key Source # 
Instance details

Defined in Data.Aeson.Key

Function Key Source #

Since: 2.0.3.0

Instance details

Defined in Data.Aeson.Key

Methods

function :: (Key -> b) -> Key :-> b Source #

Arbitrary Key Source #

Since: 2.0.3.0

Instance details

Defined in Data.Aeson.Key

CoArbitrary Key Source #

Since: 2.0.3.0

Instance details

Defined in Data.Aeson.Key

Methods

coarbitrary :: Key -> Gen b -> Gen b Source #

NFData Key Source # 
Instance details

Defined in Data.Aeson.Key

Methods

rnf :: Key -> () Source #

Hashable Key Source # 
Instance details

Defined in Data.Aeson.Key

Methods

hashWithSalt :: Int -> Key -> Int Source #

hash :: Key -> Int Source #

FromJSONKey Key Source # 
Instance details

Defined in Data.Aeson.Types.FromJSON

FromJSON Key Source # 
Instance details

Defined in Data.Aeson.Types.FromJSON

ToJSONKey Key Source # 
Instance details

Defined in Data.Aeson.Types.ToJSON

ToJSON Key Source # 
Instance details

Defined in Data.Aeson.Types.ToJSON

Lift Key Source # 
Instance details

Defined in Data.Aeson.Key

Methods

lift :: Key -> Q Exp Source #

liftTyped :: Key -> Q (TExp Key) Source #

FunctorWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

imap :: (Key -> a -> b) -> KeyMap a -> KeyMap b Source #

FoldableWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

ifoldMap :: Monoid m => (Key -> a -> m) -> KeyMap a -> m Source #

ifoldMap' :: Monoid m => (Key -> a -> m) -> KeyMap a -> m Source #

ifoldr :: (Key -> a -> b -> b) -> b -> KeyMap a -> b Source #

ifoldl :: (Key -> b -> a -> b) -> b -> KeyMap a -> b Source #

ifoldr' :: (Key -> a -> b -> b) -> b -> KeyMap a -> b Source #

ifoldl' :: (Key -> b -> a -> b) -> b -> KeyMap a -> b Source #

TraversableWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

itraverse :: Applicative f => (Key -> a -> f b) -> KeyMap a -> f (KeyMap b) Source #

SemialignWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

ialignWith :: (Key -> These a b -> c) -> KeyMap a -> KeyMap b -> KeyMap c Source #

ZipWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

izipWith :: (Key -> a -> b -> c) -> KeyMap a -> KeyMap b -> KeyMap c Source #

FilterableWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

imapMaybe :: (Key -> a -> Maybe b) -> KeyMap a -> KeyMap b Source #

ifilter :: (Key -> a -> Bool) -> KeyMap a -> KeyMap a Source #

WitherableWithIndex Key KeyMap Source # 
Instance details

Defined in Data.Aeson.KeyMap

Methods

iwither :: Applicative f => (Key -> a -> f (Maybe b)) -> KeyMap a -> f (KeyMap b) Source #

iwitherM :: Monad m => (Key -> a -> m (Maybe b)) -> KeyMap a -> m (KeyMap b) Source #

ifilterA :: Applicative f => (Key -> a -> f Bool) -> KeyMap a -> f (KeyMap a) Source #