Create Node, Edge, PageInfo and Connection interfaces and have similar object types inherit from them.
This helps components like <LoadMore> in rumors-site to create object-agnostic fragments that only retrieves common fields
Also defines more strict NonNull and ID so that their type is more rigorous.
When resolveEdge errors, the whole request (like ListArticle) would return null now, rather than return partially in the past. This makes more sense in terms of param error.
Upgrade graphql-js to get better error message regarding interfaces. see graphql/graphql-js#2513
Coverage increased (+0.04%) to 88.706% when pulling c12f235dce9715d1fab4b3df5300feab164748f9 on interfaces-non-null into 869bfcb4f24791793781f9a89d546d830e614fad on master.
Node
,Edge
,PageInfo
andConnection
interfaces and have similar object types inherit from them.<LoadMore>
in rumors-site to create object-agnostic fragments that only retrieves common fieldsNonNull
andID
so that their type is more rigorous.resolveEdge
errors, the whole request (likeListArticle
) would returnnull
now, rather than return partially in the past. This makes more sense in terms of param error.