func getVertex()

in gdbclient/internal/graphsonv3/graphreader.go [325:352]


func getVertex(r *result) (interface{}, error) {
	v := &vertexV3{}
	err := json.Unmarshal(r.Value, v)
	if err != nil {
		return nil, internal.NewDeserializerError("vertex", r.Value, err)
	}

	vertex := graph.NewDetachedVertex(graph.NewDetachedElement(v.Id, v.Label))

	for _, props := range v.Properties {
		for _, prop := range props {
			p, err := getVertexProperty(&prop)
			if err != nil {
				return nil, err
			}

			if vp, ok := p.(*graph.DetachedVertexProperty); ok {
				// attach vertex to this prop
				vp.SetVertex(vertex)

				// add prop to vertex element
				vertex.AddProperty(vp)
			}
		}
	}

	return vertex, nil
}