Fix optional-chaining with TS non-null operator (#10961)
This commit is contained in:
parent
6ba1f0dd22
commit
75a6530abe
@ -44,6 +44,11 @@ export default declare((api, options) => {
|
||||
optionalPath.node.type = "CallExpression";
|
||||
optionalPath = optionalPath.get("callee");
|
||||
}
|
||||
|
||||
// unwrap a TSNonNullExpression if need
|
||||
if (optionalPath.isTSNonNullExpression()) {
|
||||
optionalPath = optionalPath.get("expression");
|
||||
}
|
||||
}
|
||||
|
||||
let replacementPath = path;
|
||||
|
||||
@ -0,0 +1,8 @@
|
||||
a?.b!.c;
|
||||
a?.b!.c.d;
|
||||
a?.b.c!.d;
|
||||
a!.b?.c;
|
||||
a?.b!?.c;
|
||||
a?.b!.c?.c;
|
||||
(a?.b!).c;
|
||||
(a?.b)!.c;
|
||||
@ -0,0 +1,6 @@
|
||||
{
|
||||
"plugins": [
|
||||
"proposal-optional-chaining",
|
||||
"syntax-typescript"
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
var _a, _a2, _a3, _b, _a4, _ref, _a5, _c, _a6, _a7;
|
||||
|
||||
(_a = a) === null || _a === void 0 ? void 0 : _a.b!.c;
|
||||
(_a2 = a) === null || _a2 === void 0 ? void 0 : _a2.b!.c.d;
|
||||
(_a3 = a) === null || _a3 === void 0 ? void 0 : _a3.b.c!.d;
|
||||
(_b = a!.b) === null || _b === void 0 ? void 0 : _b.c;
|
||||
(_a4 = a) === null || _a4 === void 0 ? void 0 : (_ref = _a4.b!) === null || _ref === void 0 ? void 0 : _ref.c;
|
||||
(_a5 = a) === null || _a5 === void 0 ? void 0 : (_c = _a5.b!.c) === null || _c === void 0 ? void 0 : _c.c;
|
||||
((_a6 = a) === null || _a6 === void 0 ? void 0 : _a6.b)!.c;
|
||||
((_a7 = a) === null || _a7 === void 0 ? void 0 : _a7.b)!.c;
|
||||
@ -0,0 +1,8 @@
|
||||
a?.b!.c;
|
||||
a?.b!.c.d;
|
||||
a?.b.c!.d;
|
||||
a!.b?.c;
|
||||
a?.b!?.c;
|
||||
a?.b!.c?.c;
|
||||
(a?.b!).c;
|
||||
(a?.b)!.c;
|
||||
@ -0,0 +1,3 @@
|
||||
{
|
||||
"plugins": ["proposal-optional-chaining", "transform-typescript"]
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
var _a, _a2, _a3, _b, _a4, _ref, _a5, _c, _a6, _a7;
|
||||
|
||||
(_a = a) === null || _a === void 0 ? void 0 : _a.b.c;
|
||||
(_a2 = a) === null || _a2 === void 0 ? void 0 : _a2.b.c.d;
|
||||
(_a3 = a) === null || _a3 === void 0 ? void 0 : _a3.b.c.d;
|
||||
(_b = a.b) === null || _b === void 0 ? void 0 : _b.c;
|
||||
(_a4 = a) === null || _a4 === void 0 ? void 0 : (_ref = _a4.b) === null || _ref === void 0 ? void 0 : _ref.c;
|
||||
(_a5 = a) === null || _a5 === void 0 ? void 0 : (_c = _a5.b.c) === null || _c === void 0 ? void 0 : _c.c;
|
||||
((_a6 = a) === null || _a6 === void 0 ? void 0 : _a6.b).c;
|
||||
((_a7 = a) === null || _a7 === void 0 ? void 0 : _a7.b).c;
|
||||
@ -0,0 +1,8 @@
|
||||
a?.b!.c;
|
||||
a?.b!.c.d;
|
||||
a?.b.c!.d;
|
||||
a!.b?.c;
|
||||
a?.b!?.c;
|
||||
a?.b!.c?.c;
|
||||
(a?.b!).c;
|
||||
(a?.b)!.c;
|
||||
@ -0,0 +1,3 @@
|
||||
{
|
||||
"plugins": ["transform-typescript"]
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
a?.b.c;
|
||||
a?.b.c.d;
|
||||
a?.b.c.d;
|
||||
a.b?.c;
|
||||
a?.b?.c;
|
||||
a?.b.c?.c;
|
||||
(a?.b).c;
|
||||
(a?.b).c;
|
||||
Loading…
x
Reference in New Issue
Block a user