UNPKG

sugar

Version:

A Javascript utility library for working with native objects.

22 lines (18 loc) 654 B
'use strict'; var coreUtilityAliases = require('../var/coreUtilityAliases'); var hasOwn = coreUtilityAliases.hasOwn; function hasOwnEnumeratedProperties(obj) { // Plain objects are generally defined as having enumerated properties // all their own, however in early IE environments without defineProperty, // there may also be enumerated methods in the prototype chain, so check // for both of these cases. var objectProto = Object.prototype; for (var key in obj) { var val = obj[key]; if (!hasOwn(obj, key) && val !== objectProto[key]) { return false; } } return true; } module.exports = hasOwnEnumeratedProperties;