-- | -- Module: Network.Greskell.WebSocket.Client.Options -- Description: Options to create a Client -- Maintainer: Toshio Ito -- -- module Network.Greskell.WebSocket.Client.Options ( -- * Options Options , defOptions -- ** accessor functions , connectionSettings , batchSize , language , aliases , scriptEvaluationTimeout -- * Settings , module Network.Greskell.WebSocket.Connection.Settings ) where import Data.Greskell.GraphSON (GValue) import Data.HashMap.Strict (HashMap) import Data.Text (Text) import Network.Greskell.WebSocket.Connection (Connection) import Network.Greskell.WebSocket.Connection.Settings -- | Configuration options to create a client for Gremlin Server. -- -- You can get the default 'Options' by 'defOptions' function, and -- customize its fields by accessor functions. data Options = Options { connectionSettings :: !(Settings GValue) -- ^ Settings for the underlying 'Connection'. Default: -- 'defJSONSettings'. , batchSize :: !(Maybe Int) -- ^ \"batchSize\" field for \"eval\" operation. Default: -- 'Nothing'. , language :: !(Maybe Text) -- ^ \"language\" field for \"eval\" operation. Default: -- 'Nothing'. , aliases :: !(Maybe (HashMap Text Text)) -- ^ \"aliases\" field for \"eval\" operation. Default: 'Nothing'. , scriptEvaluationTimeout :: !(Maybe Int) -- ^ \"scriptEvaluationTimeout\" field for \"eval\" -- operation. Default: 'Nothing'. } defOptions :: Options defOptions = Options { connectionSettings = defJSONSettings, batchSize = Nothing, language = Nothing, aliases = Nothing, scriptEvaluationTimeout = Nothing }