From c4d8d9c90237d322163d82a1fcad0697665ff6ce Mon Sep 17 00:00:00 2001 From: Jack Works Date: Sat, 7 May 2022 16:11:54 +0800 Subject: [PATCH 1/5] Update helpers.ts --- packages/babel-helpers/src/helpers.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/babel-helpers/src/helpers.ts b/packages/babel-helpers/src/helpers.ts index 5752207c09e4..ca381f075a6f 100644 --- a/packages/babel-helpers/src/helpers.ts +++ b/packages/babel-helpers/src/helpers.ts @@ -360,9 +360,10 @@ helpers.inheritsLoose = helper("7.0.0-beta.0")` } `; +// need a bind because https://github.com/babel/babel/issues/14527 helpers.getPrototypeOf = helper("7.0.0-beta.0")` export default function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf + _getPrototypeOf = Object.setPrototypeOf.bind() ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); @@ -373,7 +374,7 @@ helpers.getPrototypeOf = helper("7.0.0-beta.0")` helpers.setPrototypeOf = helper("7.0.0-beta.0")` export default function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf.bind() || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; From c8e7544fcce6cff93bea5de60e527b9b7676dc0f Mon Sep 17 00:00:00 2001 From: Jack Works Date: Sun, 8 May 2022 11:38:14 +0800 Subject: [PATCH 2/5] Update helpers.ts --- packages/babel-helpers/src/helpers.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/babel-helpers/src/helpers.ts b/packages/babel-helpers/src/helpers.ts index ca381f075a6f..b756c4eaa218 100644 --- a/packages/babel-helpers/src/helpers.ts +++ b/packages/babel-helpers/src/helpers.ts @@ -363,8 +363,8 @@ helpers.inheritsLoose = helper("7.0.0-beta.0")` // need a bind because https://github.com/babel/babel/issues/14527 helpers.getPrototypeOf = helper("7.0.0-beta.0")` export default function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf.bind() - ? Object.getPrototypeOf + _getPrototypeOf = Object.setPrototypeOf + ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; @@ -374,10 +374,12 @@ helpers.getPrototypeOf = helper("7.0.0-beta.0")` helpers.setPrototypeOf = helper("7.0.0-beta.0")` export default function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf.bind() || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; + _setPrototypeOf = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; return _setPrototypeOf(o, p); } `; From cd985723990a1fd6d0410b7ec55f0e0a32e0347d Mon Sep 17 00:00:00 2001 From: Jack Works Date: Tue, 17 May 2022 20:19:23 +0800 Subject: [PATCH 3/5] Update helpers.ts --- packages/babel-helpers/src/helpers.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/babel-helpers/src/helpers.ts b/packages/babel-helpers/src/helpers.ts index b756c4eaa218..37878af73f1d 100644 --- a/packages/babel-helpers/src/helpers.ts +++ b/packages/babel-helpers/src/helpers.ts @@ -412,13 +412,14 @@ helpers.isNativeReflectConstruct = helper("7.9.0")` } `; +// need a bind because https://github.com/babel/babel/issues/14527 helpers.construct = helper("7.0.0-beta.0")` import setPrototypeOf from "setPrototypeOf"; import isNativeReflectConstruct from "isNativeReflectConstruct"; export default function _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { - _construct = Reflect.construct; + _construct = Reflect.construct.bind(); } else { // NOTE: If Parent !== Class, the correct __proto__ is set *after* // calling the constructor. From 04b1fd0fd473174fb8ab5a4ba9fb96780bd40313 Mon Sep 17 00:00:00 2001 From: Jack Works Date: Wed, 18 May 2022 00:14:22 +0800 Subject: [PATCH 4/5] Update helpers.ts --- packages/babel-helpers/src/helpers.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/babel-helpers/src/helpers.ts b/packages/babel-helpers/src/helpers.ts index 37878af73f1d..ac8d008233df 100644 --- a/packages/babel-helpers/src/helpers.ts +++ b/packages/babel-helpers/src/helpers.ts @@ -289,9 +289,10 @@ helpers.defineProperty = helper("7.0.0-beta.0")` } `; +// need a bind because https://github.com/babel/babel/issues/14527 helpers.extends = helper("7.0.0-beta.0")` export default function _extends() { - _extends = Object.assign || function (target) { + _extends = Object.assign.bind() || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { @@ -660,6 +661,7 @@ helpers.superPropBase = helper("7.0.0-beta.0")` } `; +// need a bind because https://github.com/babel/babel/issues/14527 // https://tc39.es/ecma262/multipage/reflection.html#sec-reflect.get // // 28.1.5 Reflect.get ( target, propertyKey [ , receiver ] ) @@ -669,7 +671,7 @@ helpers.get = helper("7.0.0-beta.0")` export default function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { - _get = Reflect.get; + _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = superPropBase(target, property); From c9c4302c716dcdde61f174caebb267bd2326cb10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Sun, 22 May 2022 22:54:06 +0200 Subject: [PATCH 5/5] Avoid error when `Object.assign` is not defined --- packages/babel-helpers/src/helpers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-helpers/src/helpers.ts b/packages/babel-helpers/src/helpers.ts index ac8d008233df..647c3fb99630 100644 --- a/packages/babel-helpers/src/helpers.ts +++ b/packages/babel-helpers/src/helpers.ts @@ -292,7 +292,7 @@ helpers.defineProperty = helper("7.0.0-beta.0")` // need a bind because https://github.com/babel/babel/issues/14527 helpers.extends = helper("7.0.0-beta.0")` export default function _extends() { - _extends = Object.assign.bind() || function (target) { + _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) {