| Crates.io | workspacer-consolidate |
| lib.rs | workspacer-consolidate |
| version | 0.5.3 |
| created_at | 2025-02-09 04:21:24.630682+00 |
| updated_at | 2025-07-13 01:03:35.986351+00 |
| description | Asynchronously consolidate and introspect Rust crate interfaces, gathering typical items within a unified system for enhanced analysis and modification. |
| homepage | |
| repository | https://github.com/klebs6/klebs-general |
| max_upload_size | |
| id | 1548648 |
| size | 463,731 |
The workspacer-consolidate Rust crate offers a robust mechanism to assemble and manage consolidated representations of typical Rust code entities, such as functions, structs, enums, traits, type aliases, macros, modules, and implementation blocks, pulled together into a unified crate interface. By capturing these elements in a systematic way, developers can facilitate the introspection, documentation, and manipulation of code at a higher semantic level than mere text processing.
Our API leverages advanced paradigms of async processing using the async_trait for consolidated operations, allowing non-blocking management of crate interfaces.
ConsolidationOptions for specific content gathering including documentation, visibility restrictions, and test itemsTo integrate workspacer-consolidate into your project, add it to your Cargo.toml:
[dependencies]
workspacer-consolidate = "0.5.0"
Utilize the crate by creating a custom struct that implements the ConsolidateCrateInterface trait, leveraging its methods in an async context for consolidating interface elements per provided options:
use workspacer_consolidate::{ConsolidatedCrateInterface, ConsolidationOptions};
async fn consolidate_interface() -> Result<ConsolidatedCrateInterface, workspacer_consolidate::CrateError> {
let options = ConsolidationOptions::new()
.with_docs()
.with_private_items();
// Assuming `my_crate` implements `ConsolidateCrateInterface`.
my_crate.consolidate_crate_interface(&options).await
}
Contributions are welcomed on our GitHub repository. Feel free to open issues or pull requests.