UNPKG

647 BJavaScriptView Raw
1var DESCRIPTORS = require('../internals/descriptors');
2var definePropertyModule = require('../internals/object-define-property');
3var anObject = require('../internals/an-object');
4var objectKeys = require('../internals/object-keys');
5
6// `Object.defineProperties` method
7// https://tc39.github.io/ecma262/#sec-object.defineproperties
8module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
9 anObject(O);
10 var keys = objectKeys(Properties);
11 var length = keys.length;
12 var index = 0;
13 var key;
14 while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);
15 return O;
16};