@storm-stack/types
Version:
⚡ The storm-stack monorepo contains utility applications, tools, and various libraries to create modern and scalable web applications.
17 lines (16 loc) • 529 B
JavaScript
import { getObjectTag } from "./get-object-tag.mjs";
export function isSyncFunction(value) {
return getObjectTag(value) === "[object Function]";
}
export function isAsyncFunction(value) {
return getObjectTag(value) === "[object AsyncFunction]";
}
export const isFunction = (value) => {
try {
return value instanceof Function || typeof value === "function" || Boolean(
value?.constructor && value?.call && value?.apply
) || isSyncFunction(value) || isAsyncFunction(value);
} catch {
return false;
}
};