From 45efca9089b105007d3508bdddd18b7f733ee520 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Fri, 19 Mar 2021 10:54:05 +0300 Subject: [PATCH] added conditional mode... Signed-off-by: Alex A. Naanou --- README.md | 13 +++++++++++++ package.json | 2 +- run.js | 15 +++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5e5e733..be15234 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,15 @@ var o = {} }) ``` +Conditionaly run a function... +```javascript +var o = {} + .run(o.x % 2 == 0, + function(){ + this.x_is_odd = true + }) +``` + ## Examples ```javascript @@ -57,6 +66,10 @@ var l = [1, 2, 3, 4, 5] .run() -> -> + +.run(, ) + -> + -> ``` ``` diff --git a/package.json b/package.json index 3763490..bf48bf9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "object-run", - "version": "1.0.1", + "version": "1.1.0", "description": "Implements .run(..) method on object.", "main": "run.js", "scripts": { diff --git a/run.js b/run.js index dae910f..684d4a1 100644 --- a/run.js +++ b/run.js @@ -13,10 +13,25 @@ // Run a function in the context of an object... // +// obj.run(func) +// -> res +// -> obj +// +// Run func iff cond is true +// obj.run(cond, func) +// -> res +// -> obj +// +// Object.prototype.run || Object.defineProperty(Object.prototype, 'run', { enumerable: false, value: function(func){ + // conditional run... + if(arguments.length > 1 + && !arguments[0]){ + return this } + func = [...arguments].pop() var res = func ? func.call(this) : undefined