| 244 | * @return {Promise(boolean)} whether conditions evaluated truthy or falsey based on condition evaluation + method |
| 245 | */ |
| 246 | const evaluateConditions = (conditions, method) => { |
| 247 | if (!Array.isArray(conditions)) conditions = [conditions] |
| 248 | |
| 249 | return Promise.all( |
| 250 | conditions.map((condition) => evaluateCondition(condition)) |
| 251 | ).then((conditionResults) => { |
| 252 | debug('rule::evaluateConditions results', conditionResults) |
| 253 | return method.call(conditionResults, (result) => result === true) |
| 254 | }) |
| 255 | } |
| 256 | |
| 257 | /** |
| 258 | * Evaluates a set of conditions based on an 'all', 'any', or 'not' operator. |