@kth/om-kursen-ladok-client 1.2.4 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +1 -1
  2. package/dist/createApiClient.d.ts +2 -2
  3. package/dist/createApiClient.js +151 -98
  4. package/dist/createApiClient.js.map +1 -1
  5. package/dist/groupSearchResults.d.ts +3 -3
  6. package/dist/groupSearchResults.js +5 -8
  7. package/dist/groupSearchResults.js.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/mapCourse.d.ts +3 -3
  11. package/dist/mapCourse.js +6 -6
  12. package/dist/mapCourse.js.map +1 -1
  13. package/dist/mapCourseInstans.js.map +1 -1
  14. package/dist/mapCourseRound.d.ts +3 -1
  15. package/dist/mapCourseRound.js +2 -1
  16. package/dist/mapCourseRound.js.map +1 -1
  17. package/dist/mapCourseSyllabus.d.ts +4 -4
  18. package/dist/mapCourseSyllabus.js +21 -29
  19. package/dist/mapCourseSyllabus.js.map +1 -1
  20. package/dist/mapExaminationModule.d.ts +4 -4
  21. package/dist/mapExaminationModule.js +6 -6
  22. package/dist/mapExaminationModule.js.map +1 -1
  23. package/dist/mapGradingScales.d.ts +1 -1
  24. package/dist/mapGradingScales.js +3 -3
  25. package/dist/mapGradingScales.js.map +1 -1
  26. package/dist/mapPartOfProgramme.d.ts +19 -0
  27. package/dist/mapPartOfProgramme.js +34 -0
  28. package/dist/mapPartOfProgramme.js.map +1 -0
  29. package/dist/mapProgramTerm.js +1 -1
  30. package/dist/mapProgramTerm.js.map +1 -1
  31. package/dist/mapProgramTillfalle.js.map +1 -1
  32. package/dist/mapSearchResult.d.ts +2 -2
  33. package/dist/mapSearchResult.js +11 -11
  34. package/dist/mapSearchResult.js.map +1 -1
  35. package/dist/mapStructureCourses.d.ts +3 -3
  36. package/dist/mapStructureCourses.js +3 -3
  37. package/dist/mapStructureCourses.js.map +1 -1
  38. package/dist/types/OmKursenLadokApiClient.d.ts +11 -10
  39. package/dist/utils/courseSyllabusUtil.d.ts +2 -2
  40. package/dist/utils/courseSyllabusUtil.js +4 -4
  41. package/dist/utils/courseSyllabusUtil.js.map +1 -1
  42. package/dist/utils/creditsUtil.d.ts +2 -2
  43. package/dist/utils/creditsUtil.js +6 -6
  44. package/dist/utils/creditsUtil.js.map +1 -1
  45. package/dist/utils/examinationModulesUtil.d.ts +4 -4
  46. package/dist/utils/examinationModulesUtil.js +8 -8
  47. package/dist/utils/examinationModulesUtil.js.map +1 -1
  48. package/dist/utils/gradingScalesUtils.d.ts +1 -1
  49. package/dist/utils/gradingScalesUtils.js +4 -4
  50. package/dist/utils/gradingScalesUtils.js.map +1 -1
  51. package/dist/utils/index.d.ts +4 -3
  52. package/dist/utils/index.js +1 -0
  53. package/dist/utils/index.js.map +1 -1
  54. package/dist/utils/languageUtil.d.ts +3 -3
  55. package/dist/utils/languageUtil.js +1 -1
  56. package/dist/utils/languageUtil.js.map +1 -1
  57. package/dist/utils/partOfProgrammeUtil.d.ts +3 -0
  58. package/dist/utils/partOfProgrammeUtil.js +83 -0
  59. package/dist/utils/partOfProgrammeUtil.js.map +1 -0
  60. package/dist/utils/periodUtil.d.ts +6 -2
  61. package/dist/utils/periodUtil.js +22 -17
  62. package/dist/utils/periodUtil.js.map +1 -1
  63. package/dist/utils/programStrukturUtil.d.ts +3 -4
  64. package/dist/utils/programStrukturUtil.js +5 -8
  65. package/dist/utils/programStrukturUtil.js.map +1 -1
  66. package/dist/utils/schoolUtil.d.ts +1 -1
  67. package/dist/utils/schoolUtil.js +2 -4
  68. package/dist/utils/schoolUtil.js.map +1 -1
  69. package/dist/utils/studyYearUtil.d.ts +5 -3
  70. package/dist/utils/studyYearUtil.js +41 -8
  71. package/dist/utils/studyYearUtil.js.map +1 -1
  72. package/package.json +2 -2
@@ -4,7 +4,7 @@ exports.getSemester = void 0;
4
4
  exports.getSyllabusForSemester = getSyllabusForSemester;
5
5
  const periodUtil_1 = require("./periodUtil");
