cdb2aa76b6
Fix block alignment in some parser tests
Build / audit (push) Successful in 18s
Build / test (push) Successful in 6m4s
Build / doc (push) Successful in 5m5s
2024-10-17 18:08:30 +02:00
b056b4256f
Replace gql in Encoder tests with multiline string
Build / audit (push) Successful in 17s
Build / test (push) Successful in 6m16s
Build / doc (push) Successful in 5m16s
2024-10-14 20:50:34 +02:00
ba07f8298b
Validate repeatable directives
Build / audit (push) Successful in 20s
Build / test (push) Successful in 6m7s
Build / doc (push) Successful in 5m5s
2024-10-13 19:40:12 +02:00
1834e5c41e
Add a test for empty field argument list
...
Build / audit (push) Successful in 17s
Build / test (push) Successful in 6m5s
Build / doc (push) Successful in 5m10s
... within parens.
2024-09-17 18:32:45 +02:00
01b30a71da
Test directive definition decoder
Build / test (push) Successful in 6m3s
Build / doc (push) Successful in 4m59s
Build / audit (push) Successful in 17s
2024-08-28 20:00:44 +02:00
b40d8a7e1e
Parse repeatable directive definitions
Build / audit (push) Successful in 18s
Build / test (push) Successful in 6m3s
Build / doc (push) Successful in 4m58s
2024-08-27 10:51:01 +02:00
6b8346e527
Update hlint to 3.8
Build / audit (push) Successful in 13m37s
Build / test (push) Successful in 6m16s
Build / doc (push) Successful in 6m20s
2024-04-02 22:06:16 +02:00
9021f3a25d
Encode input object types
2023-01-10 09:53:18 +01:00
025331a9ee
Encode enums
2023-01-09 20:56:21 +01:00
ab4808c44d
Encode unions
2023-01-08 17:33:25 +01:00
70dedb6911
Encode interfaces (2018)
2023-01-02 10:30:37 +01:00
a96d4e6ef3
Add Semigroup and Monoid instances for Description
2022-12-27 10:38:08 +01:00
3ce6e7da46
Encode schema definitions
2022-12-25 16:38:00 +01:00
bf2e4925b4
Add operation type encoder
2022-10-02 11:38:53 +02:00
Dmitrii Skurikhin
05e6aa4c95
add Arbitrary instances for AST.Document, add random arguments Parser test
2022-02-14 19:18:13 +01:00
Dmitrii Skurikhin
0c8edae90a
fix empty list argument parsing
2022-01-09 09:00:56 +01:00
fbfbb3e73f
Remove raw-strings-qq
2021-09-23 08:23:38 +02:00
eedab9e742
Don't append a trailing newline in gql
2021-09-22 08:50:20 +02:00
Ben Sinclair
ca0f0bd32d
Fix some issues with directive definitions
...
I found some issues with directive definitions:
- I couldn't use `on FIELD_DEFINITION`, I believe because `FIELD` was parsed
first in `executableDirectiveLocation`. I've combined both
`executableDirectiveLocation` and `typetypeSystemDirectiveLocation` into one
function which can reorder them to ensure every directive location gets a fair
chance at parsing.
Not actually to do with directives, some literals weren't being parsed
correctly.
- The GraphQL spec defines list to be `[]` or `[Value]`, but empty literal lists
weren't being parsed correctly because of using `some` instead of `many`.
- The GraphQL spec defines objects to be `{}` or `{Name: Value}`, but empty
literal objects had the same issue.
2021-02-21 23:35:34 +11:00
b27da54bf4
Provide custom Show instances for AST values
2021-02-04 08:12:12 +01:00
56b63f1c3e
Validate input object field names
2020-09-30 05:14:52 +02:00
3e393004ae
Validate all variables are defined
2020-09-21 07:28:40 +02:00
9a08aa5de7
Validate directives are unique per location
2020-09-18 07:32:58 +02:00
4c10ce9204
Use Seq as base monad in the validator
...
It is more natural to implement the logic: try to apply each rule to
each node.
2020-09-15 08:06:07 +02:00
c2c57b6363
Validate all fragments are used
2020-09-09 17:04:31 +02:00
d327d9d1ce
Validate fragment spread type existence
2020-09-05 10:00:58 +02:00
7355533268
Validate single root field in subscriptions
2020-08-25 21:03:42 +02:00
44d506d4b5
Draft the Validation API
2020-07-20 21:29:12 +02:00
840e129c44
Parse subscriptions
2020-07-11 06:34:10 +02:00
28781586a5
Parse comments in the front of definitions
2020-07-09 08:11:12 +02:00
26cc53ce06
Reject variables as default values
2020-05-22 10:11:48 +02:00
Dmitrii Skurikhin
2760bd8ee1
Don't encode controls as block strings
...
Fixes #39 .
String containing control sequences should be encoded as simple strings
even if they contain newlines, since the block strings can contain only
SourceCharacters.
2020-04-10 11:19:36 +02:00
Dmitrii Skurikhin
30d6a0a58d
encode null value as "null"
2020-03-31 10:04:34 +03:00
e8b82122c6
Try all extension parsers
2020-01-28 11:08:28 +01:00
b4a3c98114
Parse schema extensions
2020-01-25 16:45:39 +01:00
3ef27f9d11
Add "extend symbol" lexer to parse extensions
2020-01-17 12:29:06 +01:00
ba710a3c96
Parse complete TypeSystemDefinition
2020-01-15 20:20:50 +01:00
d257d05d4e
Parse enum and input object type definitions
2020-01-13 08:21:02 +01:00
adffa185bb
Parse interface type definition
2020-01-13 08:21:02 +01:00
f4ed06741d
Parse union definitions
2020-01-13 08:21:02 +01:00
8efb08fda1
Parse ObjectDefinition
2020-01-13 08:21:02 +01:00
d9a2937b55
Parse SchemaDefinition
2020-01-13 08:18:30 +01:00
fdf5914626
Move AST to AST.Document
2019-12-28 07:07:58 +01:00
62f3c34bfe
Replace AST.Selection data constructors
2019-12-25 06:45:29 +01:00
b215e1a4a7
Pretify multi-line string arguments as block strings
...
Fixes #10 .
2019-12-21 09:25:05 +01:00
1e55f17e7e
Encode Unicode. Fix #34
2019-12-20 07:58:09 +01:00
9a5d54c035
Escape non-source characters in the encoder
2019-12-19 06:59:27 +01:00
Sam Nolan
def52ddc20
Fix strings not consuming spaces
...
Fixes #28
2019-11-28 19:09:26 +11:00
Sam Nolan
73e21661b4
Fix failed parsing on multiple required arguments
...
Fixes #25 .
2019-11-21 08:51:42 +01:00
73fc334bf8
Move related modules to Language.GraphQL.AST
...
Fixes #18 .
- `Language.GraphQL.Encoder` moved to `Language.GraphQL.AST.Encoder`.
- `Language.GraphQL.Parser` moved to `Language.GraphQL.AST.Parser`.
- `Language.GraphQL.Lexer` moved to `Language.GraphQL.AST.Lexer`.
- All `Language.GraphQL.AST.Value` data constructor prefixes were removed. The
module should be imported qualified.
- All `Language.GraphQL.AST.Core.Value` data constructor prefixes were removed.
The module should be imported qualified.
- `Language.GraphQL.AST.Transform` is now isn't exposed publically anymore.
2019-11-03 11:00:18 +01:00