Search documentation of ash

# View Source Ash.Query.Calculation (ash v3.4.30)

Represents a calculated attribute requested on a query

# Summary

## Types

t()

## Functions

from_resource_calculation(resource, name, opts \\ [])

Creates a new query calculation from a resource calculation.

from_resource_calculation!(resource, name, opts \\ [])

Creates a new query calculation from a resource calculation, raising any errors.

new(name, module, calc_opts, type, constraints, opts \\ [])

Creates a new query calculation.

# Types

Link to this type

# t()

View Source

    @type t() :: %Ash.Query.Calculation{
      async?: term(),
      calc_name: term(),
      constraints: term(),
      context: term(),
      filterable?: term(),
      load: term(),
      module: term(),
      name: term(),
      opts: term(),
      required_loads: term(),
      select: term(),
      sensitive?: term(),
      sortable?: term(),
      type: term()
    }

# Functions

Link to this function

# from_resource_calculation(resource, name, opts \\ [])

View Source

Creates a new query calculation from a resource calculation.

## Options

- `:args` (`map/0`) - Arguments to pass to the calculation The default value is `%{}`.

- `:source_context` (`map/0`) - Context from the source query or changeset. The default value is `%{}`.

Link to this function

# from_resource_calculation!(resource, name, opts \\ [])

View Source

Creates a new query calculation from a resource calculation, raising any errors.

See `from_resource_calculation/3` for more.

Link to this function

# new(name, module, calc_opts, type, constraints, opts \\ [])

View Source

Creates a new query calculation.

## Options

- `:arguments` (`map/0`) - Arguments to pass to the calculation The default value is `%{}`.

- `:async?` (`boolean/0`) - Whether or not this calculation should be run asynchronously The default value is `false`.

- `:filterable?` (`boolean/0`) - Whether or not this calculation can be filtered on The default value is `true`.

- `:sortable?` (`boolean/0`) - Whether or not this calculation can be sorted on The default value is `true`.

- `:sensitive?` (`boolean/0`) - Whether or not references to this calculation will be considered sensitive The default value is `false`.

- `:load` (`term/0`) - Loads that are required for the calculation.

- `:source_context` (`map/0`) - Context from the source query or changeset. The default value is `%{}`.