Represents a single operator in the filter capabilities catalog.
Built from Ash.Filter.builtin_operators/0.
Canonical name vs. aliases
name is the user-facing operator symbol — the spelling that appears
in Ash.Query.filter expressions and that extensions should render to
clients (e.g. :==, :<, :in, :is_nil).
aliases carries the legacy/module-derived spellings (e.g. :eq,
:less_than). New consumers should key off name. Tools that already
render the module-derived names (e.g. some historical ash_graphql input
shapes) can substitute via aliases for backward compatibility.
Each per-field %Ash.Info.Manifest.ApplicableOperator{} records name (the
canonical symbol), not an alias. Consumers look up the full operator
definition via Ash.Info.Manifest.operator_lookup/1.
Summary
Types
@type t() :: %Ash.Info.Manifest.Operator{ aliases: [atom()], custom: map(), description: String.t() | nil, module: module(), name: atom(), predicate?: boolean(), returns: Ash.Info.Manifest.ArgumentSignature.arg_spec() | :unknown, signatures: [Ash.Info.Manifest.ArgumentSignature.t()] }