@@ -140,24 +140,19 @@ func newProperty(cmd *cobra.Command, args []string) {
140
140
}
141
141
142
142
func newYaml (args []string ) interface {} {
143
- var writeCommands map [ string ] interface {}
143
+ var writeCommands yaml. MapSlice
144
144
if writeScript != "" {
145
145
readData (writeScript , & writeCommands , false )
146
146
} else if len (args ) < 2 {
147
147
die ("Must provide <path_to_update> <value>" )
148
148
} else {
149
- writeCommands = make (map [ string ] interface {} )
150
- writeCommands [args [0 ]] = parseValue (args [1 ])
149
+ writeCommands = make (yaml. MapSlice , 1 )
150
+ writeCommands [0 ] = yaml. MapItem { Key : args [0 ], Value : parseValue (args [1 ])}
151
151
}
152
152
153
153
parsedData := make (yaml.MapSlice , 0 )
154
154
155
- for path , value := range writeCommands {
156
- var paths = parsePath (path )
157
- parsedData = writeMap (parsedData , paths , value )
158
- }
159
-
160
- return parsedData
155
+ return updateParsedData (parsedData , writeCommands )
161
156
}
162
157
163
158
func writeProperty (cmd * cobra.Command , args []string ) {
@@ -172,26 +167,31 @@ func writeProperty(cmd *cobra.Command, args []string) {
172
167
}
173
168
}
174
169
170
+ func updateParsedData (parsedData yaml.MapSlice , writeCommands yaml.MapSlice ) yaml.MapSlice {
171
+ for _ , entry := range writeCommands {
172
+ path := entry .Key
173
+ value := entry .Value
174
+ var paths = parsePath (path .(string ))
175
+ parsedData = writeMap (parsedData , paths , value )
176
+ }
177
+ return parsedData
178
+ }
179
+
175
180
func updateYaml (args []string ) interface {} {
176
- var writeCommands map [ string ] interface {}
181
+ var writeCommands yaml. MapSlice
177
182
if writeScript != "" {
178
183
readData (writeScript , & writeCommands , false )
179
184
} else if len (args ) < 3 {
180
185
die ("Must provide <filename> <path_to_update> <value>" )
181
186
} else {
182
- writeCommands = make (map [ string ] interface {} )
183
- writeCommands [args [1 ]] = parseValue (args [2 ])
187
+ writeCommands = make (yaml. MapSlice , 1 )
188
+ writeCommands [0 ] = yaml. MapItem { Key : args [1 ], Value : parseValue (args [2 ])}
184
189
}
185
190
186
191
var parsedData yaml.MapSlice
187
192
readData (args [0 ], & parsedData , inputJSON )
188
193
189
- for path , value := range writeCommands {
190
- var paths = parsePath (path )
191
- parsedData = writeMap (parsedData , paths , value )
192
- }
193
-
194
- return parsedData
194
+ return updateParsedData (parsedData , writeCommands )
195
195
}
196
196
197
197
func parseValue (argument string ) interface {} {
0 commit comments