Struct GeneratorFixed

Source
pub struct GeneratorFixed<'types> { /* private fields */ }
Expand description

Finalized code generator that emits Rust types from resolved schema definitions.

GeneratorFixed is produced by sealing a Generator with Generator::into_fixed(), locking its configuration and enabling deterministic generation of all required types.

It offers methods to:

  • generate a specific type
  • generate all named types
  • generate all available types

Once generation is complete, use finish to retrieve the generated DataTypes output for rendering.

Implementations§

Source§

impl<'types> GeneratorFixed<'types>

Source

pub fn generate_type( self, ident: Ident, ) -> Result<GeneratorFixed<'types>, Error>

Generate the code for the given type.

This will generate the code for the passed type identifier and all dependencies of this type.

§Examples
let generator = Generator::new(types)
    .generate_type(Ident::type_("Root"));
Source

pub fn generate_all_types(self) -> Result<Self, Error>

Generate the code for all types.

This will generate the code for all types that are specified in the MetaTypes object passed to the generator.

§Examples
let generator = Generator::new(types)
    .generate_all_types();
Source

pub fn generate_named_types(self) -> Result<Self, Error>

Generate the code for all named types.

This will generate the code for all types with an explicit name and all dependencies of these types that are specified in the MetaTypes object passed to the generator.

§Examples
let generator = Generator::new(types)
    .generate_named_types();
Source

pub fn finish(self) -> DataTypes<'types>

Finish the code generation.

This will return the generated data types as DataTypes.

Trait Implementations§

Source§

impl<'types> Debug for GeneratorFixed<'types>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'types> Freeze for GeneratorFixed<'types>

§

impl<'types> !RefUnwindSafe for GeneratorFixed<'types>

§

impl<'types> !Send for GeneratorFixed<'types>

§

impl<'types> !Sync for GeneratorFixed<'types>

§

impl<'types> Unpin for GeneratorFixed<'types>

§

impl<'types> !UnwindSafe for GeneratorFixed<'types>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<X> AsAny for X
where X: 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Get a reference to the current object as Any.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Get a mutable reference to the current object as Any.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T