77 "regexp"
88 "strings"
99 "text/template"
10+
11+ "github.com/codeshelldev/secured-signal-api/utils/jsonutils"
12+ "github.com/codeshelldev/secured-signal-api/utils/logger"
1013)
1114
1215func normalize (value any ) string {
@@ -128,25 +131,33 @@ func RenderJSONTemplate(name string, data map[string]any, variables map[string]a
128131
129132 tmplStr := string (jsonBytes )
130133
134+ logger .Dev ("1\n " , tmplStr )
135+
131136 re , err := regexp .Compile (`{{\s*\.([a-zA-Z0-9_.]+)\s*}}` )
132137
133138 // Add normalize() to be able to remove Quotes from Arrays
134139 if err == nil {
135140 tmplStr = re .ReplaceAllString (tmplStr , "{{normalize .$1}}" )
136141 }
137142
143+ logger .Dev ("2\n " , tmplStr )
144+
138145 templt := CreateTemplateWithFunc (name , template.FuncMap {
139146 "normalize" : normalizeJSON ,
140147 })
141148
142149 jsonStr , err := ParseTemplate (templt , tmplStr , variables )
143150
151+ logger .Dev ("3\n " , tmplStr )
152+
144153 if err != nil {
145154 return nil , err
146155 }
147156
148157 jsonStr = cleanQuotedPairsJSON (jsonStr )
149158
159+ logger .Dev ("4\n " , tmplStr )
160+
150161 // Remove the Quotes around "<<[item1,item2]>>"
151162 re , err = regexp .Compile (`"<<(.*?)>>"` )
152163
@@ -156,8 +167,12 @@ func RenderJSONTemplate(name string, data map[string]any, variables map[string]a
156167
157168 jsonStr = re .ReplaceAllString (jsonStr , "$1" )
158169
170+ logger .Dev ("5\n " , tmplStr )
171+
159172 err = json .Unmarshal ([]byte (jsonStr ), & data )
160173
174+ logger .Dev ("6\n " , jsonutils .ToJson (data ))
175+
161176 if err != nil {
162177 return nil , err
163178 }
0 commit comments