Enable Valid() calls on nil Currency instances

This requires changing function Valid() to use a pointer receiver. Nil
instances are considered invalid.
This commit is contained in:
Martin Habbecke 2021-10-16 14:49:30 -07:00
parent cb48d30deb
commit 31229399a0
1 changed files with 5 additions and 1 deletions

View File

@ -362,7 +362,11 @@ type Currency struct {
}
// Valid returns whether the Currency is valid according to the OFX spec
func (c Currency) Valid() (bool, error) {
func (c *Currency) Valid() (bool, error) {
if c == nil {
return false, errors.New("Currency is nil")
}
if c.CurRate.IsInt() && c.CurRate.Num().Int64() == 0 {
return false, errors.New("CurRate may not be zero")
} else if ok, err := c.CurSym.Valid(); !ok {