Merge pull request #832 from danpalmer/patch-6

Add basic type documentation for Relay fields
This commit is contained in:
Syrus Akbary 2018-09-09 20:11:36 +02:00 committed by GitHub
commit 131cbebc88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,6 +12,12 @@ from .node import is_node
class PageInfo(ObjectType): class PageInfo(ObjectType):
class Meta:
description = (
"The Relay compliant `PageInfo` type, containing data necessary to"
" paginate this connection."
)
has_next_page = Boolean( has_next_page = Boolean(
required=True, required=True,
name="hasNextPage", name="hasNextPage",
@ -64,21 +70,40 @@ class Connection(ObjectType):
node = Field(_node, description="The item at the end of the edge") node = Field(_node, description="The item at the end of the edge")
cursor = String(required=True, description="A cursor for use in pagination") cursor = String(required=True, description="A cursor for use in pagination")
class EdgeMeta:
description = "A Relay edge containing a `{}` and its cursor.".format(
base_name
)
edge_name = "{}Edge".format(base_name) edge_name = "{}Edge".format(base_name)
if edge_class: if edge_class:
edge_bases = (edge_class, EdgeBase, ObjectType) edge_bases = (edge_class, EdgeBase, ObjectType)
else: else:
edge_bases = (EdgeBase, ObjectType) edge_bases = (EdgeBase, ObjectType)
edge = type(edge_name, edge_bases, {}) edge = type(edge_name, edge_bases, {"Meta": EdgeMeta})
cls.Edge = edge cls.Edge = edge
options["name"] = name options["name"] = name
_meta.node = node _meta.node = node
_meta.fields = OrderedDict( _meta.fields = OrderedDict(
[ [
("page_info", Field(PageInfo, name="pageInfo", required=True)), (
("edges", Field(NonNull(List(edge)))), "page_info",
Field(
PageInfo,
name="pageInfo",
required=True,
description="Pagination data for this connection.",
),
),
(
"edges",
Field(
NonNull(List(edge)),
description="Contains the nodes in this connection.",
),
),
] ]
) )
return super(Connection, cls).__init_subclass_with_meta__( return super(Connection, cls).__init_subclass_with_meta__(