123456789101112131415161718192021222324252627 |
- 'use strict';
- var GetIntrinsic = require('../../GetIntrinsic');
- var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
- if ($defineProperty) {
- try {
- $defineProperty({}, 'a', { value: 1 });
- } catch (e) {
- // IE 8 has a broken defineProperty
- $defineProperty = null;
- }
- }
- module.exports = function defineProperty(O, P, Desc) {
- if ($defineProperty) {
- return $defineProperty(O, P, Desc);
- }
- if ((Desc.enumerable && Desc.configurable && Desc.writable) || !(P in O)) {
- O[P] = Desc.value; // eslint-disable-line no-param-reassign
- return O;
- }
- throw new SyntaxError('helper does not yet support this configuration');
- };
- module.exports.oDP = $defineProperty;
|