import type { TOptionType } from "../config/types"; /** * Проверяет, одинаковы ли переданные опции * @returns {Boolean} */ const isOptionsEqual = (left: TOptionType[] = [], right: TOptionType[] = []): boolean => { if (left === right) { return true; } if (left.length !== right.length) { return false; } for (let i = 0; i < left.length; i += 1) { const leftOption = left[i]; const rightOption = right[i]; if (!leftOption || !rightOption) { return false; } if (leftOption.value !== rightOption.value || leftOption.label !== rightOption.label) { return false; } if (JSON.stringify(leftOption.data ?? null) !== JSON.stringify(rightOption.data ?? null)) { return false; } if (!isOptionsEqual(leftOption.options ?? [], rightOption.options ?? [])) { return false; } } return true; }; export { isOptionsEqual };