mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-06 12:14:27 +08:00
Add typing for google protobuf mapping containers (#4265)
This commit is contained in:
@@ -1,10 +1,28 @@
|
||||
from typing import Any, Callable, Generic, Iterable, Iterator, List, Optional, Sequence, TypeVar, Union, overload
|
||||
from typing import (
|
||||
Any,
|
||||
Callable,
|
||||
Generic,
|
||||
Iterable,
|
||||
Iterator,
|
||||
List,
|
||||
Mapping as Mapping,
|
||||
MutableMapping as MutableMapping,
|
||||
Optional,
|
||||
Sequence,
|
||||
TypeVar,
|
||||
Union,
|
||||
overload,
|
||||
)
|
||||
|
||||
from google.protobuf.descriptor import Descriptor
|
||||
from google.protobuf.internal.message_listener import MessageListener
|
||||
from google.protobuf.internal.python_message import GeneratedProtocolMessageType
|
||||
from google.protobuf.message import Message
|
||||
|
||||
_T = TypeVar("_T")
|
||||
_K = TypeVar("_K")
|
||||
_V = TypeVar("_V")
|
||||
_M = TypeVar("_M")
|
||||
|
||||
class BaseContainer(Sequence[_T]):
|
||||
def __init__(self, message_listener: MessageListener) -> None: ...
|
||||
@@ -23,7 +41,7 @@ class RepeatedScalarFieldContainer(BaseContainer[_T]):
|
||||
def append(self, value: _T) -> None: ...
|
||||
def insert(self, key: int, value: _T) -> None: ...
|
||||
def extend(self, elem_seq: Optional[Iterable[_T]]) -> None: ...
|
||||
def MergeFrom(self, other: RepeatedScalarFieldContainer[_T]) -> None: ...
|
||||
def MergeFrom(self: _M, other: _M) -> None: ...
|
||||
def remove(self, elem: _T) -> None: ...
|
||||
def pop(self, key: int = ...) -> _T: ...
|
||||
@overload
|
||||
@@ -42,7 +60,7 @@ class RepeatedCompositeFieldContainer(BaseContainer[_T]):
|
||||
def append(self, value: _T) -> None: ...
|
||||
def insert(self, key: int, value: _T) -> None: ...
|
||||
def extend(self, elem_seq: Iterable[_T]) -> None: ...
|
||||
def MergeFrom(self, other: RepeatedCompositeFieldContainer[_T]) -> None: ...
|
||||
def MergeFrom(self: _M, other: _M) -> None: ...
|
||||
def remove(self, elem: _T) -> None: ...
|
||||
def pop(self, key: int = ...) -> _T: ...
|
||||
def __getslice__(self, start: int, stop: int) -> List[_T]: ...
|
||||
@@ -50,10 +68,23 @@ class RepeatedCompositeFieldContainer(BaseContainer[_T]):
|
||||
def __delslice__(self, start: int, stop: int) -> None: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
|
||||
# Classes not yet typed
|
||||
class Mapping(object):
|
||||
def __getattr__(self, name: str) -> Any: ... # incomplete
|
||||
class ScalarMap(MutableMapping[_K, _V]):
|
||||
def __setitem__(self, k: _K, v: _V) -> None: ...
|
||||
def __delitem__(self, v: _K) -> None: ...
|
||||
def __getitem__(self, k: _K) -> _V: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __iter__(self) -> Iterator[_K]: ...
|
||||
def MergeFrom(self: _M, other: _M): ...
|
||||
def InvalidateIterators(self) -> None: ...
|
||||
def GetEntryClass(self) -> GeneratedProtocolMessageType: ...
|
||||
|
||||
class MutableMapping(Mapping): ...
|
||||
class ScalarMap(MutableMapping): ...
|
||||
class MessageMap(MutableMapping): ...
|
||||
class MessageMap(MutableMapping[_K, _V]):
|
||||
def __setitem__(self, k: _K, v: _V) -> None: ...
|
||||
def __delitem__(self, v: _K) -> None: ...
|
||||
def __getitem__(self, k: _K) -> _V: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __iter__(self) -> Iterator[_K]: ...
|
||||
def get_or_create(self, key: _K) -> _V: ...
|
||||
def MergeFrom(self: _M, other: _M): ...
|
||||
def InvalidateIterators(self) -> None: ...
|
||||
def GetEntryClass(self) -> GeneratedProtocolMessageType: ...
|
||||
|
||||
1
third_party/2and3/google/protobuf/internal/python_message.pyi
vendored
Normal file
1
third_party/2and3/google/protobuf/internal/python_message.pyi
vendored
Normal file
@@ -0,0 +1 @@
|
||||
class GeneratedProtocolMessageType(type): ...
|
||||
Reference in New Issue
Block a user