lib/config.js
function Config(rules, options) {
    this.options = {};
    if (options) { options.forEach(this.addOption.bind(this)); }
    this.rulesMap = {};
    if (rules) { rules.forEach(this.addRule.bind(this)); }
}
function Config(rules, options) {
    this.options = {};
    if (options) { options.forEach(this.addOption.bind(this)); }
    this.rulesMap = {};
    if (rules) { rules.forEach(this.addRule.bind(this)); }
}
function Config ( rules , options ) { this . options = { } ; if ( options ) { options . forEach ( this . addOption . bind ( this ) ) ; } this . rulesMap = { } ; if ( rules ) { rules . forEach ( this . addRule . bind ( this ) ) ; } }
The config object stores all possible rules and options and manages
dependencies based on which options are enabled.
As it runs, it updates the subscribers array for each rule to indicate
the active rules and options depending on it.
@constructor
@param {Object[]} rules - The rules to use.
@param {Object[]} options - The options.
The config object stores all possible rules and options and manages dependencies based on which options are enabled . As it runs it updates the subscribers array for each rule to indicate the active rules and options depending on it .