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.
			
			
This commit is contained in:
		| @@ -11,6 +11,10 @@ and this project adheres to | ||||
| - `Language.GraphQL.Execute.OrderedMap` is a map data structure, that preserves | ||||
|   insertion order. | ||||
|  | ||||
| ### Fixed | ||||
| - Parser now accepts empty lists and objects. | ||||
| - Parser now accepts all directive locations. | ||||
|  | ||||
| ## [0.11.1.0] - 2021-02-07 | ||||
| ### Added | ||||
| - `Validate.Rules`: | ||||
| @@ -109,7 +113,7 @@ and this project adheres to | ||||
|   `locations`. | ||||
| - Parsing comments in the front of definitions. | ||||
| - Some missing labels were added to the parsers, some labels were fixed to | ||||
|   refer to the AST nodes being parsed.  | ||||
|   refer to the AST nodes being parsed. | ||||
|  | ||||
| ### Added | ||||
| - `AST` reexports `AST.Parser`. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user