2 个版本
使用旧的 Rust 2015
0.0.2 | 2015 年 1 月 28 日 |
---|---|
0.0.1 | 2014 年 12 月 7 日 |
#2 in #encodable
40 个月下载量
43KB
895 行
文档.
进行中。
Rust 对 Duktape 的封装。在达到最小可用性之前需要做的事情
- 处理非 UTF-8 字符串。
- 按名称调用 JavaScript 函数。
- 定义函数。
- 从 JavaScript 调用特定的 Rust 函数。
- 从 Rust 返回错误到 JavaScript。
- 转换为使用
Encodable
/Decodable
。- 将参数转换为使用
Encodable
。 - 用
serialize::Json
替换Value
。 - 将返回值转换为使用
Decodable
。
- 将参数转换为使用
- 添加宏。
- 提供调用函数的宏。
- 提供定义函数的宏。
lib.rs
:
Rust 对 Duktape JavaScript 解释器的接口。这还是一个进行中的项目!
源代码.
use duktape::{Context,Value,DuktapeResult};
fn add_example() -> DuktapeResult<Value<'static>> {
// Create a new JavaScript interpreter. This will be automatically
// cleaned up when `ctx` goes out of scope.
let mut ctx = try!(Context::new());
// Load some code from a string.
try!(ctx.eval("function add(x, y) { return x+y; }"));
// Call the function we defined.
ctx.call("add", &[&2.0f64, &1.0f64])
}
assert_eq!(Ok(Value::Number(3.0)), add_example());
我们还初步支持使用 Rust 定义 JavaScript 函数,但仍然太丑陋而不能展示。
依赖项
~250KB