You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
681 B
24 lines
681 B
5 years ago
|
function _defineEnumerableProperties(obj, descs) {
|
||
|
for (var key in descs) {
|
||
|
var desc = descs[key];
|
||
|
desc.configurable = desc.enumerable = true;
|
||
|
if ("value" in desc) desc.writable = true;
|
||
|
Object.defineProperty(obj, key, desc);
|
||
|
}
|
||
|
|
||
|
if (Object.getOwnPropertySymbols) {
|
||
|
var objectSymbols = Object.getOwnPropertySymbols(descs);
|
||
|
|
||
|
for (var i = 0; i < objectSymbols.length; i++) {
|
||
|
var sym = objectSymbols[i];
|
||
|
var desc = descs[sym];
|
||
|
desc.configurable = desc.enumerable = true;
|
||
|
if ("value" in desc) desc.writable = true;
|
||
|
Object.defineProperty(obj, sym, desc);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return obj;
|
||
|
}
|
||
|
|
||
|
module.exports = _defineEnumerableProperties;
|