gitee.com/lonely0422/gometalinter.git@v3.0.1-0.20190307123442-32416ab75314+incompatible/_linters/src/github.com/nbutton23/zxcvbn-go/frequency/frequency.go (about) 1 package frequency 2 3 import ( 4 "encoding/json" 5 "github.com/nbutton23/zxcvbn-go/data" 6 "log" 7 ) 8 9 type FrequencyList struct { 10 Name string 11 List []string 12 } 13 14 var FrequencyLists = make(map[string]FrequencyList) 15 16 func init() { 17 maleFilePath := getAsset("data/MaleNames.json") 18 femaleFilePath := getAsset("data/FemaleNames.json") 19 surnameFilePath := getAsset("data/Surnames.json") 20 englishFilePath := getAsset("data/English.json") 21 passwordsFilePath := getAsset("data/Passwords.json") 22 23 FrequencyLists["MaleNames"] = GetStringListFromAsset(maleFilePath, "MaleNames") 24 FrequencyLists["FemaleNames"] = GetStringListFromAsset(femaleFilePath, "FemaleNames") 25 FrequencyLists["Surname"] = GetStringListFromAsset(surnameFilePath, "Surname") 26 FrequencyLists["English"] = GetStringListFromAsset(englishFilePath, "English") 27 FrequencyLists["Passwords"] = GetStringListFromAsset(passwordsFilePath, "Passwords") 28 29 } 30 func getAsset(name string) []byte { 31 data, err := zxcvbn_data.Asset(name) 32 if err != nil { 33 panic("Error getting asset " + name) 34 } 35 36 return data 37 } 38 func GetStringListFromAsset(data []byte, name string) FrequencyList { 39 40 var tempList FrequencyList 41 err := json.Unmarshal(data, &tempList) 42 if err != nil { 43 log.Fatal(err) 44 } 45 tempList.Name = name 46 return tempList 47 }