Skip to content

Commit 266be2d

Browse files
committed
ci: Improve typing fof callables in expression-building node map
1 parent edf81df commit 266be2d

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/griffe/_internal/expressions.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from dataclasses import fields as getfields
1313
from enum import IntEnum, auto
1414
from functools import partial
15-
from typing import TYPE_CHECKING, Any, Callable
15+
from typing import TYPE_CHECKING, Any, Protocol
1616

1717
from griffe._internal.agents.nodes.parameters import get_parameters
1818
from griffe._internal.enumerations import LogLevel, ParameterKind
@@ -1319,7 +1319,12 @@ def _build_yield_from(node: ast.YieldFrom, parent: Module | Class, **kwargs: Any
13191319
return ExprYieldFrom(_build(node.value, parent, **kwargs))
13201320

13211321

1322-
_node_map: dict[type, Callable[[Any, Module | Class], Expr]] = {
1322+
class _BuildCallable(Protocol):
1323+
def __call__(self, node: Any, parent: Module | Class, **kwargs: Any) -> Expr:
1324+
...
1325+
1326+
1327+
_node_map: dict[type, _BuildCallable] = {
13231328
ast.Attribute: _build_attribute,
13241329
ast.BinOp: _build_binop,
13251330
ast.BoolOp: _build_boolop,

0 commit comments

Comments
 (0)