pub struct SchemaMerger;Expand description
Schema merger combining language types and TOML config
Implementations§
Source§impl SchemaMerger
impl SchemaMerger
Sourcepub fn merge_files(
types_path: &str,
toml_path: &str,
) -> Result<IntermediateSchema>
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.
Sourcepub fn merge_toml_only(toml_path: &str) -> Result<IntermediateSchema>
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.
Sourcepub fn merge_from_directory(
toml_path: &str,
schema_dir: &str,
) -> Result<IntermediateSchema>
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.
Sourcepub fn merge_explicit_files(
toml_path: &str,
type_files: &[String],
query_files: &[String],
mutation_files: &[String],
) -> Result<IntermediateSchema>
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 pathsquery_files- Vector of query file pathsmutation_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.
Sourcepub fn merge_from_domains(toml_path: &str) -> Result<IntermediateSchema>
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.
Sourcepub fn merge_with_includes(toml_path: &str) -> Result<IntermediateSchema>
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§
impl Freeze for SchemaMerger
impl RefUnwindSafe for SchemaMerger
impl Send for SchemaMerger
impl Sync for SchemaMerger
impl Unpin for SchemaMerger
impl UnsafeUnpin for SchemaMerger
impl UnwindSafe for SchemaMerger
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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