node package manager


a fixed-size hash pool


hashpool is a fixed-size pool of reusable hashes.

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.taken(hash); // false 

Generating custom hashes:

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

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.

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

Returns true if the hash was taken from the pool.

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

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