blob: edac901a01eca5739575b2e659aac2620714a83d [file] [log] [blame]
Tim van der Lippefdbd42e2020-04-07 15:14:36 +01001'use strict';
2
Tim van der Lippe2c891972021-07-29 16:22:50 +01003var RequireObjectCoercible = require('es-abstract/2020/RequireObjectCoercible');
4var callBound = require('call-bind/callBound');
Tim van der Lippefdbd42e2020-04-07 15:14:36 +01005
6var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
7
8module.exports = function values(O) {
9 var obj = RequireObjectCoercible(O);
10 var vals = [];
11 for (var key in obj) {
Tim van der Lippe2c891972021-07-29 16:22:50 +010012 if ($isEnumerable(obj, key)) { // checks own-ness as well
Tim van der Lippefdbd42e2020-04-07 15:14:36 +010013 vals.push(obj[key]);
14 }
15 }
16 return vals;
17};