module GraphQL::StaticValidation::TypeStack::ArgumentStrategy
Public Instance Methods
pop(stack, node)
click to toggle source
# File lib/graphql/static_validation/type_stack.rb, line 166 def pop(stack, node) stack.argument_definitions.pop stack.path.pop end
push(stack, node)
click to toggle source
Push ‘argument_defn` onto the stack. It’s possible that ‘argument_defn` will be nil. Push it anyways so `pop` has something to pop.
# File lib/graphql/static_validation/type_stack.rb, line 147 def push(stack, node) if stack.argument_definitions.last arg_type = stack.argument_definitions.last.type.unwrap if arg_type.kind.input_object? argument_defn = arg_type.arguments[node.name] else argument_defn = nil end elsif stack.directive_definitions.last argument_defn = stack.directive_definitions.last.arguments[node.name] elsif stack.field_definitions.last argument_defn = stack.field_definitions.last.arguments[node.name] else argument_defn = nil end stack.argument_definitions.push(argument_defn) stack.path.push(node.name) end