Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@filerobot/utils / lib / checkPermissions.js
Size: Mime:
/**
 * A function to check the provided permissions facing the user's permissions
 * @param {*} userPermissions - the user permissions array.
 * @param {*} permissionsChecking - the permissions to check array
 * @param {*} returnObject - if true, the permissionsChecking object would be returned with boolean value (true permission is found, false is not found)
 * @returns {Boolean} - true = all permissionsChecking are found, false = one of them not found.
 */
var checkPermissions = function checkPermissions() {
  var userPermissions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
  var permissionsChecking = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
  var returnObject = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  var regex = new RegExp(userPermissions.join('|'), 'i');
  if (!returnObject) {
    return !permissionsChecking.some(function (permission) {
      return permission && !regex.test(permission);
    });
  }
  var permissionsObject = {};
  permissionsChecking.forEach(function (permission) {
    if (permission) {
      permissionsObject[permission] = regex.test(permission);
    }
  });
  return permissionsObject;
};
export default checkPermissions;