solid v0.3.0 Solid.Argument

An Argument can be a field that will be inside the context or a value (String, Integer, etc)

Link to this section Summary

Functions

iex> Solid.Argument.get([field: [keys: ["key"], accesses: []]], %Solid.Context{vars: %{"key" => 123}}) 123 iex> Solid.Argument.get([field: [keys: ["key1", "key2"], accesses: []]], %Solid.Context{vars: %{"key1" => %{"key2" => 123}}}) 123 iex> Solid.Argument.get([value: "value"], %Solid.Context{}) "value" iex> Solid.Argument.get([field: [keys: ["key"], accesses: [access: 1, access: 1]]], %Solid.Context{vars: %{"key" => [1, [1,2,3], 3]}}) 2 iex> Solid.Argument.get([field: [keys: ["key"], accesses: [access: 1]]], %Solid.Context{vars: %{"key" => "a string"}}) nil

Link to this section Functions

Link to this function

get(field, context, scopes \\ [:iteration_vars, :vars, :counter_vars])

get(
  [{:field, [keys: [String.t()], accesses: [{:access, non_neg_integer()}]]}]
  | [{:value, term()}],
  Solid.Context.t(),
  [atom()]
) :: term()

iex> Solid.Argument.get([field: [keys: ["key"], accesses: []]], %Solid.Context{vars: %{"key" => 123}}) 123 iex> Solid.Argument.get([field: [keys: ["key1", "key2"], accesses: []]], %Solid.Context{vars: %{"key1" => %{"key2" => 123}}}) 123 iex> Solid.Argument.get([value: "value"], %Solid.Context{}) "value" iex> Solid.Argument.get([field: [keys: ["key"], accesses: [access: 1, access: 1]]], %Solid.Context{vars: %{"key" => [1, [1,2,3], 3]}}) 2 iex> Solid.Argument.get([field: [keys: ["key"], accesses: [access: 1]]], %Solid.Context{vars: %{"key" => "a string"}}) nil