Repository URL to install this package:
|
Version:
3.12.2 ▾
|
/**
* 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;