#duktape #ducc #low-level #set #javascript #duk

bin+lib ducc-sys

ducc crate提供的低级别Duktape FFI

3个版本

使用旧的Rust 2015

0.1.2 2019年10月11日
0.1.1 2019年10月11日
0.1.0 2019年9月21日

#2#ducc

Download history 469/week @ 2024-03-04 586/week @ 2024-03-11 721/week @ 2024-03-18 602/week @ 2024-03-25 546/week @ 2024-04-01 493/week @ 2024-04-08 470/week @ 2024-04-15 485/week @ 2024-04-22 403/week @ 2024-04-29 475/week @ 2024-05-06 454/week @ 2024-05-13 459/week @ 2024-05-20 534/week @ 2024-05-27 2515/week @ 2024-06-03 2564/week @ 2024-06-10 2956/week @ 2024-06-17

8,591 每月下载次数
11 个crate中(通过 ducc)使用

MIT 许可证

3.5MB
72K SLoC

C 70K SLoC // 0.2% comments Rust 2K SLoC

ducc-sys

ducc crate提供的低级别Duktape FFI。

辅助扩展

此FFI公开了所有库存的Duktape项(所有以duk_DUK_为前缀)。除了这些项之外,FFI还提供了一些特定的辅助扩展,专门用于从Rust处理Duktape。这些扩展都以ducc_为前缀,如下所示

ducc_push_c_function_nothrow

类似于duk_push_c_function,但func的返回值处理方式不同。func不能返回DUK_RET_xxx,而是可以返回-1(目前所有负值都按相同方式处理)以将错误对象推送到栈顶并抛出。

func返回非负整数时,此函数的处理方式与使用duk_push_c_function时相同。

此函数在新建的函数上分配一个名为"__NOTHROWFUNC"的隐藏属性。

ducc_set_exec_timeout_function

设置全局超时回调。此回调应在应用程序中仅设置一次,因为它是所有上下文共享的。有关此回调应如何工作的更多信息,请参阅DUK_USE_EXEC_TIMEOUT_CHECK

只有当设置use-exec-timeout-check Cargo功能时,才会启用执行超时。

ducc_exec_timeout_function

duk_set_exec_timeout_function的回调类型。

依赖关系