Packages
graphqexl
0.1.0-alpha-rc.21
0.1.0
0.1.0-alpha-rc.docs-test-6
0.1.0-alpha-rc.docs-test-5
0.1.0-alpha-rc.docs-test-4
0.1.0-alpha-rc.docs-test-3
0.1.0-alpha-rc.docs-test-2
0.1.0-alpha-rc.docs-test
0.1.0-alpha-rc.25
0.1.0-alpha-rc.24
0.1.0-alpha-rc.23
0.1.0-alpha-rc.22
0.1.0-alpha-rc.21
0.1.0-alpha-rc.20
0.1.0-alpha-rc.19
0.1.0-alpha-rc.18
0.1.0-alpha-rc.17
0.1.0-alpha-rc.16
0.1.0-alpha-rc.15
0.1.0-alpha-rc.14
0.1.0-alpha-rc.13
0.1.0-alpha-rc.12
0.1.0-alpha-rc.11
0.1.0-alpha-rc.10
0.1.0-alpha-rc.9
0.1.0-alpha-rc.8
0.1.0-alpha-rc.7
0.1.0-alpha-rc.6
0.1.0-alpha-rc.5
0.1.0-alpha-rc.4
0.1.0-alpha-rc.3
0.1.0-alpha-rc.2
0.1.0-alpha-rc.1
0.1.0-alpha.rc-4
0.1.0-alpha.rc.4
Fully-loaded, pure-Elixir GraphQL server implementation with developer tools
Current section
Files
Jump to
Current section
Files
lib/graphqexl/query/operation.ex
alias Graphqexl.Query.ResultSet
defmodule Graphqexl.Query.Operation do
@moduledoc """
Individual operation contained in a query
"""
defstruct(
arguments: %{},
fields: %{},
name: "",
user_defined_name: "",
result: %ResultSet{},
type: :type,
variables: %{}
)
@type t ::
%Graphqexl.Query.Operation{
arguments: Map.t,
fields: Map.t,
name: String.t,
user_defined_name: String.t,
result: ResultSet.t,
type: atom,
variables: Map.t
}
@doc """
Add a field with optional nested fields to the given operation
Returns `t:Graphexl.Query.Operation.t/0`
"""
@doc since: "0.1.0"
def add_field(operation, field, nested_fields \\ true) do
%Graphqexl.Query.Operation{
operation
| fields: Map.update(operation.fields, field, nested_fields, &(&1))
}
end
end