Skip to content

Convert all FrozenList type usages to Sequence #113

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/graphql/execution/execute.py
Original file line number Diff line number Diff line change
Expand Up @@ -968,9 +968,9 @@ async def collect_and_execute_subfields_async() -> Dict[str, Any]:
raise invalid_return_type_error(
return_type, result, field_nodes
)
return self.collect_and_execute_subfields(
return self.collect_and_execute_subfields( # type: ignore
return_type, field_nodes, path, result
) # type: ignore
)

return collect_and_execute_subfields_async()

Expand Down
8 changes: 4 additions & 4 deletions src/graphql/execution/values.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Any, Callable, Dict, List, Optional, Union, cast
from typing import Any, Callable, Dict, List, Optional, Union, cast, Sequence

from ..error import GraphQLError
from ..language import (
Expand All @@ -16,7 +16,7 @@
VariableNode,
print_ast,
)
from ..pyutils import inspect, print_path_list, FrozenList, Undefined
from ..pyutils import inspect, print_path_list, Undefined
from ..type import (
GraphQLDirective,
GraphQLField,
Expand All @@ -37,7 +37,7 @@

def get_variable_values(
schema: GraphQLSchema,
var_def_nodes: FrozenList[VariableDefinitionNode],
var_def_nodes: Sequence[VariableDefinitionNode],
inputs: Dict[str, Any],
max_errors: Optional[int] = None,
) -> CoercedVariableValues:
Expand Down Expand Up @@ -71,7 +71,7 @@ def on_error(error: GraphQLError) -> None:

def coerce_variable_values(
schema: GraphQLSchema,
var_def_nodes: FrozenList[VariableDefinitionNode],
var_def_nodes: Sequence[VariableDefinitionNode],
inputs: Dict[str, Any],
on_error: Callable[[GraphQLError], None],
) -> Dict[str, Any]:
Expand Down
72 changes: 36 additions & 36 deletions src/graphql/language/ast.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from copy import copy, deepcopy
from enum import Enum
from typing import Any, Dict, List, Optional, Union
from typing import Any, Dict, List, Optional, Union, Sequence

from .source import Source
from .token_kind import TokenKind
Expand Down Expand Up @@ -292,7 +292,7 @@ class NameNode(Node):
class DocumentNode(Node):
__slots__ = ("definitions",)

definitions: FrozenList["DefinitionNode"]
definitions: Sequence["DefinitionNode"]


class DefinitionNode(Node):
Expand All @@ -303,8 +303,8 @@ class ExecutableDefinitionNode(DefinitionNode):
__slots__ = "name", "directives", "variable_definitions", "selection_set"

name: Optional[NameNode]
directives: FrozenList["DirectiveNode"]
variable_definitions: FrozenList["VariableDefinitionNode"]
directives: Sequence["DirectiveNode"]
variable_definitions: Sequence["VariableDefinitionNode"]
selection_set: "SelectionSetNode"


Expand All @@ -320,27 +320,27 @@ class VariableDefinitionNode(Node):
variable: "VariableNode"
type: "TypeNode"
default_value: Optional["ValueNode"]
directives: FrozenList["DirectiveNode"]
directives: Sequence["DirectiveNode"]


class SelectionSetNode(Node):
__slots__ = ("selections",)

selections: FrozenList["SelectionNode"]
selections: Sequence["SelectionNode"]


class SelectionNode(Node):
__slots__ = ("directives",)

directives: FrozenList["DirectiveNode"]
directives: Sequence["DirectiveNode"]


class FieldNode(SelectionNode):
__slots__ = "alias", "name", "arguments", "selection_set"

alias: Optional[NameNode]
name: NameNode
arguments: FrozenList["ArgumentNode"]
arguments: Sequence["ArgumentNode"]
selection_set: Optional[SelectionSetNode]


Expand Down Expand Up @@ -425,13 +425,13 @@ class EnumValueNode(ValueNode):
class ListValueNode(ValueNode):
__slots__ = ("values",)

values: FrozenList[ValueNode]
values: Sequence[ValueNode]


class ObjectValueNode(ValueNode):
__slots__ = ("fields",)

fields: FrozenList["ObjectFieldNode"]
fields: Sequence["ObjectFieldNode"]


class ObjectFieldNode(Node):
Expand All @@ -448,7 +448,7 @@ class DirectiveNode(Node):
__slots__ = "name", "arguments"

name: NameNode
arguments: FrozenList[ArgumentNode]
arguments: Sequence[ArgumentNode]


# Type Reference
Expand Down Expand Up @@ -487,8 +487,8 @@ class SchemaDefinitionNode(TypeSystemDefinitionNode):
__slots__ = "description", "directives", "operation_types"

description: Optional[StringValueNode]
directives: FrozenList[DirectiveNode]
operation_types: FrozenList["OperationTypeDefinitionNode"]
directives: Sequence[DirectiveNode]
operation_types: Sequence["OperationTypeDefinitionNode"]


class OperationTypeDefinitionNode(Node):
Expand All @@ -506,7 +506,7 @@ class TypeDefinitionNode(TypeSystemDefinitionNode):

description: Optional[StringValueNode]
name: NameNode
directives: FrozenList[DirectiveNode]
directives: Sequence[DirectiveNode]


class ScalarTypeDefinitionNode(TypeDefinitionNode):
Expand All @@ -516,17 +516,17 @@ class ScalarTypeDefinitionNode(TypeDefinitionNode):
class ObjectTypeDefinitionNode(TypeDefinitionNode):
__slots__ = "interfaces", "fields"

interfaces: FrozenList[NamedTypeNode]
fields: FrozenList["FieldDefinitionNode"]
interfaces: Sequence[NamedTypeNode]
fields: Sequence["FieldDefinitionNode"]


class FieldDefinitionNode(DefinitionNode):
__slots__ = "description", "name", "directives", "arguments", "type"

description: Optional[StringValueNode]
name: NameNode
directives: FrozenList[DirectiveNode]
arguments: FrozenList["InputValueDefinitionNode"]
directives: Sequence[DirectiveNode]
arguments: Sequence["InputValueDefinitionNode"]
type: TypeNode


Expand All @@ -535,28 +535,28 @@ class InputValueDefinitionNode(DefinitionNode):

description: Optional[StringValueNode]
name: NameNode
directives: FrozenList[DirectiveNode]
directives: Sequence[DirectiveNode]
type: TypeNode
default_value: Optional[ValueNode]


class InterfaceTypeDefinitionNode(TypeDefinitionNode):
__slots__ = "fields", "interfaces"

fields: FrozenList["FieldDefinitionNode"]
interfaces: FrozenList[NamedTypeNode]
fields: Sequence["FieldDefinitionNode"]
interfaces: Sequence[NamedTypeNode]


class UnionTypeDefinitionNode(TypeDefinitionNode):
__slots__ = ("types",)

types: FrozenList[NamedTypeNode]
types: Sequence[NamedTypeNode]


class EnumTypeDefinitionNode(TypeDefinitionNode):
__slots__ = ("values",)

values: FrozenList["EnumValueDefinitionNode"]
values: Sequence["EnumValueDefinitionNode"]


class EnumValueDefinitionNode(TypeDefinitionNode):
Expand All @@ -566,7 +566,7 @@ class EnumValueDefinitionNode(TypeDefinitionNode):
class InputObjectTypeDefinitionNode(TypeDefinitionNode):
__slots__ = ("fields",)

fields: FrozenList[InputValueDefinitionNode]
fields: Sequence[InputValueDefinitionNode]


# Directive Definitions
Expand All @@ -577,9 +577,9 @@ class DirectiveDefinitionNode(TypeSystemDefinitionNode):

description: Optional[StringValueNode]
name: NameNode
arguments: FrozenList[InputValueDefinitionNode]
arguments: Sequence[InputValueDefinitionNode]
repeatable: bool
locations: FrozenList[NameNode]
locations: Sequence[NameNode]


# Type System Extensions
Expand All @@ -588,8 +588,8 @@ class DirectiveDefinitionNode(TypeSystemDefinitionNode):
class SchemaExtensionNode(Node):
__slots__ = "directives", "operation_types"

directives: FrozenList[DirectiveNode]
operation_types: FrozenList[OperationTypeDefinitionNode]
directives: Sequence[DirectiveNode]
operation_types: Sequence[OperationTypeDefinitionNode]


# Type Extensions
Expand All @@ -599,7 +599,7 @@ class TypeExtensionNode(TypeSystemDefinitionNode):
__slots__ = "name", "directives"

name: NameNode
directives: FrozenList[DirectiveNode]
directives: Sequence[DirectiveNode]


TypeSystemExtensionNode = Union[SchemaExtensionNode, TypeExtensionNode]
Expand All @@ -612,30 +612,30 @@ class ScalarTypeExtensionNode(TypeExtensionNode):
class ObjectTypeExtensionNode(TypeExtensionNode):
__slots__ = "interfaces", "fields"

interfaces: FrozenList[NamedTypeNode]
fields: FrozenList[FieldDefinitionNode]
interfaces: Sequence[NamedTypeNode]
fields: Sequence[FieldDefinitionNode]


class InterfaceTypeExtensionNode(TypeExtensionNode):
__slots__ = "interfaces", "fields"

interfaces: FrozenList[NamedTypeNode]
fields: FrozenList[FieldDefinitionNode]
interfaces: Sequence[NamedTypeNode]
fields: Sequence[FieldDefinitionNode]


class UnionTypeExtensionNode(TypeExtensionNode):
__slots__ = ("types",)

types: FrozenList[NamedTypeNode]
types: Sequence[NamedTypeNode]


class EnumTypeExtensionNode(TypeExtensionNode):
__slots__ = ("values",)

values: FrozenList[EnumValueDefinitionNode]
values: Sequence[EnumValueDefinitionNode]


class InputObjectTypeExtensionNode(TypeExtensionNode):
__slots__ = ("fields",)

fields: FrozenList[InputValueDefinitionNode]
fields: Sequence[InputValueDefinitionNode]
3 changes: 1 addition & 2 deletions src/graphql/pyutils/undefined.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@ def __ne__(self, other: Any) -> bool:

# Used to indicate undefined or invalid values (like "undefined" in JavaScript):
Undefined = UndefinedType()

Undefined.__doc__ = """Symbol for undefined values
"""Symbol for undefined values

This singleton object is used to describe undefined or invalid values.
It can be used in places where you would use ``undefined`` in GraphQL.js.
Expand Down
15 changes: 8 additions & 7 deletions src/graphql/type/definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
Union,
cast,
overload,
Sequence,
)

