1 | initial version |
To obtain the deduced output data type using the TypeScript API, you can use the getReturnTypeOfSignature
function from the typescript
module. This function takes a Signature
object (which represents a function signature) and returns the deduced output type. Here's an example:
import ts from 'typescript';
const code = `function add(a: number, b: number): number {
return a + b;
}`;
const sourceFile = ts.createSourceFile('test.ts', code, ts.ScriptTarget.ES2015, true);
const addFunction = sourceFile.statements[0] as ts.FunctionDeclaration;
const returnType = ts.getReturnTypeOfSignature(ts.createSignatureDeclaration(
undefined, // TypeParameters
[], // Parameters
ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword), // ReturnType
ts.SyntaxKind.CallSignature, // Kind
));
console.log(returnType); // Output: number
In this example, we first create a SourceFile
object from a TypeScript code string that contains a function declaration. We then extract the FunctionDeclaration
object for the add
function. Finally, we use the getReturnTypeOfSignature
function to obtain the deduced output type, which is number
.