@royalschedule/maps 2.4.7 → 2.4.8

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 (102) hide show
  1. package/dist/Excel/v1/from/index.js +55 -32
  2. package/dist/Excel/v1/from/index.js.map +1 -1
  3. package/dist/Excel/v1/types/index.d.ts +18 -16
  4. package/dist/PlanDigital/types/course.d.ts +15 -0
  5. package/dist/{core/types/common.js → PlanDigital/types/course.js} +1 -1
  6. package/dist/PlanDigital/types/course.js.map +1 -0
  7. package/dist/PlanDigital/types/period.d.ts +3 -0
  8. package/dist/PlanDigital/types/period.js +6 -0
  9. package/dist/PlanDigital/types/period.js.map +1 -0
  10. package/dist/SchoolSoft/from/index.d.ts +8 -0
  11. package/dist/SchoolSoft/from/index.js +16 -0
  12. package/dist/SchoolSoft/from/index.js.map +1 -0
  13. package/dist/SchoolSoft/from/schedules.d.ts +9 -0
  14. package/dist/SchoolSoft/from/schedules.js +221 -0
  15. package/dist/SchoolSoft/from/schedules.js.map +1 -0
  16. package/dist/SchoolSoft/to/index.d.ts +3 -0
  17. package/dist/SchoolSoft/to/index.js +16 -0
  18. package/dist/SchoolSoft/to/index.js.map +1 -0
  19. package/dist/SchoolSoft/to/schedules.d.ts +4 -0
  20. package/dist/SchoolSoft/to/schedules.js +36 -0
  21. package/dist/SchoolSoft/to/schedules.js.map +1 -0
  22. package/dist/SchoolSoft/types/events.d.ts +19 -0
  23. package/dist/SchoolSoft/types/events.js +6 -0
  24. package/dist/SchoolSoft/types/events.js.map +1 -0
  25. package/dist/SchoolSoft/types/index.d.ts +4 -0
  26. package/dist/Skola24/types/Meta.d.ts +7 -0
  27. package/dist/Skola24/types/Meta.js +6 -0
  28. package/dist/Skola24/types/Meta.js.map +1 -0
  29. package/dist/core/constants/index.d.ts +71 -0
  30. package/dist/core/constants/index.js +136 -0
  31. package/dist/core/constants/index.js.map +1 -0
  32. package/dist/core/from/courses.js +0 -15
  33. package/dist/core/from/courses.js.map +1 -1
  34. package/dist/core/from/events.js +0 -15
  35. package/dist/core/from/events.js.map +1 -1
  36. package/dist/core/from/groups.js +0 -15
  37. package/dist/core/from/groups.js.map +1 -1
  38. package/dist/core/from/locations.js +0 -15
  39. package/dist/core/from/locations.js.map +1 -1
  40. package/dist/core/from/locked-times.js +0 -15
  41. package/dist/core/from/locked-times.js.map +1 -1
  42. package/dist/core/from/overlap-groups.js +0 -15
  43. package/dist/core/from/overlap-groups.js.map +1 -1
  44. package/dist/core/from/persons.js +0 -15
  45. package/dist/core/from/persons.js.map +1 -1
  46. package/dist/core/from/schedules.js +0 -15
  47. package/dist/core/from/schedules.js.map +1 -1
  48. package/dist/core/from/teachers.js +0 -15
  49. package/dist/core/from/teachers.js.map +1 -1
  50. package/dist/core/identify/index.d.ts +2 -0
  51. package/dist/core/identify/index.js +65 -0
  52. package/dist/core/identify/index.js.map +1 -0
  53. package/dist/core/to/available-locations.js +0 -15
  54. package/dist/core/to/available-locations.js.map +1 -1
  55. package/dist/core/to/courses.d.ts +1 -37
  56. package/dist/core/to/courses.js +10 -43
  57. package/dist/core/to/courses.js.map +1 -1
  58. package/dist/core/to/days.d.ts +1 -4
  59. package/dist/core/to/days.js +0 -15
  60. package/dist/core/to/days.js.map +1 -1
  61. package/dist/core/to/events.d.ts +1 -41
  62. package/dist/core/to/events.js +10 -43
  63. package/dist/core/to/events.js.map +1 -1
  64. package/dist/core/to/groups.d.ts +1 -15
  65. package/dist/core/to/groups.js +0 -15
  66. package/dist/core/to/groups.js.map +1 -1
  67. package/dist/core/to/intervals.d.ts +1 -4
  68. package/dist/core/to/intervals.js.map +1 -1
  69. package/dist/core/to/locations.js +0 -15
  70. package/dist/core/to/locations.js.map +1 -1
  71. package/dist/core/to/locked-times.d.ts +2 -2
  72. package/dist/core/to/locked-times.js +1 -16
  73. package/dist/core/to/locked-times.js.map +1 -1
  74. package/dist/core/to/overlap-groups.js +0 -15
  75. package/dist/core/to/overlap-groups.js.map +1 -1
  76. package/dist/core/to/persons.js +0 -15
  77. package/dist/core/to/persons.js.map +1 -1
  78. package/dist/core/to/schedules.js +1 -16
  79. package/dist/core/to/schedules.js.map +1 -1
  80. package/dist/core/to/settings.js +0 -15
  81. package/dist/core/to/settings.js.map +1 -1
  82. package/dist/core/to/teachers.js +0 -15
  83. package/dist/core/to/teachers.js.map +1 -1
  84. package/dist/core/types/common/index.d.ts +2 -2
  85. package/dist/core/types/common/index.js +1 -0
  86. package/dist/core/types/common/index.js.map +1 -1
  87. package/dist/core/types/course-events.d.ts +3 -13
  88. package/dist/core/types/courses.d.ts +3 -14
  89. package/dist/core/types/identify.d.ts +10 -0
  90. package/dist/core/types/identify.js +6 -0
  91. package/dist/core/types/identify.js.map +1 -0
  92. package/dist/core/types/meta.d.ts +1 -1
  93. package/dist/core/types/students.d.ts +8 -0
  94. package/dist/core/types/students.js +6 -0
  95. package/dist/core/types/students.js.map +1 -0
  96. package/dist/core/types/teachers.d.ts +2 -0
  97. package/package.json +1 -1
  98. package/dist/core/types/common.d.ts +0 -26
  99. package/dist/core/types/common.js.map +0 -1
  100. package/dist/core/v2/types/common/index.d.ts +0 -26
  101. /package/dist/{core/v2/types/common → SchoolSoft/types}/index.js +0 -0
  102. /package/dist/{core/v2/types/common → SchoolSoft/types}/index.js.map +0 -0
