mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-03 00:44:49 -04:00
Add types to synapse.util. (#10601)
This commit is contained in:
parent
ceab5a4bfa
commit
524b8ead77
41 changed files with 400 additions and 253 deletions
|
@ -12,6 +12,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
import logging
|
||||
from typing import Any, Callable, Dict, List
|
||||
|
||||
from twisted.internet import defer
|
||||
|
||||
|
@ -37,11 +38,11 @@ class Distributor:
|
|||
model will do for today.
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
self.signals = {}
|
||||
self.pre_registration = {}
|
||||
def __init__(self) -> None:
|
||||
self.signals: Dict[str, Signal] = {}
|
||||
self.pre_registration: Dict[str, List[Callable]] = {}
|
||||
|
||||
def declare(self, name):
|
||||
def declare(self, name: str) -> None:
|
||||
if name in self.signals:
|
||||
raise KeyError("%r already has a signal named %s" % (self, name))
|
||||
|
||||
|
@ -52,7 +53,7 @@ class Distributor:
|
|||
for observer in self.pre_registration[name]:
|
||||
signal.observe(observer)
|
||||
|
||||
def observe(self, name, observer):
|
||||
def observe(self, name: str, observer: Callable) -> None:
|
||||
if name in self.signals:
|
||||
self.signals[name].observe(observer)
|
||||
else:
|
||||
|
@ -62,7 +63,7 @@ class Distributor:
|
|||
self.pre_registration[name] = []
|
||||
self.pre_registration[name].append(observer)
|
||||
|
||||
def fire(self, name, *args, **kwargs):
|
||||
def fire(self, name: str, *args, **kwargs) -> None:
|
||||
"""Dispatches the given signal to the registered observers.
|
||||
|
||||
Runs the observers as a background process. Does not return a deferred.
|
||||
|
@ -83,18 +84,18 @@ class Signal:
|
|||
method into all of the observers.
|
||||
"""
|
||||
|
||||
def __init__(self, name):
|
||||
self.name = name
|
||||
self.observers = []
|
||||
def __init__(self, name: str):
|
||||
self.name: str = name
|
||||
self.observers: List[Callable] = []
|
||||
|
||||
def observe(self, observer):
|
||||
def observe(self, observer: Callable) -> None:
|
||||
"""Adds a new callable to the observer list which will be invoked by
|
||||
the 'fire' method.
|
||||
|
||||
Each observer callable may return a Deferred."""
|
||||
self.observers.append(observer)
|
||||
|
||||
def fire(self, *args, **kwargs):
|
||||
def fire(self, *args, **kwargs) -> "defer.Deferred[List[Any]]":
|
||||
"""Invokes every callable in the observer list, passing in the args and
|
||||
kwargs. Exceptions thrown by observers are logged but ignored. It is
|
||||
not an error to fire a signal with no observers.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue