{
  "operators": [
    {
      "id": "arrayContains",
      "description": "Check if any of the variable's value is equal to a specific value",
      "display": "contains",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "stringContains",
      "description": "Check if the specified text value is included in the text variable",
      "display": "contains",
      "leftOperand": {
        "types": [
          "string"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "notArrayContains",
      "description": "Check if every value of the variable is different from a specific value",
      "display": "does not contain",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "notStringContains",
      "description": "Check if the specified text value is not included in the text variable",
      "display": "does not contain",
      "leftOperand": {
        "types": [
          "string"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "allEqual",
      "description": "Check if every value of the variable equals a specific value",
      "display": "all equal to",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "allGreater",
      "description": "Check if every numerical value of the variable is greater than a specific value",
      "display": "all >",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "number",
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "allIn",
      "description": "Check if every value of the variable is in a specific list",
      "display": "all in",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      }
    },
    {
      "id": "allNotIn",
      "description": "Check if every value of the variable is not in a specific list",
      "display": "none in",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      }
    },
    {
      "id": "allLower",
      "description": "Check if every numerical value of the variable is lower than a specific value",
      "display": "all <",
      "leftOperand": {
        "types": [
          "number"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "number",
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "allMatch",
      "description": "Check if every string value of the variable matches a specific pattern",
      "display": "all match",
      "leftOperand": {
        "types": [
          "string"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "allRangeNumber",
      "description": "Check if every value of the variable is included in a specified range",
      "display": "all between",
      "leftOperand": {
        "types": [
          "number"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "number",
          "string"
        ],
        "nbValues": 2
      }
    },
    {
      "id": "oneEquals",
      "description": "Check if at least one of the values of the variable equals a specific value",
      "display": "one equal to",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "oneGreater",
      "description": "Check if one of the values of the variable is greater than a specific value",
      "display": "one >",
      "leftOperand": {
        "types": [
          "number"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "number",
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "oneIn",
      "description": "Check if at least one of the values of the variable is equal to one in a specified list",
      "display": "one in",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      }
    },
    {
      "id": "oneLower",
      "description": "Check if one of the values of the variable is lower than a specific value",
      "display": "one <",
      "leftOperand": {
        "types": [
          "number"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "number",
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "oneMatches",
      "description": "Check if one of the values of the variable matches a specific pattern",
      "display": "one matches",
      "leftOperand": {
        "types": [
          "string"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "oneRangeNumber",
      "description": "Check if one of the values of the variable is included in a specified range",
      "display": "one between",
      "leftOperand": {
        "types": [
          "number"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "number",
          "string"
        ],
        "nbValues": 2
      }
    },
    {
      "id": "lengthEquals",
      "description": "Check if the number of values of the variable is equal to a specific value",
      "display": "number of =",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean",
          "object"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "number",
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "lengthNotEquals",
      "description": "Check if the number of values of the variable is different from a specific value",
      "display": "number of ≠",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean",
          "object"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "number",
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "lengthLessThanOrEquals",
      "description": "Check if the number of values of the variable is lower or equal to a specific value",
      "display": "number of ≤",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean",
          "object"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "number",
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "lengthLessThan",
      "description": "Check if the number of values of the variable is lower than a specific value",
      "display": "number of <",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean",
          "object"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "number",
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "lengthGreaterThanOrEquals",
      "description": "Check if the number of values of the variable is greater or equal to a specific value",
      "display": "number of ≥",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean",
          "object"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "number",
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "lengthGreaterThan",
      "description": "Check if the number of values of the variable is greater than a specific value",
      "display": "number of >",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean",
          "object"
        ],
        "nbValues": -1
      },
      "rightOperand": {
        "types": [
          "number",
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "equals",
      "description": "Check if a variable is equal to a specific value",
      "display": "is equal to",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "notEquals",
      "description": "Check if a variable is different from a specific value",
      "display": "is not equal to",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "inArray",
      "description": "Check if the variable's value is included in a specified list",
      "display": "is in",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      }
    },
    {
      "id": "notInArray",
      "description": "Check if the variable's value is not included in the value list",
      "display": "is not in",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean"
        ],
        "nbValues": -1
      }
    },
    {
      "id": "inString",
      "description": "Check if the text variable is part of the specified value",
      "display": "within",
      "leftOperand": {
        "types": [
          "string"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "notInString",
      "description": "Check if the text variable is not part of the specified value",
      "display": "not within",
      "leftOperand": {
        "types": [
          "string"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "isDefined",
      "description": "Check if the variable and its value are defined",
      "display": "is defined",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean",
          "object"
        ],
        "nbValues": 0
      }
    },
    {
      "id": "isUndefined",
      "description": "Check if the variable and its value are undefined",
      "display": "is not defined",
      "leftOperand": {
        "types": [
          "string",
          "number",
          "date",
          "boolean",
          "object"
        ],
        "nbValues": 0
      }
    },
    {
      "id": "matchesPattern",
      "description": "Check if the text variable matches the specified RegExp pattern",
      "display": "matches the pattern",
      "leftOperand": {
        "types": [
          "string"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "string"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "inRangeDate",
      "description": "Check if a date variable is in a specified date range",
      "display": "is between",
      "leftOperand": {
        "types": [
          "date"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "date",
          "string",
          "number"
        ],
        "nbValues": 2
      }
    },
    {
      "id": "dateInNextMinutes",
      "description": "Check if the value of the variable is in the next x minutes",
      "display": "is in next minutes",
      "leftOperand": {
        "types": [
          "date"
        ],
        "nbValues": 1
      },
      "factImplicitDependencies": [
        "o3rCurrentTime"
      ],
      "rightOperand": {
        "types": [
          "number"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "dateNotInNextMinutes",
      "description": "Check if the value of the variable is not in the next x minutes",
      "display": "is not in next minutes",
      "leftOperand": {
        "types": [
          "date"
        ],
        "nbValues": 1
      },
      "factImplicitDependencies": [
        "o3rCurrentTime"
      ],
      "rightOperand": {
        "types": [
          "number"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "dateBefore",
      "description": "Check if a date variable is prior than a specified date",
      "display": "is before",
      "leftOperand": {
        "types": [
          "date"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "date",
          "string",
          "number"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "dateAfter",
      "description": "Check if a date variable is posterior than a specified date",
      "display": "is after",
      "leftOperand": {
        "types": [
          "date"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "date",
          "string",
          "number"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "dateEquals",
      "description": "Check if a date variable is the same as a specified date",
      "display": "is equal to",
      "leftOperand": {
        "types": [
          "date"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "date",
          "string",
          "number"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "dateNotEquals",
      "description": "Check if a date variable is different from a specified date",
      "display": "is not equal",
      "leftOperand": {
        "types": [
          "date"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "date",
          "string",
          "number"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "greaterThanOrEqual",
      "description": "Check if the number variable is greater or equal to a specific value",
      "display": "≥",
      "leftOperand": {
        "types": [
          "number"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "number"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "greaterThan",
      "description": "Check if the number variable is greater than a specific value",
      "display": ">",
      "leftOperand": {
        "types": [
          "number"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "number"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "lessOrEqual",
      "description": "Check if the number variable is lower or equal to a specific value",
      "display": "≤",
      "leftOperand": {
        "types": [
          "number"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "number"
        ],
        "nbValues": 1
      }
    },
    {
      "id": "lessThan",
      "description": "Check if the number variable is lower than a specific value",
      "display": "<",
      "leftOperand": {
        "types": [
          "number"
        ],
        "nbValues": 1
      },
      "rightOperand": {
        "types": [
          "number"
        ],
        "nbValues": 1
      }
    }
  ]
}