Beispiel #1
0
        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);
        }
Beispiel #2
0
 private bool ShouldBeIncluded(Language.IHasDirectives selection)
 {
     if (selection.Directives.Skip(_variables))
     {
         return(false);
     }
     return(selection.Directives.Include(_variables));
 }
Beispiel #3
0
        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));
        }
Beispiel #4
0
    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);
        }
Beispiel #6
0
        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));
        }