ToError returns the error value of the value.
()
| 479 | |
| 480 | // ToError returns the error value of the value. |
| 481 | func (v *Value) ToError() error { |
| 482 | if !v.IsError() { |
| 483 | return nil |
| 484 | } |
| 485 | |
| 486 | err := &Error{} |
| 487 | |
| 488 | name := v.Get("name") |
| 489 | defer name.Free() |
| 490 | if !name.IsUndefined() { |
| 491 | err.Name = name.ToString() |
| 492 | } |
| 493 | |
| 494 | message := v.Get("message") |
| 495 | defer message.Free() |
| 496 | if !message.IsUndefined() { |
| 497 | err.Message = message.ToString() |
| 498 | } |
| 499 | |
| 500 | cause := v.Get("cause") |
| 501 | defer cause.Free() |
| 502 | if !cause.IsUndefined() { |
| 503 | err.Cause = cause.ToString() |
| 504 | } |
| 505 | |
| 506 | stack := v.Get("stack") |
| 507 | defer stack.Free() |
| 508 | if !stack.IsUndefined() { |
| 509 | err.Stack = stack.ToString() |
| 510 | } |
| 511 | |
| 512 | jsonString := v.JSONStringify() |
| 513 | if jsonString != "" { |
| 514 | err.JSONString = jsonString |
| 515 | } |
| 516 | |
| 517 | return err |
| 518 | } |
| 519 | |
| 520 | // propertyEnum is a wrapper around JSValue. |
| 521 | func (v *Value) propertyEnum() ([]*propertyEnum, error) { |