From 5b583d8c6604bee2ac028b154947945c6df4ddab Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 12 Dec 2015 13:16:26 +0100 Subject: Unify --- messages.go | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'messages.go') diff --git a/messages.go b/messages.go index 799a798..f444c5c 100644 --- a/messages.go +++ b/messages.go @@ -96,19 +96,22 @@ const ( StatusRevoked ) +var status = map[Status]string{ + StatusUnknown: "unknown", + StatusPending: "pending", + StatusProcessing: "processing", + StatusValid: "valid", + StatusInvalid: "invalid", + StatusRevoked: "revoked", +} + // UnmarshalText implemets json interface for status decoding func (s *Status) UnmarshalText(b []byte) error { - var status = map[string]Status{ - "unknown": StatusUnknown, - "pending": StatusPending, - "processing": StatusProcessing, - "valid": StatusValid, - "invalid": StatusInvalid, - "revoked": StatusRevoked, - } - if st, ok := status[string(b)]; ok { - *s = st - return nil + for k, v := range status { + if v == string(b) { + *s = k + return nil + } } return fmt.Errorf("unknown status %v", string(b)) } -- cgit v1.2.3