Documentation ¶
Overview ¶
Package compiler provides a compiler for the goja runtime.
Index ¶
- Variables
- func ExecuteProgram(p *goja.Program, args *ExecuteArgs, opts *ExecuteOptions) (result goja.Value, err error)
- func Init(opts *types.Options) error
- func InternalGetGeneratorRuntime() *goja.Runtime
- func WrapScriptNCompile(script string, strict bool) (*goja.Program, error)
- type Compiler
- type ExecuteArgs
- type ExecuteOptions
- type ExecuteResult
Constants ¶
This section is empty.
Variables ¶
var ( PoolingJsVmConcurrency = 100 NonPoolingVMConcurrency = 20 )
var ( // ErrJSExecDeadline is the error returned when alloted time for script execution exceeds ErrJSExecDeadline = errkit.New("js engine execution deadline exceeded").SetKind(errkit.ErrKindDeadline).Build() )
Functions ¶
func ExecuteProgram ¶
func ExecuteProgram(p *goja.Program, args *ExecuteArgs, opts *ExecuteOptions) (result goja.Value, err error)
ExecuteProgram executes a compiled program with the default options. it deligates if a particular program should run in a pooled or non-pooled runtime
func InternalGetGeneratorRuntime ¶
Internal purposes i.e generating bindings
Types ¶
type Compiler ¶
type Compiler struct{}
Compiler provides a runtime to execute goja runtime based javascript scripts efficiently while also providing them access to custom modules defined in libs/.
func (*Compiler) ExecuteWithOptions ¶
func (c *Compiler) ExecuteWithOptions(program *goja.Program, args *ExecuteArgs, opts *ExecuteOptions) (ExecuteResult, error)
ExecuteWithOptions executes a script with the provided options.
type ExecuteArgs ¶
type ExecuteArgs struct { Args map[string]interface{} //these are protocol variables TemplateCtx map[string]interface{} // templateCtx contains template scoped variables }
ExecuteArgs is the arguments to pass to the script.
func NewExecuteArgs ¶
func NewExecuteArgs() *ExecuteArgs
NewExecuteArgs returns a new execute arguments.
func (*ExecuteArgs) Map ¶
func (e *ExecuteArgs) Map() map[string]interface{}
Map returns a merged map of the TemplateCtx and Args fields.
type ExecuteOptions ¶
type ExecuteOptions struct { // Callback can be used to register new runtime helper functions // ex: export etc Callback func(runtime *goja.Runtime) error // Cleanup is extra cleanup function to be called after execution Cleanup func(runtime *goja.Runtime) // Source is original source of the script Source *string Context context.Context TimeoutVariants *types.Timeouts // contains filtered or unexported fields }
ExecuteOptions provides options for executing a script.
type ExecuteResult ¶
type ExecuteResult map[string]interface{}
ExecuteResult is the result of executing a script.
func NewExecuteResult ¶
func NewExecuteResult() ExecuteResult
NewExecuteResult returns a new execute result instance
func (ExecuteResult) GetSuccess ¶
func (e ExecuteResult) GetSuccess() bool
GetSuccess returns whether the script was successful or not.
func (ExecuteResult) Map ¶
func (e ExecuteResult) Map() map[string]interface{}
Map returns the map representation of the ExecuteResult