A server-side read filter.
The union covers exactly the shapes this adapter builds: a column-family
test, a qualifier-name test, an exact value-range test, a value-stripping
pass-through, a per-row cell cap, and the condition, chain and
interleave combinators that compose them.
The cell cap exists for one reason. A filter that removes every cell of a row removes the row — the service does not answer with an empty row (measured) — so a projection naming columns a given row happens not to carry would silently drop it. Interleaving a one-cell arm keeps the row present at the cost of at most one extra cell, which the caller's own projection then discards.
{ readonly family: string; }
| { readonly column: readonly string[]; }
| { readonly value: BigtableValueRange; }
| { readonly value: { readonly strip: true; }; }
| { readonly all: true; }
| { readonly row: { readonly cellLimit: number; }; }
| { readonly interleave: readonly (readonly BigtableFilter[])[]; }
| { readonly chain: readonly BigtableFilter[]; }
| { readonly condition: { readonly test: readonly BigtableFilter[]; readonly pass?: readonly BigtableFilter[]; }; }