github.com/k0marov/go-socnet@v0.0.0-20220715154813-90d07867c782/core/helpers/helpers.go (about)

     1  package helpers
     2  
     3  func MapForEachWithErr[INP, OUT any](input []INP, mapper func(INP) (OUT, error)) (output []OUT, err error) {
     4  	for _, elem := range input {
     5  		mapped, err := mapper(elem)
     6  		if err != nil {
     7  			return []OUT{}, err
     8  		}
     9  		output = append(output, mapped)
    10  	}
    11  	return
    12  }
    13  
    14  func MapForEach[INP, OUT any](input []INP, mapper func(INP) OUT) (output []OUT) {
    15  	for _, elem := range input {
    16  		output = append(output, mapper(elem))
    17  	}
    18  	return
    19  }