UNPKG

@jsdocs-io/extractor

Version:

Analyze and extract the API from npm packages

21 lines (16 loc) 563 B
import * as tsm from 'ts-morph'; export function hasFunctionLikeType(node: tsm.VariableDeclaration): boolean { const typeKind = node.getTypeNode()?.getKind(); const hasFunctionType = typeKind === tsm.SyntaxKind.FunctionType; if (hasFunctionType) { return true; } const initializer = node.getInitializer(); if (!initializer) { return false; } const hasFunctionInitializer = tsm.Node.isArrowFunction(initializer) || tsm.Node.isFunctionExpression(initializer); return hasFunctionInitializer; }