gluamapper

package
v0.17.0 Latest Latest
Warning

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

Go to latest
Published: Dec 5, 2019 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

gluamapper provides an easy way to map GopherLua tables to Go structs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Id

func Id(s string) string

Id is an Option.NameFunc that returns given string as-is.

func Map

func Map(tbl *lua.LTable, st interface{}) error

Map maps the lua table to the given struct pointer with default options.

func ToGoValue

func ToGoValue(lv lua.LValue, opt Option) interface{}

ToGoValue converts the given LValue to a Go object.

func ToUpperCamelCase

func ToUpperCamelCase(s string) string

ToUpperCamelCase is an Option.NameFunc that converts strings from snake case to upper camel case.

Types

type Mapper

type Mapper struct {
	Option Option
}

Mapper maps a lua table to a Go struct pointer.

func NewMapper

func NewMapper(opt Option) *Mapper

NewMapper returns a new mapper.

func (*Mapper) Map

func (mapper *Mapper) Map(tbl *lua.LTable, st interface{}) error

Map maps the lua table to the given struct pointer.

type Option

type Option struct {
	// Function to convert a lua table key to Go's one. This defaults to "ToUpperCamelCase".
	NameFunc func(string) string

	// Returns error if unused keys exist.
	ErrorUnused bool

	// A struct tag name for lua table keys . This defaults to "gluamapper"
	TagName string
}

Option is a configuration that is used to create a new mapper.

Jump to

Keyboard shortcuts

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