forked from OSS/graphql
Remove deprecated gql quasi quoter
This commit is contained in:
parent
fda4b4fce4
commit
6f7bb10a62
@ -6,6 +6,10 @@ The format is based on
|
|||||||
and this project adheres to
|
and this project adheres to
|
||||||
[Haskell Package Versioning Policy](https://pvp.haskell.org/).
|
[Haskell Package Versioning Policy](https://pvp.haskell.org/).
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
### Changed
|
||||||
|
- Remove deprecated 'gql' quasi quoter.
|
||||||
|
|
||||||
## [1.4.0.0] - 2024-10-26
|
## [1.4.0.0] - 2024-10-26
|
||||||
### Changed
|
### Changed
|
||||||
- `Schema.Directive` is extended to contain a boolean argument, representing
|
- `Schema.Directive` is extended to contain a boolean argument, representing
|
||||||
@ -538,6 +542,7 @@ and this project adheres to
|
|||||||
### Added
|
### Added
|
||||||
- Data types for the GraphQL language.
|
- 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.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.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
|
[1.2.0.3]: https://git.caraus.tech/OSS/graphql/compare/v1.2.0.2...v1.2.0.3
|
||||||
|
@ -40,7 +40,6 @@ library
|
|||||||
Language.GraphQL.Execute
|
Language.GraphQL.Execute
|
||||||
Language.GraphQL.Execute.Coerce
|
Language.GraphQL.Execute.Coerce
|
||||||
Language.GraphQL.Execute.OrderedMap
|
Language.GraphQL.Execute.OrderedMap
|
||||||
Language.GraphQL.TH
|
|
||||||
Language.GraphQL.Type
|
Language.GraphQL.Type
|
||||||
Language.GraphQL.Type.In
|
Language.GraphQL.Type.In
|
||||||
Language.GraphQL.Type.Out
|
Language.GraphQL.Type.Out
|
||||||
@ -63,7 +62,6 @@ library
|
|||||||
exceptions ^>= 0.10.4,
|
exceptions ^>= 0.10.4,
|
||||||
megaparsec >= 9.0 && < 10,
|
megaparsec >= 9.0 && < 10,
|
||||||
parser-combinators >= 1.3 && < 2,
|
parser-combinators >= 1.3 && < 2,
|
||||||
template-haskell >= 2.16 && < 3,
|
|
||||||
text >= 1.2 && < 3,
|
text >= 1.2 && < 3,
|
||||||
transformers >= 0.5.6 && < 0.7,
|
transformers >= 0.5.6 && < 0.7,
|
||||||
unordered-containers ^>= 0.2.14,
|
unordered-containers ^>= 0.2.14,
|
||||||
@ -84,7 +82,6 @@ test-suite graphql-test
|
|||||||
Language.GraphQL.Execute.CoerceSpec
|
Language.GraphQL.Execute.CoerceSpec
|
||||||
Language.GraphQL.Execute.OrderedMapSpec
|
Language.GraphQL.Execute.OrderedMapSpec
|
||||||
Language.GraphQL.ExecuteSpec
|
Language.GraphQL.ExecuteSpec
|
||||||
Language.GraphQL.THSpec
|
|
||||||
Language.GraphQL.Type.OutSpec
|
Language.GraphQL.Type.OutSpec
|
||||||
Language.GraphQL.Validate.RulesSpec
|
Language.GraphQL.Validate.RulesSpec
|
||||||
Schemas.HeroSchema
|
Schemas.HeroSchema
|
||||||
|
@ -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)"
|
|
||||||
}
|
|
@ -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
|
|
Loading…
Reference in New Issue
Block a user