Ash.Info.Manifest.Function (ash v3.25.1)

Copy Markdown View Source

Represents a single function in the filter capabilities catalog.

Built from Ash.Filter.builtin_functions/0 and from the functions/1 callback of each data layer reachable from the manifest's resources.

signatures may be the atom :var_args for functions that accept arbitrary arity (e.g. fragment).

data_layer_module is nil for Ash builtins and a module atom for entries sourced from a specific data layer (e.g. AshPostgres.DataLayer). Consumers can use it to intersect a resource's data layer against the catalog when deciding which functions to render for that resource.

Summary

Types

t()

@type t() :: %Ash.Info.Manifest.Function{
  custom: map(),
  data_layer_module: module() | nil,
  description: String.t() | nil,
  module: module(),
  name: atom(),
  predicate?: boolean(),
  returns: Ash.Info.Manifest.ArgumentSignature.arg_spec() | :unknown,
  signatures: [Ash.Info.Manifest.ArgumentSignature.t()] | :var_args
}