(node: ts.SignatureDeclarationBase, references: AST.TypeReferences)
| 103 | } |
| 104 | |
| 105 | function parseFunctionType(node: ts.SignatureDeclarationBase, references: AST.TypeReferences): AST.FunctionType { |
| 106 | const parameters: AST.PropertyLikeDeclaration[] = []; |
| 107 | |
| 108 | if (node.parameters) { |
| 109 | for (const parameter of node.parameters) { |
| 110 | const parameterName = getIdentifierString(parameter.name); |
| 111 | const parameterType = parseType(parameter.type, references); |
| 112 | |
| 113 | parameters.push({ |
| 114 | start: parameter.getStart(), |
| 115 | end: parameter.getEnd(), |
| 116 | isOptional: !!parameter.questionToken, |
| 117 | name: parameterName, |
| 118 | type: parameterType, |
| 119 | }); |
| 120 | } |
| 121 | } |
| 122 | |
| 123 | return { |
| 124 | returnValue: parseType(node.type, references), |
| 125 | parameters, |
| 126 | }; |
| 127 | } |
| 128 | |
| 129 | interface ResolvedSymbol { |
| 130 | name: string; |
no test coverage detected