condition.doc.js

/**
 * A condition whether or not to match dependency.
 *  - If the value is a `string`, resolves dependency with the same key.
 *  - If the value is a `RegExp`, resolves dependency with the key matching the regular expression.
 *  - If the value is a function, use it as a predicator against the key.
 *  - If the value is `true`, resolves all.
 *  - If the value is `false` or `null`, resolves none.
 *  - If the value is an array of conditions, resolves any dependencies matching at least one condition.
 *    (i.e. logical *OR*)
 *
 * @typedef {(string|RegExp|conditionCallback|boolean|null|Condition[])} Condition
 */

/**
 * @callback conditionCallback
 * @param {string} key The dependency's key.
 * @returns {boolean} If the dependency should be resolved or not.
 */