Beispiel #1
0
 private void VisitScalarTypeDefinition(
     ScalarTypeDefinitionNode node,
     ISyntaxWriter writer)
 {
     WriteDescription(node.Description, writer);
     VisitScalarTypeDefinitionBase(node, writer);
 }
Beispiel #2
0
        protected override ScalarTypeDefinitionNode RewriteScalarTypeDefinition(
            ScalarTypeDefinitionNode node,
            MergeContext context)
        {
            ScalarTypeDefinitionNode current = node;

            if (context.Extensions.TryGetValue(
                    current.Name.Value,
                    out ITypeExtensionNode? extension))
            {
                if (extension is ScalarTypeExtensionNode ste)
                {
                    current = AddDirectives(current, ste,
                                            d => current.WithDirectives(d), context);
                }
                else
                {
                    throw new SchemaMergeException(
                              current,
                              extension,
                              string.Format(
                                  CultureInfo.InvariantCulture,
                                  StitchingResources.AddSchemaExtensionRewriter_TypeMismatch,
                                  node.Name.Value,
                                  node.Kind,
                                  extension.Kind));
                }
            }

            return(base.RewriteScalarTypeDefinition(current, context));
        }
 protected override void VisitScalarTypeDefinition(
     ScalarTypeDefinitionNode node,
     TypeDefinitionItem context)
 {
     VisitName(node.Name, context);
     VisitIfNotNull(node.Description, context, VisitStringValue);
     VisitMany(node.Directives, context, VisitDirective);
 }
 public static ScalarTypeDefinitionNode Rename(
     this ScalarTypeDefinitionNode enumTypeDefinition,
     NameString newName,
     IEnumerable <NameString> schemaNames)
 {
     return(AddSource(enumTypeDefinition, newName, schemaNames,
                      (n, d) => enumTypeDefinition
                      .WithName(n).WithDirectives(d)));
 }
 public static ScalarTypeDefinitionNode Rename(
     this ScalarTypeDefinitionNode enumTypeDefinition,
     NameString newName,
     params NameString[] schemaNames)
 {
     return(Rename(
                enumTypeDefinition,
                newName,
                (IEnumerable <NameString>)schemaNames));
 }
Beispiel #6
0
 protected sealed override ISyntaxVisitorAction Enter(
     ISyntaxNode node,
     ISyntaxVisitorContext context)
 {
     return(node switch
     {
         DocumentNode n => Enter(n, context),
         OperationDefinitionNode n => Enter(n, context),
         VariableDefinitionNode n => Enter(n, context),
         VariableNode n => Enter(n, context),
         SelectionSetNode n => Enter(n, context),
         FieldNode n => Enter(n, context),
         ArgumentNode n => Enter(n, context),
         FragmentSpreadNode n => Enter(n, context),
         InlineFragmentNode n => Enter(n, context),
         FragmentDefinitionNode n => Enter(n, context),
         DirectiveNode n => Enter(n, context),
         NamedTypeNode n => Enter(n, context),
         ListTypeNode n => Enter(n, context),
         NonNullTypeNode n => Enter(n, context),
         ListValueNode n => Enter(n, context),
         ObjectValueNode n => Enter(n, context),
         ObjectFieldNode n => Enter(n, context),
         IValueNode n => Enter(n, context),
         SchemaDefinitionNode n => Enter(n, context),
         OperationTypeDefinitionNode n => Enter(n, context),
         ScalarTypeDefinitionNode n => Enter(n, context),
         ObjectTypeDefinitionNode n => Enter(n, context),
         FieldDefinitionNode n => Enter(n, context),
         InputValueDefinitionNode n => Enter(n, context),
         InterfaceTypeDefinitionNode n => Enter(n, context),
         UnionTypeDefinitionNode n => Enter(n, context),
         EnumTypeDefinitionNode n => Enter(n, context),
         EnumValueDefinitionNode n => Enter(n, context),
         InputObjectTypeDefinitionNode n => Enter(n, context),
         DirectiveDefinitionNode n => Enter(n, context),
         SchemaExtensionNode n => Enter(n, context),
         ScalarTypeExtensionNode n => Enter(n, context),
         ObjectTypeExtensionNode n => Enter(n, context),
         InterfaceTypeExtensionNode n => Enter(n, context),
         UnionTypeExtensionNode n => Enter(n, context),
         EnumTypeExtensionNode n => Enter(n, context),
         InputObjectTypeExtensionNode n => Enter(n, context),
         _ => throw new NotSupportedException()
     });
 protected virtual ISyntaxVisitorAction Enter(
     ScalarTypeDefinitionNode node,
     ISyntaxVisitorContext context) =>
 DefaultAction;
 protected virtual ISyntaxVisitorAction Leave(
     ScalarTypeDefinitionNode node,
     TContext context) =>
 DefaultAction;
Beispiel #9
0
 public CustomScalarType(ScalarTypeDefinitionNode typeDefinition)
     : base(typeDefinition?.Name.Value)
 {
     Description = typeDefinition?.Description?.Value;
     SyntaxNode  = typeDefinition;
 }
Beispiel #10
0
 protected virtual void VisitScalarTypeDefinition(ScalarTypeDefinitionNode node)
 {
 }