{"version":3,"file":"arraysHaveSameContents.mjs","sources":["../../../../../../../../web/src/adminPortal/utils/arraysHaveSameContents.ts"],"sourcesContent":["/**\n * Compares two arrays and returns true if they are equal, false otherwise.\n * The arrays are considered equal if they have the same length and the same elements in the any order.\n * The elements are compared using strict equality.\n *\n * @param arr1 - The first array to compare.\n * @param arr2 - The second array to compare.\n * @returns True if the arrays are equal, false otherwise.\n *\n * @example\n * ```ts\n * arraysHaveSameContents([1, 2, 3], [1, 2, 3]); // true\n * arraysHaveSameContents([1, 2, 3], [1, 3, 2]); // true\n * arraysHaveSameContents([1, 2, 3], [1, 2, 4]); // false\n * arraysHaveSameContents([1, 2, 3], [1, 2]); // false\n * arraysHaveSameContents([1, 2, 3], [1, 2, 3, 4]); // false\n * arraysHaveSameContents([{test: '123'}, 2, 3], [{test: '123'}, 2, 3]); // true\n * ```\n */\nexport const arraysHaveSameContents = <T>(arr1: T[] | undefined, arr2: T[] | undefined) => {\n  if (Array.isArray(arr1) && Array.isArray(arr2)) {\n    if (arr1.length !== arr2.length) {\n      return false;\n    }\n    const array2Sorted = arr2.slice().sort();\n    const isEqual = arr1\n      .slice()\n      .sort()\n      .every(function (value, index) {\n        return JSON.stringify(value) === JSON.stringify(array2Sorted[index]);\n      });\n    if (!isEqual) return false;\n\n    return true;\n  }\n  return false;\n};\n"],"names":["arraysHaveSameContents","arr1","arr2","Array","isArray","length","array2Sorted","slice","sort","isEqual","every","value","index","JSON","stringify"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;AAkBC,IACM,MAAMA,sBAAAA,GAAyB,CAAIC,IAAAA,EAAuBC,IAAAA,GAAAA;AAC/D,IAAA,IAAIC,MAAMC,OAAO,CAACH,SAASE,KAAAA,CAAMC,OAAO,CAACF,IAAAA,CAAAA,EAAO;AAC9C,QAAA,IAAID,IAAAA,CAAKI,MAAM,KAAKH,IAAAA,CAAKG,MAAM,EAAE;YAC/B,OAAO,KAAA;AACT,QAAA;AACA,QAAA,MAAMC,YAAAA,GAAeJ,IAAAA,CAAKK,KAAK,EAAA,CAAGC,IAAI,EAAA;QACtC,MAAMC,OAAAA,GAAUR,IAAAA,CACbM,KAAK,EAAA,CACLC,IAAI,EAAA,CACJE,KAAK,CAAC,SAAUC,KAAK,EAAEC,KAAK,EAAA;YAC3B,OAAOC,IAAAA,CAAKC,SAAS,CAACH,KAAAA,CAAAA,KAAWE,KAAKC,SAAS,CAACR,YAAY,CAACM,KAAAA,CAAM,CAAA;AACrE,QAAA,CAAA,CAAA;QACF,IAAI,CAACH,SAAS,OAAO,KAAA;QAErB,OAAO,IAAA;AACT,IAAA;IACA,OAAO,KAAA;AACT;;;;"}