JSFiddle - React, Tailwind, and code Playground

by Jens Kühn

TypeScript

export enum EUserRoles {
  None = 0,
  Driver = 1,
  Disponent = 512,
  Admin = 1024,
  UserAdmin = 2048,
  SysAdmin = 4096
}

function convertRolesArrayToBitValue(arr: EUserRoles[]): number {
  return arr.reduce((bitValue, role) => bitValue | role, 0);
}

const rolesArray = [EUserRoles.Driver, EUserRoles.Disponent];
const bitValue = convertRolesArrayToBitValue(rolesArray);
console.log(bitValue); // Ausgabe: 513 (entspricht 1 | 512)