randomId.js 581 B

1234567891011121314151617181920
  1. var randomBytes = require('./randomBytes');
  2. var defSymbols =
  3. 'ModuleSymbhasOwnPr-0123456789ABCDEFGHIJKLNQRTUVWXYZ_cfgijkpqtvxz';
  4. exports = function() {
  5. var size =
  6. arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 21;
  7. var symbols =
  8. arguments.length > 1 && arguments[1] !== undefined
  9. ? arguments[1]
  10. : defSymbols;
  11. var id = '';
  12. var len = symbols.length;
  13. var bytes = randomBytes(size);
  14. while (0 < size--) {
  15. id += symbols[bytes[size] % len];
  16. }
  17. return id;
  18. };
  19. module.exports = exports;