ash v1.6.2 Ash.Filter View Source

The representation of a filter in Ash.

Ash filters are stored as nested Ash.Filter.Expression{} and %Ash.Filter.Not{} structs, terminating in a %Ash.Filter.Predicate{} struct. An expression is simply a boolean operator and the left and right hand side of that operator.

Link to this section Summary

Link to this section Types

Specs

t() :: %Ash.Filter{expression: term(), resource: term()}

Link to this section Functions

Link to this function

add_to_filter(base, addition, op \\ :and, aggregates \\ %{})

View Source
Link to this function

add_to_filter!(base, addition, op \\ :and, aggregates \\ %{})

View Source
Link to this function

do_map(expression, func)

View Source
Link to this function

do_reduce(expression, acc, func)

View Source
Link to this function

filter_expression_by_relationship_path(filter, path, scope? \\ false)

View Source
Link to this function

parse(resource, statement, aggregates \\ %{})

View Source
Link to this function

parse!(resource, statement, aggregates \\ %{})

View Source
Link to this function

put_at_path(value, list)

View Source
Link to this function

read_requests(api, filter)

View Source
Link to this function

reduce(filter, acc \\ nil, func)

View Source
Link to this function

relationship_filter_request_paths(filter)

View Source
Link to this function

relationship_paths(filter_or_expression, kind \\ :all)

View Source
Link to this function

remove_aggregates(filter)

View Source
Link to this function

run_other_data_layer_filters(api, resource, filter)

View Source
Link to this function

strict_subset_of(filter, candidate)

View Source

Returns true if the second argument is a strict subset (always returns the same or less data) of the first

Link to this function

strict_subset_of?(filter, candidate)

View Source