aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/realtime/message.py
blob: f4ed22fde0ea4863880ade26e0ab7e067376555f (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from dataclasses import dataclass
from typing import Any, Dict, Optional


@dataclass
class Message:
    """
    Dataclass abstraction for message
    """

    event: str
    payload: Dict[str, Any]
    ref: Any
    topic: str
    join_ref: Optional[str] = None

    def __hash__(self):
        return hash(
            (
                self.event,
                tuple(list(self.payload.values())),
                self.ref,
                self.topic,
                self.join_ref,
            )
        )