From 809aab068605099559e2b8c81b18ce77d6847013 Mon Sep 17 00:00:00 2001 From: Macide Celik Date: Mon, 28 Oct 2019 17:47:40 +0300 Subject: [PATCH] Delete ConditionalJump.mjs --- src/core/operations/ConditionalJump.mjs | 84 ------------------------- 1 file changed, 84 deletions(-) delete mode 100644 src/core/operations/ConditionalJump.mjs diff --git a/src/core/operations/ConditionalJump.mjs b/src/core/operations/ConditionalJump.mjs deleted file mode 100644 index ca8eea30..00000000 --- a/src/core/operations/ConditionalJump.mjs +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @author n1474335 [n1474335@gmail.com] - * @copyright Crown Copyright 2018 - * @license Apache-2.0 - */ - -import Operation from "../Operation.mjs"; -import Dish from "../Dish.mjs"; -import { getLabelIndex } from "../lib/FlowControl.mjs"; - -/** - * Conditional Jump operation - */ -class ConditionalJump extends Operation { - - /** - * ConditionalJump constructor - */ - constructor() { - super(); - - this.name = "Conditional Jump"; - this.flowControl = true; - this.module = "Default"; - this.description = "Conditionally jump forwards or backwards to the specified Label based on whether the data matches the specified regular expression."; - this.inputType = "string"; - this.outputType = "string"; - this.args = [ - { - "name": "Match (regex)", - "type": "string", - "value": "" - }, - { - "name": "Invert match", - "type": "boolean", - "value": false - }, - { - "name": "Label name", - "type": "shortString", - "value": "" - }, - { - "name": "Maximum jumps (if jumping backwards)", - "type": "number", - "value": 10 - } - ]; - } - - /** - * @param {Object} state - The current state of the recipe. - * @param {number} state.progress - The current position in the recipe. - * @param {Dish} state.dish - The Dish being operated on. - * @param {Operation[]} state.opList - The list of operations in the recipe. - * @param {number} state.numJumps - The number of jumps taken so far. - * @returns {Object} The updated state of the recipe. - */ - async run(state) { - const ings = state.opList[state.progress].ingValues, - dish = state.dish, - [regexStr, invert, label, maxJumps] = ings, - jmpIndex = getLabelIndex(label, state); - - if (state.numJumps >= maxJumps || jmpIndex === -1) { - return state; - } - - if (regexStr !== "") { - const str = await dish.get(Dish.STRING); - const strMatch = str.search(regexStr) > -1; - if (!invert && strMatch || invert && !strMatch) { - state.progress = jmpIndex; - state.numJumps++; - } - } - - return state; - } - -} - -export default ConditionalJump;