from ..error import GraphQLError
Expand Down Expand Up @@ -196,7 +197,7 @@ class GraphQLNamedType(GraphQLType):
description: Optional[str]
extensions: Optional[Dict[str, Any]]
ast_node: Optional[TypeDefinitionNode]
extension_ast_nodes: Optional[FrozenList[TypeExtensionNode]]
extension_ast_nodes: Optional[Sequence[TypeExtensionNode]]

def __init__(
self,
Expand Down Expand Up @@ -320,7 +321,7 @@ def serialize_odd(value):

specified_by_url: Optional[str]
ast_node: Optional[ScalarTypeDefinitionNode]
extension_ast_nodes: Optional[FrozenList[ScalarTypeExtensionNode]]
extension_ast_nodes: Optional[Sequence[ScalarTypeExtensionNode]]

def __init__(
self,
Expand Down Expand Up @@ -690,7 +691,7 @@ class GraphQLObjectType(GraphQLNamedType):

is_type_of: Optional[GraphQLIsTypeOfFn]
ast_node: Optional[ObjectTypeDefinitionNode]
extension_ast_nodes: Optional[FrozenList[ObjectTypeExtensionNode]]
extension_ast_nodes: Optional[Sequence[ObjectTypeExtensionNode]]

def __init__(
self,
Expand Down Expand Up @@ -810,7 +811,7 @@ class GraphQLInterfaceType(GraphQLNamedType):

resolve_type: Optional[GraphQLTypeResolver]
ast_node: Optional[InterfaceTypeDefinitionNode]
extension_ast_nodes: Optional[FrozenList[InterfaceTypeExtensionNode]]
extension_ast_nodes: Optional[Sequence[InterfaceTypeExtensionNode]]

def __init__(
self,
Expand Down Expand Up @@ -933,7 +934,7 @@ def resolve_type(obj, _info, _type):

resolve_type: Optional[GraphQLTypeResolver]
ast_node: Optional[UnionTypeDefinitionNode]
extension_ast_nodes: Optional[FrozenList[UnionTypeExtensionNode]]
extension_ast_nodes: Optional[Sequence[UnionTypeExtensionNode]]

def __init__(
self,
Expand Down Expand Up @@ -1039,7 +1040,7 @@ class RGBEnum(enum.Enum):

values: GraphQLEnumValueMap
ast_node: Optional[EnumTypeDefinitionNode]
extension_ast_nodes: Optional[FrozenList[EnumTypeExtensionNode]]
extension_ast_nodes: Optional[Sequence[EnumTypeExtensionNode]]

def __init__(
self,
Expand Down Expand Up @@ -1267,7 +1268,7 @@ class GeoPoint(GraphQLInputObjectType):
"""

ast_node: Optional[InputObjectTypeDefinitionNode]
extension_ast_nodes: Optional[FrozenList[InputObjectTypeExtensionNode]]
extension_ast_nodes: Optional[Sequence[InputObjectTypeExtensionNode]]

def __init__(
self,
Expand Down
6 changes: 3 additions & 3 deletions src/graphql/type/directives.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Any, Collection, Dict, List, Optional, cast
from typing import Any, Collection, Dict, List, Optional, cast, Sequence

from ..language import ast, DirectiveLocation
from ..pyutils import inspect, is_description, FrozenList
Expand Down Expand Up @@ -211,15 +211,15 @@ def assert_directive(directive: Any) -> GraphQLDirective:
)


specified_directives: FrozenList[GraphQLDirective] = FrozenList(
specified_directives: Sequence[GraphQLDirective] = FrozenList(
[
GraphQLIncludeDirective,
GraphQLSkipDirective,
GraphQLDeprecatedDirective,
GraphQLSpecifiedByDirective,
]
)
specified_directives.__doc__ = """The full list of specified directives."""
"""The full list of specified directives."""


def is_specified_directive(directive: GraphQLDirective) -> bool:
Expand Down
Loading