hashpool

1.0.1 • Public • Published

hashpool

Build Status

hashpool is a fixed-size pool of reusable hashes.

Examples

Generating six-digit hex hashes:

const pool = hashpool();
 
pool.take(); // 5a73f0
pool.take(); // 98de2c
pool.take(); // 4718ef

Returning hashes to the pool:

const pool = hashpool();
 
let hash = pool.take();
pool.taken(hash); // true
 
pool.free(hash);
pool.taken(hash); // false

Generating custom hashes:

const pool = hashpool({ bits: 4, base: 2 });
 
pool.take() // 0110
pool.take() // 0010
pool.take() // 1011

API

hashpool(options)

Makes a new hashpool. options.bits will change the number of bits the hashes. More bits, bigger pool. options.base will change the radix of the hashes, between 2 and 36. Bigger base, fewer digits with more characters. The defaults are { bits: 24, base: 16 } which generate six-digit hexadecimal hashes.

hashpool#take()

Take a hash from the pool. Will throw if the pool is empty.

hashpool#taken(hash)

Returns true if the hash was taken from the pool.

hashpool#free(value)

Put a hash back in the pool, where it can be reused.

Testing

hashpool uses tape for testing. Simply run npm test in the project directory.

Readme

Keywords

Package Sidebar

Install

npm i hashpool

Weekly Downloads

0

Version

1.0.1

License

MIT

Last publish

Collaborators

  • seep