module Patrol.Utility.Json
  ( pair
  , required
  ) where

import qualified Data.Aeson as Aeson
import qualified Data.Aeson.Types as Aeson
import qualified Data.String as String

pair :: (Aeson.ToJSON value, Aeson.KeyValue pair) => String -> value -> pair
pair :: String -> value -> pair
pair String
key value
value = String -> Key
forall a. IsString a => String -> a
String.fromString String
key Key -> value -> pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Aeson..= value
value

required :: Aeson.FromJSON value => Aeson.Object -> String -> Aeson.Parser value
required :: Object -> String -> Parser value
required Object
object String
key = Object
object Object -> Key -> Parser value
forall a. FromJSON a => Object -> Key -> Parser a
Aeson..: String -> Key
forall a. IsString a => String -> a
String.fromString String
key