3个版本
0.9.5 | 2021年8月9日 |
---|---|
0.9.4 | 2021年8月9日 |
#794 in WebAssembly
每月22次下载
49KB
1K SLoC
Yare.io机器人Rust绑定
此crate使用wasm-bindgen
将Yare.io机器人可用的对象暴露给Rust。它旨在与yareio-rust-template
一起使用,其中包含使wasm-bindgen
与Yare一起工作的必要自定义构建脚本。
此crate使用Rustdoc进行文档说明。
此crate与TypeScript兼容,但您需要使用来自yareio-typescript-typings
的类型。
另请参阅yare-rust,这是此crate的替代方案。
使用说明
此crate提供的函数和方法直接映射到JS中的内容。这意味着它们不一定是Rust的惯用法。例如,广泛使用基于Deref
的继承;这是反模式,但对于表示JS继承层次结构是最高效的方法,这也是wasm-bindgen
使用的方法。惯用的替代方法是使用trait对象,但这会在JS已经执行的操作上添加额外的动态派发,使其变慢。
在WebAssembly和JS之间传递值很慢,尤其是当这些值不是数字时。通常,此crate中任何返回值的函数都涉及此类数据传输(返回静态引用的函数除外)。因此,请小心,并且只检索您需要的信息。
由于上述原因,您可能需要创建自己的结构和数据结构来存储您需要的信息。
形状功能
要访问像merge()
、jump()
和explode()
这样的特定形状的方法,您需要在您的Cargo.toml
中启用对应于您所玩形状的crate功能。可用的形状功能包括circles
、squares
和triangles
。
序言
此crate包含一个prelude
模块,它重新导出最有用的项目。您可以使用以下方式批量导入它们:
use yareio_sys::prelude::*;
RenderService
绑定
此crate可选地提供了yare-code-sync
的RenderService
绑定,位于render_service
模块下。您需要启用crate的RenderService
功能才能使用这些绑定。
依赖项
~0.9–1.6MB
~30K SLoC