Support transforming params of arrow functions in class fields (#13941)
This commit is contained in:
@@ -0,0 +1 @@
|
||||
let f = (x = 0) => x + 1;
|
||||
@@ -0,0 +1,7 @@
|
||||
var _this = this;
|
||||
|
||||
let f = function f() {
|
||||
let x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
||||
babelHelpers.newArrowCheck(this, _this);
|
||||
return x + 1;
|
||||
}.bind(this);
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"plugins": ["transform-parameters"],
|
||||
"assumptions": {
|
||||
"noNewArrows": false
|
||||
}
|
||||
}
|
||||
8
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939-complex/input.js
vendored
Normal file
8
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939-complex/input.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
class A extends B {
|
||||
handle = ((x = 0) => {
|
||||
console.log(x, this, new.target, super.y);
|
||||
})(() => {
|
||||
let y = 0;
|
||||
return (x = y) => x + this;
|
||||
})((x = 1) => {})(this);
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"plugins": [
|
||||
"transform-parameters"
|
||||
]
|
||||
}
|
||||
22
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939-complex/output.js
vendored
Normal file
22
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939-complex/output.js
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
class A extends B {
|
||||
handle = (() => {
|
||||
var _newtarget = new.target,
|
||||
_superprop_getY = () => super.y,
|
||||
_this = this;
|
||||
|
||||
return function () {
|
||||
let x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
||||
console.log(x, _this, _newtarget, _superprop_getY());
|
||||
};
|
||||
})()(() => {
|
||||
var _this2 = this;
|
||||
|
||||
let y = 0;
|
||||
return function () {
|
||||
let x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : y;
|
||||
return x + _this2;
|
||||
};
|
||||
})((() => function () {
|
||||
let x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
||||
})())(this);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
class A extends B {
|
||||
#handle = ((x = 0) => {
|
||||
console.log(x, this, new.target, super.y);
|
||||
})(() => {
|
||||
let y = 0;
|
||||
return (x = y) => x + this;
|
||||
})((x = 1) => {})(this);
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"plugins": [
|
||||
"transform-parameters"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
class A extends B {
|
||||
#handle = (() => {
|
||||
var _newtarget = new.target,
|
||||
_superprop_getY = () => super.y,
|
||||
_this = this;
|
||||
|
||||
return function () {
|
||||
let x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
||||
console.log(x, _this, _newtarget, _superprop_getY());
|
||||
};
|
||||
})()(() => {
|
||||
var _this2 = this;
|
||||
|
||||
let y = 0;
|
||||
return function () {
|
||||
let x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : y;
|
||||
return x + _this2;
|
||||
};
|
||||
})((() => function () {
|
||||
let x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
||||
})())(this);
|
||||
}
|
||||
5
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939-private/input.js
vendored
Normal file
5
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939-private/input.js
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
class A {
|
||||
#handle = (x = 0) => {
|
||||
console.log(x);
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"plugins": [
|
||||
"transform-parameters"
|
||||
]
|
||||
}
|
||||
6
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939-private/output.js
vendored
Normal file
6
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939-private/output.js
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
class A {
|
||||
#handle = (() => function () {
|
||||
let x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
||||
console.log(x);
|
||||
})();
|
||||
}
|
||||
5
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939/input.js
vendored
Normal file
5
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939/input.js
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
class A {
|
||||
handle = (x = 0) => {
|
||||
console.log(x);
|
||||
};
|
||||
}
|
||||
5
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939/options.json
vendored
Normal file
5
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939/options.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"plugins": [
|
||||
"transform-parameters"
|
||||
]
|
||||
}
|
||||
6
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939/output.js
vendored
Normal file
6
packages/babel-plugin-transform-parameters/test/fixtures/regression/13939/output.js
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
class A {
|
||||
handle = (() => function () {
|
||||
let x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
||||
console.log(x);
|
||||
})();
|
||||
}
|
||||
Reference in New Issue
Block a user