summaryrefslogtreecommitdiffstats
path: root/node_modules/es-abstract/helpers/DefineOwnProperty.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es-abstract/helpers/DefineOwnProperty.js')
-rw-r--r--node_modules/es-abstract/helpers/DefineOwnProperty.js45
1 files changed, 0 insertions, 45 deletions
diff --git a/node_modules/es-abstract/helpers/DefineOwnProperty.js b/node_modules/es-abstract/helpers/DefineOwnProperty.js
deleted file mode 100644
index 99ace10..0000000
--- a/node_modules/es-abstract/helpers/DefineOwnProperty.js
+++ /dev/null
@@ -1,45 +0,0 @@
-'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;
- }
-}
-
-var callBound = require('../helpers/callBound');
-
-var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
-
-// eslint-disable-next-line max-params
-module.exports = function DefineOwnProperty(IsDataDescriptor, SameValue, FromPropertyDescriptor, O, P, desc) {
- if (!$defineProperty) {
- if (!IsDataDescriptor(desc)) {
- // ES3 does not support getters/setters
- return false;
- }
- if (!desc['[[Configurable]]'] || !desc['[[Writable]]']) {
- return false;
- }
-
- // fallback for ES3
- if (P in O && $isEnumerable(O, P) !== !!desc['[[Enumerable]]']) {
- // a non-enumerable existing property
- return false;
- }
-
- // property does not exist at all, or exists but is enumerable
- var V = desc['[[Value]]'];
- // eslint-disable-next-line no-param-reassign
- O[P] = V; // will use [[Define]]
- return SameValue(O[P], V);
- }
- $defineProperty(O, P, FromPropertyDescriptor(desc));
- return true;
-};