in internal/gitlab/asset_marshaller.go [15:47]
func AssetMarshaller(assetLink []string) (*Assets, error) {
assets := &Assets{
Links: []*Link{},
}
if len(assetLink) == 0 {
return assets, nil
}
var result *multierror.Error
for _, asset := range assetLink {
dec := json.NewDecoder(strings.NewReader(asset))
t, _ := dec.Token()
var err error
switch t {
case json.Delim('['):
err = processMultipleAssets(asset, assets)
case json.Delim('{'):
err = processSingleAsset(asset, assets)
default:
err = fmt.Errorf("invalid delimiter for asset: %q", asset)
}
if err != nil {
result = multierror.Append(result, err)
}
}
return assets, result.ErrorOrNil()
}