{-# LANGUAGE PatternSynonyms #-} module Prolude.Aeson ( module Data.Aeson , JsonOptions , JsonValue , pattern JsonArray , pattern JsonBoolean , pattern JsonNull , pattern JsonNumber , pattern JsonObject , pattern JsonString ) where import Data.Aeson ( FromJSON , ToJSON , fromJSON , genericParseJSON , genericToJSON , parseJSON , toJSON , (.!=) , (.:) , (.:?) , (.=) ) import qualified Data.Aeson as Aeson import qualified Data.Bool as Bool import qualified Data.Scientific as Scientific import qualified Data.Text as Text import qualified Data.Vector as Vector type JsonOptions = Aeson.Options type JsonValue = Aeson.Value pattern JsonNull :: JsonValue pattern $bJsonNull :: JsonValue $mJsonNull :: forall r. JsonValue -> (Void# -> r) -> (Void# -> r) -> r JsonNull = Aeson.Null pattern JsonBoolean :: Bool.Bool -> JsonValue pattern $bJsonBoolean :: Bool -> JsonValue $mJsonBoolean :: forall r. JsonValue -> (Bool -> r) -> (Void# -> r) -> r JsonBoolean x = Aeson.Bool x pattern JsonNumber :: Scientific.Scientific -> JsonValue pattern $bJsonNumber :: Scientific -> JsonValue $mJsonNumber :: forall r. JsonValue -> (Scientific -> r) -> (Void# -> r) -> r JsonNumber x = Aeson.Number x pattern JsonString :: Text.Text -> JsonValue pattern $bJsonString :: Text -> JsonValue $mJsonString :: forall r. JsonValue -> (Text -> r) -> (Void# -> r) -> r JsonString x = Aeson.String x pattern JsonArray :: Vector.Vector JsonValue -> JsonValue pattern $bJsonArray :: Vector JsonValue -> JsonValue $mJsonArray :: forall r. JsonValue -> (Vector JsonValue -> r) -> (Void# -> r) -> r JsonArray x = Aeson.Array x pattern JsonObject :: Aeson.Object -> JsonValue pattern $bJsonObject :: Object -> JsonValue $mJsonObject :: forall r. JsonValue -> (Object -> r) -> (Void# -> r) -> r JsonObject x = Aeson.Object x {-# COMPLETE JsonNull, JsonBoolean, JsonNumber, JsonString, JsonArray, JsonObject #-}