Documentation
¶
Overview ¶
The gojahost package provides functionality to execute client-scripts in gost-dom. The package is a pure Go implementation by using goja.
The package may not have full ECMAScript support. If this is a problem, the [v8host] proves a v8 engine implementation, but requires CGo.
Index ¶
- func New() html.ScriptHost
- type GojaContext
- func (c *GojaContext) Clock() html.Clock
- func (i *GojaContext) Close()
- func (c *GojaContext) Compile(script string) (html.Script, error)
- func (c *GojaContext) CreateClass(name string, extends js.Class[jsTypeParam], ...) js.Class[jsTypeParam]
- func (c *GojaContext) CreateFunction(name string, cb js.FunctionCallback[jsTypeParam])
- func (c *GojaContext) DownloadModule(script string) (html.Script, error)
- func (c *GojaContext) DownloadScript(script string) (html.Script, error)
- func (i *GojaContext) Eval(str string) (res any, err error)
- func (i *GojaContext) EvalCore(str string) (res any, err error)
- func (i *GojaContext) Export(value any) (res any, err error)
- func (i *GojaContext) Run(str string) error
- func (i *GojaContext) RunFunction(str string, arguments ...any) (res any, err error)
- func (c *GojaContext) RunScript(script, src string)
- type GojaScript
- type ScriptEngineConfigurer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶
func New() html.ScriptHost
Types ¶
type GojaContext ¶
type GojaContext struct {
// contains filtered or unexported fields
}
func (*GojaContext) Clock ¶ added in v0.3.0
func (c *GojaContext) Clock() html.Clock
func (*GojaContext) Close ¶
func (i *GojaContext) Close()
func (*GojaContext) Compile ¶ added in v0.8.0
func (c *GojaContext) Compile(script string) (html.Script, error)
func (*GojaContext) CreateClass ¶ added in v0.7.2
func (c *GojaContext) CreateClass( name string, extends js.Class[jsTypeParam], cb js.FunctionCallback[jsTypeParam], ) js.Class[jsTypeParam]
func (*GojaContext) CreateFunction ¶ added in v0.7.2
func (c *GojaContext) CreateFunction(name string, cb js.FunctionCallback[jsTypeParam])
func (*GojaContext) DownloadModule ¶ added in v0.8.0
func (c *GojaContext) DownloadModule(script string) (html.Script, error)
func (*GojaContext) DownloadScript ¶ added in v0.8.0
func (c *GojaContext) DownloadScript(script string) (html.Script, error)
func (*GojaContext) Export ¶
func (i *GojaContext) Export(value any) (res any, err error)
Export create a native Go value out of a javascript value. The value argument must be a goja.Value instance.
This function is intended to be used only for test purposes. The value has an [any] type as the tests are not supposed to know the details of the underlying engine.
The value is expected to be the ourput of [RunFunction] or [EvalCore]
An error will be returned if the value is not a goja Value, or the value could not be converted to a native Go object
func (*GojaContext) Run ¶
func (i *GojaContext) Run(str string) error
func (*GojaContext) RunFunction ¶
func (i *GojaContext) RunFunction(str string, arguments ...any) (res any, err error)
func (*GojaContext) RunScript ¶ added in v0.8.0
func (c *GojaContext) RunScript(script, src string)
type GojaScript ¶ added in v0.8.0
type GojaScript struct {
// contains filtered or unexported fields
}
func (GojaScript) Eval ¶ added in v0.8.0
func (s GojaScript) Eval() (res any, err error)
func (GojaScript) Run ¶ added in v0.8.0
func (s GojaScript) Run() error
type ScriptEngineConfigurer ¶ added in v0.7.2
type ScriptEngineConfigurer struct {
// contains filtered or unexported fields
}
func (*ScriptEngineConfigurer) AddConfigurator ¶ added in v0.7.2
func (c *ScriptEngineConfigurer) AddConfigurator(configurer js.Configurator[jsTypeParam])