(cmdMap map[string]any)
| 40 | } |
| 41 | |
| 42 | func ParseWSCommandMap(cmdMap map[string]any) (WSCommandType, error) { |
| 43 | cmdType, ok := cmdMap["wscommand"].(string) |
| 44 | if !ok { |
| 45 | return nil, fmt.Errorf("no wscommand field in command map") |
| 46 | } |
| 47 | switch cmdType { |
| 48 | case WSCommand_Rpc: |
| 49 | var cmd WSRpcCommand |
| 50 | err := utilfn.DoMapStructure(&cmd, cmdMap) |
| 51 | if err != nil { |
| 52 | return nil, fmt.Errorf("error decoding WSRpcCommand: %w", err) |
| 53 | } |
| 54 | return &cmd, nil |
| 55 | default: |
| 56 | return nil, fmt.Errorf("unknown wscommand type %q", cmdType) |
| 57 | } |
| 58 | } |
no test coverage detected