You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by tv...@apache.org on 2021/01/25 02:17:10 UTC

[buildstream] 03/06: node.pyi: Adding some missing type annotations

This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/yaml-fixes
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit c6607c14e5105e190e12fbeff44e75874bf27d44
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Sat Jan 16 22:59:36 2021 +0900

    node.pyi: Adding some missing type annotations
---
 src/buildstream/node.pyi | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/buildstream/node.pyi b/src/buildstream/node.pyi
index 059bec2..34dc363 100644
--- a/src/buildstream/node.pyi
+++ b/src/buildstream/node.pyi
@@ -1,4 +1,4 @@
-from typing import overload, Generic, List, Mapping, Optional, Sequence, TypeVar, Dict, Any
+from typing import overload, Generic, List, Mapping, Optional, Sequence, TypeVar, Type, Dict, Any
 
 from ._project import Project
 
@@ -16,6 +16,7 @@ class MappingNode(Node, Generic[TNode]):
     def __init__(self, file_index: int, line: int, column: int, value: Mapping[str, TValidNodeValue]) -> None: ...
     def clone(self) -> MappingNode[TNode]: ...
     def validate_keys(self, valid_keys: List[str]): ...
+    def get_bool(self, key: str, default: bool) -> bool: ...
     @overload
     def get_str_list(self, key: str) -> List[str]: ...
     @overload
@@ -35,11 +36,21 @@ class MappingNode(Node, Generic[TNode]):
     @overload
     def get_int(self, key: str, default: Optional[int]) -> Optional[int]: ...
     @overload
+    def get_enum(self, key: str, constraint: object) -> object: ...
+    @overload
+    def get_enum(self, key: str, constraint: object, default: Optional[object]) -> Optional[object]: ...
+    @overload
     def get_mapping(self, key: str) -> "MappingNode": ...
     @overload
     def get_mapping(self, key: str, default: "MappingNode") -> "MappingNode": ...
     @overload
     def get_mapping(self, key: str, default: Optional["MappingNode"]) -> Optional["MappingNode"]: ...
+    @overload
+    def get_node(self, key: str) -> Node: ...
+    @overload
+    def get_node(self, key: str, allowed_types: Optional[List[Type[Node]]]) -> Node: ...
+    @overload
+    def get_node(self, key: str, allowed_types: Optional[List[Type[Node]]], allow_none: bool) -> Optional[Node]: ...
 
 class ScalarNode(Node):
     def as_str(self) -> str: ...