@royalschedule/maps 3.2.47 → 3.2.48

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 (288) hide show
  1. package/dist/NovaSchem/from/index.d.ts +3 -0
  2. package/dist/NovaSchem/from/index.js +38 -0
  3. package/dist/NovaSchem/from/index.js.map +1 -0
  4. package/dist/NovaSchem/from/schedules.d.ts +3 -0
  5. package/dist/NovaSchem/from/schedules.js +295 -0
  6. package/dist/NovaSchem/from/schedules.js.map +1 -0
  7. package/dist/NovaSchem/index.d.ts +6 -0
  8. package/dist/NovaSchem/index.js +40 -0
  9. package/dist/NovaSchem/index.js.map +1 -0
  10. package/dist/NovaSchem/to/index.d.ts +3 -0
  11. package/dist/NovaSchem/to/index.js +38 -0
  12. package/dist/NovaSchem/to/index.js.map +1 -0
  13. package/dist/NovaSchem/to/schedules.d.ts +3 -0
  14. package/dist/NovaSchem/to/schedules.js +301 -0
  15. package/dist/NovaSchem/to/schedules.js.map +1 -0
  16. package/dist/NovaSchem/types/index.d.ts +93 -0
  17. package/dist/NovaSchem/types/index.js +6 -0
  18. package/dist/NovaSchem/types/index.js.map +1 -0
  19. package/dist/RS/v3/from/available-dependencies.d.ts +3 -0
  20. package/dist/RS/v3/from/available-dependencies.js +97 -0
  21. package/dist/RS/v3/from/available-dependencies.js.map +1 -0
  22. package/dist/RS/v3/from/break-lengths.d.ts +3 -0
  23. package/dist/RS/v3/from/break-lengths.js +20 -0
  24. package/dist/RS/v3/from/break-lengths.js.map +1 -0
  25. package/dist/RS/v3/from/collections.d.ts +4 -0
  26. package/dist/RS/v3/from/collections.js +12 -0
  27. package/dist/RS/v3/from/collections.js.map +1 -0
  28. package/dist/RS/v3/from/course-events.d.ts +5 -0
  29. package/dist/RS/v3/from/course-events.js +14 -0
  30. package/dist/RS/v3/from/course-events.js.map +1 -0
  31. package/dist/RS/v3/from/days.d.ts +4 -0
  32. package/dist/RS/v3/from/days.js +22 -0
  33. package/dist/RS/v3/from/days.js.map +1 -0
  34. package/dist/RS/v3/from/dependencies.d.ts +6 -0
  35. package/dist/RS/v3/from/dependencies.js +97 -0
  36. package/dist/RS/v3/from/dependencies.js.map +1 -0
  37. package/dist/RS/v3/from/groups.d.ts +5 -0
  38. package/dist/RS/v3/from/groups.js +103 -0
  39. package/dist/RS/v3/from/groups.js.map +1 -0
  40. package/dist/RS/v3/from/individuals.d.ts +4 -0
  41. package/dist/RS/v3/from/individuals.js +12 -0
  42. package/dist/RS/v3/from/individuals.js.map +1 -0
  43. package/dist/RS/v3/from/intervals.d.ts +4 -0
  44. package/dist/RS/v3/from/intervals.js +28 -0
  45. package/dist/RS/v3/from/intervals.js.map +1 -0
  46. package/dist/RS/v3/from/locked-times.d.ts +4 -0
  47. package/dist/RS/v3/from/locked-times.js +28 -0
  48. package/dist/RS/v3/from/locked-times.js.map +1 -0
  49. package/dist/RS/v3/from/placements.d.ts +7 -0
  50. package/dist/RS/v3/from/placements.js +39 -0
  51. package/dist/RS/v3/from/placements.js.map +1 -0
  52. package/dist/RS/v3/from/settings.d.ts +6 -0
  53. package/dist/RS/v3/from/settings.js +39 -0
  54. package/dist/RS/v3/from/settings.js.map +1 -0
  55. package/dist/RS/v3/from/teachers.d.ts +5 -0
  56. package/dist/RS/v3/from/teachers.js +101 -0
  57. package/dist/RS/v3/from/teachers.js.map +1 -0
  58. package/dist/Skola24/from/course-and-events.d.ts +9 -0
  59. package/dist/Skola24/from/course-and-events.js +348 -0
  60. package/dist/Skola24/from/course-and-events.js.map +1 -0
  61. package/dist/Skola24/from/groups.d.ts +3 -0
  62. package/dist/Skola24/from/groups.js +14 -0
  63. package/dist/Skola24/from/groups.js.map +1 -0
  64. package/dist/Skola24/from/index.d.ts +4 -0
  65. package/dist/Skola24/from/index.js +38 -0
  66. package/dist/Skola24/from/index.js.map +1 -0
  67. package/dist/Skola24/from/locations.d.ts +3 -0
  68. package/dist/Skola24/from/locations.js +13 -0
  69. package/dist/Skola24/from/locations.js.map +1 -0
  70. package/dist/Skola24/from/schedule.d.ts +3 -0
  71. package/dist/Skola24/from/schedule.js +180 -0
  72. package/dist/Skola24/from/schedule.js.map +1 -0
  73. package/dist/Skola24/from/teachers.d.ts +3 -0
  74. package/dist/Skola24/from/teachers.js +13 -0
  75. package/dist/Skola24/from/teachers.js.map +1 -0
  76. package/dist/Skola24/types/Course.d.ts +6 -0
  77. package/dist/Skola24/types/Course.js +6 -0
  78. package/dist/Skola24/types/Course.js.map +1 -0
  79. package/dist/Skola24/types/Group-group-link.d.ts +4 -0
  80. package/dist/Skola24/types/Group-group-link.js +6 -0
  81. package/dist/Skola24/types/Group-group-link.js.map +1 -0
  82. package/dist/Skola24/types/Group-student-link.d.ts +4 -0
  83. package/dist/Skola24/types/Group-student-link.js +6 -0
  84. package/dist/Skola24/types/Group-student-link.js.map +1 -0
  85. package/dist/Skola24/types/Group.d.ts +5 -0
  86. package/dist/Skola24/types/Group.js +6 -0
  87. package/dist/Skola24/types/Group.js.map +1 -0
  88. package/dist/Skola24/types/Lesson-group-link.d.ts +4 -0
  89. package/dist/Skola24/types/Lesson-group-link.js +6 -0
  90. package/dist/Skola24/types/Lesson-group-link.js.map +1 -0
  91. package/dist/Skola24/types/Lesson-period-link.d.ts +4 -0
  92. package/dist/Skola24/types/Lesson-period-link.js +6 -0
  93. package/dist/Skola24/types/Lesson-period-link.js.map +1 -0
  94. package/dist/Skola24/types/Lesson-room-link.d.ts +4 -0
  95. package/dist/Skola24/types/Lesson-room-link.js +6 -0
  96. package/dist/Skola24/types/Lesson-room-link.js.map +1 -0
  97. package/dist/Skola24/types/Lesson-teacher-link.d.ts +4 -0
  98. package/dist/Skola24/types/Lesson-teacher-link.js +6 -0
  99. package/dist/Skola24/types/Lesson-teacher-link.js.map +1 -0
  100. package/dist/Skola24/types/Lesson.d.ts +9 -0
  101. package/dist/Skola24/types/Lesson.js +6 -0
  102. package/dist/Skola24/types/Lesson.js.map +1 -0
  103. package/dist/Skola24/types/Options.d.ts +7 -0
  104. package/dist/Skola24/types/Options.js +6 -0
  105. package/dist/Skola24/types/Options.js.map +1 -0
  106. package/dist/Skola24/types/Period.d.ts +5 -0
  107. package/dist/Skola24/types/Period.js +6 -0
  108. package/dist/Skola24/types/Period.js.map +1 -0
  109. package/dist/Skola24/types/Plan-group-link.d.ts +4 -0
  110. package/dist/Skola24/types/Plan-group-link.js +6 -0
  111. package/dist/Skola24/types/Plan-group-link.js.map +1 -0
  112. package/dist/Skola24/types/Plan-period-link.d.ts +4 -0
  113. package/dist/Skola24/types/Plan-period-link.js +6 -0
  114. package/dist/Skola24/types/Plan-period-link.js.map +1 -0
  115. package/dist/Skola24/types/Plan-teacher-link.d.ts +6 -0
  116. package/dist/Skola24/types/Plan-teacher-link.js +6 -0
  117. package/dist/Skola24/types/Plan-teacher-link.js.map +1 -0
  118. package/dist/Skola24/types/Plan.d.ts +5 -0
  119. package/dist/Skola24/types/Plan.js +6 -0
  120. package/dist/Skola24/types/Plan.js.map +1 -0
  121. package/dist/Skola24/types/Room.d.ts +5 -0
  122. package/dist/Skola24/types/Room.js +6 -0
  123. package/dist/Skola24/types/Room.js.map +1 -0
  124. package/dist/Skola24/types/Schedule.d.ts +34 -0
  125. package/dist/Skola24/types/Schedule.js +6 -0
  126. package/dist/Skola24/types/Schedule.js.map +1 -0
  127. package/dist/Skola24/types/Subject.d.ts +4 -0
  128. package/dist/Skola24/types/Subject.js +6 -0
  129. package/dist/Skola24/types/Subject.js.map +1 -0
  130. package/dist/Skola24/types/Teacher.d.ts +6 -0
  131. package/dist/Skola24/types/Teacher.js +6 -0
  132. package/dist/Skola24/types/Teacher.js.map +1 -0
  133. package/dist/Skola24/types/index.d.ts +12 -0
  134. package/dist/Skola24/types/index.js +6 -0
  135. package/dist/Skola24/types/index.js.map +1 -0
  136. package/dist/core/from/courses.d.ts +3 -0
  137. package/dist/core/from/courses.js +98 -0
  138. package/dist/core/from/courses.js.map +1 -0
  139. package/dist/core/from/events.d.ts +3 -0
  140. package/dist/core/from/events.js +69 -0
  141. package/dist/core/from/events.js.map +1 -0
  142. package/dist/core/from/groups.d.ts +3 -0
  143. package/dist/core/from/groups.js +76 -0
  144. package/dist/core/from/groups.js.map +1 -0
  145. package/dist/core/from/index.d.ts +4 -0
  146. package/dist/core/from/index.js +16 -0
  147. package/dist/core/from/index.js.map +1 -0
  148. package/dist/core/from/locations.d.ts +3 -0
  149. package/dist/core/from/locations.js +76 -0
  150. package/dist/core/from/locations.js.map +1 -0
  151. package/dist/core/from/locked-times.d.ts +3 -0
  152. package/dist/core/from/locked-times.js +75 -0
  153. package/dist/core/from/locked-times.js.map +1 -0
  154. package/dist/core/from/overlap-groups.d.ts +3 -0
  155. package/dist/core/from/overlap-groups.js +75 -0
  156. package/dist/core/from/overlap-groups.js.map +1 -0
  157. package/dist/core/from/periods.d.ts +3 -0
  158. package/dist/core/from/periods.js +27 -0
  159. package/dist/core/from/periods.js.map +1 -0
  160. package/dist/core/from/persons.d.ts +3 -0
  161. package/dist/core/from/persons.js +70 -0
  162. package/dist/core/from/persons.js.map +1 -0
  163. package/dist/core/from/schedules.d.ts +2 -0
  164. package/dist/core/from/schedules.js +125 -0
  165. package/dist/core/from/schedules.js.map +1 -0
  166. package/dist/core/from/teachers.d.ts +3 -0
  167. package/dist/core/from/teachers.js +76 -0
  168. package/dist/core/from/teachers.js.map +1 -0
  169. package/dist/core/to/available-locations.d.ts +4 -0
  170. package/dist/core/to/available-locations.js +101 -0
  171. package/dist/core/to/available-locations.js.map +1 -0
  172. package/dist/core/to/courses.d.ts +40 -0
  173. package/dist/core/to/courses.js +152 -0
  174. package/dist/core/to/courses.js.map +1 -0
  175. package/dist/core/to/days.d.ts +6 -0
  176. package/dist/core/to/days.js +66 -0
  177. package/dist/core/to/days.js.map +1 -0
  178. package/dist/core/to/events.d.ts +44 -0
  179. package/dist/core/to/events.js +159 -0
  180. package/dist/core/to/events.js.map +1 -0
  181. package/dist/core/to/groups.d.ts +17 -0
  182. package/dist/core/to/groups.js +72 -0
  183. package/dist/core/to/groups.js.map +1 -0
  184. package/dist/core/to/index.d.ts +4 -0
  185. package/dist/core/to/index.js +16 -0
  186. package/dist/core/to/index.js.map +1 -0
  187. package/dist/core/to/intervals.d.ts +6 -0
  188. package/dist/core/to/intervals.js +20 -0
  189. package/dist/core/to/intervals.js.map +1 -0
  190. package/dist/core/to/locations.d.ts +3 -0
  191. package/dist/core/to/locations.js +76 -0
  192. package/dist/core/to/locations.js.map +1 -0
  193. package/dist/core/to/locked-times.d.ts +4 -0
  194. package/dist/core/to/locked-times.js +114 -0
  195. package/dist/core/to/locked-times.js.map +1 -0
  196. package/dist/core/to/overlap-groups.d.ts +4 -0
  197. package/dist/core/to/overlap-groups.js +130 -0
  198. package/dist/core/to/overlap-groups.js.map +1 -0
  199. package/dist/core/to/periods.d.ts +3 -0
  200. package/dist/core/to/periods.js +17 -0
  201. package/dist/core/to/periods.js.map +1 -0
  202. package/dist/core/to/persons.d.ts +4 -0
  203. package/dist/core/to/persons.js +102 -0
  204. package/dist/core/to/persons.js.map +1 -0
  205. package/dist/core/to/schedules.d.ts +3 -0
  206. package/dist/core/to/schedules.js +110 -0
  207. package/dist/core/to/schedules.js.map +1 -0
  208. package/dist/core/to/settings.d.ts +3 -0
  209. package/dist/core/to/settings.js +68 -0
  210. package/dist/core/to/settings.js.map +1 -0
  211. package/dist/core/to/teachers.d.ts +3 -0
  212. package/dist/core/to/teachers.js +76 -0
  213. package/dist/core/to/teachers.js.map +1 -0
  214. package/dist/core/types/areas.d.ts +11 -0
  215. package/dist/core/types/areas.js +6 -0
  216. package/dist/core/types/areas.js.map +1 -0
  217. package/dist/core/types/available-locations.d.ts +8 -0
  218. package/dist/core/types/available-locations.js +6 -0
  219. package/dist/core/types/available-locations.js.map +1 -0
  220. package/dist/core/types/break-lengths.d.ts +1 -0
  221. package/dist/core/types/break-lengths.js +6 -0
  222. package/dist/core/types/break-lengths.js.map +1 -0
  223. package/dist/core/types/common/coalesced.d.ts +5 -0
  224. package/dist/core/types/common/coalesced.js +6 -0
  225. package/dist/core/types/common/coalesced.js.map +1 -0
  226. package/dist/core/types/common/index.d.ts +26 -0
  227. package/dist/core/types/common/index.js +6 -0
  228. package/dist/core/types/common/index.js.map +1 -0
  229. package/dist/core/types/common.d.ts +26 -0
  230. package/dist/core/types/common.js +6 -0
  231. package/dist/core/types/common.js.map +1 -0
  232. package/dist/core/types/course-events.d.ts +66 -0
  233. package/dist/core/types/course-events.js +6 -0
  234. package/dist/core/types/course-events.js.map +1 -0
  235. package/dist/core/types/courses.d.ts +61 -0
  236. package/dist/core/types/courses.js +6 -0
  237. package/dist/core/types/courses.js.map +1 -0
  238. package/dist/core/types/days.d.ts +9 -0
  239. package/dist/core/types/days.js +6 -0
  240. package/dist/core/types/days.js.map +1 -0
  241. package/dist/core/types/division-settings.d.ts +34 -0
  242. package/dist/core/types/division-settings.js +6 -0
  243. package/dist/core/types/division-settings.js.map +1 -0
  244. package/dist/core/types/divisions.d.ts +40 -0
  245. package/dist/core/types/divisions.js +6 -0
  246. package/dist/core/types/divisions.js.map +1 -0
  247. package/dist/core/types/groups.d.ts +32 -0
  248. package/dist/core/types/groups.js +6 -0
  249. package/dist/core/types/groups.js.map +1 -0
  250. package/dist/core/types/intervals.d.ts +12 -0
  251. package/dist/core/types/intervals.js +6 -0
  252. package/dist/core/types/intervals.js.map +1 -0
  253. package/dist/core/types/locations.d.ts +27 -0
  254. package/dist/core/types/locations.js +6 -0
  255. package/dist/core/types/locations.js.map +1 -0
  256. package/dist/core/types/locked-times.d.ts +34 -0
  257. package/dist/core/types/locked-times.js +6 -0
  258. package/dist/core/types/locked-times.js.map +1 -0
  259. package/dist/core/types/meta.d.ts +5 -0
  260. package/dist/core/types/meta.js +6 -0
  261. package/dist/core/types/meta.js.map +1 -0
  262. package/dist/core/types/overlap-groups.d.ts +21 -0
  263. package/dist/core/types/overlap-groups.js +6 -0
  264. package/dist/core/types/overlap-groups.js.map +1 -0
  265. package/dist/core/types/periods.d.ts +17 -0
  266. package/dist/core/types/periods.js +6 -0
  267. package/dist/core/types/periods.js.map +1 -0
  268. package/dist/core/types/persons.d.ts +35 -0
  269. package/dist/core/types/persons.js +6 -0
  270. package/dist/core/types/persons.js.map +1 -0
  271. package/dist/core/types/teachers.d.ts +29 -0
  272. package/dist/core/types/teachers.js +6 -0
  273. package/dist/core/types/teachers.js.map +1 -0
  274. package/dist/core/v2/from/calendar-exceptions.d.ts +47 -0
  275. package/dist/core/v2/from/calendar-exceptions.js +75 -0
  276. package/dist/core/v2/from/calendar-exceptions.js.map +1 -0
  277. package/dist/core/v2/from/locked-times.d.ts +5 -1
  278. package/dist/core/v2/to/calendar-exceptions.d.ts +4 -0
  279. package/dist/core/v2/to/calendar-exceptions.js +117 -0
  280. package/dist/core/v2/to/calendar-exceptions.js.map +1 -0
  281. package/dist/core/v2/types/calendar-exceptions.d.ts +31 -0
  282. package/dist/core/v2/types/calendar-exceptions.js +6 -0
  283. package/dist/core/v2/types/calendar-exceptions.js.map +1 -0
  284. package/dist/core/v2/types/common/index.d.ts +26 -0
  285. package/dist/core/v2/types/common/index.js +6 -0
  286. package/dist/core/v2/types/common/index.js.map +1 -0
  287. package/dist/core/v2/types/locked-times.d.ts +5 -1
  288. package/package.json +1 -1
