view pkg/common/errors.go @ 5059:c4f90dcd7c15 time-sliding

merge default into time-slinding branch
author Fadi Abbud <fadi.abbud@intevation.de>
date Mon, 09 Mar 2020 12:41:47 +0100
parents 6c760abcff0e
children c4e295b2d6a3
line wrap: on
line source

// This is Free Software under GNU Affero General Public License v >= 3.0
// without warranty, see README.md and license for details.
//
// SPDX-License-Identifier: AGPL-3.0-or-later
// License-Filename: LICENSES/AGPL-3.0.txt
//
// Copyright (C) 2018 by via donau
//   – Österreichische Wasserstraßen-Gesellschaft mbH
// Software engineering by Intevation GmbH
//
// Author(s):
//  * Sascha L. Teichmann <sascha.teichmann@intevation.de>

package common

import (
	"errors"
	"fmt"
	"strings"
)

// ToError concats a slice of errors to a single error.
func ToError(errs []error) error {
	var b strings.Builder
	for i, err := range errs {
		if i > 0 {
			fmt.Fprintf(&b, ", ")
		}
		fmt.Fprintf(&b, "%v", err)
	}
	return errors.New(b.String())
}