MCPcopy Create free account
hub / github.com/buger/jsonparser / createInsertComponentBuffered

Function createInsertComponentBuffered

issues_56_107_229_test.go:237–282  ·  view source on GitHub ↗
(keys []string, setValue []byte, comma, object bool)

Source from the content-addressed store, hash-verified

235}
236
237func createInsertComponentBuffered(keys []string, setValue []byte, comma, object bool) []byte {
238 var buffer bytes.Buffer
239 isIndex := len(keys[0]) > 0 && keys[0][0] == '['
240
241 if comma {
242 buffer.WriteByte(',')
243 }
244 if isIndex && !comma {
245 buffer.WriteByte('[')
246 } else {
247 if object {
248 buffer.WriteByte('{')
249 }
250 if !isIndex {
251 buffer.WriteByte('"')
252 buffer.WriteString(keys[0])
253 buffer.WriteString(`":`)
254 }
255 }
256
257 for i := 1; i < len(keys); i++ {
258 if len(keys[i]) > 0 && keys[i][0] == '[' {
259 buffer.WriteByte('[')
260 } else {
261 buffer.WriteString(`{"`)
262 buffer.WriteString(keys[i])
263 buffer.WriteString(`":`)
264 }
265 }
266 buffer.Write(setValue)
267 for i := len(keys) - 1; i > 0; i-- {
268 if len(keys[i]) > 0 && keys[i][0] == '[' {
269 buffer.WriteByte(']')
270 } else {
271 buffer.WriteByte('}')
272 }
273 }
274 if isIndex && !comma {
275 buffer.WriteByte(']')
276 }
277 if object && !isIndex {
278 buffer.WriteByte('}')
279 }
280
281 return buffer.Bytes()
282}

Callers 1

BenchmarkSetFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected