Current File : //home/tradevaly/www/node_modules/popper.js/src/utils/isModifierRequired.js |
import find from './find';
/**
* Helper used to know if the given modifier depends from another one.<br />
* It checks if the needed modifier is listed and enabled.
* @method
* @memberof Popper.Utils
* @param {Array} modifiers - list of modifiers
* @param {String} requestingName - name of requesting modifier
* @param {String} requestedName - name of requested modifier
* @returns {Boolean}
*/
export default function isModifierRequired(
modifiers,
requestingName,
requestedName
) {
const requesting = find(modifiers, ({ name }) => name === requestingName);
const isRequired =
!!requesting &&
modifiers.some(modifier => {
return (
modifier.name === requestedName &&
modifier.enabled &&
modifier.order < requesting.order
);
});
if (!isRequired) {
const requesting = `\`${requestingName}\``;
const requested = `\`${requestedName}\``;
console.warn(
`${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`
);
}
return isRequired;
}