go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/projects/nodes/pkg/types/graph.go (about) 1 /* 2 3 Copyright (c) 2023 - Present. Will Charczuk. All rights reserved. 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository. 5 6 */ 7 8 package types 9 10 import "github.com/wcharczuk/go-incr" 11 12 // GraphFromIncr returns a db graph from an incremental graph object. 13 func GraphFromIncr(g *incr.Graph) *Graph { 14 eg := incr.ExpertGraph(g) 15 meta, _ := g.Metadata().(*GraphMetadata) 16 return &Graph{ 17 ID: g.ID(), 18 Label: g.Label(), 19 StabilizationNum: eg.StabilizationNum(), 20 Metadata: *meta, 21 } 22 } 23 24 type Graph struct { 25 ID incr.Identifier `json:"id"` 26 Label string `json:"label"` 27 StabilizationNum uint64 `json:"stabilization_num"` 28 Metadata GraphMetadata `json:"metadata"` 29 }