isFunctionLike

tcmts.cli.npm.isFunctionLike · #ken7apjv · term · runs anywhere

import {
  isArrowFunction, isConstructorDeclaration, isFunctionDeclaration, isFunctionExpression, isGetAccessorDeclaration,
  isMethodDeclaration, isSetAccessorDeclaration,
} from "typescript/ast";
import type { Node } from "typescript/ast";

export const isFunctionLike = (n: Node) =>
  isFunctionDeclaration(n) ||
  isFunctionExpression(n) ||
  isArrowFunction(n) ||
  isMethodDeclaration(n) ||
  isConstructorDeclaration(n) ||
  isGetAccessorDeclaration(n) ||
  isSetAccessorDeclaration(n)

used by