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:
2023-02-17 12:33:16 +01:00
committed by GitHub
parent 2eb027754b
commit 4a4c03f3c2
30 changed files with 2478 additions and 1724 deletions

View 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;
}