All files / server/src/kompassi getProgramItemsFromFullProgram.ts

85.71% Statements 6/7
80% Branches 4/5
100% Functions 1/1
85.71% Lines 6/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26                44x       12x   7x   1x   1x   3x          
import { getProgramItemsFromFullProgramHitpoint } from "server/kompassi/hitpoint/getProgramItemsFromFullProgramHitpoint";
import { getProgramItemsFromFullProgramRopecon } from "server/kompassi/ropecon/getProgramItemsFromFullProgramRopecon";
import { getProgramItemsFromFullProgramSolmukohta } from "server/kompassi/solmukohta/getProgramItemsFromFullProgramSolmukohta";
import { getProgramItemsFromFullProgramTracon } from "server/kompassi/tracon/getProgramItemsFromFullProgramTracon";
import { EventName } from "shared/config/eventConfigTypes";
import { exhaustiveSwitchGuard } from "shared/utils/exhaustiveSwitchGuard";
import { KompassiProgramItem } from "server/kompassi/kompassiProgramItem";
 
export const getProgramItemsFromFullProgram = (
  eventName: EventName,
  eventProgramItems: unknown[],
): KompassiProgramItem[] => {
  switch (eventName) {
    case EventName.ROPECON:
      return getProgramItemsFromFullProgramRopecon(eventProgramItems);
    case EventName.HITPOINT:
      return getProgramItemsFromFullProgramHitpoint(eventProgramItems);
    case EventName.SOLMUKOHTA:
      return getProgramItemsFromFullProgramSolmukohta(eventProgramItems);
    case EventName.TRACON:
      return getProgramItemsFromFullProgramTracon(eventProgramItems);
    default:
      return exhaustiveSwitchGuard(eventName);
  }
};