MCPcopy Create free account
hub / github.com/francoispqt/gojay / ObjectNullEmpty

Method ObjectNullEmpty

encode_object.go:196–219  ·  view source on GitHub ↗

ObjectNullEmpty adds an object to be encoded or skips it if IsNil returns true. Must be used inside a slice or array encoding (does not encode a key) value must implement MarshalerJSONObject

(v MarshalerJSONObject)

Source from the content-addressed store, hash-verified

194// Must be used inside a slice or array encoding (does not encode a key)
195// value must implement MarshalerJSONObject
196func (enc *Encoder) ObjectNullEmpty(v MarshalerJSONObject) {
197 enc.grow(2)
198 r := enc.getPreviousRune()
199 if r != '[' {
200 enc.writeByte(',')
201 }
202 if v.IsNil() {
203 enc.writeBytes(nullBytes)
204 return
205 }
206 enc.writeByte('{')
207
208 var origHasKeys = enc.hasKeys
209 var origKeys = enc.keys
210 enc.hasKeys = false
211 enc.keys = nil
212
213 v.MarshalJSONObject(enc)
214
215 enc.hasKeys = origHasKeys
216 enc.keys = origKeys
217
218 enc.writeByte('}')
219}
220
221// ObjectKey adds a struct to be encoded, must be used inside an object as it will encode a key
222// value must implement MarshalerJSONObject

Callers 2

AddObjectNullEmptyMethod · 0.95

Calls 6

growMethod · 0.95
getPreviousRuneMethod · 0.95
writeByteMethod · 0.95
writeBytesMethod · 0.95
IsNilMethod · 0.65
MarshalJSONObjectMethod · 0.65

Tested by 1