MCPcopy Create free account
hub / github.com/bet365/jingo / optInstrEncoderWriter

Method optInstrEncoderWriter

structencoder.go:209–229  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

207}
208
209func (e *StructEncoder) optInstrEncoderWriter() {
210 t := reflect.ValueOf(e.t).Field(e.i).Type()
211 if e.f.Type.Kind() == reflect.Ptr {
212 t = t.Elem()
213 }
214
215 conv := func(v unsafe.Pointer, w *Buffer) {
216 e, ok := reflect.NewAt(t, v).Interface().(JSONMarshaler)
217 if !ok {
218 w.Write(null)
219 return
220 }
221 e.EncodeJSON(w)
222 }
223
224 if e.f.Type.Kind() == reflect.Ptr {
225 e.ptrval(conv)
226 } else {
227 e.val(conv)
228 }
229}
230
231func (e *StructEncoder) optInstrRaw() {
232 conv := func(v unsafe.Pointer, w *Buffer) {

Callers 1

NewStructEncoderFunction · 0.95

Calls 4

ptrvalMethod · 0.95
valMethod · 0.95
WriteMethod · 0.80
EncodeJSONMethod · 0.65

Tested by

no test coverage detected