forked from brianvoe/gofakeit
/
animal.go
155 lines (130 loc) · 3.52 KB
/
animal.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
package gofakeit
import "math/rand"
// PetName will return a random fun pet name
func PetName() string {
return petName(globalFaker.Rand)
}
// PetName will return a random fun pet name
func (f *Faker) PetName() string {
return petName(f.Rand)
}
func petName(r *rand.Rand) string {
return getRandValue(r, []string{"animal", "petname"})
}
// Animal will return a random animal
func Animal() string {
return animal(globalFaker.Rand)
}
// Animal will return a random animal
func (f *Faker) Animal() string {
return animal(f.Rand)
}
func animal(r *rand.Rand) string {
return getRandValue(r, []string{"animal", "animal"})
}
// AnimalType will return a random animal type
func AnimalType() string {
return animalType(globalFaker.Rand)
}
// AnimalType will return a random animal type
func (f *Faker) AnimalType() string {
return animalType(f.Rand)
}
func animalType(r *rand.Rand) string {
return getRandValue(r, []string{"animal", "type"})
}
// FarmAnimal will return a random animal that usually lives on a farm
func FarmAnimal() string {
return farmAnimal(globalFaker.Rand)
}
// FarmAnimal will return a random animal that usually lives on a farm
func (f *Faker) FarmAnimal() string {
return farmAnimal(f.Rand)
}
func farmAnimal(r *rand.Rand) string {
return getRandValue(r, []string{"animal", "farm"})
}
// Cat will return a random cat breed
func Cat() string {
return cat(globalFaker.Rand)
}
// Cat will return a random cat breed
func (f *Faker) Cat() string {
return cat(f.Rand)
}
func cat(r *rand.Rand) string {
return getRandValue(r, []string{"animal", "cat"})
}
// Dog will return a random dog breed
func Dog() string {
return dog(globalFaker.Rand)
}
// Dog will return a random dog breed
func (f *Faker) Dog() string {
return dog(f.Rand)
}
func dog(r *rand.Rand) string {
return getRandValue(r, []string{"animal", "dog"})
}
func addAnimalLookup() {
AddFuncLookup("petname", Info{
Display: "Pet Name",
Category: "animal",
Description: "Random pet name",
Example: "Ozzy Pawsborne",
Output: "string",
Generate: func(r *rand.Rand, m *MapParams, info *Info) (interface{}, error) {
return petName(r), nil
},
})
AddFuncLookup("animal", Info{
Display: "Animal",
Category: "animal",
Description: "Random animal",
Example: "elk",
Output: "string",
Generate: func(r *rand.Rand, m *MapParams, info *Info) (interface{}, error) {
return animal(r), nil
},
})
AddFuncLookup("animaltype", Info{
Display: "Animal Type",
Category: "animal",
Description: "Random animal type",
Example: "amphibians",
Output: "string",
Generate: func(r *rand.Rand, m *MapParams, info *Info) (interface{}, error) {
return animalType(r), nil
},
})
AddFuncLookup("farmanimal", Info{
Display: "Farm Animal",
Category: "animal",
Description: "Random farm animal",
Example: "Chicken",
Output: "string",
Generate: func(r *rand.Rand, m *MapParams, info *Info) (interface{}, error) {
return farmAnimal(r), nil
},
})
AddFuncLookup("cat", Info{
Display: "Cat",
Category: "animal",
Description: "Random cat type",
Example: "Chausie",
Output: "string",
Generate: func(r *rand.Rand, m *MapParams, info *Info) (interface{}, error) {
return cat(r), nil
},
})
AddFuncLookup("dog", Info{
Display: "Dog",
Category: "animal",
Description: "Random dog type",
Example: "Norwich Terrier",
Output: "string",
Generate: func(r *rand.Rand, m *MapParams, info *Info) (interface{}, error) {
return dog(r), nil
},
})
}