{"ast":null,"code":"export function isNumber(value) {\n return typeof value === 'number';\n}\nexport function isFunction(value) {\n return typeof value === 'function';\n}\nexport function isObject(value) {\n return typeof value === 'object' && value !== null;\n}\nexport function localStorageAvailable() {\n try {\n // Incognito mode might reject access to the localStorage for security reasons.\n // window isn't defined on Node.js\n // https://stackoverflow.com/questions/16427636/check-if-localstorage-is-available\n const key = '__some_random_key_you_are_not_going_to_use__';\n window.localStorage.setItem(key, key);\n window.localStorage.removeItem(key);\n return true;\n } catch (err) {\n return false;\n }\n}\nexport function escapeRegExp(value) {\n return value.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n/**\n * Follows the CSS specification behavior for min and max\n * If min > max, then the min have priority\n */\n\nexport const clamp = (value, min, max) => Math.max(min, Math.min(max, value));\n/**\n * Based on `fast-deep-equal`\n *\n * MIT License\n *\n * Copyright (c) 2017 Evgeny Poberezkin\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n * We only type the public interface to avoid dozens of `as` in the function.\n */\n\nexport function isDeepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (a.constructor !== b.constructor) {\n return false;\n }\n if (Array.isArray(a)) {\n const length = a.length;\n if (length !== b.length) {\n return false;\n }\n for (let i = 0; i < length; i += 1) {\n if (!isDeepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n if (a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) {\n return false;\n }\n const entriesA = Array.from(a.entries());\n for (let i = 0; i < entriesA.length; i += 1) {\n if (!b.has(entriesA[i][0])) {\n return false;\n }\n }\n for (let i = 0; i < entriesA.length; i += 1) {\n const entryA = entriesA[i];\n if (!isDeepEqual(entryA[1], b.get(entryA[0]))) {\n return false;\n }\n }\n return true;\n }\n if (a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) {\n return false;\n }\n const entries = Array.from(a.entries());\n for (let i = 0; i < entries.length; i += 1) {\n if (!b.has(entries[i][0])) {\n return false;\n }\n }\n return true;\n }\n if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n const length = a.length;\n if (length !== b.length) {\n return false;\n }\n for (let i = 0; i < length; i += 1) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n if (a.constructor === RegExp) {\n return a.source === b.source && a.flags === b.flags;\n }\n if (a.valueOf !== Object.prototype.valueOf) {\n return a.valueOf() === b.valueOf();\n }\n if (a.toString !== Object.prototype.toString) {\n return a.toString() === b.toString();\n }\n const keys = Object.keys(a);\n const length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (let i = 0; i < length; i += 1) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (let i = 0; i < length; i += 1) {\n const key = keys[i];\n if (!isDeepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n } // true if both NaN, false otherwise\n // eslint-disable-next-line no-self-compare\n\n return a !== a && b !== b;\n} // Pseudo random number. See https://stackoverflow.com/a/47593316\n\nfunction mulberry32(a) {\n return () => {\n /* eslint-disable */\n let t = a += 0x6d2b79f5;\n t = Math.imul(t ^ t >>> 15, t | 1);\n t ^= t + Math.imul(t ^ t >>> 7, t | 61);\n return ((t ^ t >>> 14) >>> 0) / 4294967296;\n /* eslint-enable */\n };\n}\nexport function randomNumberBetween(seed, min, max) {\n const random = mulberry32(seed);\n return () => min + (max - min) * random();\n}\nexport function deepClone(obj) {\n if (typeof structuredClone === 'function') {\n return structuredClone(obj);\n }\n return JSON.parse(JSON.stringify(obj));\n}","map":{"version":3,"names":["isNumber","value","isFunction","isObject","localStorageAvailable","key","window","localStorage","setItem","removeItem","err","escapeRegExp","replace","clamp","min","max","Math","isDeepEqual","a","b","constructor","Array","isArray","length","i","Map","size","entriesA","from","entries","has","entryA","get","Set","ArrayBuffer","isView","RegExp","source","flags","valueOf","Object","prototype","toString","keys","hasOwnProperty","call","mulberry32","t","imul","randomNumberBetween","seed","random","deepClone","obj","structuredClone","JSON","parse","stringify"],"sources":["/home/gnx/Desktop/ETB/ETB-FrontEnd/node_modules/@mui/x-data-grid/utils/utils.js"],"sourcesContent":["export function isNumber(value) {\n return typeof value === 'number';\n}\nexport function isFunction(value) {\n return typeof value === 'function';\n}\nexport function isObject(value) {\n return typeof value === 'object' && value !== null;\n}\nexport function localStorageAvailable() {\n try {\n // Incognito mode might reject access to the localStorage for security reasons.\n // window isn't defined on Node.js\n // https://stackoverflow.com/questions/16427636/check-if-localstorage-is-available\n const key = '__some_random_key_you_are_not_going_to_use__';\n window.localStorage.setItem(key, key);\n window.localStorage.removeItem(key);\n return true;\n } catch (err) {\n return false;\n }\n}\nexport function escapeRegExp(value) {\n return value.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n/**\n * Follows the CSS specification behavior for min and max\n * If min > max, then the min have priority\n */\n\nexport const clamp = (value, min, max) => Math.max(min, Math.min(max, value));\n/**\n * Based on `fast-deep-equal`\n *\n * MIT License\n *\n * Copyright (c) 2017 Evgeny Poberezkin\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n * We only type the public interface to avoid dozens of `as` in the function.\n */\n\nexport function isDeepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (a.constructor !== b.constructor) {\n return false;\n }\n\n if (Array.isArray(a)) {\n const length = a.length;\n\n if (length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < length; i += 1) {\n if (!isDeepEqual(a[i], b[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n if (a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) {\n return false;\n }\n\n const entriesA = Array.from(a.entries());\n\n for (let i = 0; i < entriesA.length; i += 1) {\n if (!b.has(entriesA[i][0])) {\n return false;\n }\n }\n\n for (let i = 0; i < entriesA.length; i += 1) {\n const entryA = entriesA[i];\n\n if (!isDeepEqual(entryA[1], b.get(entryA[0]))) {\n return false;\n }\n }\n\n return true;\n }\n\n if (a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) {\n return false;\n }\n\n const entries = Array.from(a.entries());\n\n for (let i = 0; i < entries.length; i += 1) {\n if (!b.has(entries[i][0])) {\n return false;\n }\n }\n\n return true;\n }\n\n if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n const length = a.length;\n\n if (length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < length; i += 1) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) {\n return a.source === b.source && a.flags === b.flags;\n }\n\n if (a.valueOf !== Object.prototype.valueOf) {\n return a.valueOf() === b.valueOf();\n }\n\n if (a.toString !== Object.prototype.toString) {\n return a.toString() === b.toString();\n }\n\n const keys = Object.keys(a);\n const length = keys.length;\n\n if (length !== Object.keys(b).length) {\n return false;\n }\n\n for (let i = 0; i < length; i += 1) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n\n for (let i = 0; i < length; i += 1) {\n const key = keys[i];\n\n if (!isDeepEqual(a[key], b[key])) {\n return false;\n }\n }\n\n return true;\n } // true if both NaN, false otherwise\n // eslint-disable-next-line no-self-compare\n\n\n return a !== a && b !== b;\n} // Pseudo random number. See https://stackoverflow.com/a/47593316\n\nfunction mulberry32(a) {\n return () => {\n /* eslint-disable */\n let t = a += 0x6d2b79f5;\n t = Math.imul(t ^ t >>> 15, t | 1);\n t ^= t + Math.imul(t ^ t >>> 7, t | 61);\n return ((t ^ t >>> 14) >>> 0) / 4294967296;\n /* eslint-enable */\n };\n}\n\nexport function randomNumberBetween(seed, min, max) {\n const random = mulberry32(seed);\n return () => min + (max - min) * random();\n}\nexport function deepClone(obj) {\n if (typeof structuredClone === 'function') {\n return structuredClone(obj);\n }\n\n return JSON.parse(JSON.stringify(obj));\n}"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}