File: /var/dev/nowruzgan/rest/node_modules/hat/README.markdown
hat
===
Generate random IDs and avoid collisions.

examples
========
hat
---
````javascript
var hat = require('hat');
var id = hat();
console.log(id);
````
output:
````
0c82a54f22f775a3ed8b97b2dea74036
````
rack
----
````javascript
var hat = require('hat');
var rack = hat.rack();
console.log(rack());
console.log(rack());
````
output:
````
1c24171393dc5de04ffcb21f1182ab28
fabe2323acc1b559dee43d4a1e16cbeb
````
methods
=======
var hat = require('hat');
hat(bits=128, base=16)
----------------------
Generate a random ID string with `bits` of data in a `base`.
Leading zeros are appended such that all outputs for a given number of bits have
equal length.
var rack = hat.rack(bits=128, base=16, expandBy)
------------------------------------------------
Make a new hat rack. Call `rack()` repeatedly to generate new IDs which are
checked for collisions.
If `expandBy` is specified, increment `bits` by this amount if too many
collisions occur. If `expandBy` isn't specified, `rack()` will throw if too many
collisions occur during generation.
Optionally call `var id = rack(data)` to store `data` at the new ID.
You can get the data out again with `rack.get(id)` and set the data with
`rack.set(id, value)`.