truckstop/config/state.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)
}