@philiprehberger/bit-flags
v0.1.3
Published
Type-safe bitwise flag operations for permissions, features, and options
Readme
@philiprehberger/bit-flags
Type-safe bitwise flag operations for permissions, features, and options.
Installation
npm install @philiprehberger/bit-flagsUsage
import { defineFlags } from '@philiprehberger/bit-flags';
const permissions = defineFlags({
read: 1,
write: 2,
execute: 4,
});
let flags = permissions.set(0, 'read', 'write'); // 3
permissions.has(flags, 'read'); // true
permissions.has(flags, 'execute'); // false
flags = permissions.toggle(flags, 'execute'); // 7
permissions.toArray(flags); // ['read', 'write', 'execute']API
defineFlags<F>(definition: F): FlagSet<F>
Creates a type-safe flag set from a record of flag names to bit values.
FlagSet<F>
has(flags, flag)— Check if a flag is setset(flags, ...flagNames)— Set one or more flagsunset(flags, ...flagNames)— Unset one or more flagstoggle(flags, flag)— Toggle a flag on/offtoArray(flags)— Get active flag names as an arrayfromArray(flagNames)— Combine flag names into a numberall— All flags combinednone— Zero value
Development
npm install
npm run build
npm testSupport
If you find this project useful:
