vektah/gqlparser

Add `Is(err error) bool` to gqlerror to work with `errors.Is`

Opened this issue · 2 comments

What happened?

Trying to compare two gqlerrors using either errors.Is or something like https://github.com/google/go-cmp with cmpopts.EquateErrors fails when the two errors have all the same fields, but are different structs.

What did you expect?

The comparison to succeed. Because gqlerror does not implement an Is method, it fails even though they are for all intents and purposes equal.

versions

  • go list -m github.com/vektah/gqlparser/v2? v2.5.1
  • go version? v1.19.4

Excellent idea! PR welcome!

I'm not sure I have enough context on each of the fields to say what equal should be. Hopefully someone with more confidence can step in.