def types()

in python/showcase/showcase/__main__.py [0:0]


def types(context, message: Message):
    # All values, including messages and storage values, are handled via StateFun's type system.
    # StateFun ships built-in primitive types that handles de-/serialization of messages across
    # functions:
    if message.is_bool():
        val = message.as_bool()
    elif message.is_int():
        # 32 bit, signed integer
        val = message.as_int()
    elif message.is_long():
        # 64 bit signed integer
        val = message.as_long()
    elif message.is_float():
        val = message.as_float()
    elif message.is_string():
        val = message.as_string()
    elif message.is_double():
        val = message.as_double()
    elif message.is_type(GREET_JSON_TYPE):
        # You can also define your own types using the type system, such as a JSON message ...
        val = message.as_type(GREET_JSON_TYPE)
    elif message.is_type(USER_PROFILE_PROTOBUF_TYPE):
        # Or Protobuf
        val = message.as_type(USER_PROFILE_PROTOBUF_TYPE)
    else:
        val = None

    print(f"I've got a message with {val} as payload!")