Crate wasm_pkg_client

Source
Expand description

Wasm Package Client

Client implements a unified interface for loading package content from multiple kinds of package registries.

§Example

// Initialize client from global configuration.
let mut client = wasm_pkg_client::Client::with_global_defaults().await?;

// Get a specific package release version.
let pkg = "example:pkg".parse()?;
let version = "1.0.0".parse()?;
let release = client.get_release(&pkg, &version).await?;

// Stream release content to a file.
let mut stream = client.stream_content(&pkg, &release).await?;
let mut file = tokio::fs::File::create("output.wasm").await?;
use futures_util::TryStreamExt;
use tokio::io::AsyncWriteExt;
while let Some(chunk) = stream.try_next().await? {
    file.write_all(&chunk).await?;
}

Modules§

  • Local filesystem-based package backend.
  • OCI package client.
  • Warg package backend.

Structs§

Enums§

Traits§

  • A supertrait combining tokio’s AsyncRead and AsyncSeek.

Type Aliases§