'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

var updateDescendants = function updateDescendants(node, checkedMap, isChecked, valueToItemMap) {
  if (!(node !== null && node !== void 0 && node.items)) {
    return;
  }
  node.items.forEach(function (item) {
    var _valueToItemMap$get;
    if (!(valueToItemMap !== null && valueToItemMap !== void 0 && (_valueToItemMap$get = valueToItemMap.get(item.value)) !== null && _valueToItemMap$get !== void 0 && _valueToItemMap$get.disabled)) {
      checkedMap.set(item.value, isChecked);
    }
    if (item.items) {
      updateDescendants(item, checkedMap, isChecked, valueToItemMap);
    }
  });
};

exports.updateDescendants = updateDescendants;
