@@ -290,6 +290,12 @@ def _condition_checker(
290
290
return True
291
291
292
292
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
+
293
299
@attr .s (slots = True )
294
300
class RulesForRoomData :
295
301
"""The data stored in the cache by `RulesForRoom`.
@@ -299,16 +305,16 @@ class RulesForRoomData:
299
305
"""
300
306
301
307
# 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 )
303
309
# 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 )
305
311
306
312
# The last state group we updated the caches for. If the state_group of
307
313
# a new event comes along, we know that we can just return the cached
308
314
# result.
309
315
# On invalidation of the rules themselves (if the user changes them),
310
316
# 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 )
312
318
313
319
# A sequence number to keep track of when we're allowed to update the
314
320
# cache. We bump the sequence number when we invalidate the cache. If
@@ -532,7 +538,13 @@ async def _update_rules_with_member_event_ids(
532
538
533
539
self .update_cache (sequence , members , ret_rules_by_user , state_group )
534
540
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 :
536
548
if sequence == self .data .sequence :
537
549
self .data .member_map .update (members )
538
550
self .data .rules_by_user = rules_by_user
0 commit comments