UNPKG

ntts

Version:

A CLI tool for refactoring an existing NodeJs application to a fully functional TypeScript application.

40 lines (35 loc) 1.04 kB
import { ClassDeclaration, ClassExpression, GetAccessorDeclaration, MethodDeclaration, Node, PropertyDeclaration, SetAccessorDeclaration, } from 'ts-morph'; type MethodFunction = MethodDeclaration | PropertyDeclaration | GetAccessorDeclaration | SetAccessorDeclaration; class MethodFunctionHandler { static getMethodFunctionNames = (_class: ClassExpression | ClassDeclaration): string[] => _class .getMembers() .reduce((names: string[], member) => { if (Node.isConstructorDeclaration(member) || Node.isClassStaticBlockDeclaration(member)) { return names; } return names.concat(member.getName()); }, []); static getMethodFunction = ( name: string, _class: ClassExpression | ClassDeclaration, ): MethodFunction | undefined => { const member = _class.getMember(name); if (Node.isConstructorDeclaration(member) || Node.isClassStaticBlockDeclaration(member)) { return undefined; } return member; }; } export default MethodFunctionHandler;