hat

WebJar for hat

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

hat
Last Version

Last Version

0.0.3
Release Date

Release Date

Type

Type

jar
Description

Description

hat
WebJar for hat
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/substack/node-hat

Download hat

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/hat/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>hat</artifactId>
    <version>0.0.3</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/hat/
implementation 'org.webjars.npm:hat:0.0.3'
// https://jarcasting.com/artifacts/org.webjars.npm/hat/
implementation ("org.webjars.npm:hat:0.0.3")
'org.webjars.npm:hat:jar:0.0.3'
<dependency org="org.webjars.npm" name="hat" rev="0.0.3">
  <artifact name="hat" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='hat', version='0.0.3')
)
libraryDependencies += "org.webjars.npm" % "hat" % "0.0.3"
[org.webjars.npm/hat "0.0.3"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

hat

Generate random IDs and avoid collisions.

hat

examples

hat

var hat = require('hat');

var id = hat();
console.log(id);

output:

0c82a54f22f775a3ed8b97b2dea74036

rack

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).

how to make a hat

First you will need a large square of cloth or paper. These materials work well:

  • large napkin
  • newspaper

If you find yourself at a fancy restaurant, large napkins are in abundant supply.

Tie a knot in each corner. Place the hat on your head and enjoy!

Versions

Version
0.0.3