3.1.0 • Published 2 years ago

mask-flags v3.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

mask-flags

JavaScript flags implemented using bitmask for simple and efficient storage.

Version 2.x and 3.x uses numeric-array-integer to implement the flags, while maintaining backwards compatibility with the version 1.x.

NPM version CI

Install:

$ yarn add mask-flags

Usage:

Set, get and clear:

import { MaskFlags } from 'mask-flags';

// Initialize a new MaskFlags with length 10 (capable of storing 10 flags)
const maskFlags = new MaskFlags(10);

// Default flag value is false
maskFlags.getPos(0); // false

// Set flag at position to true
maskFlags.setPos(0);
maskFlags.getPos(0); // true

// Clear flag at position to false
maskFlags.clearPos(0);
maskFlags.getPos(0); // false

Save and load:

import { MaskFlags } from 'mask-flags';

const maskFlags = new MaskFlags(10);
maskFlags.setPos(0);
maskFlags.setPos(5);

// Get data as an integer
const data = maskFlags.getData(); // 33

// Load data from an integer
const maskFlags2 = MaskFlags.fromData(data, 10);
maskFlags2.getPos(0); // true
maskFlags2.getPos(5); // true
maskFlags2.getPos(10); // false

Default length (number of bits) of data is 31.

Related

3.1.0

2 years ago

3.0.0

2 years ago

2.0.0

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago