import type * as ts from 'typescript' ; import { Scope } from '../../scope/scope' ; import { PropertySignatureCache } from '../property/cache' ; import { GetReturnTypeFromBodyDescriptor } from './bodyReturnType' ; import { GetMethodDescriptor } from './method' ; type FunctionAssignment = ts . ArrowFunction | ts . FunctionExpression ; export function GetFunctionAssignmentDescriptor ( node , scope ) { const property = PropertySignatureCache . instance . get ( ) ; const returnValue = GetReturnTypeFromBodyDescriptor ( node , scope ) ; return GetMethodDescriptor ( property , returnValue ) ; }