marko/runtime/helper-forEachProperty.js
2017-01-02 15:53:38 -07:00

27 lines
580 B
JavaScript

var isArray = Array.isArray;
/**
* Internal helper method for looping over the properties of any object
* @private
*/
module.exports = function forEachPropertyHelper(o, func) {
if (!o) {
return;
}
if (isArray(o)) {
for (var i=0; i<o.length; i++) {
func(i, o[i]);
}
} else if (typeof Map && o instanceof Map) {
o.forEach(function(v, k) {
func(k, v);
});
} else {
for (var k in o) {
if (o.hasOwnProperty(k)) {
func(k, o[k]);
}
}
}
};