Your IP : 216.73.216.1


Current Path : /home/fotouserdopd8j/public_html/wp-content/themes/Divi/core/code-snippets/app/lib/
Upload File :
Current File : /home/fotouserdopd8j/public_html/wp-content/themes/Divi/core/code-snippets/app/lib/capabilities.js

// External dependencies.
import {
  every,
  get,
  isArray,
  isEmpty,
} from 'lodash';

// Internal dependencies.
import config from './config';


const isAllowedActionPure = (capabilities, action, restrictByDefault = false) => {
  if (isEmpty(action)) {
    return true;
  }

  const defaultValue = restrictByDefault ? 'off' : 'on';

  if (isArray(action)) {
    return every(action, action => 'on' === get(capabilities, action, defaultValue));
  }

  return 'on' === get(capabilities, action, defaultValue);
};

export const isAllowedAction = (...args) => isAllowedActionPure(config.capabilities, ...args);