const access = (value, action) =>
Boolean(
value &
{
read: 1,
create: 2,
edit: 4,
delete: 8,
}[action]
);
for (let i = 0; i < 16; i++) {
let res = [];
if (i & 1) res.push('read');
if (i & 2) res.push('create');
if (i & 4) res.push('edit');
if (i & 8) res.push('delete');
console.log(i, res, (i).toString(2).padStart(4, '0'));
}
console.log(access(3, 'edit'));
console.log(access(15, 'delete'));
Редко, но используем, в базах данных с типами set, enum без них никак