@@ -667,18 +667,27 @@ namespace ts {
667
667
return < KeywordTypeNode > createSynthesizedNode ( kind ) ;
668
668
}
669
669
670
- export function createTypePredicateNode ( assertsModifier : AssertsToken | undefined , parameterName : Identifier | ThisTypeNode | string , type : TypeNode | undefined ) {
670
+ export function createTypePredicateNode ( parameterName : Identifier | ThisTypeNode | string , type : TypeNode | undefined ) {
671
+ return createTypePredicateNodeWithModifier ( /*assertsModifier*/ undefined , parameterName , type ) ;
672
+ }
673
+
674
+ export function createTypePredicateNodeWithModifier ( assertsModifier : AssertsToken | undefined , parameterName : Identifier | ThisTypeNode | string , type : TypeNode | undefined ) {
671
675
const node = createSynthesizedNode ( SyntaxKind . TypePredicate ) as TypePredicateNode ;
672
676
node . assertsModifier = assertsModifier ;
673
677
node . parameterName = asName ( parameterName ) ;
674
678
node . type = type ;
675
679
return node ;
676
680
}
677
681
678
- export function updateTypePredicateNode ( node : TypePredicateNode , assertsModifier : AssertsToken | undefined , parameterName : Identifier | ThisTypeNode , type : TypeNode | undefined ) {
679
- return node . parameterName !== parameterName
682
+ export function updateTypePredicateNode ( node : TypePredicateNode , parameterName : Identifier | ThisTypeNode , type : TypeNode | undefined ) {
683
+ return updateTypePredicateNodeWithModifier ( node , node . assertsModifier , parameterName , type ) ;
684
+ }
685
+
686
+ export function updateTypePredicateNodeWithModifier ( node : TypePredicateNode , assertsModifier : AssertsToken | undefined , parameterName : Identifier | ThisTypeNode , type : TypeNode | undefined ) {
687
+ return node . assertsModifier !== assertsModifier
688
+ || node . parameterName !== parameterName
680
689
|| node . type !== type
681
- ? updateNode ( createTypePredicateNode ( assertsModifier , parameterName , type ) , node )
690
+ ? updateNode ( createTypePredicateNodeWithModifier ( assertsModifier , parameterName , type ) , node )
682
691
: node ;
683
692
}
684
693
0 commit comments