Pure formatting / parsing / counting helpers for the Receiver LiveView.
None of these touch the socket — they're display formatters
(format_number/1, format_strategy/1, format_connection_error/1),
input parsers (parse_id_list/1, parse_int/2), record accessors
(get_record_id/1, get_table_info/2, get_schema_columns/1,
filter_records_by_mode/2), and table-count comparators
(fetch_local_counts/1, count_new_tables/2, count_different_tables/2,
count_same_tables/2).
Extracted from Receiver in 2026-04 to shrink the LiveView module without
changing any behavior.
Summary
Functions
@spec count_different_tables(list(), map()) :: non_neg_integer()
@spec count_new_tables(list(), map()) :: non_neg_integer()
@spec count_same_tables(list(), map()) :: non_neg_integer()