solid v0.4.2 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
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