@@ -43,7 +43,7 @@ namespace ts.Completions {
43
43
}
44
44
45
45
const contextToken = findPrecedingToken ( position , sourceFile ) ;
46
- if ( triggerCharacter && ( ! contextToken || ! isValidTrigger ( sourceFile , triggerCharacter , contextToken , position ) ) ) return undefined ;
46
+ if ( triggerCharacter && ! isValidTrigger ( sourceFile , triggerCharacter , contextToken , position ) ) return undefined ;
47
47
48
48
if ( isInString ( sourceFile , position , contextToken ) ) {
49
49
return ! contextToken || ! isStringLiteralLike ( contextToken )
@@ -2272,7 +2272,7 @@ namespace ts.Completions {
2272
2272
return ! ! type . getStringIndexType ( ) || ! ! type . getNumberIndexType ( ) ;
2273
2273
}
2274
2274
2275
- function isValidTrigger ( sourceFile : SourceFile , triggerCharacter : CompletionsTriggerCharacter , contextToken : Node , position : number ) : boolean {
2275
+ function isValidTrigger ( sourceFile : SourceFile , triggerCharacter : CompletionsTriggerCharacter , contextToken : Node | undefined , position : number ) : boolean {
2276
2276
switch ( triggerCharacter ) {
2277
2277
case "." :
2278
2278
case "@" :
@@ -2281,14 +2281,14 @@ namespace ts.Completions {
2281
2281
case "'" :
2282
2282
case "`" :
2283
2283
// Only automatically bring up completions if this is an opening quote.
2284
- return isStringLiteralOrTemplate ( contextToken ) && position === contextToken . getStart ( sourceFile ) + 1 ;
2284
+ return ! ! contextToken && isStringLiteralOrTemplate ( contextToken ) && position === contextToken . getStart ( sourceFile ) + 1 ;
2285
2285
case "<" :
2286
2286
// Opening JSX tag
2287
- return contextToken . kind === SyntaxKind . LessThanToken && ( ! isBinaryExpression ( contextToken . parent ) || binaryExpressionMayBeOpenTag ( contextToken . parent ) ) ;
2287
+ return ! ! contextToken && contextToken . kind === SyntaxKind . LessThanToken && ( ! isBinaryExpression ( contextToken . parent ) || binaryExpressionMayBeOpenTag ( contextToken . parent ) ) ;
2288
2288
case "/" :
2289
- return isStringLiteralLike ( contextToken )
2289
+ return ! ! contextToken && ( isStringLiteralLike ( contextToken )
2290
2290
? ! ! tryGetImportFromModuleSpecifier ( contextToken )
2291
- : contextToken . kind === SyntaxKind . SlashToken && isJsxClosingElement ( contextToken . parent ) ;
2291
+ : contextToken . kind === SyntaxKind . SlashToken && isJsxClosingElement ( contextToken . parent ) ) ;
2292
2292
default :
2293
2293
return Debug . assertNever ( triggerCharacter ) ;
2294
2294
}
0 commit comments