forked from project-flogo/core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
alias.go
60 lines (45 loc) · 1.07 KB
/
alias.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
56
57
58
59
60
package support
import "fmt"
var aliases = make(map[string]map[string]string)
var noContributionAlias = make(map[string]string)
func RegisterAlias(contribType, alias, ref string) error {
aliasToRefMap, exists := aliases[contribType]
if !exists {
aliasToRefMap = make(map[string]string)
aliases[contribType] = aliasToRefMap
}
if _, exists := aliasToRefMap[alias]; exists {
return fmt.Errorf("alias '%s' for %s already registered", alias, contribType)
}
aliasToRefMap[alias] = ref
return nil
}
func GetAliasRef(contribType, alias string) (string, bool) {
if alias == "" {
return "", false
}
if alias[0] == '#' {
alias = alias[1:]
}
aliasToRefMap, exists := aliases[contribType]
if !exists {
return "", false
}
ref, exists := aliasToRefMap[alias]
if !exists {
return "", false
}
return ref, true
}
func SaveNonContributionAlias(alias, ref string) {
noContributionAlias[alias] = ref
}
func GetNonContributionAlias(alias string) string {
if alias == "" {
return ""
}
if alias[0] == '#' {
alias = alias[1:]
}
return noContributionAlias[alias]
}