aprs.me/lib/aprsme_web/live/map_live
Graham McIntire 01ecf3d6bc
refactor: apply functional programming patterns across codebase
- accounts.ex: replace validate_user_password (if-based) with with-chain;
  drop unnecessary try/rescue around Repo.get_by. Extract transaction_unwrap
  helper to eliminate 3 copies of the Multi result-unwrap case block.

- packets.ex: deduplicate store_bad_packet by extracting raw_packet_string,
  extract_error_type, and extract_error_message into composable helpers.
  Normalize find_coordinate_value — collapse 12 clauses into a generic
  deep_get/direct_get that handles atom/string keys and nested maps uniformly.

- data_builder.ex: split build_simple_popup into separate data-construction
  (build_simple_popup_data) and rendering (render_popup) phases, eliminating
  duplicated PopupComponent/Safe/IO pipelines.

- param_utils.ex: unify parse_float_in_range and parse_int_in_range via a
  shared parse_in_range that accepts Float.parse/Integer.parse as a function
  parameter — functions-as-values pattern.
2026-07-01 08:45:19 -05:00
..
components.ex Fix all mix credo --strict warnings (188 → 0) 2026-06-12 16:27:20 -05:00
data_builder.ex refactor: apply functional programming patterns across codebase 2026-07-01 08:45:19 -05:00
display_manager.ex perf: optimize map LiveView hot paths 2026-06-01 16:49:08 -05:00
historical_loader.ex Fix all mix credo --strict warnings (188 → 0) 2026-06-12 16:27:20 -05:00
index.ex Fix all mix credo --strict warnings (188 → 0) 2026-06-12 16:27:20 -05:00
navigation.ex refactor: pattern-match over conditionals in Navigation and InsertOptimizer 2026-04-23 13:38:24 -05:00
packet_batcher.ex perf: fix PacketBatcher O(n) length/1 to O(1) counter 2026-06-01 16:48:48 -05:00
packet_processor.ex perf: optimize map LiveView hot paths 2026-06-01 16:49:08 -05:00
packet_utils.ex Fix all mix credo --strict warnings (188 → 0) 2026-06-12 16:27:20 -05:00
popup_component.ex integrate /:call to main page 2025-07-13 10:36:58 -05:00
rf_path.ex Batch push_events, RF path queries, and ETS tuning for hot paths 2026-02-20 08:30:54 -06:00
url_params.ex chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00