All files rule.js

100% Statements 6/6
100% Branches 4/4
100% Functions 2/2
100% Lines 6/6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16        130x 130x 130x 130x 130x       49x      
import sift from 'sift';
 
export class Rule {
  constructor(params) {
    this.conditions = params.conditions;
    this.actions = params.actions;
    this.subject = params.subject;
    this.inverted = !!params.inverted;
    this._matches = this.conditions ? sift(this.conditions) : null;
  }
 
  matches(object) {
    return !this._matches || this._matches(object);
  }
}