summaryrefslogtreecommitdiff
path: root/src/node_modules/es-abstract/helpers/setProto.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_modules/es-abstract/helpers/setProto.js')
-rw-r--r--src/node_modules/es-abstract/helpers/setProto.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/node_modules/es-abstract/helpers/setProto.js b/src/node_modules/es-abstract/helpers/setProto.js
new file mode 100644
index 0000000..29ec991
--- /dev/null
+++ b/src/node_modules/es-abstract/helpers/setProto.js
@@ -0,0 +1,16 @@
+'use strict';
+
+var GetIntrinsic = require('../GetIntrinsic');
+
+var originalSetProto = GetIntrinsic('%Object.setPrototypeOf%', true);
+var $ArrayProto = GetIntrinsic('%Array.prototype%');
+
+module.exports = originalSetProto || (
+ // eslint-disable-next-line no-proto, no-negated-condition
+ [].__proto__ !== $ArrayProto
+ ? null
+ : function (O, proto) {
+ O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
+ return O;
+ }
+);