(w io.Writer, v interface{})
| 38 | } |
| 39 | |
| 40 | func (j *JSONPb) marshalTo(w io.Writer, v interface{}) error { |
| 41 | p, ok := v.(proto.Message) |
| 42 | if !ok { |
| 43 | buf, err := j.marshalNonProtoField(v) |
| 44 | if err != nil { |
| 45 | return err |
| 46 | } |
| 47 | if j.Indent != "" { |
| 48 | b := &bytes.Buffer{} |
| 49 | if err := json.Indent(b, buf, "", j.Indent); err != nil { |
| 50 | return err |
| 51 | } |
| 52 | buf = b.Bytes() |
| 53 | } |
| 54 | _, err = w.Write(buf) |
| 55 | return err |
| 56 | } |
| 57 | |
| 58 | b, err := j.MarshalOptions.Marshal(p) |
| 59 | if err != nil { |
| 60 | return err |
| 61 | } |
| 62 | |
| 63 | _, err = w.Write(b) |
| 64 | return err |
| 65 | } |
| 66 | |
| 67 | var ( |
| 68 | // protoMessageType is stored to prevent constant lookup of the same type at runtime. |
no test coverage detected