package com.l7tech.external.assertions.gatewaygraphql.server.util;

import graphql.analysis.QueryTraverser;
import graphql.execution.instrumentation.parameters.InstrumentationValidationParameters;
import java.util.HashMap;
import java.util.Map;

public final class UnconditionalInstrumentationValidationParameters {
   public static InstrumentationValidationParameters build(InstrumentationValidationParameters var0) {
      HashMap var1 = new HashMap(var0.getVariables());
      QueryTraverser var2 = a(var0, var1);
      var2.visitPreOrder(new a(var1));
      return new InstrumentationValidationParameters(
         var0.getExecutionInput().transform(var1x -> var1x.variables(var1)), var0.getDocument(), var0.getSchema(), var0.getInstrumentationState()
      );
   }

   private static QueryTraverser a(InstrumentationValidationParameters var0, Map<String, Object> var1) {
      return QueryTraverser.newQueryTraverser()
         .schema(var0.getSchema())
         .document(var0.getDocument())
         .operationName(var0.getOperation())
         .variables(var1)
         .build();
   }
}
