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

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.
@@ -4,15 +4,26 @@ exports.generateStudyYearData = exports.getStudyYear = exports.extractYear = exp
4
4
  const date_fns_1 = require("date-fns");
5
5
  exports.LAST_YEAR_TO_USE_SYLLABUSES_FOR_KURSLISTA = 2025;
6
6
  const extractYear = (kod) => {
7
- const isAutumn = kod.startsWith('HT');
8
- const year = parseInt(kod.slice(2), 10);
9
- return isAutumn ? year : year - 1;
7
+ let year;
8
+ if (/^HT|^VT/.test(kod)) {
9
+ // Format: example HT2024 or VT2024
10
+ const isAutumn = kod.startsWith('HT');
11
+ year = parseInt(kod.slice(2), 10);
12
+ return isAutumn ? year : year - 1;
13
+ }
14
+ else if (/^\d{4}[HV]$/.test(kod)) {
15
+ // Format: example 2024H or 2024V
16
+ const isAutumn = kod.endsWith('H');
17
+ year = parseInt(kod.slice(0, 4), 10);
18
+ return isAutumn ? year : year - 1;
19
+ }
20
+ else {
21
+ throw new Error(`Unknown kod format: ${kod}`);
22
+ }
10
23
  };
11
24
  exports.extractYear = extractYear;
12
25
  const getStudyYear = (periodEndDate, periodDetails, mainStartPeriod) => {
13
- const matchedPeriod = periodDetails.find(p => (0, date_fns_1.parseISO)(p.FromDatum) <= (0, date_fns_1.parseISO)(periodEndDate) &&
14
- (0, date_fns_1.parseISO)(p.TomDatum) >= (0, date_fns_1.parseISO)(periodEndDate) &&
15
- (p.Kod.includes('VT') || p.Kod.includes('HT')));
26
+ const matchedPeriod = periodDetails.find(p => (0, date_fns_1.parseISO)(p.FromDatum) <= (0, date_fns_1.parseISO)(periodEndDate) && (0, date_fns_1.parseISO)(p.TomDatum) >= (0, date_fns_1.parseISO)(periodEndDate));
16
27
  if (!matchedPeriod)
17
28
  throw new Error('No matching period found');
18
29
  const baseYear = (0, exports.extractYear)(mainStartPeriod);
@@ -1 +1 @@
1
- {"version":3,"file":"studyYearUtil.js","sourceRoot":"","sources":["../../src/utils/studyYearUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"studyYearUtil.js","sourceRoot":"","sources":["../../src/utils/studyYearUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kth/om-kursen-ladok-client",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "description": "Om kursen specific logic and mappings, uses both @kth/ladok-mellanlager-client and @kth/ladok-attributevarde-utils.",
5
5
  "main": "dist/index.js",
6
6
  "files": [