module Hasql.Connection.Setting.Connection.Param
( Param,
host,
port,
user,
password,
dbname,
other,
)
where
import Data.ByteString.Builder qualified as BB
import Data.ByteString.Lazy qualified as BL
import Data.Text.Encoding qualified as Text
import Hasql.Connection.Config.ConnectionString.Params qualified as Config
import Hasql.Prelude
newtype Param = Param (Config.Params -> Config.Params)
instance Config.Updates Param where
update :: Param -> Params -> Params
update = Param -> Params -> Params
forall a b. Coercible a b => a -> b
coerce
host :: Text -> Param
host :: Text -> Param
host =
(Params -> Params) -> Param
Param ((Params -> Params) -> Param)
-> (Text -> Params -> Params) -> Text -> Param
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. ByteString -> ByteString -> Params -> Params
Config.setKeyValue ByteString
"host" (ByteString -> Params -> Params)
-> (Text -> ByteString) -> Text -> Params -> Params
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Text -> ByteString
Text.encodeUtf8
port :: Word16 -> Param
port :: Word16 -> Param
port =
(Params -> Params) -> Param
Param ((Params -> Params) -> Param)
-> (Word16 -> Params -> Params) -> Word16 -> Param
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. ByteString -> ByteString -> Params -> Params
Config.setKeyValue ByteString
"port" (ByteString -> Params -> Params)
-> (Word16 -> ByteString) -> Word16 -> Params -> Params
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. LazyByteString -> ByteString
BL.toStrict (LazyByteString -> ByteString)
-> (Word16 -> LazyByteString) -> Word16 -> ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Builder -> LazyByteString
BB.toLazyByteString (Builder -> LazyByteString)
-> (Word16 -> Builder) -> Word16 -> LazyByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Word16 -> Builder
BB.word16Dec
user :: Text -> Param
user :: Text -> Param
user =
(Params -> Params) -> Param
Param ((Params -> Params) -> Param)
-> (Text -> Params -> Params) -> Text -> Param
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. ByteString -> ByteString -> Params -> Params
Config.setKeyValue ByteString
"user" (ByteString -> Params -> Params)
-> (Text -> ByteString) -> Text -> Params -> Params
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Text -> ByteString
Text.encodeUtf8
password :: Text -> Param
password :: Text -> Param
password =
(Params -> Params) -> Param
Param ((Params -> Params) -> Param)
-> (Text -> Params -> Params) -> Text -> Param
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. ByteString -> ByteString -> Params -> Params
Config.setKeyValue ByteString
"password" (ByteString -> Params -> Params)
-> (Text -> ByteString) -> Text -> Params -> Params
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Text -> ByteString
Text.encodeUtf8
dbname :: Text -> Param
dbname :: Text -> Param
dbname =
(Params -> Params) -> Param
Param ((Params -> Params) -> Param)
-> (Text -> Params -> Params) -> Text -> Param
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. ByteString -> ByteString -> Params -> Params
Config.setKeyValue ByteString
"dbname" (ByteString -> Params -> Params)
-> (Text -> ByteString) -> Text -> Params -> Params
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Text -> ByteString
Text.encodeUtf8
other :: Text -> Text -> Param
other :: Text -> Text -> Param
other Text
name =
(Params -> Params) -> Param
Param ((Params -> Params) -> Param)
-> (Text -> Params -> Params) -> Text -> Param
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. ByteString -> ByteString -> Params -> Params
Config.setKeyValue (Text -> ByteString
Text.encodeUtf8 Text
name) (ByteString -> Params -> Params)
-> (Text -> ByteString) -> Text -> Params -> Params
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Text -> ByteString
Text.encodeUtf8