pub struct GeneratedCode {
pub files: Vec<GeneratedFile>,
}Expand description
Result of code generation containing all generated files.
This is the main output type returned by the code generator. Contains a list of files that should be written to disk.
§Examples
use mcp_execution_codegen::GeneratedCode;
let code = GeneratedCode {
files: vec![],
};
assert_eq!(code.file_count(), 0);Fields§
§files: Vec<GeneratedFile>List of generated files with paths and contents
Implementations§
Source§impl GeneratedCode
impl GeneratedCode
Sourcepub const fn new() -> Self
pub const fn new() -> Self
Creates a new empty generated code container.
§Examples
use mcp_execution_codegen::GeneratedCode;
let code = GeneratedCode::new();
assert_eq!(code.file_count(), 0);Sourcepub fn add_file(&mut self, file: GeneratedFile) -> Result<()>
pub fn add_file(&mut self, file: GeneratedFile) -> Result<()>
Adds a generated file to the collection.
§Errors
Returns Error::DuplicateGeneratedFilePath if file.path is already present in
this collection. Silently overwriting an existing entry would discard the file
already added at that path with no signal to the caller (issue #312); every path
added here is expected to already be unique by construction, so this only fires
when that invariant has actually been violated upstream.
§Examples
use mcp_execution_codegen::{GeneratedCode, GeneratedFile};
let mut code = GeneratedCode::new();
code.add_file(GeneratedFile {
path: "index.ts".to_string(),
content: "export {}".to_string(),
})
.unwrap();
assert_eq!(code.file_count(), 1);
let err = code
.add_file(GeneratedFile {
path: "index.ts".to_string(),
content: "export const x = 1;".to_string(),
})
.unwrap_err();
assert!(err.is_duplicate_generated_file_path());Sourcepub const fn file_count(&self) -> usize
pub const fn file_count(&self) -> usize
Returns the number of generated files.
§Examples
use mcp_execution_codegen::GeneratedCode;
let code = GeneratedCode::new();
assert_eq!(code.file_count(), 0);Sourcepub fn files(&self) -> impl Iterator<Item = &GeneratedFile>
pub fn files(&self) -> impl Iterator<Item = &GeneratedFile>
Returns an iterator over the generated files.
§Examples
use mcp_execution_codegen::{GeneratedCode, GeneratedFile};
let mut code = GeneratedCode::new();
code.add_file(GeneratedFile {
path: "test.ts".to_string(),
content: "content".to_string(),
});
for file in code.files() {
println!("Path: {}", file.path);
}Trait Implementations§
Source§impl Clone for GeneratedCode
impl Clone for GeneratedCode
Source§fn clone(&self) -> GeneratedCode
fn clone(&self) -> GeneratedCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more