You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
945 B
46 lines
945 B
# janet-nanoid
|
|
|
|
nanoid is a library for generating random IDs.
|
|
|
|
Implementation of [nanoid](https://zelark.github.io/nano-id-cc/) in
|
|
[Janet](https://janet-lang.org/).
|
|
|
|
# Install
|
|
|
|
```
|
|
jpm install git+https://git.sr.ht/~statianzo/janet-nanoid
|
|
```
|
|
|
|
# Usage
|
|
|
|
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.
|
|
|
|
## Options
|
|
|
|
* `:size` - Length of the output string (default `21`)
|
|
* `:alphabet` - Alphabet of characters to use (default `"_-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"`)
|
|
* `:rng` - `math/rng` instance to generate (`gen-non-secure` only)
|
|
|
|
## Example
|
|
|
|
```clojure
|
|
(import nanoid)
|
|
|
|
(nanoid/gen)
|
|
# "xo25OEhGZ7yoHYbfPpmZE"
|
|
|
|
(nanoid/gen :size 5)
|
|
# "U5bBu"
|
|
|
|
(nanoid/gen :alphabet "abcd1234")
|
|
# "24234a13a4ddddc3dbb4a"
|
|
|
|
(nanoid/gen-non-secure :size 5)
|
|
# "vWgzu"
|
|
```
|