MCPcopy
hub / github.com/h2oai/wave / fillFormCardBufs

Function fillFormCardBufs

card.go:258–305  ·  view source on GitHub ↗
(data map[string]any, outData map[string]any, bufs *[]BufD, keys []string)

Source from the content-addressed store, hash-verified

256}
257
258func fillFormCardBufs(data map[string]any, outData map[string]any, bufs *[]BufD, keys []string) {
259 items, ok := data["items"]
260 if !ok {
261 return
262 }
263 itemsSlice, ok := items.([]any)
264 if !ok {
265 return
266 }
267
268 keys = append(keys, "items")
269 for idx, item := range itemsSlice {
270 itemMap, ok := item.(map[string]any)
271 if !ok {
272 continue
273 }
274 if v, ok := itemMap["inline"]; ok {
275 if v, ok := v.(map[string]any); ok {
276 keys = append(keys, strconv.Itoa(idx), "inline")
277 fillFormCardBufs(v, outData, bufs, keys)
278 keys = keys[:len(keys)-2]
279 }
280 }
281 visualizationMap, ok := item.(map[string]any)
282 if !ok {
283 continue
284 }
285 v, ok := visualizationMap["visualization"]
286 if !ok {
287 continue
288 }
289 valueMap, ok := v.(map[string]any)
290 if !ok {
291 continue
292 }
293 b, ok := valueMap["data"]
294 if !ok {
295 continue
296 }
297 if b, ok := b.(Buf); ok {
298 key := fmt.Sprintf("%s.%d.visualization.data", strings.Join(keys, "."), idx)
299 outData[dataPrefix+key] = len(*bufs)
300 *bufs = append(*bufs, b.dump())
301 }
302 }
303 //lint:ignore SA4006 this function is recursive so mutation is necessary.
304 keys = keys[:len(keys)-1]
305}

Callers 1

dumpMethod · 0.85

Calls 1

dumpMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…