Skip to content

Commit ce41279

Browse files
committed
fix: Fix type parameters loading
1 parent 8f37158 commit ce41279

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

src/griffe/_internal/encoders.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ def _load_class(obj_dict: dict[str, Any]) -> Class:
212212
endlineno=obj_dict.get("endlineno"),
213213
docstring=_load_docstring(obj_dict),
214214
decorators=_load_decorators(obj_dict),
215-
type_parameters=TypeParameters(*obj_dict["type_parameters"]),
215+
type_parameters=TypeParameters(*obj_dict["type_parameters"]) if "type_parameters" in obj_dict else None,
216216
bases=obj_dict["bases"],
217217
runtime=obj_dict.get("runtime", True),
218218
)
@@ -239,7 +239,7 @@ def _load_function(obj_dict: dict[str, Any]) -> Function:
239239
parameters=Parameters(*obj_dict["parameters"]),
240240
returns=obj_dict["returns"],
241241
decorators=_load_decorators(obj_dict),
242-
type_parameters=TypeParameters(*obj_dict["type_parameters"]),
242+
type_parameters=TypeParameters(*obj_dict["type_parameters"]) if "type_parameters" in obj_dict else None,
243243
lineno=obj_dict["lineno"],
244244
endlineno=obj_dict.get("endlineno"),
245245
docstring=_load_docstring(obj_dict),

src/griffe/_internal/models.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,9 @@ def __init__(
614614
[`has_docstrings`][griffe.Object.has_docstrings].
615615
"""
616616

617+
# TODO: Maybe move these into `Class` and `Function`.
618+
# Then always return them in `Class` and `Function`'s `as_dict` methods,
619+
# and remove the conditional in the `_load_class` and `_load_function` decoders.
617620
self.type_parameters: TypeParameters = type_parameters or TypeParameters()
618621
"""The object type parameters."""
619622

0 commit comments

Comments
 (0)