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.

21 lines
489 B

2 years ago
  1. let urlAlphabet =
  2. 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
  3. let customAlphabet = (alphabet, defaultSize = 21) => {
  4. return (size = defaultSize) => {
  5. let id = ''
  6. let i = size
  7. while (i--) {
  8. id += alphabet[(Math.random() * alphabet.length) | 0]
  9. }
  10. return id
  11. }
  12. }
  13. let nanoid = (size = 21) => {
  14. let id = ''
  15. let i = size
  16. while (i--) {
  17. id += urlAlphabet[(Math.random() * 64) | 0]
  18. }
  19. return id
  20. }
  21. export { nanoid, customAlphabet }