1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
metamask-extension/.yarn/patches/@babel-runtime-npm-7.18.9-28ca6b5f61.patch

49 lines
1.8 KiB
Diff
Raw Normal View History

diff --git a/helpers/construct.js b/helpers/construct.js
index ecc013db4703c1c6ca8a5bba3db3955e75c1a972..08826bea9453f1351c08d44be9fffca92923fd76 100644
--- a/helpers/construct.js
+++ b/helpers/construct.js
@@ -1,22 +1,21 @@
-var setPrototypeOf = require("./setPrototypeOf.js");
+// All of MetaMask's supported browsers include `Reflect.construct` support, so
+// we don't need this polyfill.
-var isNativeReflectConstruct = require("./isNativeReflectConstruct.js");
+// This Proxy preseves the two properties that were added by `@babel/runtime`.
+// I am not entire sure what these properties are for (maybe ES5/ES6
+// interoperability?) but they have been preserved just in case.
+const reflectProxy = new Proxy(
+ Reflect.construct,
+ {
+ get: function (target, property) {
+ if (property === 'default') {
+ return target;
+ } else if (property === '__esModule') {
+ return true;
+ }
+ return Reflect.get(...arguments);
+ }
+ }
+);
-function _construct(Parent, args, Class) {
- if (isNativeReflectConstruct()) {
- module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports;
- } else {
- module.exports = _construct = function _construct(Parent, args, Class) {
- var a = [null];
- a.push.apply(a, args);
- var Constructor = Function.bind.apply(Parent, a);
- var instance = new Constructor();
- if (Class) setPrototypeOf(instance, Class.prototype);
- return instance;
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
- }
-
- return _construct.apply(null, arguments);
-}
-
-module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports;
\ No newline at end of file
+module.exports = reflectProxy;
\ No newline at end of file