package nmap import "strings" // ErrMap multi error map type ErrMap map[string]error // Error string func (e ErrMap) Error() string { var sb strings.Builder for name, err := range e { sb.WriteString(name) sb.WriteByte(':') sb.WriteString(err.Error()) sb.WriteByte('\n') } return sb.String() } // ErrorOrNil error func (e ErrMap) ErrorOrNil() error { if len(e) == 0 { return nil } return e } // IsEmpty error func (e ErrMap) IsEmpty() bool { return len(e) == 0 } // One error func (e ErrMap) One() error { for _, err := range e { return err } return nil }