remeda
Version:
A utility library for JavaScript and Typescript.
1 lines • 2.27 kB
Source Map (JSON)
{"version":3,"file":"randomString.cjs","names":["purry","out: Array<string>"],"sources":["../src/randomString.ts"],"sourcesContent":["import { purry } from \"./purry\";\n\nconst ALPHABET =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\n/**\n * A [pseudo-random](https://en.wikipedia.org/wiki/Pseudorandom_number_generator) [alpha-numeric](https://en.wikipedia.org/wiki/Alphanumericals)\n * [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String).\n *\n * It is not [cryptographically secure](https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator)!\n *\n * @param length - The length of the random string.\n * @returns The random string.\n * @signature\n * R.randomString(length)\n * @example\n * R.randomString(5) // => aB92J\n * @dataFirst\n * @category String\n */\nexport function randomString(length: number): string;\n\n/**\n * A [pseudo-random](https://en.wikipedia.org/wiki/Pseudorandom_number_generator) [alpha-numeric](https://en.wikipedia.org/wiki/Alphanumericals)\n * [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String).\n *\n * It is not [cryptographically secure](https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator)!\n *\n * @returns The random string.\n * @signature\n * R.randomString()(length)\n * @example\n * R.pipe(5, R.randomString()) // => aB92J\n * @dataLast\n * @category String\n */\nexport function randomString(): (length: number) => string;\n\nexport function randomString(...args: ReadonlyArray<unknown>): unknown {\n return purry(randomStringImplementation, args);\n}\n\nfunction randomStringImplementation(length: number): string {\n const out: Array<string> = [];\n for (let iteration = 0; iteration < length; iteration++) {\n const randomChar = ALPHABET[Math.floor(Math.random() * ALPHABET.length)]!;\n out.push(randomChar);\n }\n return out.join(\"\");\n}\n"],"mappings":"wCAEM,EACJ,iEAmCF,SAAgB,EAAa,GAAG,EAAuC,CACrE,OAAOA,EAAAA,EAAM,EAA4B,EAAK,CAGhD,SAAS,EAA2B,EAAwB,CAC1D,IAAMC,EAAqB,EAAE,CAC7B,IAAK,IAAI,EAAY,EAAG,EAAY,EAAQ,IAAa,CACvD,IAAM,EAAa,iEAAS,KAAK,MAAM,KAAK,QAAQ,CAAG,GAAgB,EACvE,EAAI,KAAK,EAAW,CAEtB,OAAO,EAAI,KAAK,GAAG"}