Newer
Older
////////////////////////////////////////////////////////////////////////////////
// //
// Use of this source code is governed by a license that can be found in the //
////////////////////////////////////////////////////////////////////////////////
//go:build js && wasm
package wasm
import (

Richard T. Carback III
committed
"gitlab.com/elixxir/client/v4/bindings"
"gitlab.com/elixxir/wasm-utils/exception"
"syscall/js"
)
// CreateUserFriendlyErrorMessage will convert the passed in error string to an
// error string that is user-friendly if a substring match is found to a
// common error. Common errors is a map that can be updated using
// UpdateCommonErrors. If the error is not common, some simple parsing is done
// on the error message to make it more user-accessible, removing backend
// specific jargon.
//
// Parameters:
// - args[0] - an error returned from the backend (string).
//
// Returns
// - A user-friendly error message. This should be devoid of technical speak
// but still be meaningful for front-end or back-end teams (string).
func CreateUserFriendlyErrorMessage(_ js.Value, args []js.Value) any {
return bindings.CreateUserFriendlyErrorMessage(args[0].String())
}
// UpdateCommonErrors updates the internal error mapping database. This internal
// database maps errors returned from the backend to user-friendly error
// messages.
//
// Parameters:
// - args[0] - Contents of a JSON file whose format conforms to the example
// below (string).
//
// {
// "Failed to Unmarshal Conversation": "Could not retrieve conversation",
// "Failed to unmarshal SentRequestMap": "Failed to pull up friend requests",
// "cannot create username when network is not health": "Cannot create username, unable to connect to network",
// }
// - Throws an error if the JSON cannot be unmarshalled.
func UpdateCommonErrors(_ js.Value, args []js.Value) any {
err := bindings.UpdateCommonErrors(args[0].String())
if err != nil {