Search documentation of ash

# Ash.Expr (ash v3.4.71)

View Source

Tools to build Ash expressions

# Summary

## Types

t()

## Functions

actor(value)

A template helper for using actor values in filter templates

arg(name)

A template helper for using action arguments in filter templates

atomic_ref(expr)

A template helper for referring to the most recent atomic expression applied to an update field

can_return_nil?(pred)
context(name)

A template helper for using query context in filter templates

determine_type(value)
determine_types(mod, args, returns \\ nil, nested? \\ false)
eval(expression, opts \\ [])

Evaluate an expression. This function only works if you have no references, or if you provide the `record` option.

eval!(expression, opts \\ [])

Evaluate an expression. See `eval/2` for more.

expr(body)
expr?(value)

Returns true if the value is or contains an expression

or_where(left, right)
parent(expr)

A template helper for creating a parent reference

ref(name)

A template helper for creating a reference

ref(path, name)

A template helper for creating a reference to a related path

template_references?(list, pred)

Whether or not a given template contains an actor reference

template_references_argument?(template)
template_references_context?(template)
where(left, right)

# Types

# t()

    @type t() :: any()

# Functions

# actor(value)

A template helper for using actor values in filter templates

# arg(name)

A template helper for using action arguments in filter templates

# atomic_ref(expr)

A template helper for referring to the most recent atomic expression applied to an update field

# can_return_nil?(pred)

# context(name)

A template helper for using query context in filter templates

An atom will get the value for a key, and a list will be accessed via `get_in`.

# determine_type(value)

# determine_types(mod, args, returns \\ nil, nested? \\ false)

# eval(expression, opts \\ [])

Evaluate an expression. This function only works if you have no references, or if you provide the `record` option.

# eval!(expression, opts \\ [])

Evaluate an expression. See `eval/2` for more.

# expr(body)

(macro)

    @spec expr(Macro.t()) :: t()

# expr?(value)

    @spec expr?(term()) :: boolean()

Returns true if the value is or contains an expression

# or_where(left, right)

(macro)

    @spec or_where(Macro.t(), Macro.t()) :: t()

# parent(expr)

A template helper for creating a parent reference

# ref(name)

A template helper for creating a reference

# ref(path, name)

A template helper for creating a reference to a related path

# template_references?(list, pred)

Whether or not a given template contains an actor reference

# template_references_argument?(template)

# template_references_context?(template)

# where(left, right)

(macro)

    @spec where(Macro.t(), Macro.t()) :: t()