diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/CacheControlDirectiveMerger.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/CacheControlDirectiveMerger.cs index fb46239d660..80db2e11cbf 100644 --- a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/CacheControlDirectiveMerger.cs +++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/CacheControlDirectiveMerger.cs @@ -20,7 +20,7 @@ mergeBehavior is DirectiveMergeBehavior.IncludePrivate ? $"fusion__{DirectiveNames.CacheControl}" : DirectiveNames.CacheControl; - public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(ISchemaDefinition schema) + public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(MutableSchemaDefinition schema) { return CacheControlMutableDirectiveDefinition.Create(schema); } diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/CostDirectiveMerger.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/CostDirectiveMerger.cs index 1e5d18547d9..5a398450fcd 100644 --- a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/CostDirectiveMerger.cs +++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/CostDirectiveMerger.cs @@ -17,7 +17,7 @@ internal class CostDirectiveMerger(DirectiveMergeBehavior mergeBehavior) { public override string DirectiveName => DirectiveNames.Cost; - public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(ISchemaDefinition schema) + public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(MutableSchemaDefinition schema) { return CostMutableDirectiveDefinition.Create(schema); } diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/DirectiveMergerBase.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/DirectiveMergerBase.cs index 9b30383532c..0d5a738087b 100644 --- a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/DirectiveMergerBase.cs +++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/DirectiveMergerBase.cs @@ -12,7 +12,7 @@ internal abstract class DirectiveMergerBase(DirectiveMergeBehavior mergeBehavior public DirectiveMergeBehavior MergeBehavior { get; } = mergeBehavior; - public abstract MutableDirectiveDefinition GetCanonicalDirectiveDefinition(ISchemaDefinition schema); + public abstract MutableDirectiveDefinition GetCanonicalDirectiveDefinition(MutableSchemaDefinition schema); public virtual void MergeDirectiveDefinition( MutableDirectiveDefinition directiveDefinition, diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/IDirectiveMerger.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/IDirectiveMerger.cs index dbfe4706063..d95e24df45d 100644 --- a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/IDirectiveMerger.cs +++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/IDirectiveMerger.cs @@ -12,7 +12,7 @@ internal interface IDirectiveMerger DirectiveMergeBehavior MergeBehavior { get; } - MutableDirectiveDefinition GetCanonicalDirectiveDefinition(ISchemaDefinition schema); + MutableDirectiveDefinition GetCanonicalDirectiveDefinition(MutableSchemaDefinition schema); void MergeDirectiveDefinition( MutableDirectiveDefinition directiveDefinition, diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/ListSizeDirectiveMerger.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/ListSizeDirectiveMerger.cs index a66b645db55..14f9f52e730 100644 --- a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/ListSizeDirectiveMerger.cs +++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/ListSizeDirectiveMerger.cs @@ -17,7 +17,7 @@ internal class ListSizeDirectiveMerger(DirectiveMergeBehavior mergeBehavior) { public override string DirectiveName => DirectiveNames.ListSize; - public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(ISchemaDefinition schema) + public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(MutableSchemaDefinition schema) { return ListSizeMutableDirectiveDefinition.Create(schema); } diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/McpToolAnnotationsDirectiveMerger.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/McpToolAnnotationsDirectiveMerger.cs index 07553fb38d5..e137db9e74e 100644 --- a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/McpToolAnnotationsDirectiveMerger.cs +++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/McpToolAnnotationsDirectiveMerger.cs @@ -16,7 +16,7 @@ internal class McpToolAnnotationsDirectiveMerger(DirectiveMergeBehavior mergeBeh { public override string DirectiveName => DirectiveNames.McpToolAnnotations; - public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(ISchemaDefinition schema) + public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(MutableSchemaDefinition schema) { return McpToolAnnotationsMutableDirectiveDefinition.Create(schema); } diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/OneOfDirectiveMerger.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/OneOfDirectiveMerger.cs index 96a59a01934..becdffd8e4a 100644 --- a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/OneOfDirectiveMerger.cs +++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/OneOfDirectiveMerger.cs @@ -13,9 +13,9 @@ internal class OneOfDirectiveMerger(DirectiveMergeBehavior mergeBehavior) { public override string DirectiveName => DirectiveNames.OneOf; - public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(ISchemaDefinition schema) + public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(MutableSchemaDefinition schema) { - return OneOfMutableDirectiveDefinition.Create(schema); + return BuiltIns.OneOf.Create(); } public override void MergeDirectives( diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/SerializeAsDirectiveMerger.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/SerializeAsDirectiveMerger.cs index 925b994fd8d..1d4259a924e 100644 --- a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/SerializeAsDirectiveMerger.cs +++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/SerializeAsDirectiveMerger.cs @@ -18,7 +18,7 @@ internal class SerializeAsDirectiveMerger(DirectiveMergeBehavior mergeBehavior) { public override string DirectiveName => DirectiveNames.SerializeAs; - public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(ISchemaDefinition schema) + public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(MutableSchemaDefinition schema) { return SerializeAsMutableDirectiveDefinition.Create(schema); } diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/SpecifiedByDirectiveMerger.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/SpecifiedByDirectiveMerger.cs index 0b40a2ea217..1558c339637 100644 --- a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/SpecifiedByDirectiveMerger.cs +++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/SpecifiedByDirectiveMerger.cs @@ -15,9 +15,9 @@ internal class SpecifiedByDirectiveMerger(DirectiveMergeBehavior mergeBehavior) { public override string DirectiveName => DirectiveNames.SpecifiedBy; - public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(ISchemaDefinition schema) + public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(MutableSchemaDefinition schema) { - return SpecifiedByMutableDirectiveDefinition.Create(schema); + return BuiltIns.SpecifiedBy.Create(schema); } public override void MergeDirectives( diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/TagDirectiveMerger.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/TagDirectiveMerger.cs index ceabb99788f..638ca0d178b 100644 --- a/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/TagDirectiveMerger.cs +++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Composition/DirectiveMergers/TagDirectiveMerger.cs @@ -19,7 +19,7 @@ mergeBehavior is DirectiveMergeBehavior.IncludePrivate ? $"fusion__{DirectiveNames.Tag}" : DirectiveNames.Tag; - public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(ISchemaDefinition schema) + public override MutableDirectiveDefinition GetCanonicalDirectiveDefinition(MutableSchemaDefinition schema) { return TagMutableDirectiveDefinition.Create(schema); } diff --git a/src/HotChocolate/Mutable/src/Types.Mutable/BuiltIns/OneOfMutableDirectiveDefinition.cs b/src/HotChocolate/Mutable/src/Types.Mutable/BuiltIns/OneOfMutableDirectiveDefinition.cs index 372243defcc..61c839b2796 100644 --- a/src/HotChocolate/Mutable/src/Types.Mutable/BuiltIns/OneOfMutableDirectiveDefinition.cs +++ b/src/HotChocolate/Mutable/src/Types.Mutable/BuiltIns/OneOfMutableDirectiveDefinition.cs @@ -8,9 +8,4 @@ internal OneOfMutableDirectiveDefinition() IsSpecDirective = true; Locations = DirectiveLocation.InputObject; } - - public static OneOfMutableDirectiveDefinition Create(ISchemaDefinition _) - { - return new OneOfMutableDirectiveDefinition(); - } } diff --git a/src/HotChocolate/Mutable/src/Types.Mutable/BuiltIns/SpecifiedByMutableDirectiveDefinition.cs b/src/HotChocolate/Mutable/src/Types.Mutable/BuiltIns/SpecifiedByMutableDirectiveDefinition.cs index eb605c7ade2..43d18da391f 100644 --- a/src/HotChocolate/Mutable/src/Types.Mutable/BuiltIns/SpecifiedByMutableDirectiveDefinition.cs +++ b/src/HotChocolate/Mutable/src/Types.Mutable/BuiltIns/SpecifiedByMutableDirectiveDefinition.cs @@ -11,16 +11,4 @@ internal SpecifiedByMutableDirectiveDefinition(MutableScalarTypeDefinition strin } public MutableInputFieldDefinition Url => Arguments[DirectiveNames.SpecifiedBy.Arguments.Url]; - - public static SpecifiedByMutableDirectiveDefinition Create(ISchemaDefinition schema) - { - if (!schema.Types.TryGetType( - SpecScalarNames.String.Name, - out var stringType)) - { - stringType = BuiltIns.String.Create(); - } - - return new SpecifiedByMutableDirectiveDefinition(stringType); - } }