UNPKG

@storm-stack/types

Version:

⚡ The storm-stack monorepo contains utility applications, tools, and various libraries to create modern and scalable web applications.

21 lines (20 loc) 766 B
import { isPlainObject } from "./is-plain-object.mjs"; const isClassRegex = /^class\s|^function\s+[A-Z]/; const isConventionalClassRegex = /^function\s+[A-Z]/; const isNativeClassRegex = /^class\s/; export function isNativeClass(value) { return typeof value === "function" && isNativeClassRegex.test(value.toString()); } export function isConventionalClass(value) { return typeof value === "function" && isConventionalClassRegex.test(value.toString()); } export function isClass(value) { return typeof value === "function" && isClassRegex.test(value.toString()); } export const isObject = (value) => { try { return typeof value === "object" || Boolean(value) && value?.constructor === Object || isPlainObject(value); } catch { return false; } };