MCPcopy Index your code
hub / github.com/nodejs/node / parseMappedType

Function parseMappedType

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

Source from the content-addressed store, hash-verified

33789 return finishNode(factory.createTypeParameterDeclaration(/*modifiers*/ undefined, name, type, /*defaultType*/ undefined), pos);
33790 }
33791 function parseMappedType() {
33792 var pos = getNodePos();
33793 parseExpected(18 /* SyntaxKind.OpenBraceToken */);
33794 var readonlyToken;
33795 if (token() === 145 /* SyntaxKind.ReadonlyKeyword */ || token() === 39 /* SyntaxKind.PlusToken */ || token() === 40 /* SyntaxKind.MinusToken */) {
33796 readonlyToken = parseTokenNode();
33797 if (readonlyToken.kind !== 145 /* SyntaxKind.ReadonlyKeyword */) {
33798 parseExpected(145 /* SyntaxKind.ReadonlyKeyword */);
33799 }
33800 }
33801 parseExpected(22 /* SyntaxKind.OpenBracketToken */);
33802 var typeParameter = parseMappedTypeParameter();
33803 var nameType = parseOptional(127 /* SyntaxKind.AsKeyword */) ? parseType() : undefined;
33804 parseExpected(23 /* SyntaxKind.CloseBracketToken */);
33805 var questionToken;
33806 if (token() === 57 /* SyntaxKind.QuestionToken */ || token() === 39 /* SyntaxKind.PlusToken */ || token() === 40 /* SyntaxKind.MinusToken */) {
33807 questionToken = parseTokenNode();
33808 if (questionToken.kind !== 57 /* SyntaxKind.QuestionToken */) {
33809 parseExpected(57 /* SyntaxKind.QuestionToken */);
33810 }
33811 }
33812 var type = parseTypeAnnotation();
33813 parseSemicolon();
33814 var members = parseList(4 /* ParsingContext.TypeMembers */, parseTypeMember);
33815 parseExpected(19 /* SyntaxKind.CloseBraceToken */);
33816 return finishNode(factory.createMappedTypeNode(readonlyToken, typeParameter, nameType, questionToken, type, members), pos);
33817 }
33818 function parseTupleElementType() {
33819 var pos = getNodePos();
33820 if (parseOptional(25 /* SyntaxKind.DotDotDotToken */)) {

Callers 1

parseNonArrayTypeFunction · 0.85

Calls 11

getNodePosFunction · 0.85
parseExpectedFunction · 0.85
parseTokenNodeFunction · 0.85
parseMappedTypeParameterFunction · 0.85
parseOptionalFunction · 0.85
parseTypeFunction · 0.85
parseTypeAnnotationFunction · 0.85
parseSemicolonFunction · 0.85
parseListFunction · 0.85
finishNodeFunction · 0.85
tokenFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…