Files
iptvnator/tools
4grayandClaude Opus 5 3a7fb9d4be refactor(epg): split the current-programs lookup out of EpgService
Finishes the size finding rather than arguing it: `epg.service.ts` is now
247 lines and has left `max-lines-baseline.mjs` — the baseline the repo says
must only shrink is one file shorter.

The whole "what is on air" machinery moved out unchanged:

- `EpgSingleProgramLookup` — one channel, and the scope ladder it walks.
- `EpgCurrentProgramsLookup` — the batch ladder, backed by the per-channel
  lookups so both shapes answer identically.
- `EpgLookupContext` — the five collaborators they need from the service.
- `epg-lookup-normalization.util.ts` — the two pure id/URL normalizers the
  service's metadata path shares with them.

The service keeps the import pipeline, the capability guards and the two
public entry points that delegate. Note for readers: the cache field must be
declared before the context that captures it — class fields initialise in
declaration order, and a context built too early carries an undefined cache.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-20 20:39:00 +02:00
..