binder: github.com/alexeyco/binder Index | Files

package binder

import "github.com/alexeyco/binder"

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

Write less, do more.

Index

Package Files

argument.go binder.go context.go doc.go loader.go module.go options.go push.go table.go

type Argument Uses

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

Argument is a call function argument

func (*Argument) Any Uses

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

Any returns function argument as interface{}

func (*Argument) Bool Uses

func (a *Argument) Bool() bool

Bool checks if function argument is bool and return it

func (*Argument) Data Uses

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

Data checks if function argument is UserData and return it

func (*Argument) Number Uses

func (a *Argument) Number() float64

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

func (*Argument) String Uses

func (a *Argument) String() string

String checks if function argument is string and return it

type Binder Uses

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

Binder is a binder... that's all

func New Uses

func New(opts ...Options) *Binder

New returns new binder instance

func (*Binder) DoFile Uses

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

DoFile runs lua script file

func (*Binder) DoString Uses

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

DoString runs lua script string

func (*Binder) Load Uses

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

Load apply Loader

type Context Uses

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

Context function context

func (*Context) Arg Uses

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

Arg returns function argument by number

func (*Context) Push Uses

func (c *Context) Push() *Push

Push pushes function result

func (*Context) Top Uses

func (c *Context) Top() int

Top returns count of function arguments

type Handler Uses

type Handler func(*Context) error

Handler is binder function handler

type Loader Uses

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

Loader is basic loader object

func NewLoader Uses

func NewLoader() *Loader

NewLoader returns new loader

func (*Loader) Func Uses

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

Func assign handler with specified alias

func (*Loader) Module Uses

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

Module creates new module and returns it

func (*Loader) Table Uses

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

Table creates new table and returns it

type Module Uses

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

Module is a lua module wrapper

func (*Module) Bool Uses

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

Bool sets module bool constant

func (*Module) Func Uses

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

Func sets module function with specified name

func (*Module) Number Uses

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

Number sets module number (float64) constant

func (*Module) String Uses

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

String sets module string constant

type Options Uses

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 Uses

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

Push function result wrapper

func (*Push) Bool Uses

func (p *Push) Bool(b bool)

Bool pushes bool function result

func (*Push) Data Uses

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

Data pushes UserData function result

func (*Push) Number Uses

func (p *Push) Number(n float64)

Number pushes sting function result

func (*Push) String Uses

func (p *Push) String(s string)

String pushes sting function result

type Table Uses

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

Table lua tables wrapper

func (*Table) Dynamic Uses

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

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

func (*Table) Static Uses

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

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

Package binder imports 1 packages (graph). Updated 2017-04-05. Refresh now. Tools for package owners.