Skip to main content

Type Support & Conversions

All data flowing between functions within the Flows system are strongly typed. When connecting backward input and output ports together, connections can only be made between ports with compatible types.

Types

Below are all types that are currently supported by the flow system.

Boolean Types

boolEither true or false.

Number Types

int8Number between -128 to 127.
int16Number between -32,768 to 32,767.
int32Number between -2,147,483,648 to 2,147,483,647.
int64Number between -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
uint8Number between 0 to 255.
uint16Number between 0 to 65,535.
uint32Number between 0 to 4,294,967,295.
uint64Number between 0 to 18,446,744,073,709,551,615.
float32Number that meets the IEEE-754 32-bit floating-point numbers specification.
float64Number that meets the IEEE-754 64-bit floating-point numbers specification.

String Types

stringAn arbitrary sequence of characters.
JSONStringA string containing JSON.

Array Types

[]interface{}Array of any type.
[]stringArray of strings.
[]TelemetryMessageArray of telemetry messages.
[]CommandResponseArray of command responses.
[]CallableResponseArray of callable responses.
[]ControlAckArray of control acknowledgments.

Map Types

map[string]interface{}Collection of string keys with values of any type.
map[string]stringCollection of string keys with string values.

Duration Types

DurationA duration represents a period of time.

URI Types

RocosURIA special type of URI used by the Rocos Agent.

Composite Types

TelemetryMessageRepresents a telemetry message.
CommandResponseA response to the execution of a command.
CallableResponseA response to a service request.
ControlAckA response to a control message.
PayloadValue
TransformRepresents the position and orientation.
Marker

Any Types

interface{}This is a special type that can hold any other type.

Conversions

The matrix below shows all types currently supported and the conversions from each type to all other types.