UNPKG

diginext-utils

Version:
108 lines 2.65 kB
export const isNull = (object) => { try { if (object instanceof File) return false; } catch (error) { } if (typeof object == "undefined") return true; if (object == "") return true; if (Array.isArray(object)) return object.length == 0; if (JSON.stringify(object) == "{}") return true; return object == null; }; export const toBool = (object) => { if (isNull(object || "")) return false; object = (object || "").toString().toLowerCase(); if (object === "false") return false; if (toFloat(object) === 0) return false; return object === "true" || toFloat(object) !== 0; }; export const toInt = (object) => { if (isNull(object || "")) return 0; object = (object || "").toString(); return parseInt(object, 10); }; export const toFloat = (object) => { if (isNull(object || "")) return 0; object = (object || "").toString(); return parseFloat(object); }; export const toArray = (object) => { if (isNull(object)) return []; if (!Array.isArray(object)) { object = [object]; } return object; }; /** * Convert value in object to array */ export const objectToArray = (object) => { if (Array.isArray(object)) return object; const array = []; for (const key in object) { array.push(object[key]); } return array; }; /** * Iterate through every keys & values of the object */ export const iterate = (obj, callbackFn) => { Object.keys(obj).forEach((key) => { const val = obj[key]; callbackFn(obj, key, val); if (typeof val === "object" && val !== null) iterate(val, callbackFn); }); return obj; }; const isObject = (obj) => { return obj !== null && typeof obj === "object"; }; export const isEqual = (objA, objB) => { const keysA = Object.keys(objA); const keysB = Object.keys(objB); if (keysA.length !== keysB.length) { return false; } for (const key of keysA) { if (!(key in objB)) { return false; } const valA = objA[key]; const valB = objB[key]; const areObjects = isObject(valA) && isObject(valB); if (areObjects && !isEqual(valA, valB)) { return false; } else if (!areObjects && valA !== valB) { return false; } } return true; }; const xobject = { isNull, toBool, toInt, toFloat, toArray, objectToArray, iterate, isObject, isEqual, }; export default xobject; //# sourceMappingURL=object.js.map