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!")