()
| 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 */)) { |
no test coverage detected
searching dependent graphs…