18 lines
416 B
JavaScript
18 lines
416 B
JavaScript
|
'use strict';
|
||
|
|
||
|
var ES = require('es-abstract/es7');
|
||
|
var has = require('has');
|
||
|
var bind = require('function-bind');
|
||
|
var isEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);
|
||
|
|
||
|
module.exports = function values(O) {
|
||
|
var obj = ES.RequireObjectCoercible(O);
|
||
|
var vals = [];
|
||
|
for (var key in obj) {
|
||
|
if (has(obj, key) && isEnumerable(obj, key)) {
|
||
|
vals.push(obj[key]);
|
||
|
}
|
||
|
}
|
||
|
return vals;
|
||
|
};
|