34 lines
730 B
Go
34 lines
730 B
Go
package goja_bindings
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"github.com/dop251/goja"
|
|
)
|
|
|
|
func gojaValueIsDefined(v goja.Value) bool {
|
|
return v != nil && !goja.IsUndefined(v) && !goja.IsNull(v)
|
|
}
|
|
|
|
func NewErrorString(vm *goja.Runtime, err string) goja.Value {
|
|
return vm.ToValue(vm.NewGoError(errors.New(err)))
|
|
}
|
|
|
|
func NewError(vm *goja.Runtime, err error) goja.Value {
|
|
return vm.ToValue(vm.NewGoError(err))
|
|
}
|
|
|
|
func PanicThrowError(vm *goja.Runtime, err error) {
|
|
goError := vm.NewGoError(err)
|
|
panic(vm.ToValue(goError))
|
|
}
|
|
|
|
func PanicThrowErrorString(vm *goja.Runtime, err string) {
|
|
goError := vm.NewGoError(errors.New(err))
|
|
panic(vm.ToValue(goError))
|
|
}
|
|
|
|
func PanicThrowTypeError(vm *goja.Runtime, err string) {
|
|
panic(vm.NewTypeError(err))
|
|
}
|