moduleHasql.DynamicStatements.Snippet.DefswhereimportHasql.DynamicStatements.Prelude importqualifiedHasql.EncodersasEncodersimportqualifiedHasql.Implicits.EncodersasEncoders{-|
Composable SQL snippet with parameters injected.
Abstracts over placeholders and matching of encoders.
It has an instance of `IsString`, so having the @OverloadedStrings@ extension enabled
you can construct it directly from string literals.
Here's an example:
@
selectSubstring :: Text -> Maybe Int32 -> Maybe Int32 -> 'Snippet'
selectSubstring string from to =
 "select substring(" <> 'param' string <>
 'foldMap' (\\ x -> " from " <> 'param' x) from <>
 'foldMap' (\\ x -> " for " <> 'param' x) to <>
 ")"
@
Having a decoder you can lift it into 'Hasql.Statement.Statement' using
'Hasql.DynamicStatements.Statement.dynamicallyParameterized' or directly execute it in
'Hasql.Session.Session' using
'Hasql.DynamicStatements.Session.dynamicallyParameterizedStatement'.
-}newtypeSnippet =Snippet (SeqSnippetChunk )dataSnippetChunk =StringSnippetChunk ByteString|ParamSnippetChunk (Encoders.Params())derivinginstanceSemigroupSnippet derivinginstanceMonoidSnippet instanceIsStringSnippet wherefromString x =Snippet (pure(StringSnippetChunk (fromStringx ))){-|
SQL chunk in ASCII.
-}sql::ByteString->Snippet sql x =Snippet (pure(StringSnippetChunk x )){-|
Parameter encoded using an implicitly derived encoder from the type.
-}param::Encoders.DefaultParamEncoderparam =>param ->Snippet param =encoderAndParam Encoders.defaultParam{-|
Parameter with an explicitly defined encoder.
-}encoderAndParam::Encoders.NullableOrNotEncoders.Valueparam ->param ->Snippet encoderAndParam encoder param =Snippet (pure(ParamSnippetChunk (param >$Encoders.paramencoder )))

AltStyle によって変換されたページ (->オリジナル) /