"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getInitialExpandedIds = void 0;
/**
 * Получает начальный набор раскрытых узлов
 */
const getInitialExpandedIds = (prev, items, initialExpandedLevel, currentLevel = 0) => {
    const expandedIds = new Set(prev);
    // Более точная проверка
    if (initialExpandedLevel === undefined) {
        return expandedIds;
    }
    const shouldExpand = currentLevel < initialExpandedLevel;
    items.forEach((item) => {
        if (shouldExpand && item.children) {
            if (!prev?.has(item.id)) {
                expandedIds.add(item.id);
            }
            // Рекурсивно обрабатываем существующих детей
            if (item.children?.length) {
                const childExpandedIds = (0, exports.getInitialExpandedIds)(prev, item.children, initialExpandedLevel, currentLevel + 1);
                childExpandedIds.forEach((id) => expandedIds.add(id));
            }
        }
    });
    return expandedIds;
};
exports.getInitialExpandedIds = getInitialExpandedIds;
