{"version":3,"file":"isOptionsEqual.mjs","sources":[""],"sourcesContent":["import type { TOptionType } from \"../config/types\";\n\n/**\n * Проверяет, одинаковы ли переданные опции\n * @returns {Boolean}\n */\nconst isOptionsEqual = (left: TOptionType[] = [], right: TOptionType[] = []): boolean => {\n  if (left === right) {\n    return true;\n  }\n  if (left.length !== right.length) {\n    return false;\n  }\n\n  for (let i = 0; i < left.length; i += 1) {\n    const leftOption = left[i];\n    const rightOption = right[i];\n    if (!leftOption || !rightOption) {\n      return false;\n    }\n\n    if (leftOption.value !== rightOption.value || leftOption.label !== rightOption.label) {\n      return false;\n    }\n    if (JSON.stringify(leftOption.data ?? null) !== JSON.stringify(rightOption.data ?? null)) {\n      return false;\n    }\n\n    if (!isOptionsEqual(leftOption.options ?? [], rightOption.options ?? [])) {\n      return false;\n    }\n  }\n\n  return true;\n};\n\nexport { isOptionsEqual };\n"],"names":["isOptionsEqual","left","right","length","i","leftOption","rightOption","value","label","JSON","stringify","data","options"],"mappings":";;;;AAMA,MAAMA,eAAiB,CAACC,KAAsB,GAAIC,MAAuB,MACvE,GAAID,OAASC,MACX,OAAO,KAET,GAAID,KAAKE,SAAWD,MAAMC,OACxB,OAAO,MAGT,IAAK,IAAIC,EAAI,EAAGA,EAAIH,KAAKE,OAAQC,GAAK,EAAG,CACvC,MAAMC,WAAaJ,KAAKG,GACxB,MAAME,YAAcJ,MAAME,GAC1B,IAAKC,aAAeC,YAClB,OAAO,MAGT,GAAID,WAAWE,QAAUD,YAAYC,OAASF,WAAWG,QAAUF,YAAYE,MAC7E,OAAO,MAET,GAAIC,KAAKC,UAAUL,WAAWM,MAAQ,QAAUF,KAAKC,UAAUJ,YAAYK,MAAQ,MACjF,OAAO,MAGT,IAAKX,eAAeK,WAAWO,SAAW,GAAIN,YAAYM,SAAW,IACnE,OAAO,KAEX,CAEA,OAAO"}