react-native-navigation-drilldown
Version:
Drilldown screens to use with react-navigation
25 lines • 748 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var isChildOf_1 = require("./isChildOf");
function toggleSubtree(subtree, selection) {
if (!selection) {
return [subtree];
}
var filtered = [];
var selfFound = false;
for (var _i = 0, selection_1 = selection; _i < selection_1.length; _i++) {
var item = selection_1[_i];
if (item.id === subtree.id) {
selfFound = true;
}
else if (!isChildOf_1.default(item, subtree)) {
filtered.push(item);
}
}
if (!selfFound) {
filtered.push(subtree);
}
return filtered.length ? filtered : null;
}
exports.default = toggleSubtree;
//# sourceMappingURL=toggleSubtree.js.map