func labelFor(node graph.Node) string { switch node := node.(type) { case CollectionNode: return node.Name case RuleNode: return fmt.Sprintf("rule %d", node.num) case FieldNode: return fmt.Sprintf("%s.%s", node.collectionName, node.field) default: return fmt.Sprint(node.ID()) } }
func nameFor(node graph.Node) string { switch node := node.(type) { case CollectionNode: return node.Name case RuleNode: return fmt.Sprintf("rule%d", node.num) case FieldNode: fieldName := node.field if fieldName[0] == '@' { fieldName = node.field[1:] } return fmt.Sprintf("%s_%s", node.collectionName, fieldName) default: return fmt.Sprint(node.ID()) } }