aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/go-faker/faker/v4/blood.go
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-02-05 00:37:32 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-02-05 00:37:32 +0100
commit6960aecc25400320adee1b8802a86839326e15b6 (patch)
tree334f7ca9491080a5e6f9a9747da77281c4958ba2 /vendor/github.com/go-faker/faker/v4/blood.go
downloadhepi-6960aecc25400320adee1b8802a86839326e15b6.tar.gz
Engage!
Diffstat (limited to 'vendor/github.com/go-faker/faker/v4/blood.go')
-rw-r--r--vendor/github.com/go-faker/faker/v4/blood.go54
1 files changed, 54 insertions, 0 deletions
diff --git a/vendor/github.com/go-faker/faker/v4/blood.go b/vendor/github.com/go-faker/faker/v4/blood.go
new file mode 100644
index 0000000..feb80ec
--- /dev/null
+++ b/vendor/github.com/go-faker/faker/v4/blood.go
@@ -0,0 +1,54 @@
1package faker
2
3import (
4 "fmt"
5 "reflect"
6
7 "github.com/go-faker/faker/v4/pkg/options"
8)
9
10var bloodTypes = []string{"O", "A", "B", "AB"}
11var bloodRhFactors = []string{"+", "-"}
12
13func GetBlood(opts ...options.OptionFunc) Blooder {
14 opt := options.BuildOptions(opts)
15 db := &Blood{
16 fakerOption: *opt,
17 }
18 return db
19}
20
21type Blooder interface {
22 BloodType(v reflect.Value) (interface{}, error)
23 BloodRHFactor(v reflect.Value) (interface{}, error)
24 BloodGroup(v reflect.Value) (interface{}, error)
25}
26
27// Internet struct
28type Blood struct {
29 fakerOption options.Options
30}
31
32func (b Blood) bloodType() string {
33 return randomElementFromSliceString(bloodTypes)
34}
35
36func (b Blood) BloodType(v reflect.Value) (interface{}, error) {
37 return b.bloodType(), nil
38}
39
40func (b Blood) bloodRhFactor() string {
41 return randomElementFromSliceString(bloodRhFactors)
42}
43
44func (b Blood) BloodRHFactor(v reflect.Value) (interface{}, error) {
45 return b.bloodRhFactor(), nil
46}
47
48func (b Blood) bloodGroup() string {
49 return fmt.Sprintf("%s%s", b.bloodType(), b.bloodRhFactor())
50}
51
52func (b Blood) BloodGroup(v reflect.Value) (interface{}, error) {
53 return b.bloodGroup(), nil
54}