{-# OPTIONS_GHC -Wno-unused-imports #-}
{-# OPTIONS_GHC -Wno-unused-matches #-}
{-# OPTIONS_GHC -Wno-deprecations #-}
module Language.LSP.Protocol.Internal.Types.DeleteFileOptions where
import Control.DeepSeq
import Data.Hashable
import GHC.Generics
import Language.LSP.Protocol.Utils.Misc
import Prettyprinter
import qualified Data.Aeson as Aeson
import qualified Data.Row.Aeson as Aeson
import qualified Data.Row.Hashable as Hashable
import qualified Language.LSP.Protocol.Types.Common
data DeleteFileOptions = DeleteFileOptions
{
DeleteFileOptions -> Maybe Bool
_recursive :: (Maybe Bool)
,
DeleteFileOptions -> Maybe Bool
_ignoreIfNotExists :: (Maybe Bool)
}
deriving stock (Int -> DeleteFileOptions -> ShowS
[DeleteFileOptions] -> ShowS
DeleteFileOptions -> String
(Int -> DeleteFileOptions -> ShowS)
-> (DeleteFileOptions -> String)
-> ([DeleteFileOptions] -> ShowS)
-> Show DeleteFileOptions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DeleteFileOptions -> ShowS
showsPrec :: Int -> DeleteFileOptions -> ShowS
$cshow :: DeleteFileOptions -> String
show :: DeleteFileOptions -> String
$cshowList :: [DeleteFileOptions] -> ShowS
showList :: [DeleteFileOptions] -> ShowS
Show, DeleteFileOptions -> DeleteFileOptions -> Bool
(DeleteFileOptions -> DeleteFileOptions -> Bool)
-> (DeleteFileOptions -> DeleteFileOptions -> Bool)
-> Eq DeleteFileOptions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DeleteFileOptions -> DeleteFileOptions -> Bool
== :: DeleteFileOptions -> DeleteFileOptions -> Bool
$c/= :: DeleteFileOptions -> DeleteFileOptions -> Bool
/= :: DeleteFileOptions -> DeleteFileOptions -> Bool
Eq, Eq DeleteFileOptions
Eq DeleteFileOptions =>
(DeleteFileOptions -> DeleteFileOptions -> Ordering)
-> (DeleteFileOptions -> DeleteFileOptions -> Bool)
-> (DeleteFileOptions -> DeleteFileOptions -> Bool)
-> (DeleteFileOptions -> DeleteFileOptions -> Bool)
-> (DeleteFileOptions -> DeleteFileOptions -> Bool)
-> (DeleteFileOptions -> DeleteFileOptions -> DeleteFileOptions)
-> (DeleteFileOptions -> DeleteFileOptions -> DeleteFileOptions)
-> Ord DeleteFileOptions
DeleteFileOptions -> DeleteFileOptions -> Bool
DeleteFileOptions -> DeleteFileOptions -> Ordering
DeleteFileOptions -> DeleteFileOptions -> DeleteFileOptions
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: DeleteFileOptions -> DeleteFileOptions -> Ordering
compare :: DeleteFileOptions -> DeleteFileOptions -> Ordering
$c< :: DeleteFileOptions -> DeleteFileOptions -> Bool
< :: DeleteFileOptions -> DeleteFileOptions -> Bool
$c<= :: DeleteFileOptions -> DeleteFileOptions -> Bool
<= :: DeleteFileOptions -> DeleteFileOptions -> Bool
$c> :: DeleteFileOptions -> DeleteFileOptions -> Bool
> :: DeleteFileOptions -> DeleteFileOptions -> Bool
$c>= :: DeleteFileOptions -> DeleteFileOptions -> Bool
>= :: DeleteFileOptions -> DeleteFileOptions -> Bool
$cmax :: DeleteFileOptions -> DeleteFileOptions -> DeleteFileOptions
max :: DeleteFileOptions -> DeleteFileOptions -> DeleteFileOptions
$cmin :: DeleteFileOptions -> DeleteFileOptions -> DeleteFileOptions
min :: DeleteFileOptions -> DeleteFileOptions -> DeleteFileOptions
Ord, (forall x. DeleteFileOptions -> Rep DeleteFileOptions x)
-> (forall x. Rep DeleteFileOptions x -> DeleteFileOptions)
-> Generic DeleteFileOptions
forall x. Rep DeleteFileOptions x -> DeleteFileOptions
forall x. DeleteFileOptions -> Rep DeleteFileOptions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. DeleteFileOptions -> Rep DeleteFileOptions x
from :: forall x. DeleteFileOptions -> Rep DeleteFileOptions x
$cto :: forall x. Rep DeleteFileOptions x -> DeleteFileOptions
to :: forall x. Rep DeleteFileOptions x -> DeleteFileOptions
Generic)
deriving anyclass (DeleteFileOptions -> ()
(DeleteFileOptions -> ()) -> NFData DeleteFileOptions
forall a. (a -> ()) -> NFData a
$crnf :: DeleteFileOptions -> ()
rnf :: DeleteFileOptions -> ()
NFData, Eq DeleteFileOptions
Eq DeleteFileOptions =>
(Int -> DeleteFileOptions -> Int)
-> (DeleteFileOptions -> Int) -> Hashable DeleteFileOptions
Int -> DeleteFileOptions -> Int
DeleteFileOptions -> Int
forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
$chashWithSalt :: Int -> DeleteFileOptions -> Int
hashWithSalt :: Int -> DeleteFileOptions -> Int
$chash :: DeleteFileOptions -> Int
hash :: DeleteFileOptions -> Int
Hashable)
deriving (forall ann. DeleteFileOptions -> Doc ann)
-> (forall ann. [DeleteFileOptions] -> Doc ann)
-> Pretty DeleteFileOptions
forall ann. [DeleteFileOptions] -> Doc ann
forall ann. DeleteFileOptions -> Doc ann
forall a.
(forall ann. a -> Doc ann)
-> (forall ann. [a] -> Doc ann) -> Pretty a
$cpretty :: forall ann. DeleteFileOptions -> Doc ann
pretty :: forall ann. DeleteFileOptions -> Doc ann
$cprettyList :: forall ann. [DeleteFileOptions] -> Doc ann
prettyList :: forall ann. [DeleteFileOptions] -> Doc ann
Pretty via (ViaJSON DeleteFileOptions)
instance Aeson.ToJSON DeleteFileOptions where
toJSON :: DeleteFileOptions -> Value
toJSON (DeleteFileOptions Maybe Bool
arg0 Maybe Bool
arg1) = [Pair] -> Value
Aeson.object ([Pair] -> Value) -> [Pair] -> Value
forall a b. (a -> b) -> a -> b
$ [[Pair]] -> [Pair]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat ([[Pair]] -> [Pair]) -> [[Pair]] -> [Pair]
forall a b. (a -> b) -> a -> b
$ [String
"recursive" String -> Maybe Bool -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe Bool
arg0
,String
"ignoreIfNotExists" String -> Maybe Bool -> [Pair]
forall e kv v.
(KeyValue e kv, ToJSON v) =>
String -> Maybe v -> [kv]
Language.LSP.Protocol.Types.Common..=? Maybe Bool
arg1]
instance Aeson.FromJSON DeleteFileOptions where
parseJSON :: Value -> Parser DeleteFileOptions
parseJSON = String
-> (Object -> Parser DeleteFileOptions)
-> Value
-> Parser DeleteFileOptions
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Aeson.withObject String
"DeleteFileOptions" ((Object -> Parser DeleteFileOptions)
-> Value -> Parser DeleteFileOptions)
-> (Object -> Parser DeleteFileOptions)
-> Value
-> Parser DeleteFileOptions
forall a b. (a -> b) -> a -> b
$ \Object
arg -> Maybe Bool -> Maybe Bool -> DeleteFileOptions
DeleteFileOptions (Maybe Bool -> Maybe Bool -> DeleteFileOptions)
-> Parser (Maybe Bool) -> Parser (Maybe Bool -> DeleteFileOptions)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
arg Object -> Key -> Parser (Maybe Bool)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"recursive" Parser (Maybe Bool -> DeleteFileOptions)
-> Parser (Maybe Bool) -> Parser DeleteFileOptions
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
arg Object -> Key -> Parser (Maybe Bool)
forall v. FromJSON v => Object -> Key -> Parser (Maybe v)
Language.LSP.Protocol.Types.Common..:!? Key
"ignoreIfNotExists"