Operators

Every built-in operator, its value shape, and the kinds that use it by default.

"Value" is the shape of rule.value: one matches the field's type, text is always a string (substring matching), [a, b] a pair, list an array. OPERATORS holds the table, operatorInfo(fields, id) looks up built-in and custom operators, and each has an inverse (eq ↔ neq, in ↔ notIn…).

Per kind, the defaults are exported as TEXT_OPERATORS, NUMBER_OPERATORS, DATE_OPERATORS (also used by time and datetime), BOOLEAN_OPERATORS, ENUM_OPERATORS, MULTI_ENUM_OPERATORS and ARRAY_OPERATORS.