MCPcopy Create free account
hub / github.com/nodejs/node / isTypeMemberStart

Function isTypeMemberStart

test/fixtures/snapshot/typescript.js:33687–33721  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

33685 return withJSDoc(finishNode(node, pos), hasJSDoc);
33686 }
33687 function isTypeMemberStart() {
33688 // Return true if we have the start of a signature member
33689 if (token() === 20 /* SyntaxKind.OpenParenToken */ ||
33690 token() === 29 /* SyntaxKind.LessThanToken */ ||
33691 token() === 136 /* SyntaxKind.GetKeyword */ ||
33692 token() === 149 /* SyntaxKind.SetKeyword */) {
33693 return true;
33694 }
33695 var idToken = false;
33696 // Eat up all modifiers, but hold on to the last one in case it is actually an identifier
33697 while (ts.isModifierKind(token())) {
33698 idToken = true;
33699 nextToken();
33700 }
33701 // Index signatures and computed property names are type members
33702 if (token() === 22 /* SyntaxKind.OpenBracketToken */) {
33703 return true;
33704 }
33705 // Try to get the first property-like token following all modifiers
33706 if (isLiteralPropertyName()) {
33707 idToken = true;
33708 nextToken();
33709 }
33710 // If we were able to get any potential identifier, check that it is
33711 // the start of a member declaration
33712 if (idToken) {
33713 return token() === 20 /* SyntaxKind.OpenParenToken */ ||
33714 token() === 29 /* SyntaxKind.LessThanToken */ ||
33715 token() === 57 /* SyntaxKind.QuestionToken */ ||
33716 token() === 58 /* SyntaxKind.ColonToken */ ||
33717 token() === 27 /* SyntaxKind.CommaToken */ ||
33718 canParseSemicolon();
33719 }
33720 return false;
33721 }
33722 function parseTypeMember() {
33723 if (token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 29 /* SyntaxKind.LessThanToken */) {
33724 return parseSignatureMember(174 /* SyntaxKind.CallSignature */);

Callers

nothing calls this directly

Calls 4

nextTokenFunction · 0.85
isLiteralPropertyNameFunction · 0.85
canParseSemicolonFunction · 0.85
tokenFunction · 0.70

Tested by

no test coverage detected