a0000 v1.0.0
a0000
Simple and fast hash and pseudorandom key functions in a0000 format.
What is a0000 format?
a0000 is a string where the first character is always a letter (a-z), and the 4 remaining characters are either a number or a letter. All in lowercase.
43 670 016 possible variants from "a0000" to "zzzzz".
This can be useful for auto assigning CSS class names, data keys, etc.
Install
npm install a0000Usage
import { genKey, hash, hashEC, hashSC } from "a0000";or
import a0000 from "a0000";a0000.genKey()
Generates a pseudorandom key in a0000 format.
All keys will be unique within the current process.
Syntax
genKey();Parameter Values
No parameters.
Examples
genKey(); // "pl3w8"
genKey(); // "dgfc6"
genKey(); // "om9ad"a0000.hash()
Calculates the hash sum of data in a0000 format.
Syntax
hash(arg1, arg2, arg3, ...)Parameter Values
arg1, arg2, arg3, ... - one or more items to calculate the shared hash. Each item must be a serializable object or primitive.
Examples
hash(78); // "vz158"
hash("Lorem ipsum"); // "eg008"
hash({ a: 1, b: 2 }); // "gkxpl"
hash(true, [7, 6, 5], null, 3.14); // "mqnmw"
hash(99n); // Throws TypeError: Do not know how to serialize a BigInta0000.hashEC()
Calculates the hash sum of data in a0000 format with the exception of hash collision.
All calculated hashes are stored in memory, and if a hash collision occurs, an exception will be thrown.
Syntax
hashEC(arg1, arg2, arg3, ...)Parameter Values
arg1, arg2, arg3, ... - one or more items to calculate the shared hash. Each item must be a serializable object or primitive.
Examples
hash(194998); // "w1odj"
hash(203894); // "w1odj"
hashEC(194998); // "w1odj"
hashEC(203894); // Throws Error: A hash collision has occurreda0000.hashSC()
Calculates the hash sum of data in a0000 format with the shift of hash collision.
All calculated hashes are stored in memory, and if a hash collision occurs, the next free value will be considered as a hash (see examples).
Syntax
hashSC(arg1, arg2, arg3, ...)Parameter Values
arg1, arg2, arg3, ... - one or more items to calculate the shared hash. Each item must be a serializable object or primitive.
Examples
hash(194998); // "w1odj"
hash(203894); // "w1odj"
hashSC(194998); // "w1odj"
hashSC(203894); // "w1odk"
hashSC(194998); // "w1odj"
hashSC(203894); // "w1odk"a0000()
Converts a number to a string in a0000 format.
Syntax
a0000(n);Parameter Values
n - an integer.
Examples
a0000(0); // "a0000"
a0000(123); // "a003f"
a0000(5.3); // Throws TypeError: a0000 argument must be an integera0000.toNumber()
Converts string in a0000 format to number.
Syntax
a0000.toNumber(s);Parameter Values
s - a string in a0000 format.
Examples
a0000.toString("a0000"); // 0
a0000.toString("a003f"); // 123
a0000.toString("4321z"); // Throws TypeError: toNumber argument must be a string in `a0000` format