@ boltffi/ 运行时间
WASM 运行时间 博尔特福尔 生成类型脚本绑定 .
安装
npm install @boltffi/runtime
使用量
这个软件包由BoltFFI所生成的WASM捆绑在内部使用. 您不需要直接安装它 - 运行时它与您的生成的软件包捆绑 boltffi pack wasm。 。 。 .
示例
当你跑的时候 boltffi pack wasm,生成的 TypeScript 使用此运行时间 :
import { distance } from 'your-package';
const d = distance({ x: 0, y: 0 }, { x: 3, y: 4 });
console.log(d); // 5.0
调用 JavaScript 的不可靠依赖
导出的 Rust 函数可以使用依赖性, 如 uuid 联合国 v4
财务报告和审定财务报表 js 特性。 该函数仍然使用 #[boltffi::export]。无
#[wasm_bindgen] 属性需要在 BoltFFI API 上.
boltffi pack wasm 已编译的文物中的元数据
在剥离或优化之前运行匹配的正弦 CLI。 这个
生成的软件包中包含 BoltFFI 绑定和依赖
JavaScript 绑定,连接到相同的Wasm实例. 货物原件
保存文物,包括再次包装时 --no-build。 。 。 .
在包错误中安装精确的 CLI 版本
cargo install wasm-bindgen-cli --version =VERSION --locked。现有
可选择可执行文件 BOLTFFI_WASM_BINDGEN 或者说
targets.wasm.wasm_bindgen_cli 内 boltffi.toml。没有原站点的模块
元数据不需要此工具 。 TypeScript 汇编需要此运行时间
而对于节点入口, @types/node 在输出位置安装
父目录可以解析它们.
生成的加载器支持节点同步初始化,一个同步 初始化、 浏览器获取和捆绑器 。 一个 JavaScript 胶水模块拥有 一个瓦斯姆的例子。 再次同时或失败后初始化 依赖启动被拒绝 。 本地和内置的 JavaScript 片断为 包含; npm 导入和动态计算模块路径被拒绝 包装时.
依赖启动时可以使用函数, 因此 JavaScript 可以调回 进入BoltFFI。 计算常数在启动后被读取,并在 初始化完成 。 他们的Rust转换之后也可以使用JavaScript.
这一一体化目标 wasm32-unknown-unknown 与非共享内存和
panic=abort线条,JSPI,和恐慌的解开 都在这份合同之外.
主机必须提供JavaScript APIs的依赖呼叫;浏览器 DOM APIs,
例如,普通节点程序中不可用。 未抓取的 Java 脚本
例外和 Rust 陷阱保留他们的 Web Assembly语义。 他们没有
成为博尔特FFI Result 值或使实例安全地重复使用.
如果投票或取消未来,所有待决的博尔特FFI期货都会拒绝
而那个案子的Aync经理 停止投票。 丢弃失败实例 .
BoltFFI 合成出口仍然需要 Send 未来 原子弹 JsFuture
不满足这个约束。 JavaScript 任务可以完成等待的频道
正如Wasm Interop演示所显示的.
文档
许可证
麻省理工学院