@@ -19,10 +19,21 @@ function generateId(map) {
19
19
  } while (map.has(id));
20
20
  return id;
21
21
  }
22
- function truncateToNearestMultipleOf5(num) {
23
- if (_lodash.default.isString(num)) num = parseInt(num);
22
+ function toMultipleOf5(val) {
23
+ var num = _lodash.default.isString(val) ? parseInt(val) : val;
24
+ if (isNaN(num)) throw new Error("toMultipleOf5: ".concat(val, " is not a number"));
24
25
  return Math.floor(num / 5) * 5;
25
26
  }
27
+ function toInteger(val) {
28
+ var num = _lodash.default.isString(val) ? parseInt(val) : val;
29
+ if (isNaN(num)) throw new Error("toInteger: ".concat(val, " is not a number"));
30
+ return num;
31
+ }
32
+ function toString(x) {
33
+ if (x == undefined) return undefined;
34
+ if (_lodash.default.isNumber(x)) return x.toString();
35
+ return x.trim();
36
+ }
26
37
  function _schedules(source) {
27
38
  var _source$locations, _source$teachers, _source$students, _source$groups, _source$courses, _source$settings, _source$settings$, _source$locations2, _source$groups2, _source$teachers2, _source$students2, _source$courses2;
28
39
  var warnings = [];
@@ -30,7 +41,7 @@ function _schedules(source) {
30
41
  var teacherKeys = ['name'];
31
42
  var studentKeys = ['first_name', 'last_name', 'SSN', 'sex', 'group'];
32
43
  var groupKeys = ['name'];
33
- var courseKeys = ['name', 'subject', 'groups', 'teachers', 'locations', 'minutes_per_week', 'lesson_durations'];
44
+ var courseKeys = ['name', 'subject', 'groups', 'teachers', 'locations', 'total_hours', 'minutes_per_week', 'lesson_durations'];
34
45
  source.locations = (_source$locations = source.locations) === null || _source$locations === void 0 ? void 0 : _source$locations.map(x => _lodash.default.pick(x, locationKeys)).filter(x => Object.values(x).some(y => y !== undefined));
35
46
  source.teachers = (_source$teachers = source.teachers) === null || _source$teachers === void 0 ? void 0 : _source$teachers.map(x => _lodash.default.pick(x, teacherKeys)).filter(x => Object.values(x).some(y => y !== undefined));
36
47
  source.students = (_source$students = source.students) === null || _source$students === void 0 ? void 0 : _source$students.map(x => _lodash.default.pick(x, studentKeys)).filter(x => Object.values(x).some(y => y !== undefined));
@@ -64,13 +75,12 @@ function _schedules(source) {
64
75
  warnings.push("Could not find the locations tab.");
65
76
  }
66
77
  (_source$locations2 = source.locations) === null || _source$locations2 === void 0 ? void 0 : _source$locations2.forEach(x => {
67
- var _x$name;
68
- var displayName = (_x$name = x.name) === null || _x$name === void 0 ? void 0 : _x$name.trim();
78
+ var displayName = toString(x.name);
69
79
  if (!displayName) {
70
80
  warnings.push("Skipping a location without a name.");
71
81
  return;
72
82
  }
73
- if (locationsNameMap.has(displayName)) {
83
+ if (locationsNameMap.has(displayName.toLowerCase())) {
74
84
  warnings.push("The location ".concat(displayName, " is defined multiple times."));
75
85
  return;
76
86
  }
@@ -79,7 +89,7 @@ function _schedules(source) {
79
89
  id,
80
90
  displayName
81
91
  };
82
- locationsNameMap.set(displayName, location);
92
+ locationsNameMap.set(displayName.toLowerCase(), location);
83
93
  locationsIdMap.set(id, location);
84
94
  });
85
95
  var groupsIdMap = new Map();
@@ -88,13 +98,12 @@ function _schedules(source) {
88
98
  warnings.push("Could not find the groups tab.");
89
99
  }
90
100
  (_source$groups2 = source.groups) === null || _source$groups2 === void 0 ? void 0 : _source$groups2.forEach(x => {
91
- var _x$name2;
92
- var displayName = (_x$name2 = x.name) === null || _x$name2 === void 0 ? void 0 : _x$name2.trim();
101
+ var displayName = toString(x.name);
93
102
  if (!displayName) {
94
103
  warnings.push("Skipping a group without a name.");
95
104
  return;
96
105
  }
97
- if (groupsNameMap.has(displayName)) {
106
+ if (groupsNameMap.has(displayName.toLowerCase())) {
98
107
  warnings.push("The group ".concat(displayName, " is defined multiple times."));
99
108
  return;
100
109
  }
@@ -103,7 +112,7 @@ function _schedules(source) {
103
112
  id,
104
113
  displayName
105
114
  };
106
- groupsNameMap.set(displayName, group);
115
+ groupsNameMap.set(displayName.toLowerCase(), group);
107
116
  groupsIdMap.set(id, group);
108
117
  });
109
118
  var teachersIdMap = new Map();
@@ -112,13 +121,12 @@ function _schedules(source) {
112
121
  warnings.push("Could not find the teachers tab.");
113
122
  }
114
123
  (_source$teachers2 = source.teachers) === null || _source$teachers2 === void 0 ? void 0 : _source$teachers2.forEach(x => {
115
- var _x$name3;
116
- var displayName = (_x$name3 = x.name) === null || _x$name3 === void 0 ? void 0 : _x$name3.trim();
124
+ var displayName = toString(x.name);
117
125
  if (!displayName) {
118
126
  warnings.push("Skipping a teacher without a name.");
119
127
  return;
120
128
  }
121
- if (teachersNameMap.has(displayName)) {
129
+ if (teachersNameMap.has(displayName.toLowerCase())) {
122
130
  warnings.push("The teacher ".concat(displayName, " is defined multiple times."));
123
131
  return;
124
132
  }
@@ -127,7 +135,7 @@ function _schedules(source) {
127
135
  id,
128
136
  displayName
129
137
  };
130
- teachersNameMap.set(displayName, teacher);
138
+ teachersNameMap.set(displayName.toLowerCase(), teacher);
131
139
  teachersIdMap.set(id, teacher);
132
140
  });
133
141
  var personsIdMap = new Map();
@@ -135,13 +143,13 @@ function _schedules(source) {
135
143
  warnings.push("Could not find the students tab.");
136
144
  }
137
145
  (_source$students2 = source.students) === null || _source$students2 === void 0 ? void 0 : _source$students2.forEach(x => {
138
- var _x$first_name, _x$last_name, _x$SSN;
139
- var firstName = (_x$first_name = x.first_name) === null || _x$first_name === void 0 ? void 0 : _x$first_name.trim();
140
- var lastName = (_x$last_name = x.last_name) === null || _x$last_name === void 0 ? void 0 : _x$last_name.trim();
141
- var SSN = (_x$SSN = x.SSN) === null || _x$SSN === void 0 ? void 0 : _x$SSN.trim();
146
+ var firstName = toString(x.first_name);
147
+ var lastName = toString(x.last_name);
148
+ var SSN = toString(x.SSN);
142
149
  var groupReference = undefined;
143
150
  if (x.group) {
144
- var ref = groupsNameMap.get(x.group);
151
+ var key = toString(x.group).toLowerCase();
152
+ var ref = groupsNameMap.get(key);
145
153
  if (!ref) {
146
154
  warnings.push("The group ".concat(x.group, " referenced from the student ").concat(firstName, " ").concat(lastName, " does not exist."));
147
155
  } else {
@@ -174,23 +182,37 @@ function _schedules(source) {
174
182
  warnings.push("Could not find the courses tab.");
175
183
  }
176
184
  (_source$courses2 = source.courses) === null || _source$courses2 === void 0 ? void 0 : _source$courses2.forEach(x => {
177
- var _x$name4, _x$locations, _x$groups, _x$teachers;
185
+ var _toString, _toString2, _toString3, _toString4;
178
186
  var courseId = generateId(coursesIdMap);
179
- var displayName = (_x$name4 = x.name) === null || _x$name4 === void 0 ? void 0 : _x$name4.trim();
180
- var subject = x.subject;
187
+ var displayName = (_toString = toString(x.name)) === null || _toString === void 0 ? void 0 : _toString.trim();
188
+ var subject = toString(x.subject);
189
+ var totalHours = undefined;
190
+ if (x.total_hours) {
191
+ try {
192
+ totalHours = toInteger(x.total_hours);
193
+ } catch (e) {
194
+ warnings.push("The total hours \"".concat(x.total_hours, "\" for the course ").concat(displayName, " is not an integer."));
195
+ }
196
+ }
181
197
  var minutesPerWeek = undefined;
182
198
  if (x.minutes_per_week) {
183
- var val = truncateToNearestMultipleOf5(x.minutes_per_week);
184
- if (!val) {
185
- warnings.push("The minutes per week \"".concat(x.minutes_per_week, "\" for the course ").concat(displayName, " becomes 0 when truncated to the nearest multiple of 5."));
186
- } else {
187
- minutesPerWeek = val;
199
+ try {
200
+ minutesPerWeek = toMultipleOf5(x.minutes_per_week);
201
+ } catch (e) {
202
+ warnings.push("The minutes per week \"".concat(x.minutes_per_week, "\" for the course ").concat(displayName, " is not an integer."));
188
203
  }
189
204
  }
190
205
  try {
191
206
  var durations = [];
192
207
  if (_lodash.default.isNumber(x.lesson_durations)) durations = [x.lesson_durations];else if (_lodash.default.isString(x.lesson_durations)) durations = x.lesson_durations.split(',').map(x => x.trim()).map(x => parseInt(x));
193
- durations = durations.map(x => truncateToNearestMultipleOf5(x)).filter(x => {
208
+ durations = durations.map(x => {
209
+ try {
210
+ return toMultipleOf5(x);
211
+ } catch (e) {
212
+ warnings.push("The lesson duration \"".concat(x, "\" for the course ").concat(displayName, " is not an integer."));
213
+ return undefined;
214
+ }
215
+ }).filter(x => {
194
216
  if (!x) {
195
217
  warnings.push("The lesson duration for the course ".concat(displayName, " becomes 0 when truncated to the nearest multiple of 5."));
196
218
  return false;
@@ -210,7 +232,7 @@ function _schedules(source) {
210
232
  warnings.push("Could not parse the lesson durations \"".concat(x.lesson_durations, "\" for the course ").concat(displayName, "."));
211
233
  }
212
234
  var locationReferences = [];
213
- (_x$locations = x.locations) === null || _x$locations === void 0 ? void 0 : _x$locations.split(',').map(x => x.trim()).forEach(x => {
235
+ (_toString2 = toString(x.locations)) === null || _toString2 === void 0 ? void 0 : _toString2.split(',').map(x => x.trim().toLowerCase()).forEach(x => {
214
236
  var ref = locationsNameMap.get(x);
215
237
  if (!ref) {
216
238
  warnings.push("The location ".concat(x, " referenced from the course ").concat(displayName, " does not exist."));
@@ -223,7 +245,7 @@ function _schedules(source) {
223
245
  locationReferences.push(ref.id);
224
246
  });
225
247
  var groupReferences = [];
226
- (_x$groups = x.groups) === null || _x$groups === void 0 ? void 0 : _x$groups.split(',').map(x => x.trim()).forEach(x => {
248
+ (_toString3 = toString(x.groups)) === null || _toString3 === void 0 ? void 0 : _toString3.split(',').map(x => x.trim().toLowerCase()).forEach(x => {
227
249
  var ref = groupsNameMap.get(x);
228
250
  if (!ref) {
229
251
  warnings.push("The group ".concat(x, " referenced from the course ").concat(displayName, " does not exist."));
@@ -238,7 +260,7 @@ function _schedules(source) {
238
260
  });
239
261
  });
240
262
  var teacherReferences = [];
241
- (_x$teachers = x.teachers) === null || _x$teachers === void 0 ? void 0 : _x$teachers.split(',').map(x => x.trim()).forEach(x => {
263
+ (_toString4 = toString(x.teachers)) === null || _toString4 === void 0 ? void 0 : _toString4.split(',').map(x => x.trim().toLowerCase()).forEach(x => {
242
264
  var ref = teachersNameMap.get(x);
243
265
  if (!ref) {
244
266
  warnings.push("The teacher ".concat(x, " referenced from the course ").concat(displayName, " does not exist."));
@@ -260,6 +282,7 @@ function _schedules(source) {
260
282
  groupIndex: 0,
261
283
  locations: [x]
262
284
  })),
285
+ expectedTotalHours: totalHours,
263
286
  displayName,
264
287
  subject,
265
288
  minutesPerWeek
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_lodash","_interopRequireDefault","require","_nanoid","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","generateId","map","id","nanoid","has","truncateToNearestMultipleOf5","num","_","isString","parseInt","Math","floor","_schedules","_source$locations","_source$teachers","_source$students","_source$groups","_source$courses","_source$settings","_source$settings$","_source$locations2","_source$groups2","_source$teachers2","_source$students2","_source$courses2","warnings","locationKeys","teacherKeys","studentKeys","groupKeys","courseKeys","locations","x","pick","values","some","y","teachers","students","groups","courses","settings","discretization","numDays","dayStart","dayEnd","number_of_days","_source$settings2","_source$settings2$","isNumber","concat","e","locationsIdMap","Map","locationsNameMap","_x$name","displayName","name","trim","location","set","groupsIdMap","groupsNameMap","_x$name2","group","teachersIdMap","teachersNameMap","_x$name3","teacher","personsIdMap","_x$first_name","_x$last_name","_x$SSN","firstName","first_name","lastName","last_name","SSN","groupReference","ref","get","sex","toLowerCase","person","coursesIdMap","eventsIdMap","_x$name4","_x$locations","_x$groups","_x$teachers","courseId","subject","minutesPerWeek","minutes_per_week","val","durations","lesson_durations","split","event","course","preferredDuration","locationReferences","includes","groupReferences","to","teacherReferences","groupIndex","persons","events","meta","default_1","schedules","_default"],"sources":["../../../../src/Excel/v1/from/index.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_lodash","_interopRequireDefault","require","_nanoid","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","generateId","map","id","nanoid","has","toMultipleOf5","val","num","_","isString","parseInt","isNaN","Error","concat","Math","floor","toInteger","toString","x","isNumber","trim","_schedules","_source$locations","_source$teachers","_source$students","_source$groups","_source$courses","_source$settings","_source$settings$","_source$locations2","_source$groups2","_source$teachers2","_source$students2","_source$courses2","warnings","locationKeys","teacherKeys","studentKeys","groupKeys","courseKeys","locations","pick","values","some","y","teachers","students","groups","courses","settings","discretization","numDays","dayStart","dayEnd","number_of_days","_source$settings2","_source$settings2$","e","locationsIdMap","Map","locationsNameMap","displayName","name","toLowerCase","location","set","groupsIdMap","groupsNameMap","group","teachersIdMap","teachersNameMap","teacher","personsIdMap","firstName","first_name","lastName","last_name","SSN","groupReference","ref","get","sex","person","coursesIdMap","eventsIdMap","_toString","_toString2","_toString3","_toString4","courseId","subject","totalHours","total_hours","minutesPerWeek","minutes_per_week","durations","lesson_durations","split","event","course","preferredDuration","locationReferences","includes","groupReferences","to","teacherReferences","groupIndex","expectedTotalHours","persons","events","meta","default_1","schedules","_default"],"sources":["../../../../src/Excel/v1/from/index.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,31 +1,33 @@
1
+ type Value = string | number;
1
2
  export declare module Types {
2
3
  type Settings = {
3
- number_of_days?: string | number;
4
+ number_of_days?: Value;
4
5
  };
5
6
  type Location = {
6
- name?: string;
7
+ name?: Value;
7
8
  };
8
9
  type Teacher = {
9
- name?: string;
10
+ name?: Value;
10
11
  };
11
12
  type Student = {
12
- first_name?: string;
13
- last_name?: string;
14
- group?: string;
15
- sex?: string;
16
- SSN?: string;
13
+ first_name?: Value;
14
+ last_name?: Value;
15
+ group?: Value;
16
+ sex?: Value;
17
+ SSN?: Value;
17
18
  };
18
19
  type Group = {
19
- name?: string;
20
+ name?: Value;
20
21
  };
21
22
  type Course = {
22
- name?: string;
23
- subject?: string;
24
- groups?: string;
25
- teachers?: string;
26
- locations?: string;
27
- minutes_per_week?: string | number;
28
- lesson_durations?: string | number;
23
+ name?: Value;
24
+ subject?: Value;
25
+ groups?: Value;
26
+ teachers?: Value;
27
+ locations?: Value;
28
+ total_hours?: Value;
29
+ minutes_per_week?: Value;
30
+ lesson_durations?: Value;
29
31
  };
30
32
  type Source = {
31
33
  settings?: [] | [Settings];
@@ -0,0 +1,15 @@
1
+ export interface Course {
2
+ Klass: string;
3
+ Kurskod: string;
4
+ Sign: string;
5
+ Poäng: number;
6
+ Ht: number;
7
+ Resurs: 0 | 1;
8
+ Vt: number;
9
+ Summa: number;
10
+ Period: 'LÅ' | 'Vt' | 'Ht';
11
+ Anteckningar: string;
12
+ Antal: number;
13
+ Ämne: string;
14
+ Kursnamn: string;
15
+ }
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=common.js.map
6
+ //# sourceMappingURL=course.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"course.js","names":[],"sources":[],"sourcesContent":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export interface Period {
2
+ name: string;
3
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=period.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"period.js","names":[],"sources":[],"sourcesContent":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export default class {
2
+ static schedules: (input: import("../types/events").Event[], options?: {
3
+ interval?: {
4
+ start: number;
5
+ end: number;
6
+ } | undefined;
7
+ } | undefined) => import("../../core/types/divisions").Division;
8
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _schedules2 = _interopRequireDefault(require("./schedules"));
8
+ function _interopRequireDefault(obj) {
9
+ return obj && obj.__esModule ? obj : {
10
+ default: obj
11
+ };
12
+ }
13
+ class default_1 {}
14
+ exports.default = default_1;
15
+ default_1.schedules = _schedules2.default;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_schedules2","_interopRequireDefault","require","default_1","schedules","default"],"sources":["../../../src/SchoolSoft/from/index.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;;;;;;AAEc,MAAAC,SAAA;;AACLA,SAAA,CAAAC,SAAA,GAAsBJ,WAAA,CAAAK,OAAtB"}
@@ -0,0 +1,9 @@
1
+ import { Event } from '../types/events';
2
+ import { Types as CoreTypes } from '../../core/types';
3
+ declare const _default: (input: Event[], options?: {
4
+ interval?: {
5
+ start: number;
6
+ end: number;
7
+ } | undefined;
8
+ } | undefined) => CoreTypes.division;
9
+ export default _default;
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _lodash = _interopRequireDefault(require("lodash"));
8
+ var _getDate = _interopRequireDefault(require("../../common/get-date"));
9
+ function _interopRequireDefault(obj) {
10
+ return obj && obj.__esModule ? obj : {
11
+ default: obj
12
+ };
13
+ }
14
+ function ownKeys(object, enumerableOnly) {
15
+ var keys = Object.keys(object);
16
+ if (Object.getOwnPropertySymbols) {
17
+ var symbols = Object.getOwnPropertySymbols(object);
18
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
19
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
20
+ })), keys.push.apply(keys, symbols);
21
+ }
22
+ return keys;
23
+ }
24
+ function _objectSpread(target) {
25
+ for (var i = 1; i < arguments.length; i++) {
26
+ var source = null != arguments[i] ? arguments[i] : {};
27
+ i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
28
+ _defineProperty(target, key, source[key]);
29
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
30
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
31
+ });
32
+ }
33
+ return target;
34
+ }
35
+ function _defineProperty(obj, key, value) {
36
+ if (key in obj) {
37
+ Object.defineProperty(obj, key, {
38
+ value: value,
39
+ enumerable: true,
40
+ configurable: true,
41
+ writable: true
42
+ });
43
+ } else {
44
+ obj[key] = value;
45
+ }
46
+ return obj;
47
+ }
48
+ var days = ['Mån', 'Tis', 'Ons', 'Tor', 'Fre', 'Lör', 'Sön'];
49
+ function _parseWeeks(weeks, set) {
50
+ var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'add';
51
+ if (!weeks) return;
52
+ var intervals = weeks.split(',').map(_lodash.default.trim);
53
+ intervals.forEach(interval => {
54
+ if (!interval.includes('-')) return set[method](Number(interval));
55
+ var [start, end] = interval.split('-').map(Number);
56
+ Array(end - start + 1).fill(start).forEach((val, index) => set[method](val + index));
57
+ });
58
+ }
59
+ var _default = (input, options) => {
60
+ if (!input) throw new Error('(SchoolSoft::From::Schedules) Input was undefined');
61
+ if (_lodash.default.isString(input)) throw new Error('(SchoolSoft::From::Schedules) Input was of type string. Is required to be of object type');
62
+ var teachers = new Set();
63
+ var groups = new Set();
64
+ var locations = new Set();
65
+ var events = input.reduce((acc, event) => {
66
+ var _locations2;
67
+ if (!('length' in event)) return acc;
68
+ var weeks = new Set();
69
+ var {
70
+ inweek,
71
+ exweek,
72
+ realweeks
73
+ } = event;
74
+ try {
75
+ _parseWeeks(inweek, weeks, 'add');
76
+ _parseWeeks(realweeks, weeks, 'add');
77
+ if (weeks.size == 0) Array(51).fill(1).forEach((val, index) => weeks.add(val + index));
78
+ _parseWeeks(exweek, weeks, 'delete');
79
+ } catch (err) {
80
+ console.error(err);
81
+ }
82
+ if (options !== null && options !== void 0 && options.interval) {
83
+ var {
84
+ start: _start,
85
+ end: _end
86
+ } = options.interval;
87
+ if (_start > 52 || _start <= 0) throw new Error("(SchoolSoft::From::Schedules) Interval::start is invalid. value ".concat(_start));
88
+ if (_end > 52 || _end <= 0) throw new Error("(SchoolSoft::From::Schedules) Interval::end is invalid. value ".concat(_end));
89
+ if (_start > _end) {
90
+ if (!Array.from(weeks).some(week => week >= _start && week <= 52 || week <= _end)) return acc;
91
+ } else {
92
+ if (!Array.from(weeks).some(week => week >= _start && week <= _end)) return acc;
93
+ }
94
+ }
95
+ var start, end;
96
+ var {
97
+ starttime,
98
+ subject,
99
+ day,
100
+ length,
101
+ teacher,
102
+ group,
103
+ room
104
+ } = event;
105
+ if (day && starttime) {
106
+ var _day = days.indexOf(day);
107
+ if (_day > 4) return acc;
108
+ start = (0, _getDate.default)(_day, "".concat(starttime.substring(0, 2), ":").concat(starttime.substring(2, 4)));
109
+ end = start.clone().add(length, 'm');
110
+ }
111
+ var _teachers;
112
+ var _groups;
113
+ var _locations;
114
+ if (teacher) {
115
+ _teachers = teacher.split(',').map(x => x.trim());
116
+ _teachers.forEach(_teacher => teachers.add(_teacher));
117
+ }
118
+ if (group) {
119
+ _groups = group.split(',').map(x => x.trim());
120
+ _groups.forEach(_group => groups.add(_group));
121
+ }
122
+ if (room) {
123
+ _locations = _lodash.default.sortBy(room.split(',').map(x => x.trim()));
124
+ _locations.forEach(_location => locations.add(_location));
125
+ }
126
+ return acc.concat(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
127
+ ids: event.id,
128
+ preferredDuration: event.length,
129
+ weeks: _lodash.default.sortBy(Array.from(weeks))
130
+ }, subject && {
131
+ subject
132
+ }), start && {
133
+ start
134
+ }), end && {
135
+ end
136
+ }), event.group && {
137
+ groups: _groups
138
+ }), event.teacher && {
139
+ teachers: _teachers
140
+ }), event.room && {
141
+ inLocations: _locations,
142
+ locations: (_locations2 = _locations) === null || _locations2 === void 0 ? void 0 : _locations2.map((_location, index) => ({
143
+ locations: [_location],
144
+ groupIndex: index
145
+ }))
146
+ }));
147
+ }, []);
148
+ var set = new Set(events);
149
+ var courses = new Set([]);
150
+ var _loop = function _loop(element) {
151
+ var _ref;
152
+ set.delete(element);
153
+ var events = [element];
154
+ var {
155
+ subject,
156
+ groups,
157
+ teachers,
158
+ inLocations,
159
+ locations
160
+ } = element;
161
+ delete element.groups;
162
+ delete element.subject;
163
+ for (var event of set) {
164
+ if (event.subject != subject) continue;
165
+ if (groups !== null && groups !== void 0 && groups.length && !_lodash.default.isEqual(_lodash.default.sortBy(event.groups), _lodash.default.sortBy(groups))) continue;
166
+ if (!(groups !== null && groups !== void 0 && groups.length) && teachers !== null && teachers !== void 0 && teachers.length && !_lodash.default.isEqual(_lodash.default.sortBy(event.teachers), _lodash.default.sortBy(teachers))) continue;
167
+ delete event.groups;
168
+ delete event.subject;
169
+ events.push(event);
170
+ set.delete(event);
171
+ }
172
+ var course = _objectSpread(_objectSpread({
173
+ displayName: "".concat(subject, "-").concat((_ref = groups !== null && groups !== void 0 ? groups : teachers) === null || _ref === void 0 ? void 0 : _ref.join(' '))
174
+ }, groups && {
175
+ groups
176
+ }), {}, {
177
+ events
178
+ });
179
+ if (events.every(_ref2 => {
180
+ var {
181
+ teachers: _teachers
182
+ } = _ref2;
183
+ return _lodash.default.isEqual(_lodash.default.sortBy(teachers), _lodash.default.sortBy(_teachers));
184
+ })) {
185
+ var _course$events;
186
+ course.teachers = teachers;
187
+ (_course$events = course.events) === null || _course$events === void 0 ? void 0 : _course$events.forEach(event => delete event.teachers);
188
+ }
189
+ if (events.every(_ref3 => {
190
+ var {
191
+ inLocations: _inLocations
192
+ } = _ref3;
193
+ return _lodash.default.isEqual(_lodash.default.sortBy(inLocations), _lodash.default.sortBy(_inLocations));
194
+ })) {
195
+ var _course$events2;
196
+ course.locations = locations;
197
+ (_course$events2 = course.events) === null || _course$events2 === void 0 ? void 0 : _course$events2.forEach(event => delete event.locations);
198
+ }
199
+ courses.add(course);
200
+ };
201
+ for (var element of set) {
202
+ _loop(element);
203
+ }
204
+ return {
205
+ courses: Array.from(courses),
206
+ teachers: Array.from(teachers).map(ids => ({
207
+ ids,
208
+ displayName: ids
209
+ })),
210
+ groups: Array.from(groups).map(ids => ({
211
+ ids,
212
+ displayName: ids
213
+ })),
214
+ locations: Array.from(locations).map(ids => ({
215
+ ids,
216
+ displayName: ids
217
+ }))
218
+ };
219
+ };
220
+ exports.default = _default;
221
+ //# sourceMappingURL=schedules.js.map