1
Fork 0
mirror of https://github.com/Airsequel/AirGQL.git synced 2025-07-12 17:54:54 +03:00
airgql/source/AirGQL/Raw.hs

30 lines
802 B
Haskell

{-# OPTIONS_GHC -Wno-deprecations #-}
module AirGQL.Raw (raw) where
import Protolude (pure, (.))
import Protolude.Error (error)
import Language.Haskell.TH (Exp (LitE), Lit (StringL))
import Language.Haskell.TH.Quote (
QuasiQuoter (QuasiQuoter, quoteDec, quoteExp, quotePat, quoteType),
)
raw :: QuasiQuoter
raw =
QuasiQuoter
{ quoteExp = pure . LitE . StringL
, quotePat = \_ ->
error
"Illegal raw string QuasiQuote \
\(allowed as expression only, used as a pattern)"
, quoteType = \_ ->
error
"Illegal raw string QuasiQuote \
\(allowed as expression only, used as a type)"
, quoteDec = \_ ->
error
"Illegal raw string QuasiQuote \
\(allowed as expression only, used as a declaration)"
}