feat: allow more than two policy keys in getGrantedPolicy

pull/4445/head
Arman Ozak 5 years ago
parent fa244b8c6f
commit 3131b51997

@ -98,18 +98,19 @@ export class ConfigState {
const orRegexp = /\|\|/g;
const andRegexp = /&&/g;
// TODO: Allow combination of ANDs & ORs
if (orRegexp.test(key)) {
const keys = key.split('||').filter(k => !!k);
const keys = key.split('||').filter(Boolean);
if (keys.length !== 2) return false;
if (keys.length < 2) return false;
return getPolicy(keys[0].trim()) || getPolicy(keys[1].trim());
return keys.some(key => getPolicy(key.trim()));
} else if (andRegexp.test(key)) {
const keys = key.split('&&').filter(k => !!k);
const keys = key.split('&&').filter(Boolean);
if (keys.length !== 2) return false;
if (keys.length < 2) return false;
return getPolicy(keys[0].trim()) && getPolicy(keys[1].trim());
return keys.every(key => getPolicy(key.trim()));
}
return getPolicy(key);

Loading…
Cancel
Save