import { flatten, pipe, reduce, uniq } from 'ramda';
export var findShowAttributeURIs = function (changedAttributes, parsedRules) {
    return pipe(reduce(function (changedShowAttributeURIs, _a) {
        var controlAttributes = _a.controlAttributes, showAttributeURIs = _a.showAttributeURIs;
        var hasChangedControlAttributes = (controlAttributes === null || controlAttributes === void 0 ? void 0 : controlAttributes.length) &&
            controlAttributes.some(function (controlAttribute) { return changedAttributes.includes(controlAttribute); });
        return hasChangedControlAttributes
            ? changedShowAttributeURIs.concat(showAttributeURIs)
            : changedShowAttributeURIs;
    }, []), flatten, uniq)(parsedRules);
};
export var findRulesToCheck = function (showAttributeURIs, parsedRules) {
    return parsedRules.filter(function (_a) {
        var ruleShowAttributeURIs = _a.showAttributeURIs;
        return ruleShowAttributeURIs.some(function (showAttributeUri) { return showAttributeURIs.includes(showAttributeUri); });
    });
};
