Every query parameter passed to a renderer, keyed by its parameter name, and what its text means:
a flag is present-or-absent (any value, including none, means true), an integer or enum is
a single value read at face value, and serialized is the output of platform-bible-utils'
serialize, opaque to this table.
Declarative on purpose, not a table of encode/decode functions: this module is import-free so the
ts-node startup-waterfall CLI can read it without pulling in the logger, and codec functions
would need serialize/deserialize from platform-bible-utils, a runtime import. deserialize
returns any, so a serialized entry is exactly as much of an unchecked cast at its read site
as an enum one — the table exists so both kinds of drift are visible in the same place instead
of only the ones a linter happens to flag.
Every query parameter passed to a renderer, keyed by its parameter name, and what its text means: a
flagis present-or-absent (any value, including none, means true), anintegerorenumis a single value read at face value, andserializedis the output of platform-bible-utils'serialize, opaque to this table.Declarative on purpose, not a table of encode/decode functions: this module is import-free so the
ts-nodestartup-waterfall CLI can read it without pulling in the logger, and codec functions would needserialize/deserializefrom platform-bible-utils, a runtime import.deserializereturnsany, so aserializedentry is exactly as much of an unchecked cast at its read site as anenumone — the table exists so both kinds of drift are visible in the same place instead of only the ones a linter happens to flag.