{
    "ArrayData": {
        "version": 1,
        "categories": "tutorials",
        "scheduling": ["threadsafe"],
        "description": ["This is a tutorial node. It will compute the array 'result' as the input array 'original' ",
                        "with every element multiplied by the constant 'multiplier'."
        ],
        "$todo": "Enable the string attributes when fabric fully supports them",
        "metadata":
        {
           "uiName": "Tutorial Node: Array Attributes"

        },
        "inputs": {
            "original": {
                "description": "Array to be multiplied",
                "type": "float[]",
                "default": []
            },
            "gates": {
                "description": "Boolean mask telling which elements of the array should be multiplied",
                "type": "bool[]",
                "default": []
            },
            "multiplier": {
                "description": "Multiplier of the array elements",
                "type": "float",
                "default": 1.0
            },
            "info": {
                "description": "List of strings providing commentary",
                "type": "token[]",
                "default": ["There", "is", "no", "data"]
            }
        },
        "outputs": {
            "result": {
                "description": "Multiplied array",
                "type": "float[]"
            },
            "negativeValues": {
                "description": "Array of booleans set to true if the corresponding 'result' is negative",
                "type": "bool[]"
            },
            "infoSize": {
                "description": "Number of letters in all strings in the info input",
                "type": "int"
            }
        },
        "tests": [
            {
                "inputs:original": [1.0, 2.0, 3.0],
                "inputs:gates": [true, false, true],
                "inputs:multiplier": 2.0,
                "outputs:result": [2.0, 2.0, 6.0],
                "outputs:negativeValues": [false, false, false],
                "outputs:infoSize": 13
            },
            {
                "inputs:original": [10.0, -20.0, 30.0],
                "inputs:gates": [true, false, true],
                "outputs:result": [10.0, -20.0, 30.0],
                "outputs:negativeValues": [false, true, false]
            },
            {
                "inputs:info": ["Hello", "lamp\"post", "what'cha", "knowing"],
                "outputs:infoSize": 29
            }
        ]
    }
}
