dev 2
This commit is contained in:
@@ -16,121 +16,63 @@ type ContextInfo struct {
|
||||
}
|
||||
|
||||
func (c *Client) ContextPeriod(ctx context.Context) (any, error) {
|
||||
var out struct {
|
||||
Period any `json:"period"`
|
||||
}
|
||||
if err := c.get(ctx, "/api/context/period", &out); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out.Period, nil
|
||||
return c.getField(ctx, "/api/context/period", "period")
|
||||
}
|
||||
|
||||
func (c *Client) ContextBarpos(ctx context.Context) (any, error) {
|
||||
var out struct {
|
||||
Barpos any `json:"barpos"`
|
||||
}
|
||||
if err := c.get(ctx, "/api/context/barpos", &out); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out.Barpos, nil
|
||||
return c.getField(ctx, "/api/context/barpos", "barpos")
|
||||
}
|
||||
|
||||
func (c *Client) ContextTimeTickSize(ctx context.Context) (any, error) {
|
||||
var out struct {
|
||||
TimeTickSize any `json:"time_tick_size"`
|
||||
}
|
||||
if err := c.get(ctx, "/api/context/time_tick_size", &out); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out.TimeTickSize, nil
|
||||
return c.getField(ctx, "/api/context/time_tick_size", "time_tick_size")
|
||||
}
|
||||
|
||||
func (c *Client) ContextStockcode(ctx context.Context) (any, error) {
|
||||
var out struct {
|
||||
Stockcode any `json:"stockcode"`
|
||||
}
|
||||
if err := c.get(ctx, "/api/context/stockcode", &out); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out.Stockcode, nil
|
||||
return c.getField(ctx, "/api/context/stockcode", "stockcode")
|
||||
}
|
||||
|
||||
func (c *Client) ContextDividendType(ctx context.Context) (any, error) {
|
||||
var out struct {
|
||||
DividendType any `json:"dividend_type"`
|
||||
}
|
||||
if err := c.get(ctx, "/api/context/dividend_type", &out); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out.DividendType, nil
|
||||
return c.getField(ctx, "/api/context/dividend_type", "dividend_type")
|
||||
}
|
||||
|
||||
func (c *Client) ContextMarket(ctx context.Context) (any, error) {
|
||||
var out struct {
|
||||
Market any `json:"market"`
|
||||
}
|
||||
if err := c.get(ctx, "/api/context/market", &out); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out.Market, nil
|
||||
return c.getField(ctx, "/api/context/market", "market")
|
||||
}
|
||||
|
||||
func (c *Client) ContextDoBackTest(ctx context.Context) (any, error) {
|
||||
var out struct {
|
||||
DoBackTest any `json:"do_back_test"`
|
||||
}
|
||||
if err := c.get(ctx, "/api/context/do_back_test", &out); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out.DoBackTest, nil
|
||||
return c.getField(ctx, "/api/context/do_back_test", "do_back_test")
|
||||
}
|
||||
|
||||
func (c *Client) ContextBenchmark(ctx context.Context) (any, error) {
|
||||
var out struct {
|
||||
Benchmark any `json:"benchmark"`
|
||||
}
|
||||
if err := c.get(ctx, "/api/context/benchmark", &out); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out.Benchmark, nil
|
||||
return c.getField(ctx, "/api/context/benchmark", "benchmark")
|
||||
}
|
||||
|
||||
func (c *Client) ContextCapital(ctx context.Context) (any, error) {
|
||||
var out struct {
|
||||
Capital any `json:"capital"`
|
||||
}
|
||||
if err := c.get(ctx, "/api/context/capital", &out); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out.Capital, nil
|
||||
return c.getField(ctx, "/api/context/capital", "capital")
|
||||
}
|
||||
|
||||
func (c *Client) ContextUniverse(ctx context.Context) ([]string, error) {
|
||||
var out struct {
|
||||
Universe any `json:"universe"`
|
||||
}
|
||||
if err := c.get(ctx, "/api/context/universe", &out); err != nil {
|
||||
v, err := c.getField(ctx, "/api/context/universe", "universe")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
switch v := out.Universe.(type) {
|
||||
switch u := v.(type) {
|
||||
case nil:
|
||||
return nil, nil
|
||||
case []any:
|
||||
codes := make([]string, 0, len(v))
|
||||
for _, item := range v {
|
||||
s := asString(item)
|
||||
if s != "" {
|
||||
codes := make([]string, 0, len(u))
|
||||
for _, item := range u {
|
||||
if s := asString(item); s != "" {
|
||||
codes = append(codes, s)
|
||||
}
|
||||
}
|
||||
return codes, nil
|
||||
case []string:
|
||||
return v, nil
|
||||
return u, nil
|
||||
default:
|
||||
s := asString(v)
|
||||
if s == "" {
|
||||
return nil, nil
|
||||
if s := asString(u); s != "" {
|
||||
return []string{s}, nil
|
||||
}
|
||||
return []string{s}, nil
|
||||
return nil, nil
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user