Skip to main content

SchemaMerger

Struct SchemaMerger 

Source
pub struct SchemaMerger;
Expand description

Schema merger combining language types and TOML config

Implementations§

Source§

impl SchemaMerger

Source

pub fn merge_files( types_path: &str, toml_path: &str, ) -> Result<IntermediateSchema>

Merge types.json file with TOML configuration

§Arguments
  • types_path - Path to types.json (from language implementation)
  • toml_path - Path to fraiseql.toml (configuration)
§Returns

Combined IntermediateSchema.

§Errors

Returns an error if either file cannot be read or parsed, or if the merged result cannot be deserialized into an IntermediateSchema.

Source

pub fn merge_toml_only(toml_path: &str) -> Result<IntermediateSchema>

Merge TOML-only (no types.json)

§Arguments
  • toml_path - Path to fraiseql.toml with inline type definitions
§Returns

IntermediateSchema from TOML definitions.

§Errors

Returns an error if the TOML file cannot be loaded, if validation fails, or if the merged result cannot be deserialized into an IntermediateSchema.

Source

pub fn merge_from_directory( toml_path: &str, schema_dir: &str, ) -> Result<IntermediateSchema>

Merge from directory with auto-discovery

§Arguments
  • toml_path - Path to fraiseql.toml (configuration)
  • schema_dir - Path to directory containing schema files
§Returns

IntermediateSchema from loaded files + TOML definitions.

§Errors

Returns an error if either file cannot be loaded or validated, if the directory cannot be read, or if the merged result cannot be deserialized.

Source

pub fn merge_explicit_files( toml_path: &str, type_files: &[String], query_files: &[String], mutation_files: &[String], ) -> Result<IntermediateSchema>

Merge explicit file lists

§Arguments
  • toml_path - Path to fraiseql.toml (configuration)
  • type_files - Vector of type file paths
  • query_files - Vector of query file paths
  • mutation_files - Vector of mutation file paths
§Returns

IntermediateSchema from loaded files + TOML definitions

§Errors

Returns an error if the TOML file cannot be loaded or validated, or if any of the type/query/mutation files fail to load or parse.

Source

pub fn merge_from_domains(toml_path: &str) -> Result<IntermediateSchema>

Merge from domains (domain-based organization)

§Arguments
  • toml_path - Path to fraiseql.toml with domain_discovery enabled
§Returns

IntermediateSchema from all domains (types.json, queries.json, mutations.json).

§Errors

Returns an error if the TOML cannot be loaded or validated, if domain discovery fails, if any domain file cannot be parsed, or if the merged result cannot be deserialized.

Source

pub fn merge_with_includes(toml_path: &str) -> Result<IntermediateSchema>

Merge with TOML includes (glob patterns for schema files)

§Arguments
  • toml_path - Path to fraiseql.toml with schema.includes section
§Returns

IntermediateSchema from loaded files + TOML definitions.

§Errors

Returns an error if the TOML cannot be loaded or validated, if any glob pattern is invalid, if a matched file cannot be parsed, or if the merged result cannot be deserialized.

Auto Trait Implementations§

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<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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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