-
Notifications
You must be signed in to change notification settings - Fork 3
/
TODO.txt
113 lines (109 loc) · 3.58 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
3 - Type System - Done (increment updates only)
3.1 - Types
3.1.1 - Scalars
3.1.1.1 - Int
3.1.1.2 - Float
3.1.1.3 - String
3.1.1.4 - Boolean
3.1.1.5 - ID
3.1.2 - Objects
3.1.2.1 - Object Field Arguments
3.1.2.2 - Object Field deprecation
3.1.2.3 - Object type validation
3.1.3 - Interfaces
3.1.3.1 - Interface type validation
3.1.4 - Unions
3.1.4.1 - Union type validation
3.1.5 - Enums
3.1.6 - Input Objects
3.1.6.1 - Input Object type validation
3.1.7 - Lists - DONE
3.1.8 - Non-Null - DONE
3.2 - Directives - DONE
3.2.1 - @skip - DONE
3.2.2 - @include - DONE
3.3 - Initial types
4 - Introspection - TODO
4.1 - General Principles - TODO
4.1.1 - Naming conventions - TODO
4.1.2 - Documentation - TODO
4.1.3 - Deprecation - TODO
4.1.4 - Type Name Introspection - TODO
4.2 - Schema Introspection - TODO
4.2.1 - The __Type Type - TODO
4.2.2 - Type Kinds - TODO
4.2.2.1 - Scalar - TODO
4.2.2.2 - Object - TODO
4.2.2.3 - Union - TODO
4.2.2.4 - Interface - TODO
4.2.2.5 - Enum - TODO
4.2.2.6 - Input Object - TODO
4.2.2.7 - List - TODO
4.2.2.8 - Non-Null - TODO
4.2.2.9 - Combining List and Non-Null - TODO
4.2.3 - The __Field Type - TODO
4.2.4 - The __InputValue Type - TODO
4.2.5 - The __EnumValue Type - TODO
4.2.6 - The __Directive Type - TODO
5 - Validation - DONE (Mutation left)
5.1 - Operations
5.1.1 - Named Operation Definitions
5.1.1.1 - Operation Name Uniqueness
5.1.2 - Anonymous Operation Definitions
5.1.2.1 - Lone Anonymous Operation
5.2 - Fields
5.2.1 - Field Selections on Objects, Interfaces, and Unions Types
5.2.2 - Field Selection Merging
5.2.3 - Leaf Field Selections
5.3 - Arguments
5.3.1 - Argument Names
5.3.2 - Argument Uniqueness
5.3.3 - Argument Values Type Correctness
5.3.3.1 - Compatible Values
5.3.3.2 - Required Non-Null Arguments
5.4 - Fragments
5.4.1 - Fragment Declarations
5.4.1.1 - Fragment Name Uniqueness
5.4.1.2 - Fragment Spread Type Existence
5.4.1.3 - Fragments On Composite Types
5.4.1.4 - Fragments Must Be Used
5.4.2 - Fragment Spreads
5.4.2.1 - Fragment spread target defined
5.4.2.2 - Fragment spreads must not form cycles
5.4.2.3 - Fragment spread is possible
5.4.2.3.1 - Object Spreads In Object Scope
5.4.2.3.2 - Abstract Spreads in Object Scope
5.4.2.3.3 - Object Spreads In Abstract Scope
5.4.2.3.4 - Abstract Spreads in Abstract Scope
5.5 - Values
5.5.1 - Input Object Field Uniqueness
5.6 - Directives
5.6.1 - Directives Are Defined
5.6.2 - Directives Are In Valid Locations
5.6.3 - Directives Are Unique Per Location
5.7 - Variables
5.7.1 - Variable Uniqueness
5.7.2 - Variable Default Values Are Correctly Typed
5.7.3 - Variables Are Input Types
5.7.4 - All Variable Uses Defined
5.7.5 - All Variables Used
5.7.6 - All Variable Usages are Allowed
6 - Execution - Need more testing
6.1 - Executing Requests
6.1.1 - Validating Requests
6.1.2 - Coercing Variable Values
6.2 - Executing Operations
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 - TODO
7.1 - Serialization Format
7.1.1 - JSON Serialization
7.2 - Response Format
7.2.1 - Data
7.2.2 - Errors