Skip to content

Commit 23ec77b

Browse files
committed
[core] Make JSON template functions available in all contexts
1 parent 75d7067 commit 23ec77b

3 files changed

Lines changed: 20 additions & 25 deletions

File tree

core/task/task.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ func (t *Task) BuildPropertyMap(bindMap channel.BindMap) (propMap controlcommand
304304
return
305305
}
306306

307-
objStack := template.MakeJsonConversionFuncMap()
307+
objStack := make(map[string]interface{})
308308
objStack["GetConfig"] = template.MakeGetConfigFunc(varStack)
309309

310310
for k, v := range t.GetProperties() {

core/workflow/iteratorrange.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func (f *iteratorRangeExpr) GetRange(varStack map[string]string) (ran []string,
4848
fields := template.Fields{
4949
template.WrapPointer(&f.Range),
5050
}
51-
err = fields.Execute("", varStack, template.MakeJsonConversionFuncMap(), make(map[string]texttemplate.Template))
51+
err = fields.Execute("", varStack, make(map[string]interface{}), make(map[string]texttemplate.Template))
5252
if err != nil {
5353
return
5454
}

core/workflow/template/stack.go

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -53,29 +53,6 @@ func MakeGetConfigFunc(varStack map[string]string) GetConfigFunc {
5353
}
5454
}
5555

56-
func MakeJsonConversionFuncMap() map[string]interface{} {
57-
return map[string]interface{} {
58-
"FromJson": func(in string) (out interface{}) {
59-
bytes := []byte(in)
60-
err := yaml.Unmarshal(bytes, out)
61-
if err != nil {
62-
log.WithError(err).Warn("error unmarshaling JSON/YAML in template system")
63-
return
64-
}
65-
return
66-
},
67-
"ToJson": func(in interface{}) (out string) {
68-
bytes, err := json.Marshal(in)
69-
if err != nil {
70-
log.WithError(err).Warn("error marshaling JSON/YAML in template system")
71-
return
72-
}
73-
out = string(bytes)
74-
return
75-
},
76-
}
77-
}
78-
7956
func MakeStrOperationFuncMap() map[string]interface{} {
8057
return map[string]interface{}{
8158
"Atoi": func(in string) (out int) {
@@ -99,5 +76,23 @@ func MakeStrOperationFuncMap() map[string]interface{} {
9976
out = strings.TrimSpace(in)
10077
return
10178
},
79+
"FromJson": func(in string) (out interface{}) {
80+
bytes := []byte(in)
81+
err := yaml.Unmarshal(bytes, out)
82+
if err != nil {
83+
log.WithError(err).Warn("error unmarshaling JSON/YAML in template system")
84+
return
85+
}
86+
return
87+
},
88+
"ToJson": func(in interface{}) (out string) {
89+
bytes, err := json.Marshal(in)
90+
if err != nil {
91+
log.WithError(err).Warn("error marshaling JSON/YAML in template system")
92+
return
93+
}
94+
out = string(bytes)
95+
return
96+
},
10297
}
10398
}

0 commit comments

Comments
 (0)