diff options
Diffstat (limited to 'generators.go')
| -rw-r--r-- | generators.go | 242 |
1 files changed, 242 insertions, 0 deletions
diff --git a/generators.go b/generators.go new file mode 100644 index 0000000..978e456 --- /dev/null +++ b/generators.go @@ -0,0 +1,242 @@ +package main + +import ( + "fmt" + "math/rand" + + "github.com/go-faker/faker/v4" +) + +// Generator is a function that returns a random string. +type Generator func() string + +// Generators is a map of generator functions that can be used for variable substitution. +var Generators = map[string]Generator{ + "int": randomInt, + "phone": randomPhoneNumber, + "datetime": randomDateTime, + "lat": randomLat, + "long": randomLong, + "real_address": randomRealAddress, + "cc_number": randomCCNumber, + "cc_type": randomCCType, + "email": randomEmail, + "domain_name": randomDomainName, + "ipv4": randomIPV4, + "ipv6": randomIPV6, + "password": randomPassword, + "jwt": randomJWT, + "phone_number": randomPhoneNumber, + "mac_address": randomMacAddress, + "url": randomURL, + "username": randomUsername, + "toll_free_number": randomTollFreeNumber, + "e_164_phone_number": randomE164PhoneNumber, + "title_male": randomTitleMale, + "title_female": randomTitleFemale, + "first_name": randomFirstName, + "first_name_male": randomFirstNameMale, + "first_name_female": randomFirstNameFemale, + "last_name": randomLastName, + "name": randomName, + "unix_time": randomUnixTime, + "date": randomDate, + "time": randomTime, + "month_name": randomMonthName, + "year": randomYear, + "day_of_week": randomDayOfWeek, + "day_of_month": randomDayOfMonth, + "timestamp": randomTimestamp, + "century": randomCentury, + "timezone": randomTimeZone, + "time_period": randomTimePeriod, + "word": randomWord, + "sentence": randomSentence, + "paragraph": randomParagraph, + "currency": randomCurrency, + "amount": randomAmount, + "amount_with_currency": randomAmountWithCurrency, + "uuid_hyphenated": randomUUIDHyphenated, + "uuid_digit": randomUUIDDigit, +} + +func randomInt() string { + return fmt.Sprintf("%d", rand.Intn(1000000)) +} + +func randomName() string { + return faker.Name() +} + +func randomEmail() string { + return faker.Email() +} + +func randomUsername() string { + return faker.Username() +} + +func randomPassword() string { + return faker.Password() +} + +func randomURL() string { + return faker.URL() +} + +func randomWord() string { + return faker.Word() +} + +func randomSentence() string { + return faker.Sentence() +} + +func randomPhoneNumber() string { + return faker.Phonenumber() +} + +func randomDateTime() string { + return faker.TimeString() +} + +func randomLat() string { + return fmt.Sprintf("%f", faker.Latitude()) +} + +func randomLong() string { + return fmt.Sprintf("%f", faker.Longitude()) +} + +func randomRealAddress() string { + addr := faker.GetRealAddress() + return fmt.Sprintf("%s, %s, %s %s", addr.Address, addr.City, addr.State, addr.PostalCode) +} + +func randomCCNumber() string { + return faker.CCNumber() +} + +func randomCCType() string { + return faker.CCType() +} + +func randomDomainName() string { + return faker.DomainName() +} + +func randomIPV4() string { + return faker.IPv4() +} + +func randomIPV6() string { + return faker.IPv6() +} + +func randomJWT() string { + return faker.Jwt() +} + +func randomMacAddress() string { + return faker.MacAddress() +} + +func randomTollFreeNumber() string { + return faker.TollFreePhoneNumber() +} + +func randomE164PhoneNumber() string { + return faker.E164PhoneNumber() +} + +func randomTitleMale() string { + return faker.TitleMale() +} + +func randomTitleFemale() string { + return faker.TitleFemale() +} + +func randomFirstName() string { + return faker.FirstName() +} + +func randomFirstNameMale() string { + return faker.FirstNameMale() +} + +func randomFirstNameFemale() string { + return faker.FirstNameFemale() +} + +func randomLastName() string { + return faker.LastName() +} + +func randomUnixTime() string { + return fmt.Sprintf("%d", faker.UnixTime()) +} + +func randomDate() string { + return faker.Date() +} + +func randomTime() string { + return faker.TimeString() +} + +func randomMonthName() string { + return faker.MonthName() +} + +func randomYear() string { + return faker.YearString() +} + +func randomDayOfWeek() string { + return faker.DayOfWeek() +} + +func randomDayOfMonth() string { + return faker.DayOfMonth() +} + +func randomTimestamp() string { + return faker.Timestamp() +} + +func randomCentury() string { + return faker.Century() +} + +func randomTimeZone() string { + return faker.Timezone() +} + +func randomTimePeriod() string { + return faker.Timeperiod() +} + +func randomParagraph() string { + return faker.Paragraph() +} + +func randomCurrency() string { + return faker.Currency() +} + +func randomAmount() string { + return fmt.Sprintf("%d.%02d", rand.Intn(1000), rand.Intn(100)) +} + +func randomAmountWithCurrency() string { + return faker.AmountWithCurrency() +} + +func randomUUIDHyphenated() string { + return faker.UUIDHyphenated() +} + +func randomUUIDDigit() string { + return faker.UUIDDigit() +} |
