By default, attributes are completely arbitrary, and may be of any type. There is no type coercion at all. However, this can be subclassed to require certain types in classes that descend from Event:

    class EquipmentMovedEvent(Event):
class Attributes(Event.Attributes):
move_type: Train10MoveType

attributes: Attributes
interface WhiteListedAttributes {
    length?: number;
    spots?: string[];
}

Properties

Properties

length?: number
spots?: string[]