Newer
Older
package converters
import (
"errors"
"strconv"
"strings"
"gitlab.com/evatix-go/core/constants"
"gitlab.com/evatix-go/core/converters/coreconverted"
)

Md. Alim Ul Karim
committed
// StringsToIntegersWithDefaults On fail use the default int
func StringsToIntegersWithDefaults(
defaultInt int,
) *coreconverted.Integers {
results := make([]int, 0, len(strArray))
var errMessages []string
for i, v := range strArray {
vInt, err := strconv.Atoi(v)
if err != nil {
results[i] = defaultInt
errMessage := constants.IndexColonSpace +
strconv.Itoa(i) +
err.Error()
errMessages = append(
errMessages,
errMessage)
continue
}
results[i] = vInt
}
var combinedError error
if len(errMessages) > 0 {
errCompiledMessage := strings.Join(errMessages, constants.NewLineUnix)
combinedError = errors.New(errCompiledMessage)
}
return &coreconverted.Integers{
CombinedError: combinedError,
}
}