-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathutils.go
More file actions
50 lines (46 loc) · 941 Bytes
/
utils.go
File metadata and controls
50 lines (46 loc) · 941 Bytes
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
package sep
import "strings"
import "strconv"
func DetectType(data string) string {
if len(data) == 0 {
return "string"
}
if data[0] == '[' {
return "list"
}
if data[0] == '{' {
return "map"
}
if data[0] == '*' {
return "variable"
}
_, err := strconv.Atoi(data)
if err == nil {
return "int"
}
return "string"
}
// Normalize the [s and ]s into {s and }s for maps
func NormalizeMapString(data string) string {
if len(data) < 3 {
return "{}"
}
if data == "[]" {
return "{}"
}
if data[0] == '[' && data[len(data) - 1] == ']' {
data = data[1:len(data) - 1]
data = "{" + data + "}"
}
return data
}
func NormalizeBool(data string) (out string, success bool) {
data = strings.ToLower(data)
if data == "1" || data == "true" || data == "yes" {
return "true", true
} else if data == "0" || data == "false" || data == "no" || data == "o noes" {
return "false", true
} else {
return "false", false
}
}