mightyplow a25e646ca5 remove dts-gen as dependency | 5 년 전 | |
---|---|---|
src | 5 년 전 | |
tests | 5 년 전 | |
.gitignore | 5 년 전 | |
README.md | 5 년 전 | |
package-lock.json | 5 년 전 | |
package.json | 5 년 전 |
Utilites to manipulate single bits in a sequence of bits. This can be used to store specific boolean flags in a memory saving manor.
npm i @mightyplow/flags
Sets one or multiple flags on a sequence of bits.
Unsets one or multiple flags on a sequence of bits.
Checks one or multiple flags on a sequence of bits. Returns true, when all requested bits are set to 1.
Inverts one or multiple flags on a sequence of bits.
import { set } from '@mightyplow/flags'
const Option = {
foo: 2 ** 0,
bar: 2 ** 1,
baz: 2 ** 2
}
const base = 0b000;
console.log(set([Option.foo, Option.baz], base).toSting(2)) // "101"
import { isset } from '@mightyplow/flags'
const Option = {
foo: 2 ** 0,
bar: 2 ** 1,
baz: 2 ** 2
}
const hasFooAndBaz = (flags) => isset([Option.foo, Option.baz], flags)
console.log(hasFooAndBaz(0b101)) // true
console.log(hasFooAndBaz(0b001)) // false