Source code for banterbot.models.stream_log_entry

import time
from dataclasses import dataclass
from typing import Any, Optional


[docs] @dataclass class StreamLogEntry: """ A dataclass used for storage of data that is yielded from a data stream in class `StreamHandler`. """ value: Any timestamp: Optional[int] = None def __post_init__(self) -> None: """ Record the time at which the entry was logged using `perf_counter_ns()`. """ self.timestamp = time.perf_counter_ns() def __str__(self) -> str: """ Return metadata about the entry. Returns: str: Metadata about the current entry. """ return self.__repr__() def __repr__(self) -> str: """ Return metadata about the entry in a more compact form. Returns: str: Metadata about the current entry. """ return f"<StreamLogEntry | {self.timestamp} | {type(self.value).__name__}>"