import { shuffleString } from '@/utils/random'; export function createToken({ withUppercase = true, withLowercase = true, withNumbers = true, withSymbols = false, length = 64, alphabet, }: { withUppercase?: boolean; withLowercase?: boolean; withNumbers?: boolean; withSymbols?: boolean; length?: number; alphabet?: string; }) { const allAlphabet = alphabet ?? [ ...(withUppercase ? 'ABCDEFGHIJKLMOPQRSTUVWXYZ' : ''), ...(withLowercase ? 'abcdefghijklmopqrstuvwxyz' : ''), ...(withNumbers ? '0123456789' : ''), ...(withSymbols ? '.,;:!?./-"\'#{([-|\\@)]=}*+' : ''), ].join(''); return shuffleString(allAlphabet.repeat(length)).substring(0, length); }