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