in merge.go [424:453]
func normalizeArray(
opts *options,
tagOpts tagOptions,
ctx context,
v reflect.Value,
) (value, Error) {
l := v.Len()
out := make([]value, 0, l)
cfg := New()
cfg.metadata = opts.meta
cfg.ctx = ctx
val := cfgSub{cfg}
for i := 0; i < l; i++ {
idx := fmt.Sprintf("%v", i)
ctx := context{
parent: val,
field: idx,
}
tmp, err := normalizeValue(opts, tagOpts, ctx, v.Index(i))
if err != nil {
return nil, err
}
out = append(out, tmp)
}
cfg.fields.a = out
return val, nil
}