mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-07-04 08:57:44 +00:00
Update vendor
This commit is contained in:
52
vendor/github.com/labstack/gommon/random/random.go
generated
vendored
Normal file
52
vendor/github.com/labstack/gommon/random/random.go
generated
vendored
Normal file
@ -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)
|
||||
}
|
Reference in New Issue
Block a user