-
Notifications
You must be signed in to change notification settings - Fork 1
/
connection.go
55 lines (48 loc) · 1.15 KB
/
connection.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package mayaascii
type Connections struct {
source []*ConnectAttrCmd
}
func NewConnections() Connections {
return Connections{
source: []*ConnectAttrCmd{},
}
}
func (ci *Connections) Append(ca *ConnectAttrCmd) {
ci.source = append(ci.source, ca)
}
func (ci *Connections) GetSrcNames(nodeName string) []string {
var results []string
for _, s := range ci.source {
if s.DstNode == nodeName {
results = append(results, s.SrcNode)
}
}
return results
}
func (ci *Connections) GetSrcNamesAttr(nodeName, attrName string) []string {
var results []string
for _, s := range ci.source {
if s.DstNode == nodeName && s.DstAttr == attrName {
results = append(results, s.SrcNode)
}
}
return results
}
func (ci *Connections) GetDstNames(nodeName string) []string {
var results []string
for _, s := range ci.source {
if s.SrcNode == nodeName {
results = append(results, s.DstNode)
}
}
return results
}
func (ci *Connections) GetDstNamesAttr(nodeName, attrName string) []string {
var results []string
for _, s := range ci.source {
if s.SrcNode == nodeName && s.SrcAttr == attrName {
results = append(results, s.DstNode)
}
}
return results
}