File "capabilities.js"

Full Path: /home/planet5/public_html/bansibaba.com/wp-content1/themes/Divi/core/code-snippets/app/lib/capabilities.js
File size: 612 bytes
MIME-type: --
Charset: utf-8

// 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);