"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "updateDescendants", {
    enumerable: true,
    get: function() {
        return updateDescendants;
    }
});
var updateDescendants = function updateDescendants1(node, checkedMap, isChecked, valueToItemMap) {
    if (!(node === null || node === void 0 ? void 0 : node.items)) {
        return;
    }
    node.items.forEach(function(item) {
        var _valueToItemMap_get;
        if (!(valueToItemMap === null || valueToItemMap === void 0 ? void 0 : (_valueToItemMap_get = valueToItemMap.get(item.value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.disabled)) {
            checkedMap.set(item.value, isChecked);
        }
        if (item.items) {
            updateDescendants(item, checkedMap, isChecked, valueToItemMap);
        }
    });
};
