isAnonymousFunction
An anonymous function or class expression, after erasable wrappers. Binding one to a name gives it that
name at runtime (const f = () => 1 has f.name === "f").
import { isArrowFunction as ts_isArrowFunction, isAsExpression as ts_isAsExpression, isClassExpression as ts_isClassExpression, isFunctionExpression as ts_isFunctionExpression, isNonNullExpression as ts_isNonNullExpression, isParenthesizedExpression as ts_isParenthesizedExpression, isSatisfiesExpression as ts_isSatisfiesExpression, isTypeAssertion as ts_isTypeAssertionExpression, } from "typescript/ast"; import type { Expression as ts_Expression } from "typescript/ast"; export function isAnonymousFunction(e: ts_Expression): boolean { while (ts_isParenthesizedExpression(e) || ts_isAsExpression(e) || ts_isSatisfiesExpression(e) || ts_isNonNullExpression(e) || ts_isTypeAssertionExpression(e)) { e = e.expression; } return ts_isArrowFunction(e) || ((ts_isFunctionExpression(e) || ts_isClassExpression(e)) && !e.name); }