•Data types
Every time you deal with data in Arbiter you will need to set up the proper data types. There are five data types supported by Arbiter:
- Number - is used for any numeric type, either integers or floating point numbers
- Text - used for strings of text. It may contain Unicode characters
- Boolean - matches only two special values: true and false
- Object - they map "keys" to "values". The "keys" must always be strings. Each of these pairs is conventionally referred to as a "property"
- Array(list of items) - a sequence of arbitrary length where each item matches the same schema
•Objects
Objects are designed to represent real-world objects and they are heavily used in computing therefore we'll pay special attention to them. An object is a standalone entity, with properties and type. Let's see an example.
•Example
In real life, a car is an object. A car has properties like brand, weight, model, and color. All cars have the same properties, but the property values differ from car to car. So we can have two cars with different values. We'll be using a dot notation to represent the properties of the object.
•Schema builder
In order to achieve maximum security and reliability at runtime, Arbiter requires the types of the car object properties. In our example the types are: Text, Text, Number, Text.
In some cases types can be inferred automatically(Build schema feature in Http connectors and Function processors output), but there are situations where you have to do it manually(Start node payload and Result schema in Studio). In both cases you will see panel like this:
In documentation we will refer to this panel with the term Schema Builder. You can add or delete properties and set their types. Nested structures are also supported. The menu button, left from the delete button is for adding additional metadata to the properties like required, datetime etc.