-
Notifications
You must be signed in to change notification settings - Fork 14
/
sprig_wrapper.go
87 lines (81 loc) · 1.45 KB
/
sprig_wrapper.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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// Copyright (c) 2022 Red Hat, Inc.
// Copyright Contributors to the Open Cluster Management project
package templates
import (
sprig "github.com/Masterminds/sprig/v3"
)
var (
sprigFuncMap = sprig.FuncMap()
// exportedSprigFunctions lists all of the functions from sprig that will be exposed
exportedSprigFunctions = []string{
"add",
"append",
"cat",
"concat",
"contains",
"date",
"default",
"dict",
"dig",
"div",
"empty",
"fromJson",
"get",
"has",
"hasKey",
"hasPrefix",
"hasSuffix",
"htpasswd",
"join",
"list",
"lower",
"merge",
"mul",
"mustAppend",
"mustFromJson",
"mustHas",
"mustMerge",
"mustPrepend",
"mustRegexFind",
"mustRegexFindAll",
"mustRegexMatch",
"mustSlice",
"mustToDate",
"mustToRawJson",
"now",
"prepend",
"quote",
"regexFind",
"regexFindAll",
"regexMatch",
"regexQuoteMeta",
"replace",
"round",
"semver",
"semverCompare",
"set",
"slice",
"split",
"splitn",
"sub",
"substr",
"ternary",
"toDate",
"toRawJson",
"trim",
"trimAll",
"trunc",
"unset",
"until",
"untilStep",
"upper",
}
)
func getSprigFunc(funcName string) (result interface{}) {
return sprigFuncMap[funcName]
}
// AvailableSprigFunctions returns a copy of the list of functions that this
// library makes available from the Sprig library.
func AvailableSprigFunctions() []string {
return append(make([]string, 0, len(exportedSprigFunctions)), exportedSprigFunctions...)
}