(v T)
| 15 | } |
| 16 | |
| 17 | func (e *Encoder[T]) Encode(v T) error { |
| 18 | w, err := e.conn.Writer(context.Background(), e.typ) |
| 19 | if err != nil { |
| 20 | return xerrors.Errorf("get websocket writer: %w", err) |
| 21 | } |
| 22 | defer w.Close() |
| 23 | j := json.NewEncoder(w) |
| 24 | err = j.Encode(v) |
| 25 | if err != nil { |
| 26 | return xerrors.Errorf("encode json: %w", err) |
| 27 | } |
| 28 | return nil |
| 29 | } |
| 30 | |
| 31 | // nolint: revive // complains that Decoder has the same function name |
| 32 | func (e *Encoder[T]) Close(c websocket.StatusCode) error { |