package
0.5.1
Repository: https://github.com/awalterschulze/goderive.git
Documentation: pkg.go.dev

# README

The deriveTraverse function applies a given function to each element of a list, returning a list of results in the same order or an error.

Given the following input:

package traverse

import "strconv"

func toInts(ss []string) ([]int, error) {
	return deriveTraverse(strconv.Atoi, ss)
}

goderive will generate the following code:

// Code generated by goderive DO NOT EDIT.

package traverse

// deriveTraverse returns a list where each element of the input list has been morphed by the input function or an error.
func deriveTraverse(f func(string) (int, error), list []string) ([]int, error) {
	out := make([]int, len(list))
	var err error
	for i, elem := range list {
		out[i], err = f(elem)
		if err != nil {
			return nil, err
		}
	}
	return out, nil
}