A library for generating random IDs.
Ported implementation of nanoid in Janet.
jpm install https://git.sr.ht/~statianzo/janet-nanoid
nanoid comes with two variants gen
and gen-non-secure
.
gen
relies on Janet's os/cryptorand
to obtain cryptographically
secure random bytes.
gen-non-secure
uses the math/rng
pseudorandom generator.
:size
- Length of the output string (default21
):alphabet
- Alphabet of characters to use (defaults alphanumeric and-_
):rng
-math/rng
instance to generate (gen-non-secure
only)
(import nanoid)
(nanoid/gen)
# "xo25OEhGZ7yoHYbfPpmZE"
(nanoid/gen :size 5)
# "U5bBu"
(nanoid/gen :alphabet "abcd1234")
# "24234a13a4ddddc3dbb4a"
(nanoid/gen-non-secure :size 5)
# "vWgzu"