99designs / 99designs/gqlgen

Use errors.Join instead of multierror.Append

Aberta Para iniciantes
#3,000 0 comentários 0 reações 0 responsáveis Ver no GitHub
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

Abrir o 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

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.