Show More
Commit Description:
add model solution
Commit Description:
add model solution
References:
File last commit:
Show/Diff file:
Action:
node_modules/es5-ext/object/get-property-names.js
| 17 lines
| 491 B
| application/javascript
| JavascriptLexer
|
r789 | "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); | ||||
}; | ||||