diff --git a/lib/util.js b/lib/util.js index 7966cd1..c960a68 100644 --- a/lib/util.js +++ b/lib/util.js @@ -55,6 +55,21 @@ } }, + /* + * bind function to arguments without context + */ + + this.bind = function(callback) { + var result, + args = Util.slice(arguments, 1), + bind = Function.prototype.bind; + + args.unshift(null); + result = bind.apply(callback, args); + + return result; + }; + /** * ad new line (if it's not) * @param {string} pText @@ -80,25 +95,6 @@ return text; }; - /** - * callback for functions(pError, pData) - * thet moves on our parameters. - * - * @param pFunc - * @param pParams - */ - this.call = function(pFunc, pParams) { - function lFunc(pError, pData) { - Util.exec(pFunc, { - error : pError, - data : pData, - params : pParams - }); - } - - return lFunc; - }; - /** * Функция ищет в имени файла расширение * и если находит возвращает true @@ -729,17 +725,15 @@ * return save exec function * @param callback */ - this.retExec = function(callback) { - var args = Util.slice(arguments); + this.retExec = function() { + var result, + exec = Util.exec.bind(Util), + args = Util.slice(arguments); - return function() { - var argsLocal = Util.slice(arguments); - callback; - - argsLocal = args.concat(argsLocal); - - Util.exec.apply(null, argsLocal); - }; + args.unshift(exec); + result = Util.bind.apply(null, args); + + return result; }; /** @@ -769,52 +763,6 @@ }; }; - /** - * set value to property of object, if object exist - * @param pArgs {object, property, value} - */ - this.setValue = function(pArgs) { - var lRet = false; - - if ( Util.isObject(pArgs) ) { - var lObj = pArgs.object, - lProp = pArgs.property, - lVal = pArgs.lVal; - - if (lObj) { - lObj[lProp] = lVal; - lRet = true; - } - } - - return lRet; - }; - - /** - * set timout before callback would be called - * @param pArgs {func, callback, time} - */ - this.setTimeout = function(pArgs) { - var lDone, - lFunc = pArgs.func, - lTime = pArgs.time || 1000, - lCallBack = function(pArgument) { - if (!lDone) { - lDone = Util.exec(pArgs.callback, pArgument); - } - }; - - var lTimeoutFunc = function() { - setTimeout(function() { - Util.exec(lFunc, lCallBack); - if (!lDone) - lTimeoutFunc(); - }, lTime); - }; - - lTimeoutFunc(); - }; - /** * function makes new array based on first * @@ -901,19 +849,11 @@ * @param pArgN */ this.exec = function(callback) { - var ret, args = Util.slice(arguments); - - args.shift(); + var ret, + args = Util.slice(arguments, 1); - if (callback) { - if (Util.isFunction(callback)) - ret = callback.apply(null, args); - else { - callback = callback.callback || callback.success; - args.unshift(callback); - ret = Util.exec.apply(null, args); - } - } + if (Util.isFunction(callback)) + ret = callback.apply(null, args); return ret; }; diff --git a/package.json b/package.json index 17af05f..7baac8e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "cloudcmd", - "version": "0.7.0", + "name": "util.io", + "version": "0.7.1", "author": "coderaiser (https://github.com/coderaiser)", "description": "Util.io - utilites for vanila js", "homepage": "http://github.com/coderaiser/util.io",