import dictionnary from "../dataset/slug.json" import { randomInt } from "." export interface SlugOptions { min?: number max?: number exactly?: number } export default function slug(opts?: SlugOptions): string { function exec(): string { const w = randomWord(dictionnary) if (!opts) return w if ( (opts.exactly && w.length != opts.exactly) || (opts.min && w.length < opts.min) || (opts.max && w.length > opts.max) ) return exec() return w } return exec() } function randomWord(dictionnary: ReadonlyArray): string { const word = dictionnary[randomInt(0, dictionnary.length - 1)] if (!word) throw new Error("Error while generating a slug.") return word }