// ConvertActions takes a generic getActionsFn to obtain a slice // of state.Action and then converts them to the API slice of // params.ActionResult. func ConvertActions(ar state.ActionReceiver, fn GetActionsFn) ([]params.ActionResult, error) { items := []params.ActionResult{} actions, err := fn() if err != nil { return items, err } for _, action := range actions { if action == nil { continue } items = append(items, MakeActionResult(ar.Tag(), action)) } return items, nil }