use std::sync::Arc; use dagger_core::introspection::Schema; pub trait Generator { fn generate(&self, schema: Schema) -> eyre::Result; } pub type DynGenerator = Arc; 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; }