@@ -290,6 +290,12 @@ def _condition_checker(
290290 return True
291291
292292
293+ MemberMap = Dict [str , Tuple [str , str ]]
294+ Rule = Dict [str , dict ]
295+ RulesByUser = Dict [str , List [Rule ]]
296+ StateGroup = Union [object , int ]
297+
298+
293299@attr .s (slots = True )
294300class RulesForRoomData :
295301 """The data stored in the cache by `RulesForRoom`.
@@ -299,16 +305,16 @@ class RulesForRoomData:
299305 """
300306
301307 # event_id -> (user_id, state)
302- member_map = attr .ib (type = Dict [ str , Tuple [ str , str ]] , factory = dict )
308+ member_map = attr .ib (type = MemberMap , factory = dict )
303309 # user_id -> rules
304- rules_by_user = attr .ib (type = Dict [ str , List [ Dict [ str , dict ]]] , factory = dict )
310+ rules_by_user = attr .ib (type = RulesByUser , factory = dict )
305311
306312 # The last state group we updated the caches for. If the state_group of
307313 # a new event comes along, we know that we can just return the cached
308314 # result.
309315 # On invalidation of the rules themselves (if the user changes them),
310316 # we invalidate everything and set state_group to `object()`
311- state_group = attr .ib (type = Union [ object , int ] , factory = object )
317+ state_group = attr .ib (type = StateGroup , factory = object )
312318
313319 # A sequence number to keep track of when we're allowed to update the
314320 # cache. We bump the sequence number when we invalidate the cache. If
@@ -532,7 +538,13 @@ async def _update_rules_with_member_event_ids(
532538
533539 self .update_cache (sequence , members , ret_rules_by_user , state_group )
534540
535- def update_cache (self , sequence , members , rules_by_user , state_group ) -> None :
541+ def update_cache (
542+ self ,
543+ sequence : int ,
544+ members : MemberMap ,
545+ rules_by_user : RulesByUser ,
546+ state_group : StateGroup ,
547+ ) -> None :
536548 if sequence == self .data .sequence :
537549 self .data .member_map .update (members )
538550 self .data .rules_by_user = rules_by_user
0 commit comments