modpacksio-common
Version:
Common code for Modpacks.io services
26 lines (24 loc) • 749 B
JavaScript
const hasPermission = (perms, perm) => {
if (!perms|| !perm || perms.length === 0 )
return false;
const namespace = perm.split('.');
skip:
for (let i = 0; i < perms.length; i++) {
if (perms[i] === perm || perms[i] === '*')
return true;
const parts = perms[i].split('.');
for (let j = 0; j < namespace.length; j++) {
if (j >= parts.length)
continue skip;
if (parts[j] === '*')
return true;
if (parts[j] !== namespace[j])
continue skip;
}
return true;
}
return false;
};
module.exports = Object.freeze({
hasPermission
});