mirror of
https://github.com/kjuulh/dagger-rs.git
synced 2024-11-30 02:32:31 +01:00
Kasper Juul Hermansen
4a4c03f3c2
* 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
22 lines
882 B
Rust
22 lines
882 B
Rust
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;
|
|
}
|