Files
gfn/generate.go

37 lines
559 B
Go
Raw Normal View History

2024-03-19 14:05:26 +01:00
package main
import (
"fmt"
"math/rand"
"time"
fn "github.com/s0rg/fantasyname"
)
func Generate(count int, code string) ([]string, error) {
rand.Seed(time.Now().UnixNano())
reg := map[string]int{}
gen, err := fn.Compile(code, fn.Collapse(true))
if err != nil {
return nil, fmt.Errorf("could not compile FN code: %w", err)
2024-03-19 14:05:26 +01:00
}
for i := 0; i < count; i++ {
name := gen.String()
if !Exists(reg, name) {
2024-03-19 14:05:26 +01:00
reg[name] = 1
}
}
names := make([]string, len(reg))
i := 0
for k, _ := range reg {
names[i] = k
i++
}
return names, nil
}