diff --git a/npm/ng-packs/packages/core/src/lib/states/config.state.ts b/npm/ng-packs/packages/core/src/lib/states/config.state.ts index d9b738b2aa..9d37dfe2f9 100644 --- a/npm/ng-packs/packages/core/src/lib/states/config.state.ts +++ b/npm/ng-packs/packages/core/src/lib/states/config.state.ts @@ -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);