[ts] Default typeAnnotation of TSTypePredicate to null (#13354)

This commit is contained in:
Sosuke Suzuki
2021-05-24 03:12:42 +09:00
committed by GitHub
parent 533e63af52
commit d6a5f6190d
7 changed files with 13 additions and 6 deletions

View File

@@ -1242,6 +1242,7 @@ export default (superClass: Class<Parser>): Class<Parser> =>
if (thisTypePredicate.type === "TSThisType") {
node.parameterName = (thisTypePredicate: N.TsThisType);
node.asserts = true;
(node: N.TsTypePredicate).typeAnnotation = null;
thisTypePredicate = this.finishNode(node, "TSTypePredicate");
} else {
this.resetStartLocationFromNode(thisTypePredicate, node);
@@ -1264,6 +1265,7 @@ export default (superClass: Class<Parser>): Class<Parser> =>
// : asserts foo
node.parameterName = this.parseIdentifier();
node.asserts = asserts;
(node: N.TsTypePredicate).typeAnnotation = null;
t.typeAnnotation = this.finishNode(node, "TSTypePredicate");
return this.finishNode(t, "TSTypeAnnotation");
}

View File

@@ -1347,7 +1347,7 @@ export type TsTypeReference = TsTypeBase & {
export type TsTypePredicate = TsTypeBase & {
type: "TSTypePredicate",
parameterName: Identifier | TsThisType,
typeAnnotation: TsTypeAnnotation,
typeAnnotation: TsTypeAnnotation | null,
asserts: boolean,
};