gqlparser icon indicating copy to clipboard operation
gqlparser copied to clipboard

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

Open RobAtticus opened this issue 3 years ago • 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

RobAtticus avatar Dec 14 '22 01:12 RobAtticus

Excellent idea! PR welcome!

StevenACoffman avatar Dec 14 '22 02:12 StevenACoffman

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.

RobAtticus avatar Dec 19 '22 16:12 RobAtticus