I don't know how a raw Go interface value would be usable in Javascript. As an alternative, would it be any good to use sprintf("%T", readErr) as the code, and readErr.Error() as the value? At least those are both strings.
https://go.dev/play/p/nd1FXUvD_zg On Friday, 23 December 2022 at 14:33:21 UTC Will Hawkins wrote: > Hello everyone! > > First, thank you *all* (I mean this great community) for the Go language > and especially its support for a wasm target. > > As I was attempting to finish up a CL ( > https://go-review.googlesource.com/c/go/+/458395) I found occasion to > need to great a JS Error based on a Go error. I was hoping to use the JS > Error constructor that includes an option object to specify a cause and > value ( > https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause) > > by using the actual go error. Here's what I was thinking: > > readErrCause := js.Global().Get("Object").New() > readErrCause.Set("code", readErr.Error()) > readErrCause.Set("value", js.ValueOf(readErr)) > readErr := js.Global().Get("Error").New("ReadFull failed", readErrCause) > > (where readErr is of the `error` type, of course) > > Unfortunately, > readErrCause.Set("value", js.ValueOf(readErr)) > > does not work because, as the comment so perfectly says, ValueOf > > // Panics if x is not one of the expected types. > > I am absolutely up for proposing and implementing a small addition to the > "js package" if people think it would be helpful but I wanted to check here > first. > > Again, thank you for all the great work that you *all* do!! > > Sincerely, > Will > > > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/08d9eb2b-49bb-4a8a-8b81-d54b70a24fc0n%40googlegroups.com.