import { dataTypeLabels } from '@/constants'; function getDataTypeString(value: unknown) { return Object.prototype.toString.call(value) as TypeUtil.DataTypeString; } export function isNumber(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.number; } export function isString(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.string; } export function isBoolean(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.boolean; } export function isNull(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.null; } export function isUndefined(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.undefined; } export function isSymbol(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.symbol; } export function isBigInt(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.bigInt; } export function isObject>(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.object; } export function isArray(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.array; } export function isFunction any | void>(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.function; } export function isDate(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.date; } export function isRegExp(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.regExp; } export function isPromise>(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.promise; } export function isSet>(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.set; } export function isMap>(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.map; } export function isFile(value: T | unknown): value is T { return getDataTypeString(value) === dataTypeLabels.file; }