gg_scripting

package
v0.3.31 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2025 License: BSD-3-Clause Imports: 37 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Loader

func Loader(path string) ([]byte, error)

Loader default javascript Module registry loader

Types

type EnvSettings

type EnvSettings struct {
	Root           string
	EngineName     string
	FileName       string
	ProgramName    string
	ProgramScript  string
	Context        map[string]interface{}
	Logger         gg_log.ILogger
	LoggerFileName string
	LogReset       bool
	OnReady        OnReadyCallback
}

type ModuleRegistry

type ModuleRegistry struct {
	// contains filtered or unexported fields
}

func NewModuleRegistry

func NewModuleRegistry(loader require.SourceLoader) *ModuleRegistry

func (*ModuleRegistry) Start

func (instance *ModuleRegistry) Start(engine *ScriptEngine) *commons.RuntimeContext

type OnReadyCallback

type OnReadyCallback func(rtContext *commons.RuntimeContext)

type Program

type Program struct {
	// contains filtered or unexported fields
}

func NewProgram

func NewProgram(env *EnvSettings) (instance *Program, err error)

func (*Program) Close

func (instance *Program) Close()

func (*Program) Execute

func (instance *Program) Execute() (response string, err error)

Execute run the program and return response as a string

func (*Program) HasLogger

func (instance *Program) HasLogger() bool

func (*Program) Logger

func (instance *Program) Logger(logger ...gg_.ILogger) gg_.ILogger

func (*Program) Run

func (instance *Program) Run(methods ...*ProgramMethod) (response interface{}, err error)

Run run the program and invoke a specific method passing params

func (*Program) RunSequence

func (instance *Program) RunSequence(methods ...*ProgramMethod) (response interface{}, err error)

type ProgramMethod

type ProgramMethod struct {
	Name      string
	Arguments []interface{}
}

func NewProgramMethod

func NewProgramMethod(name string, arguments ...interface{}) *ProgramMethod

func (*ProgramMethod) Add

func (instance *ProgramMethod) Add(arguments ...interface{}) *ProgramMethod

type ScriptEngine

type ScriptEngine struct {
	Root                 string
	Name                 string
	Silent               bool // if enabled do not log at console output but only on files
	LogLevel             gg_log.Level
	LogFile              string
	ResetLogOnEachRun    bool
	AllowMultipleLoggers bool
	// contains filtered or unexported fields
}

func NewJsEngine

func NewJsEngine() *ScriptEngine

func (*ScriptEngine) AddTool

func (instance *ScriptEngine) AddTool(name string, tool tools.ScriptingTool) error

func (*ScriptEngine) Close

func (instance *ScriptEngine) Close()

func (*ScriptEngine) Get

func (instance *ScriptEngine) Get(name string) goja.Value

func (*ScriptEngine) GetLogger

func (instance *ScriptEngine) GetLogger() gg_log.ILogger

func (*ScriptEngine) GetMember

func (instance *ScriptEngine) GetMember(value goja.Value, fieldName string) goja.Value

func (*ScriptEngine) GetMemberAsCallable

func (instance *ScriptEngine) GetMemberAsCallable(value goja.Value, fieldName string) goja.Callable

func (*ScriptEngine) GetRootContextValue

func (instance *ScriptEngine) GetRootContextValue(name string) goja.Value

func (*ScriptEngine) HasMember

func (instance *ScriptEngine) HasMember(value goja.Value, fieldName string) bool

func (*ScriptEngine) NewArrayBuffer

func (instance *ScriptEngine) NewArrayBuffer(data []byte) goja.ArrayBuffer

func (*ScriptEngine) NewObject

func (instance *ScriptEngine) NewObject() *goja.Object

func (*ScriptEngine) NewTypeError

func (instance *ScriptEngine) NewTypeError(args ...interface{}) *goja.Object

func (*ScriptEngine) Open

func (instance *ScriptEngine) Open()

func (*ScriptEngine) RunProgram

func (instance *ScriptEngine) RunProgram(name, program string) (goja.Value, error)

func (*ScriptEngine) RunScript

func (instance *ScriptEngine) RunScript(program string) (goja.Value, error)

func (*ScriptEngine) Runtime

func (instance *ScriptEngine) Runtime() *goja.Runtime

func (*ScriptEngine) Set

func (instance *ScriptEngine) Set(name string, value interface{})

func (*ScriptEngine) SetLogger

func (instance *ScriptEngine) SetLogger(logger gg_log.ILogger)

func (*ScriptEngine) SetRootContextValue

func (instance *ScriptEngine) SetRootContextValue(name string, value interface{}) error

func (*ScriptEngine) SetToolContext

func (instance *ScriptEngine) SetToolContext(toolName string, value interface{})

func (*ScriptEngine) SetToolsContext

func (instance *ScriptEngine) SetToolsContext(value interface{})

func (*ScriptEngine) ToObject

func (instance *ScriptEngine) ToObject(value goja.Value) *goja.Object

func (*ScriptEngine) ToValue

func (instance *ScriptEngine) ToValue(value interface{}) goja.Value

type ScriptingHelper

type ScriptingHelper struct {
	// contains filtered or unexported fields
}
var Scripting *ScriptingHelper

func (*ScriptingHelper) Build

func (instance *ScriptingHelper) Build(env *EnvSettings) (response *Program, err error)

func (*ScriptingHelper) EvalJs

func (instance *ScriptingHelper) EvalJs(expression string, useGlobalRuntime, overwriteContext bool, context ...map[string]interface{}) (interface{}, error)

func (*ScriptingHelper) NewEngine

func (instance *ScriptingHelper) NewEngine(name ...interface{}) *ScriptEngine

func (*ScriptingHelper) NewProgramMethod

func (instance *ScriptingHelper) NewProgramMethod(name string, arguments ...interface{}) *ProgramMethod

func (*ScriptingHelper) Run

func (instance *ScriptingHelper) Run(env *EnvSettings, methods ...*ProgramMethod) (response interface{}, err error)

func (*ScriptingHelper) RunFile

func (instance *ScriptingHelper) RunFile(filename string, context map[string]interface{}, args ...interface{}) (response string, err error)

func (*ScriptingHelper) RunMethod

func (instance *ScriptingHelper) RunMethod(env *EnvSettings, method string, args ...interface{}) (response interface{}, err error)

func (*ScriptingHelper) RunProgram

func (instance *ScriptingHelper) RunProgram(programName string, script string, context map[string]interface{}, args ...interface{}) (response string, err error)

func (*ScriptingHelper) RunSequence

func (instance *ScriptingHelper) RunSequence(env *EnvSettings, methods ...*ProgramMethod) (response interface{}, err error)

RunSequence run a sequence of methods passing response of previous to next method

func (*ScriptingHelper) RunWithStringResponse

func (instance *ScriptingHelper) RunWithStringResponse(env *EnvSettings, methods ...*ProgramMethod) (response string, err error)

func (*ScriptingHelper) SetLogger

func (instance *ScriptingHelper) SetLogger(logger gg_log.ILogger)

func (*ScriptingHelper) ValidateEnv

func (instance *ScriptingHelper) ValidateEnv(env *EnvSettings) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL