aeson-2.1.2.1: Fast JSON parsing and encoding

Safe Haskell | Safe-Inferred
Language | Haskell2010

Data.Aeson.KeyMap

Contents

- Map Type
- Query
- Construction
  - Insertion
- Deletion
- Update
- Combine
- Lists
- Maps
- Traversal
  - Map
- Folds
- Conversions
- Filter
- Key Type

Description

An abstract interface for maps from JSON keys to values.

Since: 2.0.0.0

Synopsis

- data KeyMap v
- null :: KeyMap v -> Bool
- lookup :: Key -> KeyMap v -> Maybe v
- (!?) :: KeyMap v -> Key -> Maybe v
- size :: KeyMap v -> Int
- member :: Key -> KeyMap a -> Bool
- empty :: KeyMap v
- singleton :: Key -> v -> KeyMap v
- insert :: Key -> v -> KeyMap v -> KeyMap v
- insertWith :: (a -> a -> a) -> Key -> a -> KeyMap a -> KeyMap a
- delete :: Key -> KeyMap v -> KeyMap v
- alterF :: Functor f => (Maybe v -> f (Maybe v)) -> Key -> KeyMap v -> f (KeyMap v)
- difference :: KeyMap v -> KeyMap v' -> KeyMap v
- union :: KeyMap v -> KeyMap v -> KeyMap v
- unionWith :: (v -> v -> v) -> KeyMap v -> KeyMap v -> KeyMap v
- unionWithKey :: (Key -> v -> v -> v) -> KeyMap v -> KeyMap v -> KeyMap v
- intersection :: KeyMap a -> KeyMap b -> KeyMap a
- intersectionWith :: (a -> b -> c) -> KeyMap a -> KeyMap b -> KeyMap c
- intersectionWithKey :: (Key -> a -> b -> c) -> KeyMap a -> KeyMap b -> KeyMap c
- alignWith :: (These a b -> c) -> KeyMap a -> KeyMap b -> KeyMap c
- alignWithKey :: (Key -> These a b -> c) -> KeyMap a -> KeyMap b -> KeyMap c
- fromList :: [(Key, v)] -> KeyMap v
- fromListWith :: (v -> v -> v) -> [(Key, v)] -> KeyMap v
- toList :: KeyMap v -> [(Key, v)]
- toAscList :: KeyMap v -> [(Key, v)]
- elems :: KeyMap v -> [v]
- fromHashMap :: HashMap Key v -> KeyMap v
- toHashMap :: KeyMap v -> HashMap Key v
- fromHashMapText :: HashMap Text v -> KeyMap v
- toHashMapText :: KeyMap v -> HashMap Text v
- coercionToHashMap :: Maybe (Coercion (HashMap Key v) (KeyMap v))
- fromMap :: Map Key v -> KeyMap v
- toMap :: KeyMap v -> Map Key v
- fromMapText :: Map Text v -> KeyMap v
- toMapText :: KeyMap v -> Map Text v
- coercionToMap :: Maybe (Coercion (Map Key v) (KeyMap v))
- map :: (a -> b) -> KeyMap a -> KeyMap b
- mapWithKey :: (Key -> a -> b) -> KeyMap a -> KeyMap b
- mapKeyVal :: (Key -> Key) -> (v1 -> v2) -> KeyMap v1 -> KeyMap v2
- traverse :: Applicative f => (v1 -> f v2) -> KeyMap v1 -> f (KeyMap v2)
- traverseWithKey :: Applicative f => (Key -> v1 -> f v2) -> KeyMap v1 -> f (KeyMap v2)
- foldr :: (a -> b -> b) -> b -> KeyMap a -> b
- foldr' :: (a -> b -> b) -> b -> KeyMap a -> b
- foldl :: (b -> a -> b) -> b -> KeyMap a -> b
- foldl' :: (b -> a -> b) -> b -> KeyMap a -> b
- foldMapWithKey :: Monoid m => (Key -> a -> m) -> KeyMap a -> m
- foldrWithKey :: (Key -> v -> a -> a) -> a -> KeyMap v -> a
- keys :: KeyMap v -> [Key]
- filter :: (v -> Bool) -> KeyMap v -> KeyMap v
- filterWithKey :: (Key -> v -> Bool) -> KeyMap v -> KeyMap v
- mapMaybe :: (a -> Maybe b) -> KeyMap a -> KeyMap b
- mapMaybeWithKey :: (Key -> v -> Maybe u) -> KeyMap v -> KeyMap u
- data Key

# Map Type

data KeyMap v Source #

A map from JSON key type `Key` to `v`.

#### Instances

Instances details

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 #
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 #
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 #
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 #
Align KeyMap Source # |
Instance details Defined in Data.Aeson.KeyMap Methods nil :: 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 #
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 #
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 #

