hw-prelude 0.0.4.1 → 0.0.4.2
raw patch · 4 files changed
+77/−1 lines, 4 files
Files
- hw-prelude.cabal +3/−1
- src/HaskellWorks/Error/Types.hs +4/−0
- src/HaskellWorks/Error/Types/JsonDecodeError.hs +45/−0
- src/HaskellWorks/Error/Types/YamlDecodeError.hs +25/−0
hw-prelude.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.4 name: hw-prelude-version: 0.0.4.1+version: 0.0.4.2 synopsis: Opinionated prelude library description: Opinionated prelude library. license: Apache-2.0@@ -96,7 +96,9 @@ HaskellWorks.Error HaskellWorks.Error.Types HaskellWorks.Error.Types.GenericError+ HaskellWorks.Error.Types.JsonDecodeError HaskellWorks.Error.Types.TimedOut+ HaskellWorks.Error.Types.YamlDecodeError HaskellWorks.FilePath HaskellWorks.IO.Network.NamedPipe HaskellWorks.IO.Network.Port
src/HaskellWorks/Error/Types.hs view
@@ -1,7 +1,11 @@ module HaskellWorks.Error.Types ( GenericError (..),+ JsonDecodeError (..), TimedOut(..),+ YamlDecodeError (..) ) where import HaskellWorks.Error.Types.GenericError+import HaskellWorks.Error.Types.JsonDecodeError import HaskellWorks.Error.Types.TimedOut+import HaskellWorks.Error.Types.YamlDecodeError
+ src/HaskellWorks/Error/Types/JsonDecodeError.hs view
@@ -0,0 +1,45 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NoFieldSelectors #-}+{-# LANGUAGE OverloadedRecordDot #-}++module HaskellWorks.Error.Types.JsonDecodeError+ ( JsonDecodeError(..)+ , newJsonDecodeError+ ) where+++import Data.Aeson (ToJSON (..), Value, (.=))+import qualified Data.Aeson as J+import GHC.Generics++import HaskellWorks.Prelude+import HaskellWorks.ToText++data JsonDecodeError =+ JsonDecodeError+ { message :: Text+ , bytestring :: Maybe ByteString+ , text :: Maybe Text+ , json :: Maybe Value+ }+ deriving (Eq, Generic, Show)++newJsonDecodeError :: ToText a => a -> JsonDecodeError+newJsonDecodeError message =+ JsonDecodeError+ { message = toText message+ , bytestring = Nothing+ , text = Nothing+ , json = Nothing+ }++instance ToJSON JsonDecodeError where+ toJSON e =+ J.object+ [ "error" .= id @Text "JsonDecodeError"+ , "message" .= e.message+ , "text" .= e.text+ , "json" .= e.json+ ]
+ src/HaskellWorks/Error/Types/YamlDecodeError.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}++module HaskellWorks.Error.Types.YamlDecodeError+ ( YamlDecodeError(..)+ ) where+++import Data.Aeson (ToJSON (..), (.=))+import qualified Data.Aeson as J+import GHC.Generics+import HaskellWorks.Prelude+newtype YamlDecodeError =+ YamlDecodeError+ { message :: Text+ }+ deriving (Eq, Generic, Show)++instance ToJSON YamlDecodeError where+ toJSON e =+ J.object+ [ "error" .= id @Text "YamlDecodeError"+ , "message" .= e.message+ ]