/** * The ARGUMENT of an interpolation filter — the part after the colon. * * The filter NAME has been checked since TDC192, and a mask pattern since * TDC199/TDC256. The argument of every other filter reached the renderer * unread, and the renderer is lenient by design: `applyGroup` returns the value * untouched when the size is not a usable number, `applyCompact` when the base * is outside 2..36. That leniency is right at render time — one bad row must not * abort a million-row run — but it means the config says one thing and the * output does another, with nothing said anywhere. Measured, all five accepted: * * ${{N|group:abc}} the digits come out ungrouped * ${{N|group:0}} the same * ${{N|compact:1}} base below 2 — the number comes out unchanged * ${{N|compact:99}} base above 36 — the same * ${{N|slice:abc}} the whole value, unsliced * ${{N|slice:5,2}} the column comes out EMPTY * ${{N|trim:junk}} the argument is read by nothing * * The last two are the ones that cost real time: an empty column looks like a * generator that failed, and an ignored argument looks like a filter that does * not work. * * What is NOT refused, deliberately: * * - `group` and `compact` with no argument at all — both have a documented * default (3, and base 36). * - `csv:;` — the delimiter is accepted and ignored on purpose; the filter * quotes unconditionally, and the argument documents intent at the call site. * - a negative `slice` index — `slice:-3` is the last three characters, and * `slice:-3,-1` is a legitimate range. Only a from/to pair of the SAME sign * can be proven empty; with mixed signs the answer depends on the value's * length, and a refusal has to be a proof. */ import type { Diagnostic } from '../errors/index.js'; import type { DataElementContext } from '../generated/TDCParser.js'; /** * Check one `kind:arg` pair from a `${{X|filter:arg}}` reference. * * `mask` is not handled here — it has its own two checks beside this one. */ export declare function checkFilterArg(kind: string, arg: string | undefined, node: DataElementContext, diagnostics: Diagnostic[]): void; //# sourceMappingURL=filter-args.d.ts.map