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.node.type = "CallExpression";
|
||||||
optionalPath = optionalPath.get("callee");
|
optionalPath = optionalPath.get("callee");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// unwrap a TSNonNullExpression if need
|
||||||
|
if (optionalPath.isTSNonNullExpression()) {
|
||||||
|
optionalPath = optionalPath.get("expression");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let replacementPath = path;
|
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