mirror of
https://github.com/kjuulh/dagger-rs.git
synced 2025-08-13 19:23:29 +02:00
feature/add impl (#6)
* format code * with object gen and args * add implementation * add rust generator * reset generated code * add basic output * reset output * add object * add format function * with opts * fix vec * add context to unwrap * fix arguments * with function body * first complete generation: Still missing Vec<Obj> * run full alpine * add roadmap item
This commit is contained in:
64
crates/dagger-codegen/src/rust/format.rs
Normal file
64
crates/dagger-codegen/src/rust/format.rs
Normal file
@@ -0,0 +1,64 @@
|
||||
use crate::functions::FormatTypeFuncs;
|
||||
|
||||
use super::functions::format_name;
|
||||
|
||||
pub struct FormatTypeFunc;
|
||||
|
||||
impl FormatTypeFuncs for FormatTypeFunc {
|
||||
fn format_kind_list(&self, representation: &str) -> String {
|
||||
format!("Vec<{}>", representation)
|
||||
}
|
||||
|
||||
fn format_kind_scalar_string(&self, representation: &str) -> String {
|
||||
let mut rep = representation.to_string();
|
||||
rep.push_str("String");
|
||||
rep
|
||||
}
|
||||
|
||||
fn format_kind_scalar_int(&self, representation: &str) -> String {
|
||||
let mut rep = representation.to_string();
|
||||
rep.push_str("isize");
|
||||
rep
|
||||
}
|
||||
|
||||
fn format_kind_scalar_float(&self, representation: &str) -> String {
|
||||
let mut rep = representation.to_string();
|
||||
rep.push_str("float");
|
||||
rep
|
||||
}
|
||||
|
||||
fn format_kind_scalar_boolean(&self, representation: &str) -> String {
|
||||
let mut rep = representation.to_string();
|
||||
rep.push_str("bool");
|
||||
rep
|
||||
}
|
||||
|
||||
fn format_kind_scalar_default(
|
||||
&self,
|
||||
representation: &str,
|
||||
ref_name: &str,
|
||||
input: bool,
|
||||
) -> String {
|
||||
let mut rep = representation.to_string();
|
||||
rep.push_str(&format_name(ref_name));
|
||||
rep
|
||||
}
|
||||
|
||||
fn format_kind_object(&self, representation: &str, ref_name: &str) -> String {
|
||||
let mut rep = representation.to_string();
|
||||
rep.push_str(&format_name(ref_name));
|
||||
rep
|
||||
}
|
||||
|
||||
fn format_kind_input_object(&self, representation: &str, ref_name: &str) -> String {
|
||||
let mut rep = representation.to_string();
|
||||
rep.push_str(&format_name(ref_name));
|
||||
rep
|
||||
}
|
||||
|
||||
fn format_kind_enum(&self, representation: &str, ref_name: &str) -> String {
|
||||
let mut rep = representation.to_string();
|
||||
rep.push_str(&format_name(ref_name));
|
||||
rep
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user