6
6
  const getSemester = (dateStr) => {
7
- const [yearStr, monthStr] = dateStr.split("-");
7
+ const [yearStr, monthStr] = dateStr.split('-');
8
8
  const year = parseInt(yearStr, 10);
9
9
  const month = parseInt(monthStr, 10);
10
10
  if (month >= 1 && month <= 7) {
@@ -13,7 +13,7 @@ const getSemester = (dateStr) => {
13
13
  else if (month >= 8 && month <= 12) {
14
14
  return `HT${year}`;
15
15
  }
16
- throw new Error("Invalid date format or value");
16
+ throw new Error('Invalid date format or value');
17
17
  };
18
18
  exports.getSemester = getSemester;
19
19
  function sortSyllabuses(syllabuses) {
@@ -31,8 +31,8 @@ function sortSyllabuses(syllabuses) {
31
31
  return versionB - versionA;
32
32
  }
33
33
  // Step 3: If same course version date, sort by latest syllabus version (descending)
34
- const syllabusEditionA = a.AktuellaAttributvarden.find((Attributvarde) => Attributvarde.Attributdefinition.Kod === "utbildning.lokalt.attribut.29.utgava").Varden[0];
35
- const syllabusEditionB = b.AktuellaAttributvarden.find((Attributvarde) => Attributvarde.Attributdefinition.Kod === "utbildning.lokalt.attribut.29.utgava").Varden[0];
34
+ const syllabusEditionA = a.AktuellaAttributvarden.find((Attributvarde) => Attributvarde.Attributdefinition.Kod === 'utbildning.lokalt.attribut.29.utgava').Varden[0];
35
+ const syllabusEditionB = b.AktuellaAttributvarden.find((Attributvarde) => Attributvarde.Attributdefinition.Kod === 'utbildning.lokalt.attribut.29.utgava').Varden[0];
36
36
  if (parseInt(syllabusEditionA) !== parseInt(syllabusEditionB)) {
37
37
  return parseInt(syllabusEditionB) - parseInt(syllabusEditionA);
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"courseSyllabusUtil.js","sourceRoot":"","sources":["../../src/utils/courseSyllabusUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"courseSyllabusUtil.js","sourceRoot":"","sources":["../../src/utils/courseSyllabusUtil.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Utbildningstyp } from "@kth/ladok-attributvarde-utils";
2
- import { Language } from "./languageUtil";
1
+ import { Utbildningstyp } from '@kth/ladok-attributvarde-utils';
2
+ import { Language } from './languageUtil';
3
3
  export declare const getCreditsUnit: (utbildningstyp: Utbildningstyp, language: Language) => string;
4
4
  export declare const formatCreditsWithUnitLabel: (omfattning: string, utbildningstyp: Utbildningstyp | undefined, language: Language) => string;
@@ -3,19 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formatCreditsWithUnitLabel = exports.getCreditsUnit = void 0;
4
4
  const getCreditsUnit = (utbildningstyp, language) => {
5
5
  switch (utbildningstyp.creditsUnit.code) {
6
- case "HP":
7
- return language === "sv" ? "hp" : "credits";
8
- case "FUP":
9
- return "fup";
6
+ case 'HP':
7
+ return language === 'sv' ? 'hp' : 'credits';
8
+ case 'FUP':
9
+ return 'fup';
10
10
  default:
11
11
  return utbildningstyp.creditsUnit.code.toLocaleLowerCase();
12
12
  }
13
13
  };
14
14
  exports.getCreditsUnit = getCreditsUnit;
15
- const formatCredits = (omfattning, language) => language === "sv" ? omfattning.replace(".", ",") : omfattning;
15
+ const formatCredits = (omfattning, language) => language === 'sv' ? omfattning.replace('.', ',') : omfattning;
16
16
  const formatCreditsWithUnitLabel = (omfattning, utbildningstyp, language) => {
17
17
  const credits = formatCredits(omfattning, language);
18
- const unit = utbildningstyp ? (0, exports.getCreditsUnit)(utbildningstyp, language) : "";
18
+ const unit = utbildningstyp ? (0, exports.getCreditsUnit)(utbildningstyp, language) : '';
19
19
  return `${credits} ${unit}`;
20
20
  };
21
21
  exports.formatCreditsWithUnitLabel = formatCreditsWithUnitLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"creditsUtil.js","sourceRoot":"","sources":["../../src/utils/creditsUtil.ts"],"names":[],"mappings":";;;AAGO,MAAM,cAAc,GAAG,CAAC,cAA8B,EAAE,QAAkB,EAAE,EAAE;IACnF,QAAQ,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACxC,KAAK,IAAI;YACP,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9C,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf;YACE,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC/D,CAAC;AACH,CAAC,CAAC;AATW,QAAA,cAAc,kBASzB;AAEF,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,QAAkB,EAAE,EAAE,CAC/D,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAEzD,MAAM,0BAA0B,GAAG,CACxC,UAAkB,EAClB,cAA0C,EAC1C,QAAkB,EAClB,EAAE;IACF,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,OAAO,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC;AAC9B,CAAC,CAAC;AARW,QAAA,0BAA0B,8BAQrC"}
1
+ {"version":3,"file":"creditsUtil.js","sourceRoot":"","sources":["../../src/utils/creditsUtil.ts"],"names":[],"mappings":";;;AAGO,MAAM,cAAc,GAAG,CAAC,cAA8B,EAAE,QAAkB,EAAE,EAAE;IACnF,QAAQ,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACxC,KAAK,IAAI;YACP,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QAC7C,KAAK,KAAK;YACR,OAAO,KAAK,CAAA;QACd;YACE,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC9D,CAAC;AACH,CAAC,CAAA;AATY,QAAA,cAAc,kBAS1B;AAED,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,QAAkB,EAAE,EAAE,CAC/D,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;AAExD,MAAM,0BAA0B,GAAG,CACxC,UAAkB,EAClB,cAA0C,EAC1C,QAAkB,EAClB,EAAE;IACF,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3E,OAAO,GAAG,OAAO,IAAI,IAAI,EAAE,CAAA;AAC7B,CAAC,CAAA;AARY,QAAA,0BAA0B,8BAQtC"}
@@ -1,6 +1,6 @@
1
- import { LadokMellanlagerApiClient } from "@kth/ladok-mellanlager-client";
2
- import { ExaminationModule } from "../mapExaminationModule";
3
- import { Language } from "./languageUtil";
1
+ import { LadokMellanlagerApiClient } from '@kth/ladok-mellanlager-client';
2
+ import { ExaminationModule } from '../mapExaminationModule';
3
+ import { Language } from './languageUtil';
4
4
  export declare const handleError: (message: string, error?: any) => {
5
5
  error: string;
6
6
  details: any;
@@ -9,6 +9,6 @@ export declare const formatExaminationTitles: (examinationModules: (ExaminationM
9
9
  completeExaminationStrings: string[];
10
10
  titles: string[];
11
11
  };
12
- export declare const fetchStructure: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<import("@kth/ladok-mellanlager-client/dist/types/endpoints/utbildningsinstansStruktur").Strukturdel[]>;
12
+ export declare const fetchStructure: (uid: string, ladokClient: LadokMellanlagerApiClient) => Promise<import("@kth/ladok-mellanlager-client").Strukturdel[]>;
13
13
  export declare const fetchModules: (utbildningsbasUIDn: string[], ladokClient: LadokMellanlagerApiClient) => Promise<(import("@kth/ladok-mellanlager-client").UtbildningsinstansSlim | undefined)[]>;
14
14
  export declare const getExaminationModules: (utbildningsinstansUID: string, language: Language, ladokClient: LadokMellanlagerApiClient) => Promise<(ExaminationModule | undefined)[]>;
@@ -14,7 +14,7 @@ const mapExaminationModule_1 = require("../mapExaminationModule");
14
14
  const gradingScalesUtils_1 = require("./gradingScalesUtils");
15
15
  const handleError = (message, error) => {
16
16
  console.error(message, error);
17
- return { error: message, details: (error === null || error === void 0 ? void 0 : error.message) || "Unknown error" };
17
+ return { error: message, details: (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error' };
18
18
  };
19
19
  exports.handleError = handleError;
20
20
  const formatExaminationTitles = (examinationModules, language) => {
@@ -38,7 +38,7 @@ const fetchStructure = (uid, ladokClient) => __awaiter(void 0, void 0, void 0, f
38
38
  return ((_a = struktur === null || struktur === void 0 ? void 0 : struktur.data) === null || _a === void 0 ? void 0 : _a.Strukturdelar) || [];
39
39
  }
40
40
  catch (error) {
41
- throw (0, exports.handleError)("Failed to fetch structure", error);
41
+ throw (0, exports.handleError)('Failed to fetch structure', error);
42
42
  }
43
43
  });
44
44
  exports.fetchStructure = fetchStructure;
@@ -47,7 +47,7 @@ const fetchModules = (utbildningsbasUIDn, ladokClient) => __awaiter(void 0, void
47
47
  const moduler = yield Promise.all(utbildningsbasUIDn.map((utbildningsbasUID) => __awaiter(void 0, void 0, void 0, function* () {
48
48
  try {
49
49
  const utbildningsinstans = yield ladokClient.utbildningsinstansSlim(utbildningsbasUID, {
50
- attributVarden: "utbildning.attribut.kod,utbildning.attribut.svensk.benamning,utbildning.attribut.engelsk.benamning,utbildning.attribut.betygsskala,utbildning.attribut.giltig.from,utbildning.attribut.omfattning,utbildningstyp"
50
+ attributVarden: 'utbildning.attribut.kod,utbildning.attribut.svensk.benamning,utbildning.attribut.engelsk.benamning,utbildning.attribut.betygsskala,utbildning.attribut.giltig.from,utbildning.attribut.omfattning,utbildningstyp',
51
51
  });
52
52
  return utbildningsinstans.data;
53
53
  }
@@ -55,26 +55,26 @@ const fetchModules = (utbildningsbasUIDn, ladokClient) => __awaiter(void 0, void
55
55
  throw (0, exports.handleError)(`Error fetching module for utbildningsbasUID ${utbildningsbasUID}:`, error);
56
56
  }
57
57
  })));
58
- return moduler.filter((module) => module !== null);
58
+ return moduler.filter(module => module !== null);
59
59
  }
60
60
  catch (error) {
61
- throw (0, exports.handleError)("Failed to fetch modules", error);
61
+ throw (0, exports.handleError)('Failed to fetch modules', error);
62
62
  }
63
63
  });
64
64
  exports.fetchModules = fetchModules;
65
65
  const getExaminationModules = (utbildningsinstansUID, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
66
66
  try {
67
67
  const strukturDelar = yield (0, exports.fetchStructure)(utbildningsinstansUID, ladokClient);
68
- const utbildningsbasUIDn = strukturDelar.map((strukturdel) => strukturdel.UtbildningsbasUID);
68
+ const utbildningsbasUIDn = strukturDelar.map(strukturdel => strukturdel.UtbildningsbasUID);
69
69
  const examinationModules = yield (0, exports.fetchModules)(utbildningsbasUIDn, ladokClient);
70
70
  const gradingScalesCodes = yield (0, gradingScalesUtils_1.getGradingScalesCodes)(ladokClient);
71
- const mappedExaminationModules = examinationModules.map((m) => {
71
+ const mappedExaminationModules = examinationModules.map(m => {
72
72
  return m && (0, mapExaminationModule_1.mapExaminationModule)(m, language, gradingScalesCodes);
73
73
  });
74
74
  return mappedExaminationModules;
75
75
  }
76
76
  catch (error) {
77
- throw (0, exports.handleError)("Unexpected error during processing", error);
77
+ throw (0, exports.handleError)('Unexpected error during processing', error);
78
78
  }
79
79
  });
80
80
  exports.getExaminationModules = getExaminationModules;
@@ -1 +1 @@
1
- {"version":3,"file":"examinationModulesUtil.js","sourceRoot":"","sources":["../../src/utils/examinationModulesUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kEAAkF;AAElF,6DAA6D;AAEtD,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,KAAW,EAAE,EAAE;IAC1D,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,eAAe,EAAE,CAAC;AACxE,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB;AAEK,MAAM,uBAAuB,GAAG,CAAC,kBAAqD,EAAE,QAAkB,EAAE,EAAE;IACnH,IAAI,CAAC;QACH,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,GAAG,CACvD,CAAC,CAAC,EAAE,WACF,OAAA,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,MAAM,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,SAAS,KAAK,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,UAAU,CAAC,iBAAiB,KAAK,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,KAAK,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,WAAW,0CAAE,SAAS,EAAE,CAAA,EAAA,CAC1J,CAAA;QAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAC9C,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,MAAM,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,SAAS,KAAK,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,UAAU,CAAC,iBAAiB,EAAE,CACvE,CAAA;QAED,OAAO;YACL,0BAA0B,EAAE,0BAA0B;YACtD,MAAM,EAAE,iBAAiB;SAC1B,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAA;IAClE,CAAC;AACH,CAAC,CAAA;AAlBY,QAAA,uBAAuB,2BAkBnC;AAEM,MAAM,cAAc,GAAG,CAC5B,GAAW,EACX,WAAsC,EACtC,EAAE;;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,aAAa,KAAI,EAAE,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,mBAAW,EAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;AACH,CAAC,CAAA,CAAC;AAVW,QAAA,cAAc,kBAUzB;AAEK,MAAM,YAAY,GAAG,CAC1B,kBAA4B,EAC5B,WAAsC,EACtC,EAAE;IACF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,kBAAkB,CAAC,GAAG,CAAC,CAAO,iBAAiB,EAAE,EAAE;YACjD,IAAI,CAAC;gBACH,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC,sBAAsB,CACjE,iBAAiB,EACjB;oBACE,cAAc,EAAE,kNAAkN;iBACnO,CACF,CAAC;gBACF,OAAO,kBAAkB,CAAC,IAAI,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAA,mBAAW,EACf,+CAA+C,iBAAiB,GAAG,EACnE,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC,CAAA,CAAC,CACH,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,mBAAW,EAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAA,CAAC;AA3BW,QAAA,YAAY,gBA2BvB;AAEK,MAAM,qBAAqB,GAAG,CACnC,qBAA6B,EAC7B,QAAkB,EAClB,WAAsC,EACtC,EAAE;IACF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,IAAA,sBAAc,EACxC,qBAAsB,EACtB,WAAW,CACZ,CAAC;QACF,MAAM,kBAAkB,GAAG,aAAa,CAAC,GAAG,CAC1C,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAC/C,CAAC;QACF,MAAM,kBAAkB,GAAG,MAAM,IAAA,oBAAY,EAC3C,kBAAkB,EAClB,WAAW,CACZ,CAAC;QACF,MAAM,kBAAkB,GAAG,MAAM,IAAA,0CAAqB,EAAC,WAAW,CAAC,CAAC;QACpE,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5D,OAAO,CAAC,IAAI,IAAA,2CAAoB,EAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,mBAAW,EAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAA,CAAC;AAzBW,QAAA,qBAAqB,yBAyBhC"}
1
+ {"version":3,"file":"examinationModulesUtil.js","sourceRoot":"","sources":["../../src/utils/examinationModulesUtil.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { LadokMellanlagerApiClient } from "@kth/ladok-mellanlager-client";
1
+ import { LadokMellanlagerApiClient } from '@kth/ladok-mellanlager-client';
2
2
  export declare const handleError: (message: string, error?: any) => {
3
3
  error: string;
4
4
  details: any;
@@ -13,7 +13,7 @@ exports.getGradingScalesCodes = exports.getGradingScales = exports.fetchGradingS
13
13
  const mapGradingScales_1 = require("../mapGradingScales");
14
14
  const handleError = (message, error) => {
15
15
  console.error(message, error);
16
- return { error: message, details: (error === null || error === void 0 ? void 0 : error.message) || "Unknown error" };
16
+ return { error: message, details: (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error' };
17
17
  };
18
18
  exports.handleError = handleError;
19
19
  const fetchGradingScales = (ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
@@ -23,7 +23,7 @@ const fetchGradingScales = (ladokClient) => __awaiter(void 0, void 0, void 0, fu
23
23
  return ((_a = gradingScales === null || gradingScales === void 0 ? void 0 : gradingScales.data) === null || _a === void 0 ? void 0 : _a.Betygsskala) || [];
24
24
  }
25
25
  catch (error) {
26
- throw (0, exports.handleError)("Failed to fetch grading scales", error);
26
+ throw (0, exports.handleError)('Failed to fetch grading scales', error);
27
27
  }
28
28
  });
29
29
  exports.fetchGradingScales = fetchGradingScales;
@@ -34,7 +34,7 @@ const getGradingScales = (ladokClient) => __awaiter(void 0, void 0, void 0, func
34
34
  return mappedGradingScales;
35
35
  }
36
36
  catch (error) {
37
- throw (0, exports.handleError)("Unexpected error during processing", error);
37
+ throw (0, exports.handleError)('Unexpected error during processing', error);
38
38
  }
39
39
  });
40
40
  exports.getGradingScales = getGradingScales;
@@ -45,7 +45,7 @@ const getGradingScalesCodes = (ladokClient) => __awaiter(void 0, void 0, void 0,
45
45
  return mappedGradingScalesCodes;
46
46
  }
47
47
  catch (error) {
48
- throw (0, exports.handleError)("Unexpected error during processing", error);
48
+ throw (0, exports.handleError)('Unexpected error during processing', error);
49
49
  }
50
50
  });
51
51
  exports.getGradingScalesCodes = getGradingScalesCodes;
@@ -1 +1 @@
1
- {"version":3,"file":"gradingScalesUtils.js","sourceRoot":"","sources":["../../src/utils/gradingScalesUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,0DAA8E;AAEvE,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,KAAW,EAAE,EAAE;IAC1D,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,eAAe,EAAE,CAAC;AACxE,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB;AAEK,MAAM,kBAAkB,GAAG,CAChC,WAAsC,EACtC,EAAE;;IACF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,CAAC;QACtD,OAAO,CAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,0CAAE,WAAW,KAAI,EAAE,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,mBAAW,EAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC,CAAA,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEK,MAAM,gBAAgB,GAAG,CAC9B,WAAsC,EACtC,EAAE;IACF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,IAAA,0BAAkB,EAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,mBAAmB,GAAG,IAAA,mCAAgB,EAAC,aAAa,CAAC,CAAC;QAC5D,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,mBAAW,EAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAA,CAAC;AAVW,QAAA,gBAAgB,oBAU3B;AAEK,MAAM,qBAAqB,GAAG,CACnC,WAAsC,EACtC,EAAE;IACF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,IAAA,0BAAkB,EAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,wBAAwB,GAAG,IAAA,wCAAqB,EAAC,aAAa,CAAC,CAAC;QACtE,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,mBAAW,EAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAA,CAAC;AAVW,QAAA,qBAAqB,yBAUhC"}
1
+ {"version":3,"file":"gradingScalesUtils.js","sourceRoot":"","sources":["../../src/utils/gradingScalesUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,0DAA6E;AAEtE,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,KAAW,EAAE,EAAE;IAC1D,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,eAAe,EAAE,CAAA;AACvE,CAAC,CAAA;AAHY,QAAA,WAAW,eAGvB;AAEM,MAAM,kBAAkB,GAAG,CAAO,WAAsC,EAAE,EAAE;;IACjF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,CAAA;QACrD,OAAO,CAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,0CAAE,WAAW,KAAI,EAAE,CAAA;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,mBAAW,EAAC,gCAAgC,EAAE,KAAK,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC,CAAA,CAAA;AAPY,QAAA,kBAAkB,sBAO9B;AAEM,MAAM,gBAAgB,GAAG,CAAO,WAAsC,EAAE,EAAE;IAC/E,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,IAAA,0BAAkB,EAAC,WAAW,CAAC,CAAA;QAC3D,MAAM,mBAAmB,GAAG,IAAA,mCAAgB,EAAC,aAAa,CAAC,CAAA;QAC3D,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,mBAAW,EAAC,oCAAoC,EAAE,KAAK,CAAC,CAAA;IAChE,CAAC;AACH,CAAC,CAAA,CAAA;AARY,QAAA,gBAAgB,oBAQ5B;AAEM,MAAM,qBAAqB,GAAG,CAAO,WAAsC,EAAE,EAAE;IACpF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,IAAA,0BAAkB,EAAC,WAAW,CAAC,CAAA;QAC3D,MAAM,wBAAwB,GAAG,IAAA,wCAAqB,EAAC,aAAa,CAAC,CAAA;QACrE,OAAO,wBAAwB,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,mBAAW,EAAC,oCAAoC,EAAE,KAAK,CAAC,CAAA;IAChE,CAAC;AACH,CAAC,CAAA,CAAA;AARY,QAAA,qBAAqB,yBAQjC"}
@@ -1,3 +1,4 @@
1
- export * from "./dateUtil";
2
- export * from "./languageUtil";
3
- export * from "./periodUtil";
1
+ export * from './dateUtil';
2
+ export * from './languageUtil';
3
+ export * from './periodUtil';
4
+ export * from './studyYearUtil';
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./dateUtil"), exports);
18
18
  __exportStar(require("./languageUtil"), exports);
19
19
  __exportStar(require("./periodUtil"), exports);
20
+ __exportStar(require("./studyYearUtil"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,iDAA+B;AAC/B,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,iDAA8B;AAC9B,+CAA4B;AAC5B,kDAA+B"}
@@ -1,5 +1,5 @@
1
- import { Grunddata, Organisation, Studietakt, Tilltradesniva, Utbildningstyp } from "@kth/ladok-attributvarde-utils";
2
- export type Language = "sv" | "en";
1
+ import { Grunddata, Organisation, Studietakt, Tilltradesniva, Utbildningstyp } from '@kth/ladok-attributvarde-utils';
2
+ export type Language = 'sv' | 'en';
3
3
  export interface TranslatedGrunddata {
4
4
  id: string;
5
5
  code: string;
@@ -27,7 +27,7 @@ export interface TranslatedTilltradesniva extends TranslatedGrunddata {
27
27
  };
28
28
  }
29
29
  export interface TranslatedStudietakt extends TranslatedGrunddata {
30
- takt: Studietakt["takt"];
30
+ takt: Studietakt['takt'];
31
31
  }
32
32
  export declare const translateGrunddata: (grunddata: Grunddata, language: Language) => TranslatedGrunddata;
33
33
  export declare const translateOrganisation: (organisation: Organisation, language: Language) => TranslatedOrganisation;
@@ -18,7 +18,7 @@ const translateGrunddata = (grunddata, language) => {
18
18
  id,
19
19
  code,
20
20
  name: rest[language],
21
- nameOther: rest[language === "sv" ? "en" : "sv"],
21
+ nameOther: rest[language === 'sv' ? 'en' : 'sv'],
22
22
  };
23
23
  };
24
24
  exports.translateGrunddata = translateGrunddata;
@@ -1 +1 @@
1
- {"version":3,"file":"languageUtil.js","sourceRoot":"","sources":["../../src/utils/languageUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AA4CO,MAAM,kBAAkB,GAAG,CAChC,SAAoB,EACpB,QAAkB,EACG,EAAE;IACvB,MAAM,EAAE,EAAE,EAAE,IAAI,KAAc,SAAS,EAAlB,IAAI,UAAK,SAAS,EAAjC,cAAqB,CAAY,CAAC;IACxC,OAAO;QACL,EAAE;QACF,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;QACpB,SAAS,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;KACjD,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,kBAAkB,sBAW7B;AAEK,MAAM,qBAAqB,GAAG,CACnC,YAA0B,EAC1B,QAAkB,EACM,EAAE;IAC1B,uCACK,IAAA,0BAAkB,EAAC,YAAY,EAAE,QAAQ,CAAC,KAC7C,oBAAoB,EAAE,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAC7D;AACJ,CAAC,CAAC;AARW,QAAA,qBAAqB,yBAQhC;AAEK,MAAM,uBAAuB,GAAG,CACrC,cAA8B,EAC9B,QAAkB,EACQ,EAAE;IAC5B,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,cAAc,CAAC,WAAW,CAAC;IAC9C,MAAM,KAAoB,cAAc,CAAC,KAAK,EAAxC,EAAE,IAAI,OAAkC,EAA7B,IAAI,cAAf,QAAiB,CAAuB,CAAC;IAC/C,uCACK,IAAA,0BAAkB,EAAC,cAAc,EAAE,QAAQ,CAAC,KAC/C,WAAW,EAAE;YACX,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI;YACrC,EAAE;YACF,EAAE;SACH,EACD,KAAK,EAAE;YACL,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;SACrB,IACD;AACJ,CAAC,CAAC;AAlBW,QAAA,uBAAuB,2BAkBlC;AAEK,MAAM,wBAAwB,GAAG,CACtC,cAA8B,EAC9B,QAAkB,EACQ,EAAE;IAC5B,MAAM,KAAoB,cAAc,CAAC,KAAK,EAAxC,EAAE,IAAI,OAAkC,EAA7B,IAAI,cAAf,QAAiB,CAAuB,CAAC;IAC/C,uCACK,IAAA,0BAAkB,EAAC,cAAc,EAAE,QAAQ,CAAC,KAC/C,KAAK,EAAE;YACL,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;SACrB,IACD;AACJ,CAAC,CAAC;AAZW,QAAA,wBAAwB,4BAYnC;AAEK,MAAM,mBAAmB,GAAG,CACjC,UAAsB,EACtB,QAAkB,EACI,EAAE;IACxB,uCACK,IAAA,0BAAkB,EAAC,UAAU,EAAE,QAAQ,CAAC,KAC3C,IAAI,EAAE,UAAU,CAAC,IAAI,IACrB;AACJ,CAAC,CAAC;AARW,QAAA,mBAAmB,uBAQ9B"}
1
+ {"version":3,"file":"languageUtil.js","sourceRoot":"","sources":["../../src/utils/languageUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAsCO,MAAM,kBAAkB,GAAG,CAAC,SAAoB,EAAE,QAAkB,EAAuB,EAAE;IAClG,MAAM,EAAE,EAAE,EAAE,IAAI,KAAc,SAAS,EAAlB,IAAI,UAAK,SAAS,EAAjC,cAAqB,CAAY,CAAA;IACvC,OAAO;QACL,EAAE;QACF,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;QACpB,SAAS,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;KACjD,CAAA;AACH,CAAC,CAAA;AARY,QAAA,kBAAkB,sBAQ9B;AAEM,MAAM,qBAAqB,GAAG,CAAC,YAA0B,EAAE,QAAkB,EAA0B,EAAE;IAC9G,uCACK,IAAA,0BAAkB,EAAC,YAAY,EAAE,QAAQ,CAAC,KAC7C,oBAAoB,EAAE,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAC9D;AACH,CAAC,CAAA;AALY,QAAA,qBAAqB,yBAKjC;AAEM,MAAM,uBAAuB,GAAG,CACrC,cAA8B,EAC9B,QAAkB,EACQ,EAAE;IAC5B,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,cAAc,CAAC,WAAW,CAAA;IAC7C,MAAM,KAAoB,cAAc,CAAC,KAAK,EAAxC,EAAE,IAAI,OAAkC,EAA7B,IAAI,cAAf,QAAiB,CAAuB,CAAA;IAC9C,uCACK,IAAA,0BAAkB,EAAC,cAAc,EAAE,QAAQ,CAAC,KAC/C,WAAW,EAAE;YACX,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI;YACrC,EAAE;YACF,EAAE;SACH,EACD,KAAK,EAAE;YACL,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;SACrB,IACF;AACH,CAAC,CAAA;AAlBY,QAAA,uBAAuB,2BAkBnC;AAEM,MAAM,wBAAwB,GAAG,CACtC,cAA8B,EAC9B,QAAkB,EACQ,EAAE;IAC5B,MAAM,KAAoB,cAAc,CAAC,KAAK,EAAxC,EAAE,IAAI,OAAkC,EAA7B,IAAI,cAAf,QAAiB,CAAuB,CAAA;IAC9C,uCACK,IAAA,0BAAkB,EAAC,cAAc,EAAE,QAAQ,CAAC,KAC/C,KAAK,EAAE;YACL,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;SACrB,IACF;AACH,CAAC,CAAA;AAZY,QAAA,wBAAwB,4BAYpC;AAEM,MAAM,mBAAmB,GAAG,CAAC,UAAsB,EAAE,QAAkB,EAAwB,EAAE;IACtG,uCACK,IAAA,0BAAkB,EAAC,UAAU,EAAE,QAAQ,CAAC,KAC3C,IAAI,EAAE,UAAU,CAAC,IAAI,IACtB;AACH,CAAC,CAAA;AALY,QAAA,mBAAmB,uBAK/B"}
@@ -0,0 +1,3 @@
1
+ import { LadokMellanlagerApiClient, PeriodItem, SokUtbildningsTillfalleItem, SokUtbildningsTillfalleSlimItem } from '@kth/ladok-mellanlager-client';
2
+ import { PartOfProgramme } from '../mapPartOfProgramme';
3
+ export declare const getPartOfProgrammes: (courseInstances: SokUtbildningsTillfalleItem[] | SokUtbildningsTillfalleSlimItem[], periodItems: PeriodItem[], ladokClient: LadokMellanlagerApiClient) => Promise<Record<string, PartOfProgramme[]>>;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getPartOfProgrammes = void 0;
13
+ const ladok_attributvarde_utils_1 = require("@kth/ladok-attributvarde-utils");
14
+ const mapPartOfProgramme_1 = require("../mapPartOfProgramme");
15
+ const studyYearUtil_1 = require("./studyYearUtil");
16
+ var EDUCATIONAL_TYPE;
17
+ (function (EDUCATIONAL_TYPE) {
18
+ EDUCATIONAL_TYPE[EDUCATIONAL_TYPE["Programme"] = 94] = "Programme";
19
+ EDUCATIONAL_TYPE[EDUCATIONAL_TYPE["Specialisation"] = 101290] = "Specialisation";
20
+ })(EDUCATIONAL_TYPE || (EDUCATIONAL_TYPE = {}));
21
+ const extractUIDsByEducationType = (structureRefs, educationTypeID) => structureRefs.filter(x => x.UtbildningstypID === educationTypeID).map(x => x.UtbildningsattributbasUID);
22
+ const fetchEducationalInstances = (utbildningsTillfalleUIDs, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
23
+ const results = yield Promise.all(utbildningsTillfalleUIDs.map((uid) => __awaiter(void 0, void 0, void 0, function* () {
24
+ var _a, _b;
25
+ const instance = (_a = (yield ladokClient.utbildningstillfalleSlim(uid, {
26
+ attributVarden: 'utbildningsinstans.uid',
27
+ })).data) === null || _a === void 0 ? void 0 : _a.Attributvarden;
28
+ const instanceUID = (0, ladok_attributvarde_utils_1.extractString)(instance || [], 'utbildningsinstans.uid');
29
+ if (!instanceUID)
30
+ return null;
31
+ const instanceItem = (_b = (yield ladokClient.sokUtbildningsTillfalleSlim({
32
+ utbildningsinstansUid: instanceUID,
33
+ attributVarden: 'utbildningstyp',
34
+ })).items) === null || _b === void 0 ? void 0 : _b.find(x => x.tillfalle_uid === uid);
35
+ return instanceItem !== null && instanceItem !== void 0 ? instanceItem : null;
36
+ })));
37
+ return results.filter((item) => Boolean(item));
38
+ });
39
+ const processProgrammes = (programmeInstances, courseInstance, periodItems, ladokClient, specialisationInstance) => __awaiter(void 0, void 0, void 0, function* () {
40
+ return (yield Promise.all(programmeInstances.map((programmeInstance) => __awaiter(void 0, void 0, void 0, function* () {
41
+ var _a, _b;
42
+ if (!programmeInstance)
43
+ return [];
44
+ const structure = yield ladokClient.utbildningstillfalleStruktur((_a = specialisationInstance === null || specialisationInstance === void 0 ? void 0 : specialisationInstance.tillfalle_uid) !== null && _a !== void 0 ? _a : programmeInstance.tillfalle_uid);
45
+ const structureItemCourse = (_b = structure === null || structure === void 0 ? void 0 : structure.data) === null || _b === void 0 ? void 0 : _b.Strukturdelar.find(x => x.UtbildningsbasUID === courseInstance.tillfalle_uid);
46
+ if (!structureItemCourse)
47
+ return [];
48
+ const studyYears = (0, studyYearUtil_1.extractStudyYears)(courseInstance, programmeInstance, periodItems);
49
+ return studyYears.map(studyYear => (0, mapPartOfProgramme_1.mapPartOfProgramme)(programmeInstance, structureItemCourse, studyYear, specialisationInstance));
50
+ })))).flat();
51
+ });
52
+ const processSpecialisations = (specialisationInstances, courseInstance, periodItems, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
53
+ return (yield Promise.all(specialisationInstances.map((specialisationInstance) => __awaiter(void 0, void 0, void 0, function* () {
54
+ var _a;
55
+ if (!specialisationInstance)
56
+ return [];
57
+ const structureRefs = ((_a = (yield ladokClient.strukturListaInnehaller(specialisationInstance.tillfalle_uid)).data) === null || _a === void 0 ? void 0 : _a.Strukturreferenser) ||
58
+ [];
59
+ const [firstProgrammeInstanceUID] = extractUIDsByEducationType(structureRefs, EDUCATIONAL_TYPE.Programme);
60
+ const programmeInstances = yield fetchEducationalInstances([firstProgrammeInstanceUID], ladokClient);
61
+ return processProgrammes(programmeInstances, courseInstance, periodItems, ladokClient, specialisationInstance);
62
+ })))).flat();
63
+ });
64
+ const getPartOfProgramme = (courseInstance, periodItems, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
65
+ var _a;
66
+ const structureRefs = ((_a = (yield ladokClient.strukturListaInnehaller(courseInstance.tillfalle_uid)).data) === null || _a === void 0 ? void 0 : _a.Strukturreferenser) || [];
67
+ const specialisationInstanceUIDs = extractUIDsByEducationType(structureRefs, EDUCATIONAL_TYPE.Specialisation);
68
+ const programmeInstanceUIDs = extractUIDsByEducationType(structureRefs, EDUCATIONAL_TYPE.Programme);
69
+ const specialisationInstances = (yield fetchEducationalInstances(specialisationInstanceUIDs, ladokClient)) || [];
70
+ const programmeInstances = (yield fetchEducationalInstances(programmeInstanceUIDs, ladokClient)) || [];
71
+ const specialisationParts = yield processSpecialisations(specialisationInstances, courseInstance, periodItems, ladokClient);
72
+ const programmeParts = yield processProgrammes(programmeInstances, courseInstance, periodItems, ladokClient);
73
+ return [...specialisationParts, ...programmeParts];
74
+ });
75
+ const getPartOfProgrammes = (courseInstances, periodItems, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
76
+ const partOfProgrammes = {};
77
+ yield Promise.all(courseInstances.map((courseInstance) => __awaiter(void 0, void 0, void 0, function* () {
78
+ partOfProgrammes[courseInstance.tillfalle_uid] = yield getPartOfProgramme(courseInstance, periodItems, ladokClient);
79
+ })));
80
+ return partOfProgrammes;
81
+ });
82
+ exports.getPartOfProgrammes = getPartOfProgrammes;
83
+ //# sourceMappingURL=partOfProgrammeUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partOfProgrammeUtil.js","sourceRoot":"","sources":["../../src/utils/partOfProgrammeUtil.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
- import { PeriodItem } from "@kth/ladok-mellanlager-client";
2
- import { ProgramInstans } from "../mapProgramInstans";
1
+ import { PeriodItem } from '@kth/ladok-mellanlager-client';
2
+ import { ProgramInstans } from '../mapProgramInstans';
3
+ export declare const parsePeriod: (period: string) => {
4
+ semester: string;
5
+ year: number;
6
+ } | null;
3
7
  export declare const transformPeriodInDigits: (period: string) => string | null;
4
8
  export declare const transformDigitsInPeriod: (period: string) => string;
5
9
  export declare const findValidProgramForCode: (code: string, periods: PeriodItem[], programs: ProgramInstans[]) => ProgramInstans | undefined;
@@ -1,10 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getKthStudyPeriod = exports.getPeriodCodeForDate = exports.findValidProgramForCode = exports.transformDigitsInPeriod = exports.transformPeriodInDigits = void 0;
3
+ exports.getKthStudyPeriod = exports.getPeriodCodeForDate = exports.findValidProgramForCode = exports.transformDigitsInPeriod = exports.transformPeriodInDigits = exports.parsePeriod = void 0;
4
+ const parsePeriod = (period) => {
5
+ const match = period.match(/(VT|HT)(\d{4})/);
6
+ if (!match) {
7
+ console.warn('Unable to parse period due to invalid period format: ', period);
8
+ return null;
9
+ }
10
+ return { semester: match[1], year: Number(match[2]) };
11
+ };
12
+ exports.parsePeriod = parsePeriod;
4
13
  const transformPeriodInDigits = (period) => {
5
- const validPrefixes = ["HT", "VT"];
14
+ const validPrefixes = ['HT', 'VT'];
6
15
  if (validPrefixes.includes(period.slice(0, 2)) && period.length > 2) {
7
- const suffix = period.startsWith("HT") ? "2" : "1";
16
+ const suffix = period.startsWith('HT') ? '2' : '1';
8
17
  const year = period.slice(2);
9
18
  return year + suffix;
10
19
  }
@@ -13,7 +22,7 @@ const transformPeriodInDigits = (period) => {
13
22
  exports.transformPeriodInDigits = transformPeriodInDigits;
14
23
  const transformDigitsInPeriod = (period) => {
15
24
  const year = period.slice(0, 4);
16
- const semester = period.slice(4) === "1" ? "VT" : "HT";
25
+ const semester = period.slice(4) === '1' ? 'VT' : 'HT';
17
26
  return `${semester}${year}`;
18
27
  };
19
28
  exports.transformDigitsInPeriod = transformDigitsInPeriod;
@@ -46,7 +55,7 @@ const getPeriodCodeForDate = (date) => {
46
55
  const JULY = 6;
47
56
  const year = date.getFullYear();
48
57
  const month = date.getMonth();
49
- const semester = month < JULY ? "VT" : "HT";
58
+ const semester = month < JULY ? 'VT' : 'HT';
50
59
  return `${semester}${year}`;
51
60
  };
52
61
  exports.getPeriodCodeForDate = getPeriodCodeForDate;
@@ -56,25 +65,21 @@ const getKthStudyPeriod = (date, startPeriod, type) => {
56
65
  const day = date.getDate();
57
66
  if (!startPeriod.code || !startPeriod.startDate || !startPeriod.endDate)
58
67
  return undefined;
59
- if (type === "start") {
60
- if (startPeriod.code.startsWith("HT") && date < startPeriod.startDate)
68
+ if (type === 'start') {
69
+ if (startPeriod.code.startsWith('HT') && date < startPeriod.startDate)
61
70
  return 0;
62
- if (startPeriod.code.startsWith("HT") &&
63
- date >= startPeriod.startDate &&
64
- month <= 9)
71
+ if (startPeriod.code.startsWith('HT') && date >= startPeriod.startDate && month <= 9)
65
72
  return 1;
66
- if (startPeriod.code.startsWith("HT") && date <= startPeriod.endDate)
73
+ if (startPeriod.code.startsWith('HT') && date <= startPeriod.endDate)
67
74
  return 2;
68
- if (startPeriod.code.startsWith("VT") &&
69
- date >= startPeriod.startDate &&
70
- month <= 2)
75
+ if (startPeriod.code.startsWith('VT') && date >= startPeriod.startDate && month <= 2)
71
76
  return 3;
72
- if (startPeriod.code.startsWith("VT") && date <= startPeriod.endDate)
77
+ if (startPeriod.code.startsWith('VT') && date <= startPeriod.endDate)
73
78
  return 4;
74
- if (startPeriod.code.startsWith("VT") && date > startPeriod.endDate)
79
+ if (startPeriod.code.startsWith('VT') && date > startPeriod.endDate)
75
80
  return 5;
76
81
  }
77
- else if (type === "end") {
82
+ else if (type === 'end') {
78
83
  if ((month == 7 && day > 15) || month == 8)
79
84
  return 0;
80
85
  if (month >= 9 && month <= 11)
@@ -1 +1 @@
1
- {"version":3,"file":"periodUtil.js","sourceRoot":"","sources":["../../src/utils/periodUtil.ts"],"names":[],"mappings":";;;AAGO,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAE,EAAE;IACxD,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEnC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,uBAAuB,2BAUlC;AACK,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAU,EAAE;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,OAAO,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;AAC9B,CAAC,CAAC;AAJW,QAAA,uBAAuB,2BAIlC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,OAAqB,EAA0B,EAAE;IACvF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,QAA0B,EAAoB,EAAE;IACzE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACjC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAClE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,CAC9B,OAAuB,EACvB,WAAiB,EACR,EAAE;IACX,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAC9B,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAA,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA;QAAE,OAAO,KAAK,CAAA;IAE/D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAElD,OAAO,WAAW,IAAI,YAAY,CAAA;AACpC,CAAC,CAAA;AAEM,MAAM,uBAAuB,GAAG,CACrC,IAAY,EACZ,OAAqB,EACrB,QAA0B,EACE,EAAE;IAC9B,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACrD,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAA;IAEpC,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAEvE,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAElD,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAClE,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAC9C,CAAA;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAA;IAErD,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAClE,CAAC,CAAA;AAnBY,QAAA,uBAAuB,2BAmBnC;AAEM,MAAM,oBAAoB,GAAG,CAAC,IAAU,EAAE,EAAE;IACjD,MAAM,IAAI,GAAG,CAAC,CAAC;IACf,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,OAAO,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;AAC9B,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B;AAEF,4IAA4I;AACrI,MAAM,iBAAiB,GAAG,CAC/B,IAAU,EACV,WAIC,EACD,IAAqB,EACrB,EAAE;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAE3B,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,OAAO;QACrE,OAAO,SAAS,CAAC;IAEnB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,WAAW,CAAC,SAAS;YACnE,OAAO,CAAC,CAAC;QACX,IACE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACjC,IAAI,IAAI,WAAW,CAAC,SAAS;YAC7B,KAAK,IAAI,CAAC;YAEV,OAAO,CAAC,CAAC;QACX,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,WAAW,CAAC,OAAO;YAClE,OAAO,CAAC,CAAC;QACX,IACE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACjC,IAAI,IAAI,WAAW,CAAC,SAAS;YAC7B,KAAK,IAAI,CAAC;YAEV,OAAO,CAAC,CAAC;QACX,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,WAAW,CAAC,OAAO;YAClE,OAAO,CAAC,CAAC;QACX,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO;YACjE,OAAO,CAAC,CAAC;IACb,CAAC;SAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QACzB,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AA7CW,QAAA,iBAAiB,qBA6C5B"}
1
+ {"version":3,"file":"periodUtil.js","sourceRoot":"","sources":["../../src/utils/periodUtil.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { LadokMellanlagerApiClient } from '@kth/ladok-mellanlager-client';
1
+ import { LadokMellanlagerApiClient, Strukturdel } from '@kth/ladok-mellanlager-client';
2
2
  import { Language } from './languageUtil';
3
3
  import { StructurePartInstance } from '../mapStructureCourses';
4
- import { Strukturdel } from '@kth/ladok-mellanlager-client/dist/types/endpoints/utbildningsinstansStruktur';
5
4
  export declare const handleError: (message: string, error?: any) => {
6
5
  error: string;
7
6
  details: any;
@@ -52,7 +51,7 @@ export declare const fetchProgramStructure: (utbildningstillfalleUID: string, la
52
51
  };
53
52
  startperiod?: {
54
53
  code: string;
55
- } | undefined;
54
+ };
56
55
  Tillfallesperioder: {
57
56
  SistaUndervisningsdatum: string;
58
57
  }[];
@@ -77,7 +76,7 @@ export declare const fetchProgramStructure: (utbildningstillfalleUID: string, la
77
76
  };
78
77
  startperiod?: {
79
78
  code: string;
80
- } | undefined;
79
+ };
81
80
  Tillfallesperioder: {
82
81
  SistaUndervisningsdatum: string;
83
82
  }[];
@@ -83,8 +83,8 @@ const fetchStructurePartsVersions = (utbildningsinstansUIDn, ladokClient) => __a
83
83
  exports.fetchStructurePartsVersions = fetchStructurePartsVersions;
84
84
  const categoryMap = {
85
85
  'VILLKORLIGT VALFRI': 'VV',
86
- 'REKOMMENDERAD': 'R',
87
- 'VALFRI': 'V',
86
+ REKOMMENDERAD: 'R',
87
+ VALFRI: 'V',
88
88
  };
89
89
  const categorizeStructureParts = (strukturDelar) => {
90
90
  return strukturDelar.map(strukturdel => {
@@ -105,7 +105,7 @@ function fetchMappedStructurePartInstances(categorizedStrukturDelar, language, l
105
105
  return filtered.map(instance => (0, mapStructureCourses_1.mapStructurePartInstances)(instance, language));
106
106
  });
107
107
  }
108
- const SPECIALIZATION_INSTANCE_TYPE = "Inriktningstillfälle";
108
+ const SPECIALIZATION_INSTANCE_TYPE = 'Inriktningstillfälle';
109
109
  function isSpecializationInstance(instance) {
110
110
  const type = instance.utbildningstyp;
111
111
  return (type === null || type === void 0 ? void 0 : type.name) === SPECIALIZATION_INSTANCE_TYPE || (type === null || type === void 0 ? void 0 : type.nameOther) === SPECIALIZATION_INSTANCE_TYPE;
@@ -187,17 +187,14 @@ const mapSpecializationCurriculums = (specializations, startperiodCode, lengthIn
187
187
  });
188
188
  const fetchProgramStructure = (utbildningstillfalleUID, language, ladokClient) => __awaiter(void 0, void 0, void 0, function* () {
189
189
  try {
190
- const { startperiod, lengthInStudyYears, courseListFromStructure, specializationListFromStructure, } = yield getMainProgramInstanceData(utbildningstillfalleUID, language, ladokClient);
190
+ const { startperiod, lengthInStudyYears, courseListFromStructure, specializationListFromStructure } = yield getMainProgramInstanceData(utbildningstillfalleUID, language, ladokClient);
191
191
  const periodData = yield ladokClient.period();
192
192
  if (periodData.type === 'error') {
193
193
  throw new Error(`API error: ${periodData.responseInfo.message}`);
194
194
  }
195
195
  const mainStudyYears = (0, studyYearUtil_1.generateStudyYearData)(courseListFromStructure, periodData.data.Period, startperiod === null || startperiod === void 0 ? void 0 : startperiod.code, lengthInStudyYears);
196
196
  const specializationCurriculums = yield mapSpecializationCurriculums(specializationListFromStructure, startperiod === null || startperiod === void 0 ? void 0 : startperiod.code, lengthInStudyYears, language, ladokClient, periodData.data.Period);
197
- return [
198
- { studyYears: mainStudyYears },
199
- ...specializationCurriculums,
200
- ];
197
+ return [{ studyYears: mainStudyYears }, ...specializationCurriculums];
201
198
  }
202
199
  catch (error) {
203
200
  throw (0, exports.handleError)('Unexpected error during processing', error);