NStack supports the following primitive types
||A signed integer|
||A 64-bit floating-point value|
||Text containing with JSON-encoded content|
More complex types can be built out of primitive ones:
||Optional value of type
||A tuple must have at least two fields|
||Used to define custom sources and sinks, see Supported Integrations|
||Signifies an event which contains no data|
Sending untyped data¶
Most types can be built from combinations of primitive and complex types.
However, if you find your types are too complex, or change too often, you can use the
[Byte] types to send data between modules either as
Json or binary blobs.
By doing this
nstack won’t be able to ensure that the contracts in you workflow are correct and this disables automatically decoding/encoding data.
This is helpful when sending data such as Python pickled objects, when prototyping, or when you are in a pinch. However, we recommend creating proper types and contracts for your modules and workflows when possible.