diff options
Diffstat (limited to 'lib/utils.js')
-rw-r--r-- | lib/utils.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/utils.js b/lib/utils.js index 01d477ef..4e4f58fc 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -33,6 +33,32 @@ function member(name, array) { return false; }; +function find_if(func, array) { + for (var i = 0, n = array.length; i < n; ++i) { + if (func(array[i])) + return array[i]; + } +}; + function HOP(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }; + +function repeat_string(str, i) { + if (i <= 0) return ""; + if (i == 1) return str; + var d = repeat_string(str, i >> 1); + d += d; + if (i & 1) d += str; + return d; +}; + +function defaults(args, defs) { + var ret = {}; + if (args === true) + args = {}; + for (var i in defs) if (HOP(defs, i)) { + ret[i] = (args && HOP(args, i)) ? args[i] : defs[i]; + } + return ret; +}; |