hw-aeson-0.1.1.1: Convenience functions for Aeson
Safe HaskellNone
LanguageHaskell2010

HaskellWorks.Data.Aeson

Synopsis

Documentation

newtype JsonEndo a Source #

Constructors

JsonEndo 

Fields

Instances

Instances details
Semigroup (JsonEndo a) Source # 
Instance details

Defined in HaskellWorks.Data.Aeson

Methods

(<>) :: JsonEndo a -> JsonEndo a -> JsonEndo a #

sconcat :: NonEmpty (JsonEndo a) -> JsonEndo a #

stimes :: Integral b => b -> JsonEndo a -> JsonEndo a #

Monoid (JsonEndo a) Source # 
Instance details

Defined in HaskellWorks.Data.Aeson

Methods

mempty :: JsonEndo a #

mappend :: JsonEndo a -> JsonEndo a -> JsonEndo a #

mconcat :: [JsonEndo a] -> JsonEndo a #

KeyValue a => KeyValue (JsonEndo a) Source # 
Instance details

Defined in HaskellWorks.Data.Aeson

Methods

(.=) :: ToJSON v => Key -> v -> JsonEndo a #

objectEndo :: [JsonEndo Pair] -> Value Source #

Same as object except used in combination with .?= and .!= instead of .=.

For example:

toJSON o = objectEndo
  [ "mandatory" .!= o ^. the "mandatory"
  , "optional"  .?= o ^. the "optional"
  ]

(.?=) :: (KeyValue p, ToJSON v, Monoid p) => Key -> Maybe v -> p infixr 7 Source #

Render optional fields as missing in JSON output.

(.!=) :: (KeyValue kv, ToJSON v) => Key -> v -> kv infixr 7 Source #

Same as .=, but with lower precedence to work well with lens.