public static string DeprecationReason( this Language.IHasDirectives syntaxNode) { DirectiveNode directive = syntaxNode.Directives.FirstOrDefault(t => t.Name.Value == WellKnownDirectives.Deprecated); if (directive == null) { return(null); } ArgumentNode argument = directive.Arguments.FirstOrDefault(t => t.Name.Value == WellKnownDirectives.DeprecationReasonArgument); if (argument == null) { return(null); } if (argument.Value is StringValueNode s) { return(s.Value); } return(null); }
private bool ShouldBeIncluded(Language.IHasDirectives selection) { if (selection.Directives.Skip(_variables)) { return(false); } return(selection.Directives.Include(_variables)); }
private static FieldVisibility ExtractVisibility( Language.IHasDirectives selection, FieldVisibility fieldVisibility) { IValueNode skip = selection.Directives.SkipValue(); IValueNode include = selection.Directives.IncludeValue(); if (skip == null && include == null) { return(fieldVisibility); } return(new FieldVisibility(skip, include, fieldVisibility)); }
public static string?GetBindingValue(this Language.IHasDirectives syntaxNode) { DirectiveNode?directive = syntaxNode.Directives.FirstOrDefault( t => t.Name.Value == Name); if (directive is null) { return(null); } if (directive.Arguments.Count == 1) { ArgumentNode to = directive.Arguments[0]; if (to.Name.Value.EqualsOrdinal(ToArgument) && to.Value is StringValueNode { Value : { Length : > 0 } value })
public static string DeprecationReason( this Language.IHasDirectives syntaxNode) { DirectiveNode directive = syntaxNode.Directives.FirstOrDefault(t => t.Name.Value == WellKnownDirectives.Deprecated); if (directive is null) { return(null); } if (directive.Arguments.Count != 0 && directive.Arguments[0].Name.Value == WellKnownDirectives.DeprecationReasonArgument && directive.Arguments[0].Value is StringValueNode s && !string.IsNullOrEmpty(s.Value)) { return(s.Value); } return(WellKnownDirectives.DeprecationDefaultReason); }
private static SelectionIncludeCondition?ExtractVisibility( Language.IHasDirectives selection, SelectionIncludeCondition?visibility) { if (selection.Directives.Count == 0) { return(visibility); } IValueNode?skip = selection.Directives.SkipValue(); IValueNode?include = selection.Directives.IncludeValue(); if (skip is null && include is null) { return(visibility); } if (visibility is not null && visibility.Equals(skip, include)) { return(visibility); } return(new SelectionIncludeCondition(skip, include, visibility)); }