{
  "source": "iteratorGroup.js",
  "type": "group",
  "method": "iterateUntil",
  "input-schema-builder": true,
  "input-schema": {
    "type": "object",
    "additionalProperties": false,
    "isReadOnly": true,
    "properties": {
      "data": {
        "isReadOnly": true,
        "isChangeable": true,
        "description": "Specify an initial value to be passed as the scope variable inside the loop for the initial iteration. For subsequent iterations, the scope will be overriden by any value passed to the data field of the end step.",
        "type": "any"
      },
      "index": {
        "type": "integer",
        "_isEditable": false,
        "_hidden": true,
        "isReadOnly": true
      }
    }
  },
  "groups": {
    "default": {
      "start": {
        "schema": {
          "type": "any"
        }
      },
      "end": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "continue": {
              "description": "The loop will continue as long as a true value is set here.",
              "type": "boolean"
            },
            "data": {
              "description": "A data that will be set as the scope for the next loop. If the loop exits by setting continue as false, this value will be returned as the output of the group.",
              "type": "any"
            }
          }
        }
      }
    }
  },
  "output-schema": {
    "type": "object",
    "properties": {
      "data": {
        "type": "any"
      },
      "index": {
        "type": "integer"
      }
    }
  },
  "meta": {
    "name": "iterateUntil",
    "description": "Will iterate until a false value is set to the continue field at the end step of the group. Use scope to pass an initial value to the first iteration of the loop. Consequent iterations will take the value passed in the data field of the end step as the scope.",
    "sort_index": 6,
    "icon": {
      "type": "fa",
      "name": "repeat",
      "color":"#747CA3"
    }
  }
}