Example #1
0
        private void CheckDirectives(ValidationContext context, Directives directives)
        {
            var knownDirectives = new Dictionary <string, Directive>();

            directives?.Apply(directive =>
            {
                var directiveName = directive.Name;
                if (knownDirectives.ContainsKey(directiveName))
                {
                    var error = new ValidationError(
                        context.OriginalQuery,
                        "5.6.3",
                        DuplicateDirectiveMessage(directiveName),
                        knownDirectives[directiveName],
                        directive);
                    context.ReportError(error);
                }
                else
                {
                    knownDirectives[directiveName] = directive;
                }
            });
        }