package nhooyrioWebsocketAddons import ( "context" "nhooyr.io/websocket" "nhooyr.io/websocket/wsjson" ) func WsjsonSend(ctx context.Context, conn *websocket.Conn, sendval interface{}) (err error, receiveval interface{}) { //Send err = wsjson.Write(ctx, conn, sendval) if err != nil { return err, nil } //Receive err = wsjson.Read(ctx, conn, &receiveval) if err != nil { return err, nil } return nil, receiveval } func WsjsonReceive(ctx context.Context, conn *websocket.Conn, dosth func(interface{}) interface{}) (err error, receiveval interface{}) { var sendval interface{} err = nil //Receive err = wsjson.Read(ctx, conn, &receiveval) if err != nil { return } sendval = dosth(receiveval) //Send err = wsjson.Write(ctx, conn, sendval.(string)) if err != nil { return } return }