Compare commits
2 Commits
v1.2.0.1
...
97d304d283
Author | SHA1 | Date | |
---|---|---|---|
97d304d283
|
|||
2fdf04f54a
|
@ -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]
|
||||||
|
### Fixed
|
||||||
|
- `gql` removes not only leading `\n` but also `\r`.
|
||||||
|
|
||||||
## [1.2.0.1] - 2023-04-25
|
## [1.2.0.1] - 2023-04-25
|
||||||
### Fixed
|
### Fixed
|
||||||
- Support hspec 2.11.
|
- Support hspec 2.11.
|
||||||
@ -508,6 +512,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.2.0.1...master
|
||||||
[1.2.0.1]: https://git.caraus.tech/OSS/graphql/compare/v1.2.0.0...v1.2.0.1
|
[1.2.0.1]: https://git.caraus.tech/OSS/graphql/compare/v1.2.0.0...v1.2.0.1
|
||||||
[1.2.0.0]: https://git.caraus.tech/OSS/graphql/compare/v1.1.0.0...v1.2.0.0
|
[1.2.0.0]: https://git.caraus.tech/OSS/graphql/compare/v1.1.0.0...v1.2.0.0
|
||||||
[1.1.0.0]: https://git.caraus.tech/OSS/graphql/compare/v1.0.3.0...v1.1.0.0
|
[1.1.0.0]: https://git.caraus.tech/OSS/graphql/compare/v1.0.3.0...v1.1.0.0
|
||||||
|
@ -21,7 +21,8 @@ extra-source-files:
|
|||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
README.md
|
README.md
|
||||||
tested-with:
|
tested-with:
|
||||||
GHC == 9.2.5
|
GHC == 9.2.8,
|
||||||
|
GHC == 9.6.2
|
||||||
|
|
||||||
source-repository head
|
source-repository head
|
||||||
type: git
|
type: git
|
||||||
@ -105,4 +106,6 @@ test-suite graphql-test
|
|||||||
unordered-containers,
|
unordered-containers,
|
||||||
containers,
|
containers,
|
||||||
vector
|
vector
|
||||||
|
build-tool-depends:
|
||||||
|
hspec-discover:hspec-discover
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
|
@ -556,33 +556,24 @@ coerceArgumentValues argumentDefinitions argumentValues =
|
|||||||
$ Just inputValue
|
$ Just inputValue
|
||||||
| otherwise -> throwM
|
| otherwise -> throwM
|
||||||
$ InputCoercionException (Text.unpack argumentName) variableType Nothing
|
$ InputCoercionException (Text.unpack argumentName) variableType Nothing
|
||||||
|
|
||||||
matchFieldValues' = matchFieldValues coerceArgumentValue
|
matchFieldValues' = matchFieldValues coerceArgumentValue
|
||||||
$ Full.node <$> argumentValues
|
$ Full.node <$> argumentValues
|
||||||
coerceArgumentValue inputType (Transform.Int integer) =
|
|
||||||
coerceInputLiteral inputType (Type.Int integer)
|
coerceArgumentValue inputType transform =
|
||||||
coerceArgumentValue inputType (Transform.Boolean boolean) =
|
coerceInputLiteral inputType $ extractArgumentValue transform
|
||||||
coerceInputLiteral inputType (Type.Boolean boolean)
|
|
||||||
coerceArgumentValue inputType (Transform.String string) =
|
extractArgumentValue (Transform.Int integer) = Type.Int integer
|
||||||
coerceInputLiteral inputType (Type.String string)
|
extractArgumentValue (Transform.Boolean boolean) = Type.Boolean boolean
|
||||||
coerceArgumentValue inputType (Transform.Float float) =
|
extractArgumentValue (Transform.String string) = Type.String string
|
||||||
coerceInputLiteral inputType (Type.Float float)
|
extractArgumentValue (Transform.Float float) = Type.Float float
|
||||||
coerceArgumentValue inputType (Transform.Enum enum) =
|
extractArgumentValue (Transform.Enum enum) = Type.Enum enum
|
||||||
coerceInputLiteral inputType (Type.Enum enum)
|
extractArgumentValue Transform.Null = Type.Null
|
||||||
coerceArgumentValue inputType Transform.Null
|
extractArgumentValue (Transform.List list) =
|
||||||
| In.isNonNullType inputType = Nothing
|
Type.List $ extractArgumentValue <$> list
|
||||||
| otherwise = coerceInputLiteral inputType Type.Null
|
extractArgumentValue (Transform.Object object) =
|
||||||
coerceArgumentValue (In.ListBaseType inputType) (Transform.List list) =
|
Type.Object $ extractArgumentValue <$> object
|
||||||
let coerceItem = coerceArgumentValue inputType
|
extractArgumentValue (Transform.Variable variable) = variable
|
||||||
in Type.List <$> traverse coerceItem list
|
|
||||||
coerceArgumentValue (In.InputObjectBaseType inputType) (Transform.Object object)
|
|
||||||
| In.InputObjectType _ _ inputFields <- inputType =
|
|
||||||
let go = forEachField object
|
|
||||||
resultMap = HashMap.foldrWithKey go (pure mempty) inputFields
|
|
||||||
in Type.Object <$> resultMap
|
|
||||||
coerceArgumentValue _ (Transform.Variable variable) = pure variable
|
|
||||||
coerceArgumentValue _ _ = Nothing
|
|
||||||
forEachField object variableName (In.InputField _ variableType defaultValue) =
|
|
||||||
matchFieldValues coerceArgumentValue object variableName variableType defaultValue
|
|
||||||
|
|
||||||
collectFields :: Monad m
|
collectFields :: Monad m
|
||||||
=> Out.ObjectType m
|
=> Out.ObjectType m
|
||||||
|
@ -21,7 +21,7 @@ stripIndentation code = reverse
|
|||||||
indent count (' ' : xs) = indent (count - 1) xs
|
indent count (' ' : xs) = indent (count - 1) xs
|
||||||
indent _ xs = xs
|
indent _ xs = xs
|
||||||
withoutLeadingNewlines = dropNewlines code
|
withoutLeadingNewlines = dropNewlines code
|
||||||
dropNewlines = dropWhile (== '\n')
|
dropNewlines = dropWhile $ flip any ['\n', '\r'] . (==)
|
||||||
spaces = length $ takeWhile (== ' ') withoutLeadingNewlines
|
spaces = length $ takeWhile (== ' ') withoutLeadingNewlines
|
||||||
|
|
||||||
-- | Removes leading and trailing newlines. Indentation of the first line is
|
-- | Removes leading and trailing newlines. Indentation of the first line is
|
||||||
|
Reference in New Issue
Block a user