Source code for kelvin.message.primitives
from __future__ import annotations
from typing import Union
from pydantic import StrictBool, StrictFloat, StrictInt, StrictStr
from kelvin.message.message import Message
from kelvin.message.msg_type import KMessageTypeData, KMessageTypeParameter
from kelvin.message.typing import AssetDataMessage # noqa: F401
[docs]
class Number(Message):
TYPE_ = KMessageTypeData("number")
type: KMessageTypeData = KMessageTypeData("number")
payload: Union[StrictFloat, StrictInt] = 0.0
[docs]
class String(Message):
TYPE_ = KMessageTypeData("string")
type: KMessageTypeData = KMessageTypeData("string")
payload: StrictStr = ""
[docs]
class Boolean(Message):
TYPE_ = KMessageTypeData("boolean")
type: KMessageTypeData = KMessageTypeData("boolean")
payload: StrictBool = False
[docs]
class NumberParameter(Message):
TYPE_ = KMessageTypeParameter("number")
type: KMessageTypeParameter = KMessageTypeParameter("number")
payload: Union[StrictFloat, StrictInt] = 0.0
[docs]
class StringParameter(Message):
TYPE_ = KMessageTypeParameter("string")
type: KMessageTypeParameter = KMessageTypeParameter("string")
payload: StrictStr = ""
[docs]
class BooleanParameter(Message):
TYPE_ = KMessageTypeParameter("boolean")
type: KMessageTypeParameter = KMessageTypeParameter("boolean")
payload: StrictBool = False