3个版本

0.9.5 2021年8月9日
0.9.4 2021年8月9日

#794 in WebAssembly

每月22次下载

MIT 许可证

49KB
1K SLoC

Yare.io机器人Rust绑定

crates.io docs.rs

此crate使用wasm-bindgenYare.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功能。可用的形状功能包括circlessquarestriangles

序言

此crate包含一个prelude模块,它重新导出最有用的项目。您可以使用以下方式批量导入它们:

use yareio_sys::prelude::*;

RenderService绑定

此crate可选地提供了yare-code-syncRenderService绑定,位于render_service模块下。您需要启用crate的RenderService功能才能使用这些绑定。

依赖项

~0.9–1.6MB
~30K SLoC