Create singletons for `StateFilter.{all,none}()` (#11836)
No point recreating these for each call, since they are frozen
This commit is contained in:
parent
fd65139714
commit
57e4786e90
|
@ -0,0 +1 @@
|
||||||
|
Minor performance improvement in room state lookup.
|
|
@ -74,21 +74,21 @@ class StateFilter:
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def all() -> "StateFilter":
|
def all() -> "StateFilter":
|
||||||
"""Creates a filter that fetches everything.
|
"""Returns a filter that fetches everything.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
The new state filter.
|
The state filter.
|
||||||
"""
|
"""
|
||||||
return StateFilter(types=frozendict(), include_others=True)
|
return _ALL_STATE_FILTER
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def none() -> "StateFilter":
|
def none() -> "StateFilter":
|
||||||
"""Creates a filter that fetches nothing.
|
"""Returns a filter that fetches nothing.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
The new state filter.
|
The new state filter.
|
||||||
"""
|
"""
|
||||||
return StateFilter(types=frozendict(), include_others=False)
|
return _NONE_STATE_FILTER
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def from_types(types: Iterable[Tuple[str, Optional[str]]]) -> "StateFilter":
|
def from_types(types: Iterable[Tuple[str, Optional[str]]]) -> "StateFilter":
|
||||||
|
@ -527,6 +527,10 @@ class StateFilter:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
_ALL_STATE_FILTER = StateFilter(types=frozendict(), include_others=True)
|
||||||
|
_NONE_STATE_FILTER = StateFilter(types=frozendict(), include_others=False)
|
||||||
|
|
||||||
|
|
||||||
class StateGroupStorage:
|
class StateGroupStorage:
|
||||||
"""High level interface to fetching state for event."""
|
"""High level interface to fetching state for event."""
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue