A condition on a column that a row must meet to be in the grid.
op is one of:
:eqand:neq: equal, or not, tovalue;:contains,:not_contains,:starts_withand:ends_with: for text, without case;:gt,:gte,:ltand:lte: greater or less thanvalue;:between: from the first to the second value of a two-item list, both included;:in: one of the values of a list;:is_niland:not_nil: no value, or any value (with novalue).
A column of many values (a path through several related rows, see
Masu.Column) filters by :in ("has any of" the values), :all_of
("has all of"), :none_of ("has none of"), :is_nil ("has none":
no related row) and :not_nil ("has some").
The value is read for the column's type (see Masu.Column): a date
column takes "2026-10-17" or a Date, a number column "12.5" or
12.5.
Summary
Functions
Checks a filter against the grid's columns and reads its value for the column's type. Returns the filter with the value read, or an error that says why: no such column, a column that does not filter, an operator that is not for its type, or a value it cannot read. A value is an error too when a text of it is over 1,000 bytes or has a NUL character, or a list filter has more than 10,000 values.
The operators of a filter on a column of many values (Masu.Column.many?/1).
Whether a value meets the filter, as Masu.Source.List checks it. The
filter's value must already be read (cast/2).
Whether the values of a column of many values (a list, or nil: not
loaded) meet the filter, as Masu.Source.List checks them.
A filter on the column with key.
The operators of a filter.
The operators of a filter on a column of type: those of text only for text and enums.
Types
Functions
@spec cast(t(), [Masu.Column.t()]) :: {:ok, t()} | {:error, String.t()}
Checks a filter against the grid's columns and reads its value for the column's type. Returns the filter with the value read, or an error that says why: no such column, a column that does not filter, an operator that is not for its type, or a value it cannot read. A value is an error too when a text of it is over 1,000 bytes or has a NUL character, or a list filter has more than 10,000 values.
@spec many_ops() :: [op()]
The operators of a filter on a column of many values (Masu.Column.many?/1).
Whether a value meets the filter, as Masu.Source.List checks it. The
filter's value must already be read (cast/2).
Whether the values of a column of many values (a list, or nil: not
loaded) meet the filter, as Masu.Source.List checks them.
A filter on the column with key.
@spec ops() :: [op()]
The operators of a filter.
@spec ops(Masu.Column.type()) :: [op()]
The operators of a filter on a column of type: those of text only for text and enums.