75 lines
1.1 KiB
Go
75 lines
1.1 KiB
Go
package config
|
|
|
|
import (
|
|
"encoding/json"
|
|
"errors"
|
|
)
|
|
|
|
type State string
|
|
|
|
var States = map[State]string{
|
|
"AL": "99654",
|
|
"AR": "72401",
|
|
"AZ": "85364",
|
|
"CA": "90011",
|
|
"CO": "80013",
|
|
"CT": "06902",
|
|
"DE": "19720",
|
|
"FL": "33024",
|
|
"GA": "30043",
|
|
"HI": "96706",
|
|
"IA": "50613",
|
|
"ID": "83646",
|
|
"IL": "60629",
|
|
"IN": "47906",
|
|
"KS": "66062",
|
|
"KY": "40475",
|
|
"LA": "70726",
|
|
"MA": "02301",
|
|
"MD": "20906",
|
|
"ME": "04401",
|
|
"MI": "48197",
|
|
"MN": "55106",
|
|
"MO": "63376",
|
|
"MS": "39503",
|
|
"MT": "59901",
|
|
"NC": "27006",
|
|
"ND": "58103",
|
|
"NE": "68516",
|
|
"NH": "03103",
|
|
"NJ": "08701",
|
|
"NM": "87121",
|
|
"NV": "89108",
|
|
"NY": "11368",
|
|
"OH": "45011",
|
|
"OK": "73099",
|
|
"OR": "97006",
|
|
"PA": "19120",
|
|
"RI": "02860",
|
|
"SC": "29483",
|
|
"SD": "57106",
|
|
"TN": "37013",
|
|
"TX": "77449",
|
|
"UT": "84058",
|
|
"VA": "22193",
|
|
"VT": "05401",
|
|
"WA": "99301",
|
|
"WI": "53215",
|
|
"WV": "26554",
|
|
"WY": "82001",
|
|
}
|
|
|
|
func (state *State) UnmarshalJSON(b []byte) error {
|
|
var s string
|
|
if err := json.Unmarshal(b, &s); err != nil {
|
|
return err
|
|
}
|
|
for k := range States {
|
|
if string(k) == s {
|
|
*state = k
|
|
return nil
|
|
}
|
|
}
|
|
return errors.New("unknown state " + s)
|
|
}
|