summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md5
-rw-r--r--graphql.cabal3
-rw-r--r--src/Language/GraphQL/TH.hs48
-rw-r--r--tests/Language/GraphQL/THSpec.hs24
4 files changed, 5 insertions, 75 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3dda90c..ab2109b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@ The format is based on
and this project adheres to
[Haskell Package Versioning Policy](https://pvp.haskell.org/).
+## [Unreleased]
+### Changed
+- Remove deprecated 'gql' quasi quoter.
+
## [1.4.0.0] - 2024-10-26
### Changed
- `Schema.Directive` is extended to contain a boolean argument, representing
@@ -538,6 +542,7 @@ and this project adheres to
### Added
- Data types for the GraphQL language.
+[Unreleased]: https://git.caraus.tech/OSS/graphql/compare/v1.4.0.0...master
[1.4.0.0]: https://git.caraus.tech/OSS/graphql/compare/v1.3.0.0...v1.4.0.0
[1.3.0.0]: https://git.caraus.tech/OSS/graphql/compare/v1.2.0.3...v1.3.0.0
[1.2.0.3]: https://git.caraus.tech/OSS/graphql/compare/v1.2.0.2...v1.2.0.3
diff --git a/graphql.cabal b/graphql.cabal
index 3ee6561..ac9c186 100644
--- a/graphql.cabal
+++ b/graphql.cabal
@@ -40,7 +40,6 @@ library
Language.GraphQL.Execute
Language.GraphQL.Execute.Coerce
Language.GraphQL.Execute.OrderedMap
- Language.GraphQL.TH
Language.GraphQL.Type
Language.GraphQL.Type.In
Language.GraphQL.Type.Out
@@ -63,7 +62,6 @@ library
exceptions ^>= 0.10.4,
megaparsec >= 9.0 && < 10,
parser-combinators >= 1.3 && < 2,
- template-haskell >= 2.16 && < 3,
text >= 1.2 && < 3,
transformers >= 0.5.6 && < 0.7,
unordered-containers ^>= 0.2.14,
@@ -84,7 +82,6 @@ test-suite graphql-test
Language.GraphQL.Execute.CoerceSpec
Language.GraphQL.Execute.OrderedMapSpec
Language.GraphQL.ExecuteSpec
- Language.GraphQL.THSpec
Language.GraphQL.Type.OutSpec
Language.GraphQL.Validate.RulesSpec
Schemas.HeroSchema
diff --git a/src/Language/GraphQL/TH.hs b/src/Language/GraphQL/TH.hs
deleted file mode 100644
index 22ffdd0..0000000
--- a/src/Language/GraphQL/TH.hs
+++ /dev/null
@@ -1,48 +0,0 @@
-{- This Source Code Form is subject to the terms of the Mozilla Public License,
- v. 2.0. If a copy of the MPL was not distributed with this file, You can
- obtain one at https://mozilla.org/MPL/2.0/. -}
-
--- | Template Haskell helpers.
-module Language.GraphQL.TH
- ( gql
- ) where
-
-import Language.Haskell.TH.Quote (QuasiQuoter(..))
-import Language.Haskell.TH (Exp(..), Lit(..))
-
-stripIndentation :: String -> String
-stripIndentation code = reverse
- $ dropWhile isLineBreak
- $ reverse
- $ unlines
- $ indent spaces <$> lines' withoutLeadingNewlines
- where
- indent 0 xs = xs
- indent count (' ' : xs) = indent (count - 1) xs
- indent _ xs = xs
- withoutLeadingNewlines = dropWhile isLineBreak code
- spaces = length $ takeWhile (== ' ') withoutLeadingNewlines
- lines' "" = []
- lines' string =
- let (line, rest) = break isLineBreak string
- reminder =
- case rest of
- [] -> []
- '\r' : '\n' : strippedString -> lines' strippedString
- _ : strippedString -> lines' strippedString
- in line : reminder
- isLineBreak = flip any ['\n', '\r'] . (==)
-
--- | Removes leading and trailing newlines. Indentation of the first line is
--- removed from each line of the string.
-{-# DEPRECATED gql "Use Language.GraphQL.Class.gql from graphql-spice instead" #-}
-gql :: QuasiQuoter
-gql = QuasiQuoter
- { quoteExp = pure . LitE . StringL . stripIndentation
- , quotePat = const
- $ fail "Illegal gql QuasiQuote (allowed as expression only, used as a pattern)"
- , quoteType = const
- $ fail "Illegal gql QuasiQuote (allowed as expression only, used as a type)"
- , quoteDec = const
- $ fail "Illegal gql QuasiQuote (allowed as expression only, used as a declaration)"
- }
diff --git a/tests/Language/GraphQL/THSpec.hs b/tests/Language/GraphQL/THSpec.hs
deleted file mode 100644
index 2858ab2..0000000
--- a/tests/Language/GraphQL/THSpec.hs
+++ /dev/null
@@ -1,24 +0,0 @@
-{- This Source Code Form is subject to the terms of the Mozilla Public License,
- v. 2.0. If a copy of the MPL was not distributed with this file, You can
- obtain one at https://mozilla.org/MPL/2.0/. -}
-
-{-# LANGUAGE QuasiQuotes #-}
-
-module Language.GraphQL.THSpec
- ( spec
- ) where
-
-import Language.GraphQL.TH (gql)
-import Test.Hspec (Spec, describe, it, shouldBe)
-
-spec :: Spec
-spec =
- describe "gql" $
- it "replaces CRNL with NL" $
- let expected = "line1\nline2\nline3"
- actual = [gql|
- line1
- line2
- line3
- |]
- in actual `shouldBe` expected