##// END OF EJS Templates
interfaces: convert `repository.iverifyproblem` from zope `Attribute` attrs...
interfaces: convert `repository.iverifyproblem` from zope `Attribute` attrs This is the same transformation as b455dfddfed0 did for dirstate.

File last commit:

r52995:82e2c99c default
r53364:f968926a default
Show More
typelib.py
55 lines | 1.4 KiB | text/x-python | PythonLexer
Matt Harbison
pytype: stop excluding mercurial/ui.py...
r50688 # typelib.py - type hint aliases and support
#
# Copyright 2022 Matt Harbison <matt_harbison@yahoo.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
Matt Harbison
typing: add `from __future__ import annotations` to remaining source files...
r52757 from __future__ import annotations
Matt Harbison
pytype: stop excluding mercurial/ui.py...
r50688 import typing
Matt Harbison
typing: add trivial type hints to `mercurial.scmutil`...
r52625 from typing import (
Callable,
)
Matt Harbison
pytype: stop excluding mercurial/ui.py...
r50688 # Note: this is slightly different from pycompat.TYPE_CHECKING, as using
# pycompat causes the BinaryIO_Proxy type to be resolved to ``object`` when
# used as the base class during a pytype run.
TYPE_CHECKING = typing.TYPE_CHECKING
# The BinaryIO class provides empty methods, which at runtime means that
# ``__getattr__`` on the proxy classes won't get called for the methods that
# should delegate to the internal object. So to avoid runtime changes because
# of the required typing inheritance, just use BinaryIO when typechecking, and
# ``object`` otherwise.
if TYPE_CHECKING:
from typing import (
BinaryIO,
Matt Harbison
typing: add type hints to `mercurial.dirstatemap`...
r52609 Union,
)
from . import (
node,
posix,
cachestat: avoid creating cachestat for http path...
r52995 util,
Matt Harbison
typing: add type hints to `mercurial.dirstatemap`...
r52609 windows,
Matt Harbison
pytype: stop excluding mercurial/ui.py...
r50688 )
BinaryIO_Proxy = BinaryIO
cachestat: avoid creating cachestat for http path...
r52995 CacheStat = Union[
posix.cachestat,
windows.cachestat,
util.uncacheable_cachestat,
]
Matt Harbison
typing: add type hints to `mercurial.dirstatemap`...
r52609 NodeConstants = node.sha1nodeconstants
Matt Harbison
pytype: stop excluding mercurial/ui.py...
r50688 else:
Matt Harbison
typing: add type hints to `mercurial.dirstatemap`...
r52609 from typing import Any
Matt Harbison
pytype: stop excluding mercurial/ui.py...
r50688 BinaryIO_Proxy = object
Matt Harbison
typing: add type hints to `mercurial.dirstatemap`...
r52609 CacheStat = Any
NodeConstants = Any
Matt Harbison
typing: add trivial type hints to `mercurial.scmutil`...
r52625
# scmutil.getuipathfn() related callback.
UiPathFn = Callable[[bytes], bytes]