void-sdk-rust 1.0.0

Void SDK for building WebAssembly plugins in Rust
Documentation
# Void Rust SDK (`void-sdk-rust`)

The official Rust SDK for building high-performance WebAssembly plugins on top of the **Void** framework.

## Installation

Add this dependency to your plugin's `Cargo.toml`:

```toml
[dependencies]
void-sdk-rust = "1.0.0"
```

## Quick Start

Create a CDYLIB library and use the `void_plugin!` macro to register functions:

```rust
use std::collections::HashMap;
use void_sdk_rust::{register, void_plugin, get_string, Value};

fn hello(args: HashMap<String, Value>) -> Result<Value, String> {
    let name = get_string(&args, "name").unwrap_or_else(|_| "World".to_string());
    Ok(Value::String(format!("Hello, {}!", name)))
}

fn setup() {
    register("hello", hello);
}

void_plugin!(setup);
```

## Input Extraction API

The SDK provides helper functions to safely extract typed JSON values from incoming parameters:

- `get_string(&args, "key") -> Result<String, String>`
- `get_bool(&args, "key", default_val) -> bool`
- `get_int(&args, "key") -> Result<i64, String>`
- `get_float(&args, "key") -> Result<f64, String>`
- `get_array(&args, "key") -> Result<Vec<Value>, String>`
- `get_object(&args, "key") -> Result<Map<String, Value>, String>`
- `get_value(&args, "key") -> Result<Value, String>`
- `get_null(&args, "key") -> Result<(), String>`

## License

ISC License. See `LICENSE` for details.