UNPKG

util-helpers

Version:

一个基于业务场景的工具方法库

36 lines (32 loc) 857 B
'use strict'; var ut2 = require('ut2'); var letter = 'abcdefghijklmnopqrstuvwxyz'; var chars = { number: '0123456789', lower: letter, upper: letter.toUpperCase() }; var allChars = chars.number + chars.lower + chars.upper; function internalRandomString(len, pool, prefix) { if (prefix === void 0) { prefix = ''; } while (len-- > 0) { var r = pool[ut2.randomInt(0, pool.length - 1)]; return internalRandomString(len, pool, prefix + r); } return prefix; } var randomString = function (len, pool) { if (len === void 0) { len = 0; } var _pool; if (typeof pool !== 'string') { _pool = allChars; } else if (chars[pool]) { _pool = chars[pool]; } else { _pool = pool; } return internalRandomString(ut2.toNumber(len), _pool); }; module.exports = randomString;