7个版本 (4个破坏性更新)
0.5.1 | 2023年3月18日 |
---|---|
0.5.0 | 2023年3月7日 |
0.4.0 | 2023年3月6日 |
0.3.0 | 2023年3月3日 |
0.1.0 | 2022年11月26日 |
#979 in 编码
每月下载量104
8KB
145 行
space-lib
cargo add space-lib
此crate提供Space Operator的WebAssembly宿主函数和其他实用工具。
示例
use space_lib::{space, Result};
use serde::{Serialize, Deserialize};
#[derive(Deserialize)]
struct Input {
value: usize,
name: String,
}
#[derive(Serialize)]
struct Output {
value: usize,
name: String,
}
#[space]
fn main(input: Input) -> Result<Output> {
let output = Output {
value: input.value * 2,
name: input.name.chars().rev().collect(),
};
Ok(output)
}
HTTP客户端
use space_lib::Request;
let body = Request::get("https://www.spaceoperator.com")
.call()?
.into_string()?;
lib.rs
:
此crate提供Space Operator的WebAssembly宿主函数和其他实用工具。
示例
use space_lib::{space, Result};
use serde::{Serialize, Deserialize};
#[derive(Deserialize)]
struct Input {
value: usize,
name: String,
}
#[derive(Serialize)]
struct Output {
value: usize,
name: String,
}
#[space]
fn main(input: Input) -> Result<Output> {
let output = Output {
value: input.value * 2,
name: input.name.chars().rev().collect(),
};
Ok(output)
}
HTTP客户端
use space_lib::Request;
let body = Request::get("https://www.spaceoperator.com")
.call()?
.into_string()?;
依赖项
~1.6–2.2MB
~51K SLoC