-
Notifications
You must be signed in to change notification settings - Fork 54
Open
Description
I'm trying oto and thanks it's made creating a client lib so easy. I wonder could oto create an error object for the client-side ? I imagine something like this
// definition.go
type ServiceError int
const (
ErrInternal ServiceError = 1000
ErrPermissionDenined ServiceError = 1001
ErrInvalidArgument ServiceError = 1002
)
func (s ServiceError) Error() string {
switch s {
default: // ErrInternal
return "internal"
case ErrInvalidArgument:
return "invalid_argument"
case ErrPermissionDenined:
return "permission_denied"
}
}// client.js
const ErrInvalidArgument = new Error('permission_denied')// index.js
try {
res = await greeter.Greets(req)
} catch (err) {
switch (err.message) {
case greeter.ErrInvalidArgument:
// do something
case greeter.ErrPermissionDenined:
// do something
case greeter.ErrInternal:
// do something
}
}Metadata
Metadata
Assignees
Labels
No labels