wash_lib/
lib.rs

1//! A crate that implements the functionality behind the wasmCloud shell
2//!
3//! The `wash` command line interface <https://github.com/wasmCloud/wasmCloud/tree/main/crates/wash-cli> is a great place
4//! to find examples on how to fully utilize this library.
5//!
6//! This library contains a few feature flags, most enabled by default but optional in order to
7//! allow consumers to omit some functionality. This is especially useful when considering compiling this
8//! library to restrictive targets, e.g. `wasm32-unknown-unknown` or `wasm32-wasi`. Support for `wasm` targets
9//! is a goal but has not been tested yet.
10//!
11//! | Feature Name | Default Enabled | Description |
12//! | --- | --- | --- |
13//! | start | true | Contains the [start] module, with utilities to start wasmCloud runtimes, NATS, and wadm |
14//! | parser | true | Contains the [parser] module, with utilities to parse `wasmcloud.toml` files |
15//! | cli | false | Contains the build, cli, and generate modules with additional trait derives for usage in building CLI applications |
16//! | nats| true| Contains the [app], [component], [capture], [config], [context], [drain], [spier] and [wait] modules with a dependency on `async_nats` |
17
18#[cfg(feature = "nats")]
19pub mod app;
20#[cfg(feature = "cli")]
21pub mod build;
22#[cfg(feature = "cli")]
23pub mod cli;
24#[cfg(feature = "cli")]
25pub mod deps;
26#[cfg(feature = "cli")]
27pub mod generate;
28#[cfg(feature = "parser")]
29pub mod parser;
30#[cfg(feature = "start")]
31pub mod start;
32
33#[cfg(feature = "nats")]
34pub mod capture;
35pub mod common;
36#[cfg(feature = "nats")]
37pub mod component;
38#[cfg(feature = "nats")]
39pub mod config;
40#[cfg(feature = "nats")]
41pub mod context;
42#[cfg(feature = "nats")]
43pub mod drain;
44pub mod id;
45pub mod keys;
46pub mod registry;
47#[cfg(feature = "nats")]
48pub mod spier;
49#[cfg(feature = "nats")]
50pub mod wait;
51
52#[cfg(feature = "plugin")]
53pub mod plugin;