diff --git a/src/node/NodeDish.mjs b/src/node/NodeDish.mjs index bddc96e0..f619fdd8 100644 --- a/src/node/NodeDish.mjs +++ b/src/node/NodeDish.mjs @@ -30,6 +30,17 @@ class NodeDish extends Dish { super(inputOrDish, type); } + /** + * Apply the inputted operation to the dish. + * + * @param {WrappedOperation} operation the operation to perform + * @param {*} args - any arguments for the operation + * @returns {Dish} a new dish with the result of the operation. + */ + apply(operation, args=null) { + return operation(this.value, args); + } + /** * alias for get * @param args see get args diff --git a/src/node/NodeRecipe.mjs b/src/node/NodeRecipe.mjs index aa72fa6b..070c5433 100644 --- a/src/node/NodeRecipe.mjs +++ b/src/node/NodeRecipe.mjs @@ -76,14 +76,14 @@ class NodeRecipe { * @param {NodeDish} dish * @returns {NodeDish} */ - async execute(dish) { - return await this.opList.reduce(async (prev, curr) => { + execute(dish) { + return this.opList.reduce((prev, curr) => { // CASE where opLis item is op and args if (curr.hasOwnProperty("op") && curr.hasOwnProperty("args")) { - return await curr.op(prev, curr.args); + return curr.op(prev, curr.args); } // CASE opList item is just op. - return await curr(prev); + return curr(prev); }, dish); } }