javy-plugin-api

Crates.iojavy-plugin-api
lib.rsjavy-plugin-api
version2.0.0
sourcesrc
created_at2024-11-12 22:24:52.323831
updated_at2024-11-27 16:05:43.469654
descriptionAPIs for Javy plugins
homepagehttps://github.com/bytecodealliance/javy/tree/main/crates/javy-plugin-api
repositoryhttps://github.com/bytecodealliance/javy/tree/main/crates/javy-plugin-api
max_upload_size
id1445657
size12,292
javy-publish (github:bytecodealliance:javy-publish)

documentation

README

javy-plugin-api

A crate for creating Javy plugins

Documentation Status crates.io status

Refer to the crate level documentation to learn more.

Example usage:

use javy_plugin_api::import_namespace;
use javy_plugin_api::Config;

// Dynamically linked modules will use `my_javy_plugin_v1` as the import
// namespace.
import_namespace!("my_javy_plugin_v1");

#[export_name = "initialize_runtime"]
pub extern "C" fn initialize_runtime() {
    let mut config = Config::default();
    config
        .text_encoding(true)
        .javy_stream_io(true);

    javy_plugin_api::initialize_runtime(config, |runtime| runtime).unwrap();
}

Publishing to crates.io

To publish this crate to crates.io, run ./publish.sh.

Commit count: 0

cargo fmt