mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-06-04 07:26:47 +00:00
* modernise: Run new gopls modernise tool against codebase
* Address shazbert's nits
* apichecker, gctcli: Simplify HTML scraping functions and improve depth limit handling
* refactor: Create minSyncInterval const and update order book limit handling for binance and binanceUS
* refactor: Various slice usage improvements and rename TODO
* tranches: Revert deleteByID changes due to performance decrease
Shazbert was a F1 driver in a past lifetime 🏎️
* tranches: Simply retrieve copy
Thanks to shazbert
* documentation: Sort contributors list by contributions
* tranches: Remove deadcode in deleteByID
28 lines
692 B
Go
28 lines
692 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 any
|
|
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.([]any); ok {
|
|
return nil
|
|
}
|
|
return fmt.Errorf("%w can not unmarshal to SubAccountsResponse", errMalformedData)
|
|
}
|