Files
wails/internal/messagedispatcher/message/call.go
Travis McLane 25a157e661 Squashed 'v2/' content from commit 7d8960e
git-subtree-dir: v2
git-subtree-split: 7d8960e87431924f5705df4c777758a0eb32e145
2020-09-01 19:34:51 -05:00

38 lines
810 B
Go

package message
import (
"encoding/json"
"fmt"
)
type CallMessage struct {
Name string `json:"name"`
Args []interface{} `json:"args"`
CallbackID string `json:"callbackID,omitempty"`
}
// callMessageParser does what it says on the tin!
func callMessageParser(message string) (*parsedMessage, error) {
// Sanity check: Call messages must be at least 3 bytes `C{}``
if len(message) < 3 {
return nil, fmt.Errorf("call message was an invalid length")
}
callMessage := new(CallMessage)
m := message[1:]
err := json.Unmarshal([]byte(m), callMessage)
if err != nil {
println(err.Error())
return nil, err
}
topic := "call:invoke"
// Create a new parsed message struct
parsedMessage := &parsedMessage{Topic: topic, Data: callMessage}
return parsedMessage, nil
}