text: /*
   * Copyright (c) 2020. Adam Arthur Faizal.
   */
  
  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;
  }
  