diff options
Diffstat (limited to 'node_modules/foreach/index.js')
| -rw-r--r-- | node_modules/foreach/index.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/node_modules/foreach/index.js b/node_modules/foreach/index.js new file mode 100644 index 00000000..a961e4e1 --- /dev/null +++ b/node_modules/foreach/index.js @@ -0,0 +1,22 @@ + +var hasOwn = Object.prototype.hasOwnProperty; +var toString = Object.prototype.toString; + +module.exports = function forEach (obj, fn, ctx) { + if (toString.call(fn) !== '[object Function]') { + throw new TypeError('iterator must be a function'); + } + var l = obj.length; + if (l === +l) { + for (var i = 0; i < l; i++) { + fn.call(ctx, obj[i], i, obj); + } + } else { + for (var k in obj) { + if (hasOwn.call(obj, k)) { + fn.call(ctx, obj[k], k, obj); + } + } + } +}; + |
