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.
|
|
/** * Generate secure URL-friendly unique ID. * * By default, the ID will have 21 symbols to have a collision probability * similar to UUID v4. * * ```js
* import { nanoid } from 'nanoid' * model.id = nanoid() //=> "Uakgb_J5m9g-0JDMbcJqL"
* ```
* * @param size Size of the ID. The default size is 21. * @returns A random string. */ export function nanoid(size?: number): string
/** * Generate secure unique ID with custom alphabet. * * Alphabet must contain 256 symbols or less. Otherwise, the generator * will not be secure. * * @param alphabet Alphabet used to generate the ID. * @param defaultSize Size of the ID. The default size is 21. * @returns A random string generator. * * ```js
* const { customAlphabet } = require('nanoid') * const nanoid = customAlphabet('0123456789абвгдеё', 5) * nanoid() //=> "8ё56а"
* ```
*/ export function customAlphabet( alphabet: string, defaultSize?: number ): (size?: number) => string
/** * Generate unique ID with custom random generator and alphabet. * * Alphabet must contain 256 symbols or less. Otherwise, the generator * will not be secure. * * ```js
* import { customRandom } from 'nanoid/format' * * const nanoid = customRandom('abcdef', 5, size => { * const random = [] * for (let i = 0; i < size; i++) { * random.push(randomByte()) * } * return random * }) * * nanoid() //=> "fbaef"
* ```
* * @param alphabet Alphabet used to generate a random string. * @param size Size of the random string. * @param random A random bytes generator. * @returns A random string generator. */ export function customRandom( alphabet: string, size: number, random: (bytes: number) => Uint8Array ): () => string
/** * URL safe symbols. * * ```js
* import { urlAlphabet } from 'nanoid' * const nanoid = customAlphabet(urlAlphabet, 10) * nanoid() //=> "Uakgb_J5m9"
* ```
*/ export const urlAlphabet: string
/** * Generate an array of random bytes collected from hardware noise. * * ```js
* import { customRandom, random } from 'nanoid' * const nanoid = customRandom("abcdef", 5, random) * ```
* * @param bytes Size of the array. * @returns An array of random bytes. */ export function random(bytes: number): Uint8Array
|