ahbeng/NUSMods

View on GitHub
website/src/utils/export.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { Semester } from 'types/modules';
import { ExportData } from 'types/export';
import { getSemesterTimetableColors } from 'selectors/timetables';
import { State } from 'types/state';
import { SemTimetableConfig } from 'types/timetables';
import { ColorScheme } from 'types/settings';

export function extractStateForExport(
  semester: Semester,
  timetable: SemTimetableConfig,
  colorScheme: ColorScheme,
  state: State,
): ExportData {
  const colors = getSemesterTimetableColors(state)(semester);
  const hidden = state.timetables.hidden[semester] || [];

  return {
    semester,
    timetable,
    colors,
    hidden,
    theme: state.theme,
    settings: {
      colorScheme,
    },
  };
}