From c26573f43531b693fab6aa113c698c209f2e2190 Mon Sep 17 00:00:00 2001 From: Chris Parsons Date: Sat, 21 Mar 2026 10:56:40 -0700 Subject: [PATCH] Fix TypeScript errors from no-non-null-assertion fixes Two fixes introduced by the non-null assertion cleanup produced type errors: - scoring-event.ts: `?? ""` was wrong type for a participant object map; restructured to explicit null guards so TypeScript can narrow correctly - standings-sync/index.ts: `?? null` after name-match lookup lost the truthy guarantee, causing TS18047 on the write-back block; added `participant &&` guard before accessing its properties Co-Authored-By: Claude Sonnet 4.6 --- app/models/scoring-event.ts | 10 ++++++---- app/services/standings-sync/index.ts | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/models/scoring-event.ts b/app/models/scoring-event.ts index dba9a74..28478ee 100644 --- a/app/models/scoring-event.ts +++ b/app/models/scoring-event.ts @@ -498,11 +498,13 @@ export async function getUpcomingEventsForDraftedParticipants( const pMap = participantsByEvent.get(row.id); if (pMap) { - if (row.participant1Id && draftedMap.has(row.participant1Id)) { - pMap.set(row.participant1Id, draftedMap.get(row.participant1Id) ?? ""); + if (row.participant1Id) { + const p1 = draftedMap.get(row.participant1Id); + if (p1) pMap.set(row.participant1Id, p1); } - if (row.participant2Id && draftedMap.has(row.participant2Id)) { - pMap.set(row.participant2Id, draftedMap.get(row.participant2Id) ?? ""); + if (row.participant2Id) { + const p2 = draftedMap.get(row.participant2Id); + if (p2) pMap.set(row.participant2Id, p2); } } diff --git a/app/services/standings-sync/index.ts b/app/services/standings-sync/index.ts index 76b3044..5720e3d 100644 --- a/app/services/standings-sync/index.ts +++ b/app/services/standings-sync/index.ts @@ -86,7 +86,7 @@ export async function syncStandings(sportsSeasonId: string): Promise if (matchedName) { participant = participantByName.get(matchedName) ?? null; // Write-back: persist externalId so future syncs skip name matching for this team - if (!participant.externalId) { + if (participant && !participant.externalId) { await updateParticipant(participant.id, { externalId: record.externalTeamId }); } }