import type * as ts from 'typescript' ; import { Scope } from '../../scope/scope' ; import { GetDescriptor } from '../descriptor' ; import { PropertySignatureCache } from '../property/cache' ; import { GetUndefinedDescriptor } from '../undefined/undefined' ; import { GetMethodDescriptor } from './method' ; export function GetFunctionTypeDescriptor ( node , scope ) { const property = PropertySignatureCache . instance . get ( ) ; const returnValue = node . type ? GetDescriptor ( node . type , scope ) : GetUndefinedDescriptor ( ) ; return GetMethodDescriptor ( property , returnValue ) ; }