Blame view
node_modules/es5-ext/object/get-property-names.js
444 Bytes
f7563de62
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
'use strict'; var uniq = require('../array/#/uniq') , value = require('./valid-value') , push = Array.prototype.push , getOwnPropertyNames = Object.getOwnPropertyNames , getPrototypeOf = Object.getPrototypeOf; module.exports = function (obj) { var keys; obj = Object(value(obj)); keys = getOwnPropertyNames(obj); while ((obj = getPrototypeOf(obj))) { push.apply(keys, getOwnPropertyNames(obj)); } return uniq.call(keys); }; |