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
@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 }