/** * Return participantIds from allParticipantIds that have no entry * in existingResultParticipantIds. Used to find participants who * need a 0-QP row after a qualifying event is finalized. */ export function findParticipantsWithoutResults( allParticipantIds: string[], existingResultParticipantIds: Set ): string[] { return allParticipantIds.filter((id) => !existingResultParticipantIds.has(id)); } /** * Filter incoming batch results to only those whose participantId * is not already in the set of existing result participantIds. */ export function filterNewResults( incoming: { participantId: string; placement: number }[], existingParticipantIds: Set ): { participantId: string; placement: number }[] { return incoming.filter((r) => !existingParticipantIds.has(r.participantId)); }