@@ -0,0 +1,348 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = _default;
7
+ var _moment = _interopRequireDefault(require("moment"));
8
+ var _lodash = _interopRequireDefault(require("lodash"));
9
+ function _interopRequireDefault(e) {
10
+ return e && e.__esModule ? e : {
11
+ default: e
12
+ };
13
+ }
14
+ function ownKeys(e, r) {
15
+ var t = Object.keys(e);
16
+ if (Object.getOwnPropertySymbols) {
17
+ var o = Object.getOwnPropertySymbols(e);
18
+ r && (o = o.filter(function (r) {
19
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
20
+ })), t.push.apply(t, o);
21
+ }
22
+ return t;
23
+ }
24
+ function _objectSpread(e) {
25
+ for (var r = 1; r < arguments.length; r++) {
26
+ var t = null != arguments[r] ? arguments[r] : {};
27
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
28
+ _defineProperty(e, r, t[r]);
29
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
30
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
31
+ });
32
+ }
33
+ return e;
34
+ }
35
+ function _defineProperty(e, r, t) {
36
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
37
+ value: t,
38
+ enumerable: !0,
39
+ configurable: !0,
40
+ writable: !0
41
+ }) : e[r] = t, e;
42
+ }
43
+ function _toPropertyKey(t) {
44
+ var i = _toPrimitive(t, "string");
45
+ return "symbol" == typeof i ? i : i + "";
46
+ }
47
+ function _toPrimitive(t, r) {
48
+ if ("object" != typeof t || !t) return t;
49
+ var e = t[Symbol.toPrimitive];
50
+ if (void 0 !== e) {
51
+ var i = e.call(t, r || "default");
52
+ if ("object" != typeof i) return i;
53
+ throw new TypeError("@@toPrimitive must return a primitive value.");
54
+ }
55
+ return ("string" === r ? String : Number)(t);
56
+ }
57
+ var separator = ', ';
58
+ var arbetstid = 'Arbetstid'.toLowerCase();
59
+ var firstDay = '1970-01-05';
60
+ var numDays = 5;
61
+ var defaultDayStart = [8, 0];
62
+ var defaultDayEnd = [17, 0];
63
+ function generateDate(days, hours, minutes) {
64
+ return _moment.default.utc(firstDay).add(days, "days").add(hours, "hours").add(minutes, "minutes");
65
+ }
66
+ function startAndEnd(lesson) {
67
+ if ("Length" in lesson && "DayOfWeek" in lesson && "StartTime" in lesson) {
68
+ var dateTimeDate = (0, _moment.default)(lesson.StartTime, "MM/DD/YY hh:mm:ss");
69
+ var hours = dateTimeDate.get("hours");
70
+ var minutes = dateTimeDate.get("minutes");
71
+ var start = generateDate(lesson.DayOfWeek, hours, minutes);
72
+ var end = start.clone().add(lesson.Length, "minute");
73
+ return {
74
+ start: start,
75
+ end: end,
76
+ parked: false
77
+ };
78
+ } else {
79
+ return {};
80
+ }
81
+ }
82
+ function parseActualWeeks(val) {
83
+ if (!val) return [];
84
+ var weeks = [];
85
+ val.split(",").forEach(x => {
86
+ if (x.includes("-")) {
87
+ var [start, end] = x.split("-");
88
+ for (var i = parseInt(start); i <= parseInt(end); i++) weeks.push(i);
89
+ } else {
90
+ weeks.push(parseInt(x));
91
+ }
92
+ });
93
+ return weeks;
94
+ }
95
+ function addGroupsFromName(name, groupSet, groupNamePkMap) {
96
+ var regex = /-([^\s-]+)/gi;
97
+ var matches;
98
+ while (matches = regex.exec(name)) {
99
+ if (groupNamePkMap.has(matches[1])) {
100
+ var PK = groupNamePkMap.get(matches[1]);
101
+ groupSet.add(PK);
102
+ }
103
+ }
104
+ }
105
+ function getDay(mnt) {
106
+ return mnt.dayOfYear() - _moment.default.utc(firstDay).dayOfYear();
107
+ }
108
+ function createDefaultIntervals() {
109
+ var intervals = [];
110
+ for (var d = 0; d < numDays; d++) {
111
+ intervals.push({
112
+ start: generateDate(d, defaultDayStart[0], defaultDayStart[1]),
113
+ end: generateDate(d, defaultDayEnd[0], defaultDayEnd[1])
114
+ });
115
+ }
116
+ return intervals;
117
+ }
118
+ function _default(groups, lessons, meta, groupPlansMap, planMap, subjectMap, planTeachersMap, groupClassesMap, RSgroups, groupMap, lessonRoomsMap, lessonTeachersMap, lessonGroupsMap, RSteachers, warnings, errors) {
119
+ var groupNamePkMap = new Map(RSgroups.map(g => [g.displayName, g.ids]));
120
+ var courseMap = new Map();
121
+ groups.forEach(x => {
122
+ var _groupClassesMap$get, _groupPlansMap$get;
123
+ if (x.bClass) return;
124
+ var plans = groupPlansMap.get(x.PK);
125
+ var subject;
126
+ if (plans) {
127
+ var _planMap$get;
128
+ var subjPK = (_planMap$get = planMap.get(parseInt([...plans][0]))) === null || _planMap$get === void 0 ? void 0 : _planMap$get.FKSubject;
129
+ if (subjPK) subject = subjectMap.get(subjPK);
130
+ }
131
+ var groupSet = (_groupClassesMap$get = groupClassesMap.get(x.PK.toString())) !== null && _groupClassesMap$get !== void 0 ? _groupClassesMap$get : new Set();
132
+ if (meta !== null && meta !== void 0 && meta.deduceGroupsFromCourseName && x.ID) {
133
+ addGroupsFromName(x.ID, groupSet, groupNamePkMap);
134
+ }
135
+ var teacherSet = new Set();
136
+ (_groupPlansMap$get = groupPlansMap.get(x.PK)) === null || _groupPlansMap$get === void 0 || _groupPlansMap$get.forEach(p => {
137
+ var _planTeachersMap$get;
138
+ (_planTeachersMap$get = planTeachersMap.get(parseInt(p))) === null || _planTeachersMap$get === void 0 || _planTeachersMap$get.forEach(t => teacherSet.add(t));
139
+ });
140
+ courseMap.set(x.PK, _objectSpread(_objectSpread(_objectSpread({
141
+ ids: x.PK.toString(),
142
+ displayName: x.ID
143
+ }, subject && {
144
+ subject
145
+ }), (groupSet === null || groupSet === void 0 ? void 0 : groupSet.size) && {
146
+ groups: [...groupSet].map(to => ({
147
+ to
148
+ }))
149
+ }), teacherSet.size && {
150
+ teachers: [...teacherSet].map(to => ({
151
+ to
152
+ }))
153
+ }));
154
+ });
155
+ var numAdditionalCourses = 0;
156
+ var eventMap = new Map();
157
+ var intervalMap = new Map();
158
+ lessons.forEach(l => {
159
+ var _lessonGroupsMap$get, _lessonGroupsMap$get2;
160
+ if ((meta === null || meta === void 0 ? void 0 : meta.week) == undefined || !parseActualWeeks(l.CalcActualWeeks).includes(meta.week)) return;
161
+ var coursesIds = [...((_lessonGroupsMap$get = lessonGroupsMap.get(l.PK)) !== null && _lessonGroupsMap$get !== void 0 ? _lessonGroupsMap$get : new Set())].map(id => groupMap.get(parseInt(id))).filter(g => (g === null || g === void 0 ? void 0 : g.bClass) == false).sort((g1, g2) => g1.PK - g2.PK).map(g => g.PK);
162
+ var event = _objectSpread({
163
+ ids: l.PK.toString(),
164
+ duration: l.Length,
165
+ preferredDuration: l.Length
166
+ }, startAndEnd(l));
167
+ var rooms = lessonRoomsMap.get(l.PK);
168
+ if (rooms !== null && rooms !== void 0 && rooms.size) {
169
+ event.inLocations = [...rooms];
170
+ event.locations = [...rooms].map(l => ({
171
+ locations: [l]
172
+ }));
173
+ }
174
+ var teachers = lessonTeachersMap.get(l.PK);
175
+ if (teachers !== null && teachers !== void 0 && teachers.size) event.teachers = [...teachers].map(to => ({
176
+ to
177
+ }));
178
+ var classes = new Set();
179
+ (_lessonGroupsMap$get2 = lessonGroupsMap.get(l.PK)) === null || _lessonGroupsMap$get2 === void 0 || _lessonGroupsMap$get2.forEach(scheduleGroupId => {
180
+ var _groupClassesMap$get2;
181
+ (_groupClassesMap$get2 = groupClassesMap.get(scheduleGroupId)) === null || _groupClassesMap$get2 === void 0 || _groupClassesMap$get2.forEach(classId => {
182
+ classes.add(classId);
183
+ });
184
+ });
185
+ var courseHasGroups = coursesIds.some(x => {
186
+ var _courseMap$get;
187
+ return (_courseMap$get = courseMap.get(x)) === null || _courseMap$get === void 0 ? void 0 : _courseMap$get.groups;
188
+ });
189
+ if (meta !== null && meta !== void 0 && meta.deduceGroupsFromCourseName && (!courseHasGroups || classes.size)) {
190
+ coursesIds.map(x => {
191
+ var _courseMap$get2;
192
+ return (_courseMap$get2 = courseMap.get(x)) === null || _courseMap$get2 === void 0 ? void 0 : _courseMap$get2.displayName;
193
+ }).filter(x => !!x).forEach(x => addGroupsFromName(x, classes, groupNamePkMap));
194
+ }
195
+ if (classes.size) event.groups = [...classes].map(to => ({
196
+ to
197
+ }));
198
+ var subject = subjectMap.get(l.FKSubject);
199
+ if ((subject === null || subject === void 0 ? void 0 : subject.toLowerCase()) == arbetstid) {
200
+ if (!event.start || !event.end) {
201
+ warnings.push("Start or end not set on interval event");
202
+ return;
203
+ }
204
+ var day = getDay(event.start);
205
+ if (0 > day || day > numDays - 1) {
206
+ warnings.push("Interval day out of bounds");
207
+ return;
208
+ }
209
+ teachers === null || teachers === void 0 || teachers.forEach(t => {
210
+ var _intervalMap$get;
211
+ if (!intervalMap.has(t)) intervalMap.set(t, new Map());
212
+ (_intervalMap$get = intervalMap.get(t)) === null || _intervalMap$get === void 0 || _intervalMap$get.set(day, {
213
+ start: event.start,
214
+ end: event.end
215
+ });
216
+ });
217
+ } else {
218
+ var _eventMap$get;
219
+ if (!coursesIds.length) {
220
+ var id = --numAdditionalCourses;
221
+ courseMap.set(id, _objectSpread(_objectSpread({
222
+ ids: id.toString()
223
+ }, subject && {
224
+ displayName: subject
225
+ }), subject && {
226
+ subject
227
+ }));
228
+ coursesIds.push(id);
229
+ }
230
+ var key = coursesIds.join(separator);
231
+ if (!eventMap.has(key)) eventMap.set(key, []);
232
+ (_eventMap$get = eventMap.get(key)) === null || _eventMap$get === void 0 || _eventMap$get.push(event);
233
+ }
234
+ });
235
+ intervalMap.forEach((v, k) => {
236
+ var teacher = RSteachers.find(t => t.ids == k);
237
+ if (!teacher) {
238
+ warnings.push("An interval referred to the unknown teacher with PK = ".concat(k));
239
+ return;
240
+ }
241
+ var intervals = createDefaultIntervals();
242
+ var days = [];
243
+ v.forEach((i, d) => {
244
+ days.push({
245
+ day: d
246
+ });
247
+ intervals[d] = i;
248
+ });
249
+ teacher.intervals = intervals;
250
+ if (days.length != numDays) teacher.days = days;
251
+ });
252
+ eventMap.forEach((events, key) => {
253
+ var courseIds = key.split(separator).map(x => parseInt(x));
254
+ if (courseIds.length > 1) {
255
+ var idss = [];
256
+ var displayNames = [];
257
+ var subjects = new Set();
258
+ var _groups = new Set();
259
+ var teachers = new Set();
260
+ courseIds.map(x => courseMap.get(x)).filter(c => !!c).forEach(c => {
261
+ c.ids && idss.push(c.ids);
262
+ c.displayName && displayNames.push(c.displayName);
263
+ c.subject && subjects.add(c.subject);
264
+ c.groups && c.groups.forEach(_ref => {
265
+ var {
266
+ to
267
+ } = _ref;
268
+ return _groups.add(to.toString());
269
+ });
270
+ c.teachers && c.teachers.forEach(_ref2 => {
271
+ var {
272
+ to
273
+ } = _ref2;
274
+ return teachers.add(to.toString());
275
+ });
276
+ });
277
+ var newKey = --numAdditionalCourses;
278
+ var newCourse = _objectSpread(_objectSpread(_objectSpread({
279
+ ids: idss.join(separator),
280
+ displayName: displayNames.join(separator)
281
+ }, subjects.size && {
282
+ subject: [...subjects].join(separator)
283
+ }), _groups.size && {
284
+ groups: [..._groups].map(to => ({
285
+ to
286
+ }))
287
+ }), teachers.size && {
288
+ teachers: [...teachers].map(to => ({
289
+ to
290
+ }))
291
+ });
292
+ courseMap.set(newKey, newCourse);
293
+ eventMap.set(newKey.toString(), [...events]);
294
+ events.length = 0;
295
+ warnings.push("The courses with PKs [".concat(courseIds.join(separator), "] needed to be merged."));
296
+ }
297
+ });
298
+ var populatedCourses = new Set();
299
+ eventMap.forEach((events, key) => {
300
+ var _courseMap$get3;
301
+ if (!events.length) return;
302
+ var courseIds = key.split(separator).map(x => parseInt(x));
303
+ if (courseIds.length != 1 && events.length) throw "Well this was unexpected...";
304
+ var courseId = courseIds[0];
305
+ var PK = (_courseMap$get3 = courseMap.get(courseId)) === null || _courseMap$get3 === void 0 ? void 0 : _courseMap$get3.ids;
306
+ if (PK == undefined) {
307
+ errors.push("The events with PKs ".concat(events.map(e => e.ids), " were ignored since their course was not found."));
308
+ events.length = 0;
309
+ return;
310
+ }
311
+ events.forEach(e => e.course = PK);
312
+ populatedCourses.add(courseId);
313
+ });
314
+ if (meta !== null && meta !== void 0 && meta.ignoreEmptyCourses) {
315
+ var courses = [...courseMap].filter(_ref3 => {
316
+ var [k] = _ref3;
317
+ return populatedCourses.has(k);
318
+ });
319
+ courseMap = new Map(courses);
320
+ }
321
+ var keys = ['groups', 'teachers', 'locations'];
322
+ var _loop = function _loop(key) {
323
+ var iterate;
324
+ if (key == 'groups' || key == 'teachers') iterate = _lodash.default.identity;
325
+ if (key == 'locations') iterate = '0.locations';
326
+ courseMap.forEach((c, courseKey) => {
327
+ var _c$key;
328
+ var events = eventMap.get(courseKey.toString());
329
+ var courseEntry = (_c$key = c[key]) === null || _c$key === void 0 ? void 0 : _c$key.sort();
330
+ var eventEntries = events === null || events === void 0 ? void 0 : events.map(e => {
331
+ var _e$key;
332
+ return (_e$key = e[key]) === null || _e$key === void 0 ? void 0 : _e$key.sort();
333
+ });
334
+ if (eventEntries !== null && eventEntries !== void 0 && eventEntries[0] && _lodash.default.size(_lodash.default.groupBy(eventEntries, iterate)) == 1 && (!courseEntry || courseEntry.length == 0 || _lodash.default.isEqual(courseEntry, eventEntries[0]))) {
335
+ c[key] = eventEntries[0];
336
+ events === null || events === void 0 || events.forEach(e => delete e[key]);
337
+ }
338
+ });
339
+ };
340
+ for (var key of keys) {
341
+ _loop(key);
342
+ }
343
+ return {
344
+ courses: [...courseMap.values()],
345
+ events: [...eventMap.values()].flat()
346
+ };
347
+ }
348
+ //# sourceMappingURL=course-and-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"course-and-events.js","names":["_moment","_interopRequireDefault","require","_lodash","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","separator","arbetstid","toLowerCase","firstDay","numDays","defaultDayStart","defaultDayEnd","generateDate","days","hours","minutes","utc","add","startAndEnd","lesson","dateTimeDate","StartTime","get","start","DayOfWeek","end","clone","Length","parked","parseActualWeeks","val","weeks","split","x","includes","parseInt","addGroupsFromName","name","groupSet","groupNamePkMap","regex","matches","exec","has","PK","getDay","mnt","dayOfYear","createDefaultIntervals","intervals","d","_default","groups","lessons","meta","groupPlansMap","planMap","subjectMap","planTeachersMap","groupClassesMap","RSgroups","groupMap","lessonRoomsMap","lessonTeachersMap","lessonGroupsMap","RSteachers","warnings","errors","Map","map","g","displayName","ids","courseMap","_groupClassesMap$get","_groupPlansMap$get","bClass","plans","subject","_planMap$get","subjPK","FKSubject","toString","Set","deduceGroupsFromCourseName","ID","teacherSet","p","_planTeachersMap$get","set","size","to","teachers","numAdditionalCourses","eventMap","intervalMap","l","_lessonGroupsMap$get","_lessonGroupsMap$get2","week","undefined","CalcActualWeeks","coursesIds","id","sort","g1","g2","event","duration","preferredDuration","rooms","inLocations","locations","classes","scheduleGroupId","_groupClassesMap$get2","classId","courseHasGroups","some","_courseMap$get","_courseMap$get2","day","_intervalMap$get","_eventMap$get","key","join","v","k","teacher","find","concat","events","courseIds","idss","displayNames","subjects","_groups","c","_ref","_ref2","newKey","newCourse","populatedCourses","_courseMap$get3","courseId","course","ignoreEmptyCourses","courses","_ref3","_loop","iterate","identity","courseKey","_c$key","courseEntry","eventEntries","_e$key","groupBy","isEqual","values","flat"],"sources":["../../../src/Skola24/from/course-and-events.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import { Types } from '../../core/types';
2
+ import { Group } from '../types/Group';
3
+ export default function (groups: Group[], warnings: string[], errors: string[]): Types.group[];
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = _default;
7
+ function _default(groups, warnings, errors) {
8
+ return groups.filter(x => x.bClass).map(x => ({
9
+ ids: x.PK.toString(),
10
+ displayName: x.ID,
11
+ species: 'class'
12
+ }));
13
+ }
14
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","names":["_default","groups","warnings","errors","filter","x","bClass","map","ids","PK","toString","displayName","ID","species"],"sources":["../../../src/Skola24/from/groups.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIc,SAAAA,SACZC,MAAiB,EACjBC,QAAkB,EAClBC,MAAkB;EAElB,OAAOF,MAAM,CAACG,MAAM,CAACC,CAAC,IAAIA,CAAC,CAACC,MAAM,CAAC,CACrBC,GAAG,CAACF,CAAC,KAAK;IACTG,GAAG,EAAUH,CAAC,CAACI,EAAE,CAACC,QAAQ,EAAE;IAC5BC,WAAW,EAAEN,CAAC,CAACO,EAAE;IACjBC,OAAO,EAAM;GACd,CAAC,CAAC;AAClB","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import _schedule from './schedule';
2
+ export default class {
3
+ static schedules: typeof _schedule;
4
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _schedule2 = _interopRequireDefault(require("./schedule"));
8
+ function _interopRequireDefault(e) {
9
+ return e && e.__esModule ? e : {
10
+ default: e
11
+ };
12
+ }
13
+ function _defineProperty(e, r, t) {
14
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
15
+ value: t,
16
+ enumerable: !0,
17
+ configurable: !0,
18
+ writable: !0
19
+ }) : e[r] = t, e;
20
+ }
21
+ function _toPropertyKey(t) {
22
+ var i = _toPrimitive(t, "string");
23
+ return "symbol" == typeof i ? i : i + "";
24
+ }
25
+ function _toPrimitive(t, r) {
26
+ if ("object" != typeof t || !t) return t;
27
+ var e = t[Symbol.toPrimitive];
28
+ if (void 0 !== e) {
29
+ var i = e.call(t, r || "default");
30
+ if ("object" != typeof i) return i;
31
+ throw new TypeError("@@toPrimitive must return a primitive value.");
32
+ }
33
+ return ("string" === r ? String : Number)(t);
34
+ }
35
+ class default_1 {}
36
+ exports.default = default_1;
37
+ _defineProperty(default_1, "schedules", _schedule2.default);
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_schedule2","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","default_1"],"sources":["../../../src/Skola24/from/index.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAmC,SAAAD,uBAAAE,CAAA;EAAA,OAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA;IAAAE,OAAA,EAAAF;EAAA;AAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA;EAAA,QAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA;IAAAK,KAAA,EAAAJ,CAAA;IAAAK,UAAA;IAAAC,YAAA;IAAAC,QAAA;EAAA,KAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA;AAAA,SAAAM,eAAAD,CAAA;EAAA,IAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA;EAAA,0BAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA;EAAA,uBAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA;EAAA,IAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA;EAAA,eAAAhB,CAAA;IAAA,IAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA;IAAA,uBAAAS,CAAA,SAAAA,CAAA;IAAA,UAAAK,SAAA;EAAA;EAAA,qBAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAAA;AAGrB,MAAAgB,SAAA;;gBAAAA,SAAA,eACOxB,UAAA,CAAAK,OAAS","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import { Types } from '../../core/types';
2
+ import { Room } from '../types/Room';
3
+ export default function (rooms: Room[], warnings: string[], errors: string[]): Types.location[];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = _default;
7
+ function _default(rooms, warnings, errors) {
8
+ return rooms.map(x => ({
9
+ ids: x.PK.toString(),
10
+ displayName: x.ID
11
+ }));
12
+ }
13
+ //# sourceMappingURL=locations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locations.js","names":["_default","rooms","warnings","errors","map","x","ids","PK","toString","displayName","ID"],"sources":["../../../src/Skola24/from/locations.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIc,SAAAA,SACZC,KAAgB,EAChBC,QAAkB,EAClBC,MAAkB;EAGlB,OAAOF,KAAK,CAACG,GAAG,CAACC,CAAC,KAAK;IACrBC,GAAG,EAAUD,CAAC,CAACE,EAAE,CAACC,QAAQ,EAAE;IAC5BC,WAAW,EAAEJ,CAAC,CAACK;GAChB,CAAC,CAAC;AACL","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import { Types as CoreTypes } from '../../core/types';
2
+ import { Options, Types } from '../types';
3
+ export default function (src: Types.schedule, options?: Options): CoreTypes.division;
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = _default;
7
+ var _locations2 = _interopRequireDefault(require("./locations"));
8
+ var _teachers2 = _interopRequireDefault(require("./teachers"));
9
+ var _groups2 = _interopRequireDefault(require("./groups"));
10
+ var _courseAndEvents = _interopRequireDefault(require("./course-and-events"));
11
+ function _interopRequireDefault(e) {
12
+ return e && e.__esModule ? e : {
13
+ default: e
14
+ };
15
+ }
16
+ function ownKeys(e, r) {
17
+ var t = Object.keys(e);
18
+ if (Object.getOwnPropertySymbols) {
19
+ var o = Object.getOwnPropertySymbols(e);
20
+ r && (o = o.filter(function (r) {
21
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
22
+ })), t.push.apply(t, o);
23
+ }
24
+ return t;
25
+ }
26
+ function _objectSpread(e) {
27
+ for (var r = 1; r < arguments.length; r++) {
28
+ var t = null != arguments[r] ? arguments[r] : {};
29
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
30
+ _defineProperty(e, r, t[r]);
31
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
32
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
33
+ });
34
+ }
35
+ return e;
36
+ }
37
+ function _defineProperty(e, r, t) {
38
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
39
+ value: t,
40
+ enumerable: !0,
41
+ configurable: !0,
42
+ writable: !0
43
+ }) : e[r] = t, e;
44
+ }
45
+ function _toPropertyKey(t) {
46
+ var i = _toPrimitive(t, "string");
47
+ return "symbol" == typeof i ? i : i + "";
48
+ }
49
+ function _toPrimitive(t, r) {
50
+ if ("object" != typeof t || !t) return t;
51
+ var e = t[Symbol.toPrimitive];
52
+ if (void 0 !== e) {
53
+ var i = e.call(t, r || "default");
54
+ if ("object" != typeof i) return i;
55
+ throw new TypeError("@@toPrimitive must return a primitive value.");
56
+ }
57
+ return ("string" === r ? String : Number)(t);
58
+ }
59
+ function _default(src, options) {
60
+ var warnings = [];
61
+ var errors = [];
62
+ if ((options === null || options === void 0 ? void 0 : options.week) == undefined) {
63
+ warnings.push("No events will be imported since no import week was provided");
64
+ }
65
+ var groupMap = new Map();
66
+ src.school_tblgroup.forEach(x => groupMap.set(x.PK, x));
67
+ var courseMap = new Map();
68
+ src.school_tblcourse.forEach(x => courseMap.set(x.PK, x));
69
+ var planMap = new Map();
70
+ src.school_tblplan.forEach(x => planMap.set(x.PK, x));
71
+ var subjectMap = new Map();
72
+ src.school_tblsubject.forEach(x => subjectMap.set(x.PK, x.ID));
73
+ var planTeachersMap = new Map();
74
+ src.school_tblplan_teacher.forEach(x => {
75
+ if (!planTeachersMap.has(x.FKPlan)) planTeachersMap.set(x.FKPlan, new Set());
76
+ planTeachersMap.get(x.FKPlan).add(x.FKTeacher.toString());
77
+ });
78
+ var planGroupsMap = new Map();
79
+ src.school_tblplan_group.forEach(x => {
80
+ if (!planGroupsMap.has(x.FKPlan)) planGroupsMap.set(x.FKPlan, new Set());
81
+ planGroupsMap.get(x.FKPlan).add(x.FKGroup.toString());
82
+ });
83
+ var groupPlansMap = new Map();
84
+ src.school_tblplan_group.forEach(x => {
85
+ if (!groupPlansMap.has(x.FKGroup)) groupPlansMap.set(x.FKGroup, new Set());
86
+ groupPlansMap.get(x.FKGroup).add(x.FKPlan.toString());
87
+ });
88
+ var lessonRoomsMap = new Map();
89
+ src.school_tblschedule_room.forEach(x => {
90
+ if (!lessonRoomsMap.has(x.FKSchedule)) lessonRoomsMap.set(x.FKSchedule, new Set());
91
+ lessonRoomsMap.get(x.FKSchedule).add(x.FKRoom.toString());
92
+ });
93
+ var lessonTeachersMap = new Map();
94
+ src.school_tblschedule_teacher.forEach(x => {
95
+ if (!lessonTeachersMap.has(x.FKSchedule)) lessonTeachersMap.set(x.FKSchedule, new Set());
96
+ lessonTeachersMap.get(x.FKSchedule).add(x.FKTeacher.toString());
97
+ });
98
+ var lessonGroupsMap = new Map();
99
+ src.school_tblschedule_group.forEach(x => {
100
+ if (!lessonGroupsMap.has(x.FKSchedule)) lessonGroupsMap.set(x.FKSchedule, new Set());
101
+ lessonGroupsMap.get(x.FKSchedule).add(x.FKGroup.toString());
102
+ });
103
+ var groupClassesMap = new Map();
104
+ src.school_tblgroup_group.forEach(x => {
105
+ if (!groupClassesMap.has(x.FKGroup.toString())) groupClassesMap.set(x.FKGroup.toString(), new Set());
106
+ groupClassesMap.get(x.FKGroup.toString()).add(x.FKGroupCon.toString());
107
+ });
108
+ src.school_tblgroup.forEach(x => {
109
+ if (x.bClass) {
110
+ if (!groupClassesMap.has(x.PK.toString())) groupClassesMap.set(x.PK.toString(), new Set());
111
+ groupClassesMap.get(x.PK.toString()).add(x.PK.toString());
112
+ }
113
+ });
114
+ var locations = (0, _locations2.default)(src.unit_tblroom, warnings, errors);
115
+ var teachers = (0, _teachers2.default)(src.school_tblteacher, warnings, errors);
116
+ var groups = (0, _groups2.default)(src.school_tblgroup, warnings, errors);
117
+ var {
118
+ courses,
119
+ events
120
+ } = (0, _courseAndEvents.default)(src.school_tblgroup, src.school_tblschedule, options, groupPlansMap, planMap, subjectMap, planTeachersMap, groupClassesMap, groups, groupMap, lessonRoomsMap, lessonTeachersMap, lessonGroupsMap, teachers, warnings, errors);
121
+ if (options !== null && options !== void 0 && options.removeUnreferencedTeachers) {
122
+ var _Set;
123
+ var unreferencedTeacherSet = (_Set = new Set(teachers.map(t => t.ids))) !== null && _Set !== void 0 ? _Set : new Set();
124
+ events.forEach(e => {
125
+ var _e$teachers;
126
+ (_e$teachers = e.teachers) === null || _e$teachers === void 0 || _e$teachers.forEach(_ref => {
127
+ var {
128
+ to
129
+ } = _ref;
130
+ return unreferencedTeacherSet.delete(to.toString());
131
+ });
132
+ });
133
+ courses.forEach(c => {
134
+ var _c$teachers;
135
+ (_c$teachers = c.teachers) === null || _c$teachers === void 0 || _c$teachers.forEach(_ref2 => {
136
+ var {
137
+ to
138
+ } = _ref2;
139
+ return unreferencedTeacherSet.delete(to.toString());
140
+ });
141
+ });
142
+ teachers = teachers.filter(t => !unreferencedTeacherSet.has(t.ids));
143
+ }
144
+ if (options !== null && options !== void 0 && options.removeUnreferencedGroups) {
145
+ var _Set2;
146
+ var unreferencedGroupSet = (_Set2 = new Set(groups.map(t => t.ids))) !== null && _Set2 !== void 0 ? _Set2 : new Set();
147
+ events.forEach(e => {
148
+ var _e$groups;
149
+ (_e$groups = e.groups) === null || _e$groups === void 0 || _e$groups.forEach(_ref3 => {
150
+ var {
151
+ to
152
+ } = _ref3;
153
+ return unreferencedGroupSet.delete(to.toString());
154
+ });
155
+ });
156
+ courses.forEach(c => {
157
+ var _c$groups;
158
+ (_c$groups = c.groups) === null || _c$groups === void 0 || _c$groups.forEach(_ref4 => {
159
+ var {
160
+ to
161
+ } = _ref4;
162
+ return unreferencedGroupSet.delete(to.toString());
163
+ });
164
+ });
165
+ groups = groups.filter(g => !unreferencedGroupSet.has(g.ids));
166
+ }
167
+ return {
168
+ locations,
169
+ teachers,
170
+ groups,
171
+ courses,
172
+ events,
173
+ meta: _objectSpread(_objectSpread({}, errors.length ? {
174
+ errors: errors
175
+ } : {}), warnings.length ? {
176
+ warnings: warnings
177
+ } : {})
178
+ };
179
+ }
180
+ //# sourceMappingURL=schedule.js.map