binder

package
v2.16.21 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2026 License: Apache-2.0, MIT Imports: 8 Imported by: 0

Documentation

Overview

Package binder allows to easily bind to Lua. Based on https://github.com/yuin/gopher-lua

Write less, do more.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Argument

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

Argument is a call function argument

func (*Argument) Any

func (a *Argument) Any() interface{}

Any returns function argument as interface{}

func (*Argument) Bool

func (a *Argument) Bool() bool

Bool checks if function argument is bool and return it

func (*Argument) Data

func (a *Argument) Data() interface{}

Data checks if function argument is UserData and return it

func (*Argument) Number

func (a *Argument) Number() float64

Number checks if function argument is number (float64) and return it

func (*Argument) String

func (a *Argument) String() string

String checks if function argument is string and return it

type Binder

type Binder struct {
	*Loader
	// contains filtered or unexported fields
}

Binder is a binder... that's all

func New

func New(opts ...Options) *Binder

New returns new binder instance. The caller should call Binder.Close when the binder is no longer needed.

func (*Binder) Close

func (b *Binder) Close()

Close closes the binder. It should be called after the binder is not needed any more.

func (*Binder) DoFile

func (b *Binder) DoFile(f string) error

DoFile runs lua script file

func (*Binder) DoString

func (b *Binder) DoString(s string) error

DoString runs lua script string

func (*Binder) Load

func (b *Binder) Load(loader *Loader)

Load apply Loader

type Context

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

Context function context

func (*Context) Arg

func (c *Context) Arg(num int) *Argument

Arg returns function argument by number

func (*Context) Push

func (c *Context) Push() *Push

Push pushes function result

func (*Context) Top

func (c *Context) Top() int

Top returns count of function arguments

type Error

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

Error error object

func (*Error) Error

func (e *Error) Error() string

Error returns error string

func (*Error) Print

func (e *Error) Print()

Print prints problem source code

func (*Error) Source

func (e *Error) Source() string

Source returns problem source code as string

type Handler

type Handler func(*Context) error

Handler is binder function handler

type Loader

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

Loader is basic loader object

func NewLoader

func NewLoader() *Loader

NewLoader returns new loader

func (*Loader) Func

func (l *Loader) Func(name string, handler Handler)

Func assign handler with specified alias

func (*Loader) Module

func (l *Loader) Module(name string) *Module

Module creates new module and returns it

func (*Loader) Table

func (l *Loader) Table(name string) *Table

Table creates new table and returns it

type Module

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

Module is a lua module wrapper

func (*Module) Bool

func (m *Module) Bool(name string, value bool)

Bool sets module bool constant

func (*Module) Func

func (m *Module) Func(name string, handler Handler)

Func sets module function with specified name

func (*Module) Number

func (m *Module) Number(name string, value float64)

Number sets module number (float64) constant

func (*Module) String

func (m *Module) String(name, value string)

String sets module string constant

type Options

type Options struct {
	// CallStackSize is call stack size
	CallStackSize int
	// RegistrySize is data stack size
	RegistrySize int
	// SkipOpenLibs controls whether or not libraries are opened by default
	SkipOpenLibs bool
	// IncludeGoStackTrace tells whether a Go stacktrace should be included in a Lua stacktrace when panics occur.
	IncludeGoStackTrace bool
}

Options binder options object

type Push

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

Push function result wrapper

func (*Push) Bool

func (p *Push) Bool(b bool)

Bool pushes bool function result

func (*Push) Data

func (p *Push) Data(d interface{}, t string)

Data pushes UserData function result

func (*Push) Number

func (p *Push) Number(n float64)

Number pushes sting function result

func (*Push) String

func (p *Push) String(s string)

String pushes sting function result

type Table

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

Table lua tables wrapper

func (*Table) Dynamic

func (t *Table) Dynamic(name string, handler Handler)

Dynamic sets table "dynamic" method (f.e. foo:bar())

func (*Table) Static

func (t *Table) Static(name string, handler Handler)

Static sets table "static" method (f.e. foo.bar())

Jump to

Keyboard shortcuts

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