Use errors.Join instead of multierror.Append
- Linguagem predominante
- Go
- Estrelas
- 10.8k
- Forks
- 1.3k
- Merge médio
- 2d 36min
- PRs com merge (30d)
- 26
Descrição
### What happened?
In gql_node.go:
```go
func (c *Client) Noder(ctx context.Context, id int, opts ...NodeOption) (_ Noder, err error) {
defer func() {
if IsNotFound(err) {
err = multierror.Append(err, entgql.ErrNodeNotFound(id))
}
}()
table, err := c.newNodeOpts(opts).nodeType(ctx, id)
if err != nil {
return nil, err
}
return c.noder(ctx, table, id)
}
// ...
func (c *Client) Noders(ctx context.Context, ids []int, opts ...NodeOption) ([]Noder, error) {
// ...
for i, id := range ids {
if errors[i] == nil {
if noders[i] != nil {
continue
}
errors[i] = entgql.ErrNodeNotFound(id)
} else if IsNotFound(errors[i]) {
errors[i] = multierror.Append(errors[i], entgql.ErrNodeNotFound(id))
}
ctx := graphql.WithPathContext(ctx,
graphql.NewPathWithIndex(i),
)
graphql.AddError(ctx, errors[i])
}
// ...
}
```
### What did you expect?
Use errors.Join instead.
### Minimal graphql.schema and models to reproduce
I think it's always there?
### versions
- `go run github.com/99designs/gqlgen version`? v0.17.45
- `go version`? go version go1.22.2 darwin/arm64
Guia de contribuição
Direção de pesquisa
A issue aponta para gql_node.go, especificamente para as funções Noder e Noders. Procure por imports de 'multierror' e substitua multierror.Append por errors.Join. Consulte a documentação do pacote errors da biblioteca padrão do Go para verificar o uso de errors.Join. Execute os testes existentes para garantir que o refactoring não cause nenhuma quebra.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- go
- Domínio
- backend
- Tipo de issue
- Refatoração
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Status de atividade
- Estagnada
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 65/100