Files
mattermost/vendor/github.com/corpix/uarand/uarand.go
T
Jesús Espino 6990d052d5 [XYZ-6] Add sampledata platform command (#8027)
* Add fake dependency

* [XYZ-6] Add sampledata platform command

* Creating EMOJI_NAME_MAX_LENGTH as a constant and using it where needed
2018-01-11 10:57:47 -05:00

42 lines
788 B
Go

package uarand
import (
"math/rand"
"time"
)
var (
// Default is the UARand with default settings.
Default = New(
rand.New(
rand.NewSource(time.Now().UnixNano()),
),
)
)
// Randomizer represents some entity which could provide us an entropy.
type Randomizer interface {
Seed(n int64)
Intn(n int) int
}
// UARand describes the user agent randomizer settings.
type UARand struct {
Randomizer
}
// GetRandom returns a random user agent from UserAgents slice.
func (u *UARand) GetRandom() string {
return UserAgents[u.Intn(len(UserAgents))]
}
// GetRandom returns a random user agent from UserAgents slice.
// This version is driven by Default configuration.
func GetRandom() string {
return Default.GetRandom()
}
func New(r Randomizer) *UARand {
return &UARand{r}
}