UNPKG

modpacksio-common

Version:

Common code for Modpacks.io services

26 lines (24 loc) 749 B
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 });