error.go raw

   1  //go:build js && wasm
   2  
   3  package safejs
   4  
   5  import (
   6  	"syscall/js"
   7  
   8  	"github.com/hack-pad/safejs/internal/catch"
   9  )
  10  
  11  // Error wraps a JavaScript error.
  12  type Error struct {
  13  	err js.Error
  14  }
  15  
  16  // Error implements the error interface.
  17  func (e Error) Error() string {
  18  	errStr, err := catch.Try(e.err.Error)
  19  	if err != nil {
  20  		return "failed generating error message: " + err.Error()
  21  	}
  22  	return errStr
  23  }
  24