FunctorWithIndex Key KeyMap Source # |
Instance details Defined in Data.Aeson.KeyMap Methods imap :: (Key -> a -> b) -> KeyMap a -> KeyMap 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 :: Quote m => KeyMap v -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => KeyMap v -> Code m (KeyMap v) 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 #
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 #
FromJSON v => FromJSON (KeyMap v) Source # | Since: 2.0.1.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (KeyMap v) Source # parseJSONList :: Value -> Parser [KeyMap v] Source #
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 Methods toJSON :: KeyMap v -> Value Source # toEncoding :: KeyMap v -> Encoding Source # toJSONList :: [KeyMap v] -> Value Source # toEncodingList :: [KeyMap v] -> Encoding 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 #

Monoid (KeyMap v) Source # |
Instance details Defined in Data.Aeson.KeyMap Methods mempty :: KeyMap v Source # mappend :: KeyMap v -> KeyMap v -> KeyMap v Source # mconcat :: [KeyMap v] -> KeyMap v Source #
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 #
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 #
Read v => Read (KeyMap v) Source # |
Instance details Defined in Data.Aeson.KeyMap Methods readsPrec :: Int -> ReadS (KeyMap v) Source # readList :: ReadS [KeyMap v] Source # readPrec :: ReadPrec (KeyMap v) Source # readListPrec :: ReadPrec [KeyMap v] Source #
Show v => Show (KeyMap v) Source # |
Instance details Defined in Data.Aeson.KeyMap Methods showsPrec :: Int -> KeyMap v -> ShowS Source # show :: KeyMap v -> String Source # showList :: [KeyMap v] -> ShowS Source #
NFData v => NFData (KeyMap v) Source # |
Instance details Defined in Data.Aeson.KeyMap Methods rnf :: 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 #
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 #
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 #
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.

    >>> fromList [("a", 'x'), ("a", 'y')]
    fromList [("a",'y')]

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`.

fromHashMapText :: HashMap Text v -> KeyMap v Source #

Convert a ``HashMap` `Text``to a `KeyMap`.

toHashMapText :: KeyMap v -> HashMap Text v Source #

Convert a `KeyMap` to a ``HashMap` `Text``.

coercionToHashMap :: Maybe (Coercion (HashMap Key v) (KeyMap v)) Source #

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` `Text``to 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

coercionToMap :: Maybe (Coercion (Map Key v) (KeyMap v)) Source #

# 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

Arbitrary Key Source # | Since: 2.0.3.0
Instance details Defined in Data.Aeson.Key Methods arbitrary :: Gen Key Source # shrink :: Key -> [Key] Source #
CoArbitrary Key Source # | Since: 2.0.3.0
Instance details Defined in Data.Aeson.Key Methods coarbitrary :: Key -> Gen b -> Gen b Source #
Function Key Source # | Since: 2.0.3.0
Instance details Defined in Data.Aeson.Key Methods function :: (Key -> b) -> Key :-> b Source #
FromJSON Key Source # |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Key Source # parseJSONList :: Value -> Parser [Key] Source #
FromJSONKey Key Source # |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction Key Source # fromJSONKeyList :: FromJSONKeyFunction [Key] Source #
ToJSON Key Source # |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Key -> Value Source # toEncoding :: Key -> Encoding Source # toJSONList :: [Key] -> Value Source # toEncodingList :: [Key] -> Encoding Source #
ToJSONKey Key Source # |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction Key Source # toJSONKeyList :: ToJSONKeyFunction [Key] 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 #

IsString Key Source # |
Instance details Defined in Data.Aeson.Key Methods fromString :: String -> Key Source #
Monoid Key Source # |
Instance details Defined in Data.Aeson.Key Methods mempty :: Key Source # mappend :: Key -> Key -> Key Source # mconcat :: [Key] -> Key Source #
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 #
Read Key Source # |
Instance details Defined in Data.Aeson.Key Methods readsPrec :: Int -> ReadS Key Source # readList :: ReadS [Key] Source # readPrec :: ReadPrec Key Source # readListPrec :: ReadPrec [Key] Source #
Show Key Source # |
Instance details Defined in Data.Aeson.Key Methods showsPrec :: Int -> Key -> ShowS Source # show :: Key -> String Source # showList :: [Key] -> ShowS Source #
NFData Key Source # |
Instance details Defined in Data.Aeson.Key Methods rnf :: Key -> () Source #
Eq Key Source # |
Instance details Defined in Data.Aeson.Key Methods (==) :: Key -> Key -> Bool Source # (/=) :: Key -> Key -> Bool 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 #
Hashable Key Source # |
Instance details Defined in Data.Aeson.Key Methods hashWithSalt :: Int -> Key -> Int Source # hash :: Key -> Int 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 #

FunctorWithIndex Key KeyMap Source # |
Instance details Defined in Data.Aeson.KeyMap Methods imap :: (Key -> a -> b) -> KeyMap a -> KeyMap 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 #
Lift Key Source # |
Instance details Defined in Data.Aeson.Key Methods lift :: Quote m => Key -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Key -> Code m Key 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 #