@@ -667,18 +667,27 @@ namespace ts {
667667 return < KeywordTypeNode > createSynthesizedNode ( kind ) ;
668668 }
669669
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 ) {
671675 const node = createSynthesizedNode ( SyntaxKind . TypePredicate ) as TypePredicateNode ;
672676 node . assertsModifier = assertsModifier ;
673677 node . parameterName = asName ( parameterName ) ;
674678 node . type = type ;
675679 return node ;
676680 }
677681
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
680689 || node . type !== type
681- ? updateNode ( createTypePredicateNode ( assertsModifier , parameterName , type ) , node )
690+ ? updateNode ( createTypePredicateNodeWithModifier ( assertsModifier , parameterName , type ) , node )
682691 : node ;
683692 }
684693
0 commit comments