(name, fieldName string, fieldValues []string)
| 367 | } |
| 368 | |
| 369 | func (c *configAST) appendStringSliceField(name, fieldName string, fieldValues []string) { |
| 370 | pkgObject := c.findPkgObject(name) |
| 371 | if pkgObject == nil { |
| 372 | return |
| 373 | } |
| 374 | |
| 375 | var arr *hujson.Array |
| 376 | if i := c.memberIndex(pkgObject, fieldName); i == -1 { |
| 377 | arr = &hujson.Array{ |
| 378 | Elements: make([]hujson.Value, 0, len(fieldValues)), |
| 379 | } |
| 380 | pkgObject.Members = append(pkgObject.Members, hujson.ObjectMember{ |
| 381 | Name: hujson.Value{ |
| 382 | Value: hujson.String(fieldName), |
| 383 | BeforeExtra: []byte{'\n'}, |
| 384 | }, |
| 385 | Value: hujson.Value{Value: arr}, |
| 386 | }) |
| 387 | } else { |
| 388 | arr = pkgObject.Members[i].Value.Value.(*hujson.Array) |
| 389 | arr.Elements = slices.Grow(arr.Elements, len(fieldValues)) |
| 390 | } |
| 391 | |
| 392 | for _, p := range fieldValues { |
| 393 | arr.Elements = append(arr.Elements, hujson.Value{Value: hujson.String(p)}) |
| 394 | } |
| 395 | c.root.Format() |
| 396 | } |
| 397 | |
| 398 | func (c *configAST) beforeComment(path ...any) []byte { |
| 399 | elem := c.root |
no test coverage detected