Module: GraphQL::StaticValidation::TypeStack::ArgumentStrategy
- Defined in:
- lib/graphql/static_validation/type_stack.rb
Class Method Summary collapse
- .pop(stack, node) ⇒ Object
-
.push(stack, node) ⇒ Object
Push
argument_defn
onto the stack.
Class Method Details
.pop(stack, node) ⇒ Object
166 167 168 169 |
# 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) ⇒ Object
Push argument_defn
onto the stack.
It's possible that argument_defn
will be nil.
Push it anyways so pop
has something to pop.
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
# 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.input_fields[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 |