Skip to content

Commit 916b7a5

Browse files
committed
Add convenience wrappers for GetField.
Return int and string directly, a la qf/j
1 parent d03612a commit 916b7a5

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

field_map.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,24 @@ func (m FieldMap) GetField(tag Tag, parser FieldValueReader) MessageRejectError
103103
return nil
104104
}
105105

106+
// GetInt is a GetField wrapper for int fields
107+
func (m FieldMap) GetInt(tag Tag) (int, MessageRejectError) {
108+
var val FIXInt
109+
if err := m.GetField(tag, &val); err != nil {
110+
return 0, err
111+
}
112+
return int(val), nil
113+
}
114+
115+
// GetString is a GetField wrapper for string fields
116+
func (m FieldMap) GetString(tag Tag) (string, MessageRejectError) {
117+
var val FIXString
118+
if err := m.GetField(tag, &val); err != nil {
119+
return "", err
120+
}
121+
return string(val), nil
122+
}
123+
106124
func (m FieldMap) GetGroup(parser *RepeatingGroup) MessageRejectError {
107125
tagValues, ok := m.tagLookup[parser.Tag]
108126
if !ok {

0 commit comments

Comments
 (0)