v8eval

module
v0.0.0-...-81638c7 Latest Latest
Warning

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

Go to latest
Published: Sep 12, 2019 License: MIT

README

v8eval

PyPI version Gem Version GoDoc

Multi-language bindings to JavaScript engine V8.

Currently v8eval provides Go, Python and Ruby bindings to the latest V8 7.1 and supports Linux and Mac OS X. v8eval uses SWIG and can be extended easily for other languages.

Pre-installation

Linux

See Dockerfile.

Mac

See .travis.yml.

Installation

The installation takes several tens of minutes due to V8 build.

Go

v8eval requires Go 1.10 or later.

git clone https://github.com/sony/v8eval.git ${GOPATH}/src/github.com/sony/v8eval
${GOPATH}/src/github.com/sony/v8eval/go/build.sh install

In the case of Linux, you need to build your Go program with build.sh:

${GOPATH}/src/github.com/sony/v8eval/go/build.sh go build
Python
pip install v8eval
Ruby
gem install v8eval

Documentation

Go

See godoc.org.

Python

You can create the Sphinx documentation under python/docs.

python/build.sh docs
Ruby

You can create the YARD documentation under ruby/doc.

ruby/build.sh docs

Examples

Go
import "github.com/sony/v8eval/go/v8eval"

func Add(x, y int) int {
	var v8 = v8eval.NewV8()
	v8.Eval("var add = (x, y) => x + y;", nil)

	var sum int
	v8.Call("add", []int{x, y}, &sum)
	return sum
}
Python
import v8eval

def add(x, y):
    v8 = v8eval.V8()
    v8.eval('var add = (x, y) => x + y;')
    return v8.call('add', [x, y])
Ruby
require 'v8eval'

def add(x, y)
  v8 = V8Eval::V8.new
  v8.eval('var add = (x, y) => x + y;')
  v8.call('add', [x, y])
end

License

The MIT License (MIT)

See LICENSE for details.

Directories

Path Synopsis
go

Jump to

Keyboard shortcuts

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