UNPKG

@exabytellc/utils

Version:

EB react utils to make everything a little easier!

129 lines 4.11 kB
export function isArr(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "object" && value?.constructor?.name === "Array" ) } export function isBlob(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "object" && value?.constructor?.name === "Blob" && value instanceof Blob ); } export function isBool(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "boolean" && value?.constructor?.name === "Boolean" ); } export function isClass(value, className, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "object" && (!className || className && value?.constructor?.name === className) ); } export function isDate(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "object" && value instanceof Date ); } export function isElement(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "object" && value instanceof HTMLElement ); } export function isEmpty(value) { return ([null, undefined, NaN, "", {}, []].includes(value)); } export function isFile(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "object" && value?.constructor?.name === "File" ); } export function isFormData(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "object" && value instanceof FormData ); } export function isFunc(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "function" && ["AsyncFunction", "Function"].includes(value?.constructor?.name) ); } export function isImage(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "object" && value instanceof Image ); } export function isNode(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "object" && value instanceof Node ); } export function isNull(value) { return ([null, undefined, NaN].includes(value)); } export function isNum(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "number" && value?.constructor?.name === "Number" ); } export function isObj(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "object" && value?.constructor?.name === "Object" ); } export function isStr(value, canBeNull = false) { return ( canBeNull && isNull(value) || !isNull(value) && typeof value === "string" && value?.constructor?.name === "String" ); } export function isValidDate(value, canBeNull = false) { return ( isDate(value, canBeNull) && (new Date(value).toString() !== "Invalid Date" && !isNaN(new Date(value))) ); } export function multiTypes(value, types, canBeNull = false) { if (canBeNull && isNull(value) || !isNull(value)) { for (let t in types) { if (isFunc(t)) { if (t(value)) return true; } } return true; } return false; } export function arrayOfType(array, type, canBeNull = false) { if (canBeNull && isNull(array) || !isNull(array)) { for (let i = 0; i < array.length; i++) { if (!type(array[i], canBeNull)) return false; } return true; } return false; } export function arrayOfTypes(array, types, canBeNull = false) { if (canBeNull && isNull(array) || !isNull(array)) { for (let i = 0; i < array.length; i++) { if (!multiTypes(array[i], types, canBeNull)) return false; } return true; } return false; } export function typeOf(value) { if (isNull(value)) return typeof value; return value?.constructor?.name; }