MCPcopy Index your code
hub / github.com/dosco/graphjin / writeNode

Function writeNode

core/database_join.go:670–711  ·  view source on GitHub ↗

writeNode writes a Node value to the buffer

(buf *bytes.Buffer, n *graph.Node)

Source from the content-addressed store, hash-verified

668
669// writeNode writes a Node value to the buffer
670func writeNode(buf *bytes.Buffer, n *graph.Node) {
671 if n == nil {
672 buf.WriteString("null")
673 return
674 }
675
676 switch n.Type {
677 case graph.NodeStr:
678 buf.WriteString("\"")
679 buf.WriteString(strings.ReplaceAll(n.Val, "\"", "\\\""))
680 buf.WriteString("\"")
681 case graph.NodeNum, graph.NodeBool:
682 buf.WriteString(n.Val)
683 case graph.NodeVar:
684 buf.WriteString("$")
685 buf.WriteString(n.Val)
686 case graph.NodeLabel:
687 buf.WriteString(n.Val)
688 case graph.NodeList:
689 buf.WriteString("[")
690 for i, child := range n.Children {
691 if i > 0 {
692 buf.WriteString(", ")
693 }
694 writeNode(buf, child)
695 }
696 buf.WriteString("]")
697 case graph.NodeObj:
698 buf.WriteString("{")
699 for i, child := range n.Children {
700 if i > 0 {
701 buf.WriteString(", ")
702 }
703 buf.WriteString(child.Name)
704 buf.WriteString(": ")
705 writeNode(buf, child)
706 }
707 buf.WriteString("}")
708 default:
709 buf.WriteString(n.Val)
710 }
711}
712
713// executeParallelRoots executes root-level queries to different databases in parallel
714// and merges the results. This is called when a single GraphQL query references

Callers 1

writeFieldsRecursiveFunction · 0.85

Calls 1

WriteStringMethod · 0.65

Tested by

no test coverage detected