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

import qualified Data.Aeson as Aeson
import qualified Data.Aeson.Types as Aeson
import qualified Data.Text as Text

pair :: (Aeson.ToJSON value, Aeson.KeyValue pair) => String -> value -> pair
pair :: String -> value -> pair
pair String
key value
value = String -> Text
Text.pack String
key Text -> value -> pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> 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 -> Text -> Parser value
forall a. FromJSON a => Object -> Text -> Parser a
Aeson..: String -> Text
Text.pack String
key