mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-16 00:37:10 +08:00
Update protobuf ExtensionDict (#4619)
This commit is contained in:
22
third_party/2and3/google/protobuf/internal/extension_dict.pyi
vendored
Normal file
22
third_party/2and3/google/protobuf/internal/extension_dict.pyi
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
from typing import Any, Generic, Iterator, TypeVar
|
||||
|
||||
from google.protobuf.descriptor import FieldDescriptor
|
||||
from google.protobuf.message import Message
|
||||
|
||||
_ContainerMessageT = TypeVar("_ContainerMessageT", bound=Message)
|
||||
_ExtenderMessageT = TypeVar("_ExtenderMessageT", bound=Message)
|
||||
|
||||
class _ExtensionFieldDescriptor(FieldDescriptor, Generic[_ContainerMessageT, _ExtenderMessageT]): ...
|
||||
|
||||
class _ExtensionDict(Generic[_ContainerMessageT]):
|
||||
def __init__(self, extended_message: _ContainerMessageT) -> None: ...
|
||||
def __getitem__(
|
||||
self, extension_handle: _ExtensionFieldDescriptor[_ContainerMessageT, _ExtenderMessageT]
|
||||
) -> _ExtenderMessageT: ...
|
||||
def __setitem__(
|
||||
self, extension_handle: _ExtensionFieldDescriptor[_ContainerMessageT, _ExtenderMessageT], value: _ExtenderMessageT
|
||||
) -> None: ...
|
||||
def __delitem__(self, extension_handle: _ExtensionFieldDescriptor[_ContainerMessageT, _ExtenderMessageT]) -> None: ...
|
||||
def __contains__(self, extension_handle: _ExtensionFieldDescriptor[_ContainerMessageT, _ExtenderMessageT]) -> bool: ...
|
||||
def __iter__(self) -> Iterator[_ExtensionFieldDescriptor[_ContainerMessageT, Any]]: ...
|
||||
def __len__(self) -> int: ...
|
||||
@@ -1,16 +1,13 @@
|
||||
import sys
|
||||
from typing import Any, ByteString, Sequence, Tuple, Type, TypeVar, Union
|
||||
|
||||
from .descriptor import Descriptor, DescriptorBase, FieldDescriptor
|
||||
from .descriptor import Descriptor, FieldDescriptor
|
||||
from .internal.extension_dict import _ExtensionDict
|
||||
|
||||
class Error(Exception): ...
|
||||
class DecodeError(Error): ...
|
||||
class EncodeError(Error): ...
|
||||
|
||||
class _ExtensionDict:
|
||||
def __getitem__(self, extension_handle: DescriptorBase) -> Any: ...
|
||||
def __setitem__(self, extension_handle: DescriptorBase, value: Any) -> None: ...
|
||||
|
||||
_M = TypeVar("_M", bound=Message) # message type (of self)
|
||||
|
||||
if sys.version_info < (3,):
|
||||
@@ -39,7 +36,7 @@ class Message:
|
||||
@classmethod
|
||||
def FromString(cls: Type[_M], s: _Serialized) -> _M: ...
|
||||
@property
|
||||
def Extensions(self) -> _ExtensionDict: ...
|
||||
def Extensions(self: _M) -> _ExtensionDict[_M]: ...
|
||||
# Intentionally left out typing on these three methods, because they are
|
||||
# stringly typed and it is not useful to call them on a Message directly.
|
||||
# We prefer more specific typing on individual subclasses of Message
|
||||
|
||||
Reference in New Issue
Block a user