Trait k8s_openapi_codegen_common::RunState
source · pub trait RunState {
type Writer: Write;
fn make_writer(
&mut self,
parts: &[&str],
type_feature: Option<&str>
) -> Result<Self::Writer>;
fn handle_operation_types(
&mut self,
operation_optional_parameters_name: Option<&str>,
operation_result_name: Option<&str>
) -> Result<()>;
fn finish(&mut self, writer: Self::Writer);
}
Expand description
Used to create an impl of std::io::Write
for each type that the type’s generated code will be written to.
Required Associated Types§
Required Methods§
sourcefn make_writer(
&mut self,
parts: &[&str],
type_feature: Option<&str>
) -> Result<Self::Writer>
fn make_writer(
&mut self,
parts: &[&str],
type_feature: Option<&str>
) -> Result<Self::Writer>
Returns an impl of std::io::Write
for each type that the type’s generated code will be written to.
Parameters
-
parts
: A list of strings making up the components of the path of the generated type. Code generators that are emitting crates can use this parameter to make module subdirectories for each component, and to emituse
statements in the final module’smod.rs
. -
type_feature
: The name of the Rust feature that should be used tocfg
-gate this type as a whole, if any. Code generators that are emitting modules can use this flag to emit a#[cfg(feature = "<this value>")]
on theuse
statement for the generated type in the module’smod.rs
.
sourcefn handle_operation_types(
&mut self,
operation_optional_parameters_name: Option<&str>,
operation_result_name: Option<&str>
) -> Result<()>
fn handle_operation_types(
&mut self,
operation_optional_parameters_name: Option<&str>,
operation_result_name: Option<&str>
) -> Result<()>
This function is invoked with the names of the optional parameters type and result type for each operation generated for a particular type.
Code generators that are emitting modules can write out use
lines in the module’s mod.rs
for each of these types.