aboutsummaryrefslogtreecommitdiff
path: root/lib/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/utils.js')
-rw-r--r--lib/utils.js26
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;
+};