super().__init__(**kwargs)
self._on_update = on_update
+
+class _UpdatingAttrsMixin(_UpdatingMixin):
+
def _make_attr(self, cls: Callable, key: str):
return cls(on_update=lambda *steps: self._on_update(key, *steps))
self._id_ = value
-class _UpdatingServerCapability(_UpdatingMixin, ServerCapability):
+class _UpdatingServerCapability(_UpdatingAttrsMixin, ServerCapability):
pass
pass
-class _UpdatingChannel(_UpdatingMixin, _Channel):
+class _UpdatingChannel(_UpdatingAttrsMixin, _Channel):
user_ids: _UpdatingCompletableStringsSet
topic: _UpdatingCompletableTopic
-class _UpdatingUser(_UpdatingMixin, _User):
+class _UpdatingUser(_UpdatingAttrsMixin, _User):
pass
channel.remove_user(user)
-class _ClientDb(_Clearable, _UpdatingMixin, SharedClientDbFields):
+class _ClientDb(_Clearable, _UpdatingAttrsMixin, SharedClientDbFields):
_keep_on_clear = set(IrcConnSetup.__annotations__.keys())
caps: _UpdatingDict[_UpdatingServerCapability]
channels: _UpdatingChannelsDict