#space #operator #wasm #serialization #deserialize #host #lib

space-lib

Space Operator的WebAssembly宿主函数

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 编码

Download history 5/week @ 2024-03-08 1/week @ 2024-03-15 127/week @ 2024-03-22 9/week @ 2024-03-29

每月下载量104

Apache-2.0

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