mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-06-04 15:10:54 +00:00
* tag optional sonic and allow full library conversion * Add workflow and disallow arm and darwin usage * Add basic hotswap benchmark * linter: fix * use bash * linter: fix? * Fix whoopsie, add to make file, also add mention in features list. * test enforcement * actually read documentation see if this works * linter: fix * linter: fix * sonic: bump tagged version * encoding/json: drop build tag arch and os filters * encoding/json: consolidate tests * encoding/json: log build tag usage * rm superfluous builds * glorious/nits: add template change and regen docs * glorious/nits: update commentary on nolint directive * glorious/nits: rm init func and log results in main.go * Test to actually pull flag in * linter: fix * thrasher: nits * gk: nits 4 goflags goooooooooo! * gk: nits rn * make sonic default json implementation * screen 386 * linter: fix * Add commentary * glorious: nits Makefile not working * gk: nits * gk: nits whoops * whoopsirino * mention 32bit systems won't be sonic * gk: super-duper nit of extremes --------- Co-authored-by: Ryan O'Hara-Reid <ryan.oharareid@thrasher.io>
28 lines
708 B
Go
28 lines
708 B
Go
package kucoin
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/thrasher-corp/gocryptotrader/encoding/json"
|
|
)
|
|
|
|
// UnmarshalJSON valid data to SubAccountsResponse of return nil if the data is empty list.
|
|
// this is added to handle the empty list returned when there are no accounts.
|
|
func (a *SubAccountsResponse) UnmarshalJSON(data []byte) error {
|
|
var result interface{}
|
|
err := json.Unmarshal(data, &result)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
var ok bool
|
|
if a, ok = result.(*SubAccountsResponse); ok {
|
|
if a == nil {
|
|
return errNoValidResponseFromServer
|
|
}
|
|
return nil
|
|
} else if _, ok := result.([]interface{}); ok {
|
|
return nil
|
|
}
|
|
return fmt.Errorf("%w can not unmarshal to SubAccountsResponse", errMalformedData)
|
|
}
|