mirror of
https://github.com/kjuulh/dagger-rs.git
synced 2025-08-07 15:53:25 +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:
21
crates/dagger-codegen/src/generator.rs
Normal file
21
crates/dagger-codegen/src/generator.rs
Normal file
@@ -0,0 +1,21 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use dagger_core::introspection::Schema;
|
||||
|
||||
pub trait Generator {
|
||||
fn generate(&self, schema: Schema) -> eyre::Result<String>;
|
||||
}
|
||||
|
||||
pub type DynGenerator = Arc<dyn Generator + Send + Sync>;
|
||||
|
||||
pub trait FormatTypeRefs {
|
||||
fn format_kind_list(representation: &str) -> String;
|
||||
fn format_kind_scalar_string(representation: &str) -> String;
|
||||
fn format_kind_scalar_int(representation: &str) -> String;
|
||||
fn format_kind_scalar_float(representation: &str) -> String;
|
||||
fn format_kind_scalar_boolean(representation: &str) -> String;
|
||||
fn format_kind_scalar_default(representation: &str, ref_name: &str, input: bool) -> String;
|
||||
fn format_kind_object(representation: &str, ref_name: &str) -> String;
|
||||
fn format_kind_input_object(representation: &str, ref_name: &str) -> String;
|
||||
fn format_kind_enum(representation: &str, ref_name: &str) -> String;
|
||||
}
|
Reference in New Issue
Block a user