diff options
author | Wim <wim@42.be> | 2017-02-18 23:00:46 +0100 |
---|---|---|
committer | Wim <wim@42.be> | 2017-02-18 23:11:48 +0100 |
commit | 930b639cc9cd2d2873302f30303378c0e53816a8 (patch) | |
tree | 8cd3f1d464fb5d4e5607fe16255c35a31a9d8b62 /vendor/github.com/labstack/gommon/random/random.go | |
parent | 58483ea70c2c99a352592c5e50686fb03985650e (diff) | |
download | matterbridge-msglm-930b639cc9cd2d2873302f30303378c0e53816a8.tar.gz matterbridge-msglm-930b639cc9cd2d2873302f30303378c0e53816a8.tar.bz2 matterbridge-msglm-930b639cc9cd2d2873302f30303378c0e53816a8.zip |
Update vendor
Diffstat (limited to 'vendor/github.com/labstack/gommon/random/random.go')
-rw-r--r-- | vendor/github.com/labstack/gommon/random/random.go | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/github.com/labstack/gommon/random/random.go b/vendor/github.com/labstack/gommon/random/random.go new file mode 100644 index 00000000..b76bd9b3 --- /dev/null +++ b/vendor/github.com/labstack/gommon/random/random.go @@ -0,0 +1,52 @@ +package random + +import ( + "math/rand" + "time" +) + +type ( + Random struct { + charset Charset + } + + Charset string +) + +const ( + Alphanumeric Charset = Alphabetic + Numeric + Alphabetic Charset = "abcdefghijklmnopqrstuvwxyz" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + Numeric Charset = "0123456789" + Hex Charset = Numeric + "abcdef" +) + +var ( + global = New() +) + +func New() *Random { + rand.Seed(time.Now().UnixNano()) + return &Random{ + charset: Alphanumeric, + } +} + +func (r *Random) SetCharset(c Charset) { + r.charset = c +} + +func (r *Random) String(length uint8) string { + b := make([]byte, length) + for i := range b { + b[i] = r.charset[rand.Int63()%int64(len(r.charset))] + } + return string(b) +} + +func SetCharset(c Charset) { + global.SetCharset(c) +} + +func String(length uint8) string { + return global.String(length) +} |