1
+ from _typeshed import Unused
1
2
from collections .abc import Callable , MutableMapping
2
- from typing import Any , ClassVar , NoReturn , TypedDict
3
+ from typing import Any , ClassVar , NoReturn , TypedDict , TypeVar
3
4
4
5
from jmespath .functions import Functions
5
6
7
+ _T = TypeVar ("_T" )
8
+
6
9
class Options :
7
10
dict_cls : Callable [[], MutableMapping [Any , Any ]] | None
8
11
custom_functions : Functions | None
@@ -19,7 +22,7 @@ class _Expression:
19
22
class Visitor :
20
23
def __init__ (self ) -> None : ...
21
24
def visit (self , node : _TreeNode , * args , ** kwargs ) -> Any : ...
22
- def default_visit (self , node : _TreeNode , * args , ** kwargs ) -> NoReturn : ...
25
+ def default_visit (self , node : _TreeNode , * args : Unused , ** kwargs : Unused ) -> NoReturn : ...
23
26
24
27
class _TreeNode (TypedDict ):
25
28
type : str
@@ -30,29 +33,29 @@ class TreeInterpreter(Visitor):
30
33
COMPARATOR_FUNC : ClassVar [dict [str , Callable [[Any , Any ], Any ]]]
31
34
MAP_TYPE : ClassVar [Callable [[], MutableMapping [Any , Any ]]]
32
35
def __init__ (self , options : Options | None = None ) -> None : ...
33
- def default_visit (self , node : _TreeNode , * args , ** kwargs ) -> NoReturn : ...
36
+ def default_visit (self , node : _TreeNode , * args : Unused , ** kwargs : Unused ) -> NoReturn : ...
34
37
def visit_subexpression (self , node : _TreeNode , value : Any ) -> Any : ...
35
38
def visit_field (self , node : _TreeNode , value : Any ) -> Any : ...
36
39
def visit_comparator (self , node : _TreeNode , value : Any ) -> Any : ...
37
- def visit_current (self , node : _TreeNode , value : Any ) -> Any : ...
38
- def visit_expref (self , node : _TreeNode , value : Any ) -> Any : ...
40
+ def visit_current (self , node : _TreeNode , value : _T ) -> _T : ...
41
+ def visit_expref (self , node : _TreeNode , value : Any ) -> _Expression : ...
39
42
def visit_function_expression (self , node : _TreeNode , value : Any ) -> Any : ...
40
- def visit_filter_projection (self , node : _TreeNode , value : Any ) -> Any : ...
43
+ def visit_filter_projection (self , node : _TreeNode , value : Any ) -> list [ Any ] | None : ...
41
44
def visit_flatten (self , node : _TreeNode , value : Any ) -> Any : ...
42
- def visit_identity (self , node : _TreeNode , value : Any ) -> Any : ...
45
+ def visit_identity (self , node : _TreeNode , value : _T ) -> _T : ...
43
46
def visit_index (self , node : _TreeNode , value : Any ) -> Any : ...
44
47
def visit_index_expression (self , node : _TreeNode , value : Any ) -> Any : ...
45
48
def visit_slice (self , node : _TreeNode , value : Any ) -> Any : ...
46
49
def visit_key_val_pair (self , node : _TreeNode , value : Any ) -> Any : ...
47
50
def visit_literal (self , node : _TreeNode , value : Any ) -> Any : ...
48
51
def visit_multi_select_dict (self , node : _TreeNode , value : Any ) -> Any : ...
49
- def visit_multi_select_list (self , node : _TreeNode , value : Any ) -> Any : ...
52
+ def visit_multi_select_list (self , node : _TreeNode , value : Any ) -> list [ Any ] | None : ...
50
53
def visit_or_expression (self , node : _TreeNode , value : Any ) -> Any : ...
51
54
def visit_and_expression (self , node : _TreeNode , value : Any ) -> Any : ...
52
- def visit_not_expression (self , node : _TreeNode , value : Any ) -> Any : ...
55
+ def visit_not_expression (self , node : _TreeNode , value : Any ) -> bool : ...
53
56
def visit_pipe (self , node : _TreeNode , value : Any ) -> Any : ...
54
- def visit_projection (self , node : _TreeNode , value : Any ) -> Any : ...
55
- def visit_value_projection (self , node : _TreeNode , value : Any ) -> Any : ...
57
+ def visit_projection (self , node : _TreeNode , value : Any ) -> list [ Any ] | None : ...
58
+ def visit_value_projection (self , node : _TreeNode , value : Any ) -> list [ Any ] | None : ...
56
59
57
60
class GraphvizVisitor (Visitor ):
58
61
def __init__ (self ) -> None : ...
0 commit comments