typelevel / typelevel/grackle

Spec coverage checklist

Open
#8 0 comments 0 reactions 1 assignee View on GitHub

@milessabin is already working on this.

Since Dec 19, 2023.

conformance
Dominant language
Scala
Stars
189
Forks
32
Avg merge
18h 31m
Merged PRs (30d)
37

Description

Current coverage of the GraphQL Specification, June 2018.

  • 2 Language
    • 2.1 Source Text
      • 2.1.1 Unicode
      • 2.1.2 White Space
      • 2.1.3 Line Terminators
      • 2.1.4 Comments
      • 2.1.5 Insignificant Commas
      • 2.1.6 Lexical Tokens
      • 2.1.7 Ignored Tokens
      • 2.1.8 Punctuators
      • 2.1.9 Names
    • 2.2 Document
    • 2.3 Operations
    • 2.4 Selection Sets
    • 2.5 Fields
    • 2.6 Arguments
    • 2.7 Field Alias
    • 2.8 Fragments
      • 2.8.1 Type Conditions
      • 2.8.2 Inline Fragments
    • 2.9 Input Values
      • 2.9.1 Int Value
      • 2.9.2 Float Value
      • 2.9.3 Boolean Value
      • 2.9.4 String Value
      • 2.9.5 Null Value
      • 2.9.6 Enum Value
      • 2.9.7 List Value
      • 2.9.8 Input Object Values
    • 2.10 Variables
    • 2.11 Type References
    • 2.12 Directives
  • 3 Type System
    • 3.1 Type System Extensions
    • 3.2 Schema
      • 3.2.1 Root Operation Types
      • 3.2.2 Schema Extension
    • 3.3 Descriptions
    • 3.4 Types
      • 3.4.1 Wrapping Types
      • 3.4.2 Input and Output Types
      • 3.4.3 Type Extensions
    • 3.5 Scalars
      • 3.5.1 Int
      • 3.5.2 Float
      • 3.5.3 String
      • 3.5.4 Boolean
      • 3.5.5 ID
      • 3.5.6 Scalar Extensions
    • 3.6 Objects
      • 3.6.1 Field Arguments
      • 3.6.2 Field Deprecation
      • 3.6.3 Object Extensions
    • 3.7 Interfaces
      • 3.7.1 Interface Extensions
    • 3.8 Unions
      • 3.8.1 Union Extensions
    • 3.9 Enums
      • 3.9.1 Enum Extensions
    • 3.10 Input Objects
      • 3.10.1 Input Object Extensions
    • 3.11 List
    • 3.12 Non-Null
      • 3.12.1 Combining List and Non-Null
    • 3.13 Directives
      • 3.13.1 @skip
      • 3.13.2 @include
      • 3.13.3 @deprecated
  • 4 Introspection
    • 4.1 Reserved Names
    • 4.2 Documentation
    • 4.3 Deprecation
    • 4.4 Type Name Introspection
    • 4.5 Schema Introspection
      • 4.5.1 The __Type Type
      • 4.5.2 Type Kinds
        • 4.5.2.1 Scalar
        • 4.5.2.2 Object
        • 4.5.2.3 Union
        • 4.5.2.4 Interface
        • 4.5.2.5 Enum
        • 4.5.2.6 Input Object
        • 4.5.2.7 List
        • 4.5.2.8 Non-Null
      • 4.5.3 The __Field Type
      • 4.5.4 The __InputValue Type
      • 4.5.5 The __EnumValue Type
      • 4.5.6 The __Directive Type
  • 5 Validation
    • 5.1 Documents
      • 5.1.1 Executable Definitions
    • 5.2 Operations
      • 5.2.1 Named Operation Definitions
        • 5.2.1.1 Operation Name Uniqueness
      • 5.2.2 Anonymous Operation Definitions
        • 5.2.2.1 Lone Anonymous Operation
      • 5.2.3 Subscription Operation Definitions
        • 5.2.3.1 Single root field
    • 5.3 Fields
      • 5.3.1 Field Selections on Objects, Interfaces, and Unions Types
      • 5.3.2 Field Selection Merging
      • 5.3.3 Leaf Field Selections
    • 5.4 Arguments
      • 5.4.1 Argument Names
      • 5.4.2 Argument Uniqueness
        • 5.4.2.1 Required Arguments
    • 5.5 Fragments
      • 5.5.1 Fragment Declarations
        • 5.5.1.1 Fragment Name Uniqueness
        • 5.5.1.2 Fragment Spread Type Existence
        • 5.5.1.3 Fragments On Composite Types
        • 5.5.1.4 Fragments Must Be Used
      • 5.5.2 Fragment Spreads
        • 5.5.2.1 Fragment spread target defined
        • 5.5.2.2 Fragment spreads must not form cycles
        • 5.5.2.3 Fragment spread is possible
          • 5.5.2.3.1 Object Spreads In Object Scope
          • 5.5.2.3.2 Abstract Spreads in Object Scope
          • 5.5.2.3.3 Object Spreads In Abstract Scope
          • 5.5.2.3.4 Abstract Spreads in Abstract Scope
    • 5.6 Values
      • 5.6.1 Values of Correct Type
      • 5.6.2 Input Object Field Names
      • 5.6.3 Input Object Field Uniqueness
      • 5.6.4 Input Object Required Fields
    • 5.7 Directives
      • 5.7.1 Directives Are Defined
      • 5.7.2 Directives Are In Valid Locations
      • 5.7.3 Directives Are Unique Per Location
    • 5.8 Variables
      • 5.8.1 Variable Uniqueness
      • 5.8.2 Variables Are Input Types
      • 5.8.3 All Variable Uses Defined
      • 5.8.4 All Variables Used
      • 5.8.5 All Variable Usages are Allowed
  • 6 Execution
    • 6.1 Executing Requests
      • 6.1.1 Validating Requests
      • 6.1.2 Coercing Variable Values
    • 6.2 Executing Operations
      • 6.2.1 Query
      • 6.2.2 Mutation
      • 6.2.3 Subscription
        • 6.2.3.1 Source Stream
        • 6.2.3.2 Response Stream
        • 6.2.3.3 Unsubscribe
    • 6.3 Executing Selection Sets
      • 6.3.1 Normal and Serial Execution
      • 6.3.2 Field Collection
    • 6.4 Executing Fields
      • 6.4.1 Coercing Field Arguments
      • 6.4.2 Value Resolution
      • 6.4.3 Value Completion
      • 6.4.4 Errors and Non-Nullability
  • 7 Response
    • 7.1 Response Format
      • 7.1.1 Data
      • 7.1.2 Errors
    • 7.2 Serialization Format
      • 7.2.1 JSON Serialization
      • 7.2.2 Serialized Map Ordering

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.