@royalschedule/maps 2.0.2 → 2.0.6

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 (613) hide show
  1. package/dist/Admentum/from/courses.js +21 -32
  2. package/dist/Admentum/from/courses.js.map +1 -1
  3. package/dist/Admentum/from/events.d.ts +3 -0
  4. package/dist/Admentum/from/events.js +54 -0
  5. package/dist/Admentum/from/events.js.map +1 -0
  6. package/dist/Admentum/from/groups.js +7 -14
  7. package/dist/Admentum/from/groups.js.map +1 -1
  8. package/dist/Admentum/from/index.js +4 -15
  9. package/dist/Admentum/from/index.js.map +1 -1
  10. package/dist/Admentum/from/locations.js +7 -14
  11. package/dist/Admentum/from/locations.js.map +1 -1
  12. package/dist/Admentum/from/schedules.js +20 -49
  13. package/dist/Admentum/from/schedules.js.map +1 -1
  14. package/dist/Admentum/from/teachers.d.ts +3 -2
  15. package/dist/Admentum/from/teachers.js +18 -17
  16. package/dist/Admentum/from/teachers.js.map +1 -1
  17. package/dist/Admentum/index.js +6 -18
  18. package/dist/Admentum/index.js.map +1 -1
  19. package/dist/Admentum/to/index.js +4 -15
  20. package/dist/Admentum/to/index.js.map +1 -1
  21. package/dist/Admentum/to/schedules.js +26 -40
  22. package/dist/Admentum/to/schedules.js.map +1 -1
  23. package/dist/Admentum/types/course-section.d.ts +0 -10
  24. package/dist/Admentum/types/course-section.js +0 -4
  25. package/dist/Admentum/types/course-section.js.map +1 -1
  26. package/dist/Admentum/types/course.js.map +1 -1
  27. package/dist/Admentum/types/lesson.d.ts +22 -0
  28. package/dist/Admentum/types/lesson.js +2 -0
  29. package/dist/Admentum/types/lesson.js.map +1 -0
  30. package/dist/Admentum/types/primary-group.js +1 -5
  31. package/dist/Admentum/types/primary-group.js.map +1 -1
  32. package/dist/Admentum/types/room.js +1 -5
  33. package/dist/Admentum/types/room.js.map +1 -1
  34. package/dist/Admentum/types/schedule-group.js +1 -5
  35. package/dist/Admentum/types/schedule-group.js.map +1 -1
  36. package/dist/Admentum/types/schedule.d.ts +2 -2
  37. package/dist/Admentum/types/schedule.js +1 -5
  38. package/dist/Admentum/types/schedule.js.map +1 -1
  39. package/dist/Admentum/types/school.js +1 -5
  40. package/dist/Admentum/types/school.js.map +1 -1
  41. package/dist/Admentum/types/user.js +1 -5
  42. package/dist/Admentum/types/user.js.map +1 -1
  43. package/dist/IdunSoft/from/courses.js +11 -18
  44. package/dist/IdunSoft/from/courses.js.map +1 -1
  45. package/dist/IdunSoft/from/events.js +44 -74
  46. package/dist/IdunSoft/from/events.js.map +1 -1
  47. package/dist/IdunSoft/from/groups.js +11 -18
  48. package/dist/IdunSoft/from/groups.js.map +1 -1
  49. package/dist/IdunSoft/from/index.js +4 -15
  50. package/dist/IdunSoft/from/index.js.map +1 -1
  51. package/dist/IdunSoft/from/locations.js +11 -18
  52. package/dist/IdunSoft/from/locations.js.map +1 -1
  53. package/dist/IdunSoft/from/schedules.js +12 -32
  54. package/dist/IdunSoft/from/schedules.js.map +1 -1
  55. package/dist/IdunSoft/from/teachers.js +11 -18
  56. package/dist/IdunSoft/from/teachers.js.map +1 -1
  57. package/dist/IdunSoft/index.js +6 -18
  58. package/dist/IdunSoft/index.js.map +1 -1
  59. package/dist/IdunSoft/to/index.js +4 -15
  60. package/dist/IdunSoft/to/index.js.map +1 -1
  61. package/dist/IdunSoft/to/schedules.js +37 -52
  62. package/dist/IdunSoft/to/schedules.js.map +1 -1
  63. package/dist/IdunSoft/types/courses.js +1 -5
  64. package/dist/IdunSoft/types/courses.js.map +1 -1
  65. package/dist/IdunSoft/types/events.js +1 -5
  66. package/dist/IdunSoft/types/events.js.map +1 -1
  67. package/dist/IdunSoft/types/groups.js +1 -5
  68. package/dist/IdunSoft/types/groups.js.map +1 -1
  69. package/dist/IdunSoft/types/index.js +1 -5
  70. package/dist/IdunSoft/types/index.js.map +1 -1
  71. package/dist/IdunSoft/types/locations.js +1 -5
  72. package/dist/IdunSoft/types/locations.js.map +1 -1
  73. package/dist/IdunSoft/types/schedules.js +1 -5
  74. package/dist/IdunSoft/types/schedules.js.map +1 -1
  75. package/dist/IdunSoft/types/teachers.js +1 -5
  76. package/dist/IdunSoft/types/teachers.js.map +1 -1
  77. package/dist/InfoMentor/index.js +4 -15
  78. package/dist/InfoMentor/index.js.map +1 -1
  79. package/dist/InfoMentor/to/index.js +4 -15
  80. package/dist/InfoMentor/to/index.js.map +1 -1
  81. package/dist/InfoMentor/to/schedules.js +38 -53
  82. package/dist/InfoMentor/to/schedules.js.map +1 -1
  83. package/dist/InfoMentor/types/events.js +1 -5
  84. package/dist/InfoMentor/types/events.js.map +1 -1
  85. package/dist/InfoMentor/types/index.js +1 -5
  86. package/dist/InfoMentor/types/index.js.map +1 -1
  87. package/dist/RS/index.d.ts +3 -0
  88. package/dist/RS/index.js +10 -18
  89. package/dist/RS/index.js.map +1 -1
  90. package/dist/RS/v0/from/available-dependencies.js +38 -56
  91. package/dist/RS/v0/from/available-dependencies.js.map +1 -1
  92. package/dist/RS/v0/from/break-lengths.js +15 -23
  93. package/dist/RS/v0/from/break-lengths.js.map +1 -1
  94. package/dist/RS/v0/from/course-events.js +69 -114
  95. package/dist/RS/v0/from/course-events.js.map +1 -1
  96. package/dist/RS/v0/from/courses.js +50 -87
  97. package/dist/RS/v0/from/courses.js.map +1 -1
  98. package/dist/RS/v0/from/days.js +13 -24
  99. package/dist/RS/v0/from/days.js.map +1 -1
  100. package/dist/RS/v0/from/dependencies.js +27 -55
  101. package/dist/RS/v0/from/dependencies.js.map +1 -1
  102. package/dist/RS/v0/from/groups.js +29 -59
  103. package/dist/RS/v0/from/groups.js.map +1 -1
  104. package/dist/RS/v0/from/index.js +26 -48
  105. package/dist/RS/v0/from/index.js.map +1 -1
  106. package/dist/RS/v0/from/intervals.js +7 -19
  107. package/dist/RS/v0/from/intervals.js.map +1 -1
  108. package/dist/RS/v0/from/locked-times.js +19 -28
  109. package/dist/RS/v0/from/locked-times.js.map +1 -1
  110. package/dist/RS/v0/from/placements.js +12 -27
  111. package/dist/RS/v0/from/placements.js.map +1 -1
  112. package/dist/RS/v0/from/schedules.js +42 -90
  113. package/dist/RS/v0/from/schedules.js.map +1 -1
  114. package/dist/RS/v0/from/settings.js +18 -27
  115. package/dist/RS/v0/from/settings.js.map +1 -1
  116. package/dist/RS/v0/from/teachers.js +27 -58
  117. package/dist/RS/v0/from/teachers.js.map +1 -1
  118. package/dist/RS/v0/index.js +7 -35
  119. package/dist/RS/v0/index.js.map +1 -1
  120. package/dist/RS/v0/to/available-dependencies.js +15 -29
  121. package/dist/RS/v0/to/available-dependencies.js.map +1 -1
  122. package/dist/RS/v0/to/configurations.js +18 -29
  123. package/dist/RS/v0/to/configurations.js.map +1 -1
  124. package/dist/RS/v0/to/constraints.js +31 -79
  125. package/dist/RS/v0/to/constraints.js.map +1 -1
  126. package/dist/RS/v0/to/course-events/common.js +2 -10
  127. package/dist/RS/v0/to/course-events/common.js.map +1 -1
  128. package/dist/RS/v0/to/course-events/days.js +13 -26
  129. package/dist/RS/v0/to/course-events/days.js.map +1 -1
  130. package/dist/RS/v0/to/course-events/dependencies.js +17 -29
  131. package/dist/RS/v0/to/course-events/dependencies.js.map +1 -1
  132. package/dist/RS/v0/to/course-events/groups.js +49 -63
  133. package/dist/RS/v0/to/course-events/groups.js.map +1 -1
  134. package/dist/RS/v0/to/course-events/in-locations.js +17 -24
  135. package/dist/RS/v0/to/course-events/in-locations.js.map +1 -1
  136. package/dist/RS/v0/to/course-events/index.js +63 -103
  137. package/dist/RS/v0/to/course-events/index.js.map +1 -1
  138. package/dist/RS/v0/to/course-events/intervals.js +12 -24
  139. package/dist/RS/v0/to/course-events/intervals.js.map +1 -1
  140. package/dist/RS/v0/to/course-events/meta.js +16 -37
  141. package/dist/RS/v0/to/course-events/meta.js.map +1 -1
  142. package/dist/RS/v0/to/courses.js +62 -114
  143. package/dist/RS/v0/to/courses.js.map +1 -1
  144. package/dist/RS/v0/to/days.js +10 -18
  145. package/dist/RS/v0/to/days.js.map +1 -1
  146. package/dist/RS/v0/to/dependencies.js +21 -48
  147. package/dist/RS/v0/to/dependencies.js.map +1 -1
  148. package/dist/RS/v0/to/groups.js +27 -61
  149. package/dist/RS/v0/to/groups.js.map +1 -1
  150. package/dist/RS/v0/to/index.js +28 -51
  151. package/dist/RS/v0/to/index.js.map +1 -1
  152. package/dist/RS/v0/to/intervals.js +12 -22
  153. package/dist/RS/v0/to/intervals.js.map +1 -1
  154. package/dist/RS/v0/to/locked-times.js +50 -74
  155. package/dist/RS/v0/to/locked-times.js.map +1 -1
  156. package/dist/RS/v0/to/schedules.js +9 -34
  157. package/dist/RS/v0/to/schedules.js.map +1 -1
  158. package/dist/RS/v0/to/settings.js +22 -31
  159. package/dist/RS/v0/to/settings.js.map +1 -1
  160. package/dist/RS/v0/to/teachers.js +25 -57
  161. package/dist/RS/v0/to/teachers.js.map +1 -1
  162. package/dist/RS/v0/types/areas.js +1 -5
  163. package/dist/RS/v0/types/areas.js.map +1 -1
  164. package/dist/RS/v0/types/available-dependencies.js +1 -5
  165. package/dist/RS/v0/types/available-dependencies.js.map +1 -1
  166. package/dist/RS/v0/types/break-lengths.js +1 -5
  167. package/dist/RS/v0/types/break-lengths.js.map +1 -1
  168. package/dist/RS/v0/types/configurations.js +1 -5
  169. package/dist/RS/v0/types/configurations.js.map +1 -1
  170. package/dist/RS/v0/types/constraints.js +1 -5
  171. package/dist/RS/v0/types/constraints.js.map +1 -1
  172. package/dist/RS/v0/types/course-events.js +1 -5
  173. package/dist/RS/v0/types/course-events.js.map +1 -1
  174. package/dist/RS/v0/types/courses.js +1 -5
  175. package/dist/RS/v0/types/courses.js.map +1 -1
  176. package/dist/RS/v0/types/days.js +1 -5
  177. package/dist/RS/v0/types/days.js.map +1 -1
  178. package/dist/RS/v0/types/dependencies.js +1 -5
  179. package/dist/RS/v0/types/dependencies.js.map +1 -1
  180. package/dist/RS/v0/types/groups.js +1 -5
  181. package/dist/RS/v0/types/groups.js.map +1 -1
  182. package/dist/RS/v0/types/index.js +1 -5
  183. package/dist/RS/v0/types/index.js.map +1 -1
  184. package/dist/RS/v0/types/intervals.js +1 -5
  185. package/dist/RS/v0/types/intervals.js.map +1 -1
  186. package/dist/RS/v0/types/locked-times.js +1 -5
  187. package/dist/RS/v0/types/locked-times.js.map +1 -1
  188. package/dist/RS/v0/types/out-options.js +1 -5
  189. package/dist/RS/v0/types/out-options.js.map +1 -1
  190. package/dist/RS/v0/types/placements.js +1 -5
  191. package/dist/RS/v0/types/placements.js.map +1 -1
  192. package/dist/RS/v0/types/schedules.js +1 -5
  193. package/dist/RS/v0/types/schedules.js.map +1 -1
  194. package/dist/RS/v0/types/settings.js +1 -5
  195. package/dist/RS/v0/types/settings.js.map +1 -1
  196. package/dist/RS/v1/from/available-dependencies.js +38 -56
  197. package/dist/RS/v1/from/available-dependencies.js.map +1 -1
  198. package/dist/RS/v1/from/break-lengths.js +15 -23
  199. package/dist/RS/v1/from/break-lengths.js.map +1 -1
  200. package/dist/RS/v1/from/collections.js +53 -91
  201. package/dist/RS/v1/from/collections.js.map +1 -1
  202. package/dist/RS/v1/from/course-events.js +65 -110
  203. package/dist/RS/v1/from/course-events.js.map +1 -1
  204. package/dist/RS/v1/from/days.js +11 -24
  205. package/dist/RS/v1/from/days.js.map +1 -1
  206. package/dist/RS/v1/from/dependencies.js +30 -57
  207. package/dist/RS/v1/from/dependencies.js.map +1 -1
  208. package/dist/RS/v1/from/groups.js +32 -61
  209. package/dist/RS/v1/from/groups.js.map +1 -1
  210. package/dist/RS/v1/from/index.js +26 -48
  211. package/dist/RS/v1/from/index.js.map +1 -1
  212. package/dist/RS/v1/from/intervals.js +13 -26
  213. package/dist/RS/v1/from/intervals.js.map +1 -1
  214. package/dist/RS/v1/from/locked-times.js +17 -26
  215. package/dist/RS/v1/from/locked-times.js.map +1 -1
  216. package/dist/RS/v1/from/placements.js +13 -30
  217. package/dist/RS/v1/from/placements.js.map +1 -1
  218. package/dist/RS/v1/from/schedules.js +42 -88
  219. package/dist/RS/v1/from/schedules.js.map +1 -1
  220. package/dist/RS/v1/from/settings.js +19 -30
  221. package/dist/RS/v1/from/settings.js.map +1 -1
  222. package/dist/RS/v1/from/teachers.js +30 -60
  223. package/dist/RS/v1/from/teachers.js.map +1 -1
  224. package/dist/RS/v1/index.js +7 -35
  225. package/dist/RS/v1/index.js.map +1 -1
  226. package/dist/RS/v1/to/available-dependencies.js +26 -41
  227. package/dist/RS/v1/to/available-dependencies.js.map +1 -1
  228. package/dist/RS/v1/to/break-lengths.js +13 -26
  229. package/dist/RS/v1/to/break-lengths.js.map +1 -1
  230. package/dist/RS/v1/to/collections.js +52 -103
  231. package/dist/RS/v1/to/collections.js.map +1 -1
  232. package/dist/RS/v1/to/configurations.js +20 -33
  233. package/dist/RS/v1/to/configurations.js.map +1 -1
  234. package/dist/RS/v1/to/constraints.js +22 -55
  235. package/dist/RS/v1/to/constraints.js.map +1 -1
  236. package/dist/RS/v1/to/course-events/common.js +2 -10
  237. package/dist/RS/v1/to/course-events/common.js.map +1 -1
  238. package/dist/RS/v1/to/course-events/days.js +9 -21
  239. package/dist/RS/v1/to/course-events/days.js.map +1 -1
  240. package/dist/RS/v1/to/course-events/dependencies.js +11 -24
  241. package/dist/RS/v1/to/course-events/dependencies.js.map +1 -1
  242. package/dist/RS/v1/to/course-events/groups.js +31 -41
  243. package/dist/RS/v1/to/course-events/groups.js.map +1 -1
  244. package/dist/RS/v1/to/course-events/in-locations.js +17 -24
  245. package/dist/RS/v1/to/course-events/in-locations.js.map +1 -1
  246. package/dist/RS/v1/to/course-events/index.js +48 -83
  247. package/dist/RS/v1/to/course-events/index.js.map +1 -1
  248. package/dist/RS/v1/to/course-events/intervals.js +5 -18
  249. package/dist/RS/v1/to/course-events/intervals.js.map +1 -1
  250. package/dist/RS/v1/to/course-events/meta.js +16 -37
  251. package/dist/RS/v1/to/course-events/meta.js.map +1 -1
  252. package/dist/RS/v1/to/days.js +10 -18
  253. package/dist/RS/v1/to/days.js.map +1 -1
  254. package/dist/RS/v1/to/dependencies.js +24 -52
  255. package/dist/RS/v1/to/dependencies.js.map +1 -1
  256. package/dist/RS/v1/to/groups.js +30 -65
  257. package/dist/RS/v1/to/groups.js.map +1 -1
  258. package/dist/RS/v1/to/index.js +28 -51
  259. package/dist/RS/v1/to/index.js.map +1 -1
  260. package/dist/RS/v1/to/intervals.js +12 -22
  261. package/dist/RS/v1/to/intervals.js.map +1 -1
  262. package/dist/RS/v1/to/locked-times.js +53 -74
  263. package/dist/RS/v1/to/locked-times.js.map +1 -1
  264. package/dist/RS/v1/to/schedules.js +9 -34
  265. package/dist/RS/v1/to/schedules.js.map +1 -1
  266. package/dist/RS/v1/to/settings.js +32 -45
  267. package/dist/RS/v1/to/settings.js.map +1 -1
  268. package/dist/RS/v1/to/teachers.js +30 -65
  269. package/dist/RS/v1/to/teachers.js.map +1 -1
  270. package/dist/RS/v1/types/areas.js +1 -5
  271. package/dist/RS/v1/types/areas.js.map +1 -1
  272. package/dist/RS/v1/types/available-dependencies.js +1 -5
  273. package/dist/RS/v1/types/available-dependencies.js.map +1 -1
  274. package/dist/RS/v1/types/break-lengths.js +1 -5
  275. package/dist/RS/v1/types/break-lengths.js.map +1 -1
  276. package/dist/RS/v1/types/collections.js +1 -5
  277. package/dist/RS/v1/types/collections.js.map +1 -1
  278. package/dist/RS/v1/types/configurations.js +1 -5
  279. package/dist/RS/v1/types/configurations.js.map +1 -1
  280. package/dist/RS/v1/types/constraints.js +1 -5
  281. package/dist/RS/v1/types/constraints.js.map +1 -1
  282. package/dist/RS/v1/types/course-events.js +1 -5
  283. package/dist/RS/v1/types/course-events.js.map +1 -1
  284. package/dist/RS/v1/types/days.js +1 -5
  285. package/dist/RS/v1/types/days.js.map +1 -1
  286. package/dist/RS/v1/types/dependencies.js +1 -5
  287. package/dist/RS/v1/types/dependencies.js.map +1 -1
  288. package/dist/RS/v1/types/groups.js +1 -5
  289. package/dist/RS/v1/types/groups.js.map +1 -1
  290. package/dist/RS/v1/types/index.js +1 -5
  291. package/dist/RS/v1/types/index.js.map +1 -1
  292. package/dist/RS/v1/types/intervals.js +1 -5
  293. package/dist/RS/v1/types/intervals.js.map +1 -1
  294. package/dist/RS/v1/types/locked-times.js +1 -5
  295. package/dist/RS/v1/types/locked-times.js.map +1 -1
  296. package/dist/RS/v1/types/out-options.js +1 -5
  297. package/dist/RS/v1/types/out-options.js.map +1 -1
  298. package/dist/RS/v1/types/placements.js +1 -5
  299. package/dist/RS/v1/types/placements.js.map +1 -1
  300. package/dist/RS/v1/types/schedules.js +1 -5
  301. package/dist/RS/v1/types/schedules.js.map +1 -1
  302. package/dist/RS/v1/types/settings.js +1 -5
  303. package/dist/RS/v1/types/settings.js.map +1 -1
  304. package/dist/RS/v2/from/available-dependencies.d.ts +3 -0
  305. package/dist/RS/v2/from/available-dependencies.js +41 -0
  306. package/dist/RS/v2/from/available-dependencies.js.map +1 -0
  307. package/dist/RS/v2/from/break-lengths.d.ts +3 -0
  308. package/dist/RS/v2/from/break-lengths.js +17 -0
  309. package/dist/RS/v2/from/break-lengths.js.map +1 -0
  310. package/dist/RS/v2/from/collections.d.ts +5 -0
  311. package/dist/RS/v2/from/collections.js +56 -0
  312. package/dist/RS/v2/from/collections.js.map +1 -0
  313. package/dist/RS/v2/from/course-events.d.ts +5 -0
  314. package/dist/RS/v2/from/course-events.js +68 -0
  315. package/dist/RS/v2/from/course-events.js.map +1 -0
  316. package/dist/RS/v2/from/days.d.ts +4 -0
  317. package/dist/RS/v2/from/days.js +13 -0
  318. package/dist/RS/v2/from/days.js.map +1 -0
  319. package/dist/RS/v2/from/dependencies.d.ts +4 -0
  320. package/dist/RS/v2/from/dependencies.js +32 -0
  321. package/dist/RS/v2/from/dependencies.js.map +1 -0
  322. package/dist/RS/v2/from/groups.d.ts +5 -0
  323. package/dist/RS/v2/from/groups.js +34 -0
  324. package/dist/RS/v2/from/groups.js.map +1 -0
  325. package/dist/RS/v2/from/index.d.ts +16 -0
  326. package/dist/RS/v2/from/index.js +27 -0
  327. package/dist/RS/v2/from/index.js.map +1 -0
  328. package/dist/RS/v2/from/intervals.d.ts +4 -0
  329. package/dist/RS/v2/from/intervals.js +15 -0
  330. package/dist/RS/v2/from/intervals.js.map +1 -0
  331. package/dist/RS/v2/from/locked-times.d.ts +4 -0
  332. package/dist/RS/v2/from/locked-times.js +19 -0
  333. package/dist/RS/v2/from/locked-times.js.map +1 -0
  334. package/dist/RS/v2/from/placements.d.ts +7 -0
  335. package/dist/RS/v2/from/placements.js +15 -0
  336. package/dist/RS/v2/from/placements.js.map +1 -0
  337. package/dist/RS/v2/from/schedules.d.ts +4 -0
  338. package/dist/RS/v2/from/schedules.js +45 -0
  339. package/dist/RS/v2/from/schedules.js.map +1 -0
  340. package/dist/RS/v2/from/settings.d.ts +5 -0
  341. package/dist/RS/v2/from/settings.js +25 -0
  342. package/dist/RS/v2/from/settings.js.map +1 -0
  343. package/dist/RS/v2/from/teachers.d.ts +4 -0
  344. package/dist/RS/v2/from/teachers.js +32 -0
  345. package/dist/RS/v2/from/teachers.js.map +1 -0
  346. package/dist/RS/v2/index.d.ts +7 -0
  347. package/dist/RS/v2/index.js +8 -0
  348. package/dist/RS/v2/index.js.map +1 -0
  349. package/dist/RS/v2/to/available-dependencies.d.ts +5 -0
  350. package/dist/RS/v2/to/available-dependencies.js +28 -0
  351. package/dist/RS/v2/to/available-dependencies.js.map +1 -0
  352. package/dist/RS/v2/to/break-lengths.d.ts +4 -0
  353. package/dist/RS/v2/to/break-lengths.js +15 -0
  354. package/dist/RS/v2/to/break-lengths.js.map +1 -0
  355. package/dist/RS/v2/to/collections.d.ts +7 -0
  356. package/dist/RS/v2/to/collections.js +54 -0
  357. package/dist/RS/v2/to/collections.js.map +1 -0
  358. package/dist/RS/v2/to/configurations.d.ts +5 -0
  359. package/dist/RS/v2/to/configurations.js +22 -0
  360. package/dist/RS/v2/to/configurations.js.map +1 -0
  361. package/dist/RS/v2/to/constraints.d.ts +5 -0
  362. package/dist/RS/v2/to/constraints.js +24 -0
  363. package/dist/RS/v2/to/constraints.js.map +1 -0
  364. package/dist/RS/v2/to/course-events/common.d.ts +1 -0
  365. package/dist/RS/v2/to/course-events/common.js +4 -0
  366. package/dist/RS/v2/to/course-events/common.js.map +1 -0
  367. package/dist/RS/v2/to/course-events/days.d.ts +8 -0
  368. package/dist/RS/v2/to/course-events/days.js +11 -0
  369. package/dist/RS/v2/to/course-events/days.js.map +1 -0
  370. package/dist/RS/v2/to/course-events/dependencies.d.ts +8 -0
  371. package/dist/RS/v2/to/course-events/dependencies.js +13 -0
  372. package/dist/RS/v2/to/course-events/dependencies.js.map +1 -0
  373. package/dist/RS/v2/to/course-events/groups.d.ts +9 -0
  374. package/dist/RS/v2/to/course-events/groups.js +33 -0
  375. package/dist/RS/v2/to/course-events/groups.js.map +1 -0
  376. package/dist/RS/v2/to/course-events/in-locations.d.ts +3 -0
  377. package/dist/RS/v2/to/course-events/in-locations.js +19 -0
  378. package/dist/RS/v2/to/course-events/in-locations.js.map +1 -0
  379. package/dist/RS/v2/to/course-events/index.d.ts +5 -0
  380. package/dist/RS/v2/to/course-events/index.js +50 -0
  381. package/dist/RS/v2/to/course-events/index.js.map +1 -0
  382. package/dist/RS/v2/to/course-events/intervals.d.ts +8 -0
  383. package/dist/RS/v2/to/course-events/intervals.js +7 -0
  384. package/dist/RS/v2/to/course-events/intervals.js.map +1 -0
  385. package/dist/RS/v2/to/course-events/meta.d.ts +15 -0
  386. package/dist/RS/v2/to/course-events/meta.js +18 -0
  387. package/dist/RS/v2/to/course-events/meta.js.map +1 -0
  388. package/dist/RS/v2/to/days.d.ts +4 -0
  389. package/dist/RS/v2/to/days.js +12 -0
  390. package/dist/RS/v2/to/days.js.map +1 -0
  391. package/dist/RS/v2/to/default.d.ts +4 -0
  392. package/dist/RS/v2/to/default.js +28 -0
  393. package/dist/RS/v2/to/default.js.map +1 -0
  394. package/dist/RS/v2/to/dependencies.d.ts +5 -0
  395. package/dist/RS/v2/to/dependencies.js +27 -0
  396. package/dist/RS/v2/to/dependencies.js.map +1 -0
  397. package/dist/RS/v2/to/groups.d.ts +5 -0
  398. package/dist/RS/v2/to/groups.js +33 -0
  399. package/dist/RS/v2/to/groups.js.map +1 -0
  400. package/dist/RS/v2/to/index.d.ts +15 -0
  401. package/dist/RS/v2/to/index.js +29 -0
  402. package/dist/RS/v2/to/index.js.map +1 -0
  403. package/dist/RS/v2/to/intervals.d.ts +4 -0
  404. package/dist/RS/v2/to/intervals.js +14 -0
  405. package/dist/RS/v2/to/intervals.js.map +1 -0
  406. package/dist/RS/v2/to/locked-times.d.ts +5 -0
  407. package/dist/RS/v2/to/locked-times.js +60 -0
  408. package/dist/RS/v2/to/locked-times.js.map +1 -0
  409. package/dist/RS/v2/to/schedules.d.ts +5 -0
  410. package/dist/RS/v2/to/schedules.js +11 -0
  411. package/dist/RS/v2/to/schedules.js.map +1 -0
  412. package/dist/RS/v2/to/settings.d.ts +4 -0
  413. package/dist/RS/v2/to/settings.js +16 -0
  414. package/dist/RS/v2/to/settings.js.map +1 -0
  415. package/dist/RS/v2/to/teachers.d.ts +5 -0
  416. package/dist/RS/v2/to/teachers.js +33 -0
  417. package/dist/RS/v2/to/teachers.js.map +1 -0
  418. package/dist/RS/v2/types/areas.d.ts +4 -0
  419. package/dist/RS/v2/types/areas.js +2 -0
  420. package/dist/RS/v2/types/areas.js.map +1 -0
  421. package/dist/RS/v2/types/available-dependencies.d.ts +4 -0
  422. package/dist/RS/v2/types/available-dependencies.js +2 -0
  423. package/dist/RS/v2/types/available-dependencies.js.map +1 -0
  424. package/dist/RS/v2/types/break-lengths.d.ts +6 -0
  425. package/dist/RS/v2/types/break-lengths.js +2 -0
  426. package/dist/RS/v2/types/break-lengths.js.map +1 -0
  427. package/dist/RS/v2/types/collections.d.ts +22 -0
  428. package/dist/RS/v2/types/collections.js +2 -0
  429. package/dist/RS/v2/types/collections.js.map +1 -0
  430. package/dist/RS/v2/types/configurations.d.ts +5 -0
  431. package/dist/RS/v2/types/configurations.js +2 -0
  432. package/dist/RS/v2/types/configurations.js.map +1 -0
  433. package/dist/RS/v2/types/constraints.d.ts +14 -0
  434. package/dist/RS/v2/types/constraints.js +2 -0
  435. package/dist/RS/v2/types/constraints.js.map +1 -0
  436. package/dist/RS/v2/types/course-events.d.ts +21 -0
  437. package/dist/RS/v2/types/course-events.js +2 -0
  438. package/dist/RS/v2/types/course-events.js.map +1 -0
  439. package/dist/RS/v2/types/days.d.ts +4 -0
  440. package/dist/RS/v2/types/days.js +2 -0
  441. package/dist/RS/v2/types/days.js.map +1 -0
  442. package/dist/RS/v2/types/default.d.ts +18 -0
  443. package/dist/RS/v2/types/default.js +2 -0
  444. package/dist/RS/v2/types/default.js.map +1 -0
  445. package/dist/RS/v2/types/dependencies.d.ts +12 -0
  446. package/dist/RS/v2/types/dependencies.js +2 -0
  447. package/dist/RS/v2/types/dependencies.js.map +1 -0
  448. package/dist/RS/v2/types/groups.d.ts +22 -0
  449. package/dist/RS/v2/types/groups.js +2 -0
  450. package/dist/RS/v2/types/groups.js.map +1 -0
  451. package/dist/RS/v2/types/index.d.ts +28 -0
  452. package/dist/RS/v2/types/index.js +2 -0
  453. package/dist/RS/v2/types/index.js.map +1 -0
  454. package/dist/RS/v2/types/intervals.d.ts +4 -0
  455. package/dist/RS/v2/types/intervals.js +2 -0
  456. package/dist/RS/v2/types/intervals.js.map +1 -0
  457. package/dist/RS/v2/types/locked-times.d.ts +7 -0
  458. package/dist/RS/v2/types/locked-times.js +2 -0
  459. package/dist/RS/v2/types/locked-times.js.map +1 -0
  460. package/dist/RS/v2/types/out-options.d.ts +7 -0
  461. package/dist/RS/v2/types/out-options.js +2 -0
  462. package/dist/RS/v2/types/out-options.js.map +1 -0
  463. package/dist/RS/v2/types/placements.d.ts +8 -0
  464. package/dist/RS/v2/types/placements.js +2 -0
  465. package/dist/RS/v2/types/placements.js.map +1 -0
  466. package/dist/RS/v2/types/schedules.d.ts +12 -0
  467. package/dist/RS/v2/types/schedules.js +2 -0
  468. package/dist/RS/v2/types/schedules.js.map +1 -0
  469. package/dist/RS/v2/types/settings.d.ts +12 -0
  470. package/dist/RS/v2/types/settings.js +2 -0
  471. package/dist/RS/v2/types/settings.js.map +1 -0
  472. package/dist/SchoolSoft/index.js +4 -15
  473. package/dist/SchoolSoft/index.js.map +1 -1
  474. package/dist/SchoolSoft/to/index.js +4 -15
  475. package/dist/SchoolSoft/to/index.js.map +1 -1
  476. package/dist/SchoolSoft/to/schedules.js +26 -38
  477. package/dist/SchoolSoft/to/schedules.js.map +1 -1
  478. package/dist/SchoolSoft/types/events.js +1 -5
  479. package/dist/SchoolSoft/types/events.js.map +1 -1
  480. package/dist/SchoolSoft/types/index.js +1 -5
  481. package/dist/SchoolSoft/types/index.js.map +1 -1
  482. package/dist/Skola24/from/assert-week-overlap.js +16 -24
  483. package/dist/Skola24/from/assert-week-overlap.js.map +1 -1
  484. package/dist/Skola24/from/course-events.js +73 -84
  485. package/dist/Skola24/from/course-events.js.map +1 -1
  486. package/dist/Skola24/from/courses.js +41 -51
  487. package/dist/Skola24/from/courses.js.map +1 -1
  488. package/dist/Skola24/from/groups.js +6 -12
  489. package/dist/Skola24/from/groups.js.map +1 -1
  490. package/dist/Skola24/from/index.js +4 -15
  491. package/dist/Skola24/from/index.js.map +1 -1
  492. package/dist/Skola24/from/locations.js +5 -12
  493. package/dist/Skola24/from/locations.js.map +1 -1
  494. package/dist/Skola24/from/schedule.js +40 -60
  495. package/dist/Skola24/from/schedule.js.map +1 -1
  496. package/dist/Skola24/from/teachers.js +5 -12
  497. package/dist/Skola24/from/teachers.js.map +1 -1
  498. package/dist/Skola24/index.js +4 -15
  499. package/dist/Skola24/index.js.map +1 -1
  500. package/dist/Skola24/types/TA-group-link.js +1 -5
  501. package/dist/Skola24/types/TA-group-link.js.map +1 -1
  502. package/dist/Skola24/types/TA-teacher-link.js +1 -5
  503. package/dist/Skola24/types/TA-teacher-link.js.map +1 -1
  504. package/dist/Skola24/types/TA.js +1 -5
  505. package/dist/Skola24/types/TA.js.map +1 -1
  506. package/dist/Skola24/types/group-student-link.js +1 -5
  507. package/dist/Skola24/types/group-student-link.js.map +1 -1
  508. package/dist/Skola24/types/group.js +1 -5
  509. package/dist/Skola24/types/group.js.map +1 -1
  510. package/dist/Skola24/types/lesson-group-link.js +1 -5
  511. package/dist/Skola24/types/lesson-group-link.js.map +1 -1
  512. package/dist/Skola24/types/lesson-room-link.js +1 -5
  513. package/dist/Skola24/types/lesson-room-link.js.map +1 -1
  514. package/dist/Skola24/types/lesson-teacher-link.js +1 -5
  515. package/dist/Skola24/types/lesson-teacher-link.js.map +1 -1
  516. package/dist/Skola24/types/lesson.js +1 -5
  517. package/dist/Skola24/types/lesson.js.map +1 -1
  518. package/dist/Skola24/types/room.js +1 -5
  519. package/dist/Skola24/types/room.js.map +1 -1
  520. package/dist/Skola24/types/schedule.js +1 -5
  521. package/dist/Skola24/types/schedule.js.map +1 -1
  522. package/dist/Skola24/types/teacher.js +1 -5
  523. package/dist/Skola24/types/teacher.js.map +1 -1
  524. package/dist/common/constants.js +3 -14
  525. package/dist/common/constants.js.map +1 -1
  526. package/dist/common/get-date.js +11 -26
  527. package/dist/common/get-date.js.map +1 -1
  528. package/dist/core/from/courses.js +30 -62
  529. package/dist/core/from/courses.js.map +1 -1
  530. package/dist/core/from/events.js +5 -25
  531. package/dist/core/from/events.js.map +1 -1
  532. package/dist/core/from/groups.js +9 -32
  533. package/dist/core/from/groups.js.map +1 -1
  534. package/dist/core/from/index.js +4 -15
  535. package/dist/core/from/index.js.map +1 -1
  536. package/dist/core/from/locations.js +9 -32
  537. package/dist/core/from/locations.js.map +1 -1
  538. package/dist/core/from/locked-times.js +9 -32
  539. package/dist/core/from/locked-times.js.map +1 -1
  540. package/dist/core/from/overlap-groups.js +9 -32
  541. package/dist/core/from/overlap-groups.js.map +1 -1
  542. package/dist/core/from/schedules.js +40 -86
  543. package/dist/core/from/schedules.js.map +1 -1
  544. package/dist/core/from/teachers.js +9 -32
  545. package/dist/core/from/teachers.js.map +1 -1
  546. package/dist/core/identify/index.js +85 -107
  547. package/dist/core/identify/index.js.map +1 -1
  548. package/dist/core/index.js +6 -18
  549. package/dist/core/index.js.map +1 -1
  550. package/dist/core/to/available-locations.js +5 -25
  551. package/dist/core/to/available-locations.js.map +1 -1
  552. package/dist/core/to/courses.js +24 -49
  553. package/dist/core/to/courses.js.map +1 -1
  554. package/dist/core/to/days.js +6 -22
  555. package/dist/core/to/days.js.map +1 -1
  556. package/dist/core/to/events.js +27 -54
  557. package/dist/core/to/events.js.map +1 -1
  558. package/dist/core/to/groups.js +14 -31
  559. package/dist/core/to/groups.js.map +1 -1
  560. package/dist/core/to/index.js +4 -15
  561. package/dist/core/to/index.js.map +1 -1
  562. package/dist/core/to/intervals.js +5 -20
  563. package/dist/core/to/intervals.js.map +1 -1
  564. package/dist/core/to/locations.js +14 -31
  565. package/dist/core/to/locations.js.map +1 -1
  566. package/dist/core/to/locked-times.js +11 -38
  567. package/dist/core/to/locked-times.js.map +1 -1
  568. package/dist/core/to/overlap-groups.js +11 -38
  569. package/dist/core/to/overlap-groups.js.map +1 -1
  570. package/dist/core/to/schedules.js +44 -95
  571. package/dist/core/to/schedules.js.map +1 -1
  572. package/dist/core/to/settings.js +6 -21
  573. package/dist/core/to/settings.js.map +1 -1
  574. package/dist/core/to/teachers.js +14 -31
  575. package/dist/core/to/teachers.js.map +1 -1
  576. package/dist/core/types/areas.js +1 -5
  577. package/dist/core/types/areas.js.map +1 -1
  578. package/dist/core/types/available-locations.js +1 -5
  579. package/dist/core/types/available-locations.js.map +1 -1
  580. package/dist/core/types/break-lengths.js +1 -5
  581. package/dist/core/types/break-lengths.js.map +1 -1
  582. package/dist/core/types/common/coalesced.js +1 -5
  583. package/dist/core/types/common/coalesced.js.map +1 -1
  584. package/dist/core/types/course-events.js +1 -5
  585. package/dist/core/types/course-events.js.map +1 -1
  586. package/dist/core/types/courses.js +1 -5
  587. package/dist/core/types/courses.js.map +1 -1
  588. package/dist/core/types/days.js +1 -5
  589. package/dist/core/types/days.js.map +1 -1
  590. package/dist/core/types/division-settings.d.ts +7 -6
  591. package/dist/core/types/division-settings.js +1 -5
  592. package/dist/core/types/division-settings.js.map +1 -1
  593. package/dist/core/types/divisions.js +1 -5
  594. package/dist/core/types/divisions.js.map +1 -1
  595. package/dist/core/types/groups.js +1 -5
  596. package/dist/core/types/groups.js.map +1 -1
  597. package/dist/core/types/index.js +1 -5
  598. package/dist/core/types/index.js.map +1 -1
  599. package/dist/core/types/intervals.js +1 -5
  600. package/dist/core/types/intervals.js.map +1 -1
  601. package/dist/core/types/locations.js +1 -5
  602. package/dist/core/types/locations.js.map +1 -1
  603. package/dist/core/types/locked-times.js +1 -5
  604. package/dist/core/types/locked-times.js.map +1 -1
  605. package/dist/core/types/overlap-groups.js +1 -5
  606. package/dist/core/types/overlap-groups.js.map +1 -1
  607. package/dist/core/types/students.js +1 -5
  608. package/dist/core/types/students.js.map +1 -1
  609. package/dist/core/types/teachers.js +1 -5
  610. package/dist/core/types/teachers.js.map +1 -1
  611. package/dist/index.js +8 -109
  612. package/dist/index.js.map +1 -1
  613. package/package.json +1 -1
@@ -0,0 +1,17 @@
1
+ export default (breakLength) => {
2
+ if (breakLength == null)
3
+ return null;
4
+ switch (typeof breakLength) {
5
+ case 'boolean':
6
+ case 'number':
7
+ return breakLength;
8
+ case 'object':
9
+ if (Array.isArray(breakLength) && breakLength.length == 2)
10
+ return breakLength;
11
+ else if (breakLength?.bef != null && breakLength?.aft != null)
12
+ return [breakLength.bef, breakLength.aft];
13
+ default:
14
+ throw new Error('day is neither number, boolean, array or object of type { bef, aft }');
15
+ }
16
+ };
17
+ //# sourceMappingURL=break-lengths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"break-lengths.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/break-lengths.ts"],"names":[],"mappings":"AAEA,eAAe,CAAC,WAA2C,EAAO,EAAE;IAElE,IAAI,WAAW,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAErC,QAAO,OAAO,WAAW,EAAE;QACzB,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC;QACrB,KAAK,QAAQ;YACX,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC;gBACvD,OAAO,WAAW,CAAC;iBAChB,IAAI,WAAW,EAAE,GAAG,IAAI,IAAI,IAAI,WAAW,EAAE,GAAG,IAAI,IAAI;gBAC3D,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9C;YACE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;KAC3F;AACH,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { Settings } from '../types/settings';
2
+ import { Collection } from '../types/collections';
3
+ import { Course as SourceCourse } from '../../../core/types/courses';
4
+ declare let reduceCourses: (courses: (Collection | Collection[])[], teachersList: string[], groupsList: string[], settings: Settings, overlapGroup?: number) => SourceCourse[];
5
+ export default reduceCourses;
@@ -0,0 +1,56 @@
1
+ import breakLength from './break-lengths';
2
+ import days from './days';
3
+ import lockedTime from './locked-times';
4
+ import intervals from './intervals';
5
+ import availableDependencies from './available-dependencies';
6
+ import courseEvents from './course-events';
7
+ function _course(course, teachersList, groupsList, settings, overlapGroup = null) {
8
+ const idKey = settings.collectionIdKey;
9
+ if (!idKey)
10
+ throw new Error('property "collectionIdKey" in settings is undefined');
11
+ if (!course[idKey])
12
+ throw new Error('A course missing a unique key');
13
+ let doc = {
14
+ ids: course[idKey],
15
+ ...(overlapGroup != null) && { overlapGroup: overlapGroup.toString() },
16
+ ...course.name && { displayName: course.name },
17
+ ...course.subject && { subject: course.subject },
18
+ ...course.color && { color: course.color },
19
+ ...'minBreakLength' in course && { minBreakLength: breakLength(course.minBreakLength) },
20
+ ...'density' in course && { density: course.density },
21
+ ...'weight' in course && { weight: course.weight },
22
+ ...'potentialCenter' in course && { potentialCenter: course.potentialCenter },
23
+ ...course.dependencies && { locations: availableDependencies(course.dependencies, settings) },
24
+ ...course.intervals && { intervals: intervals(course.intervals) },
25
+ ...course.lockedTimes && { lockedTimes: lockedTime(course.lockedTimes) },
26
+ ...course.days && { days: days(course.days, settings) },
27
+ };
28
+ doc.teachers = course.groups?.flat().reduce((acc, gId) => {
29
+ if (teachersList.indexOf(gId) != -1)
30
+ return acc.concat(gId);
31
+ return acc;
32
+ }, []);
33
+ doc.groups = course.groups?.flat().reduce((acc, gId) => {
34
+ if (groupsList.indexOf(gId) != -1)
35
+ return acc.concat(gId);
36
+ return acc;
37
+ }, []);
38
+ if ((doc.teachers.length + doc.groups.length) !== (course.groups || []).length)
39
+ throw new Error(`Length of teachers + groups does not match length of groups in input for course ${course[idKey]}`);
40
+ if ((course.events || []).length)
41
+ doc.events = courseEvents(course.events, course, teachersList, groupsList, settings);
42
+ return doc;
43
+ }
44
+ let reduceCourses = (courses, teachersList, groupsList, settings, overlapGroup = 0) => {
45
+ return courses.reduce((acc, course) => {
46
+ if (Array.isArray(course)) {
47
+ let _overlapGroup = overlapGroup++;
48
+ return acc.concat(course.map((innerCourse) => {
49
+ return _course(innerCourse, teachersList, groupsList, settings, _overlapGroup);
50
+ }));
51
+ }
52
+ return acc.concat(_course(course, teachersList, groupsList, settings));
53
+ }, []);
54
+ };
55
+ export default reduceCourses;
56
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/collections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Settings } from '../types/settings';
2
+ import { CourseEvent } from '../types/course-events';
3
+ import { Collection } from '../types/collections';
4
+ declare const _default: (courseEvents: (CourseEvent | number)[], course: Collection, teachersList: string[], groupsList: string[], settings: Settings) => any;
5
+ export default _default;
@@ -0,0 +1,68 @@
1
+ import breakLength from './break-lengths';
2
+ import days from './days';
3
+ import lockedTime from './locked-times';
4
+ import intervals from './intervals';
5
+ import availableDependencies from './available-dependencies';
6
+ import getDate from '../../../common/get-date';
7
+ export default (courseEvents, course, teachersList, groupsList, settings) => {
8
+ const collectionIdKey = settings.collectionIdKey;
9
+ const eventIdKey = settings.eventIdKey;
10
+ if (!collectionIdKey)
11
+ throw new Error('property "collectionIdKey" in settings is undefined');
12
+ return courseEvents.reduce((acc, event) => {
13
+ switch (typeof event) {
14
+ case 'number':
15
+ return acc.concat({
16
+ duration: event,
17
+ ids: `${course[collectionIdKey]}_${acc.length}`
18
+ });
19
+ case 'object':
20
+ if (!event[eventIdKey]) {
21
+ Object.assign(event, { [eventIdKey]: `${course[collectionIdKey]}_${acc.length}` });
22
+ }
23
+ const teachers = event.groups?.flat().reduce((acc, gId) => {
24
+ if (teachersList.includes(gId))
25
+ return acc.concat(gId);
26
+ return acc;
27
+ }, []);
28
+ const groups = event.groups?.flat().reduce((acc, gId) => {
29
+ if (groupsList.includes(gId))
30
+ return acc.concat(gId);
31
+ return acc;
32
+ }, []);
33
+ let fixedStart = false;
34
+ let start = null;
35
+ let end = null;
36
+ if (event.start) {
37
+ const day = event.day ?? 0;
38
+ fixedStart = true;
39
+ start = getDate(day, event.start.toFixed(2).replace('.', ':'));
40
+ end = start.clone().add(event.length, 'minutes');
41
+ if (start.day() != end.day())
42
+ throw new Error('course event have fixed time such that the event span multiple days');
43
+ }
44
+ return acc.concat({
45
+ duration: event.length,
46
+ parked: !start,
47
+ ...event[eventIdKey] && { ids: event[eventIdKey] },
48
+ ...event.name && { displayName: event.name },
49
+ ...fixedStart && { fixedStart: fixedStart },
50
+ ...start && { start: start },
51
+ ...end && { end: end },
52
+ ...'density' in event && { density: event.density },
53
+ ...'weight' in event && { weight: event.weight },
54
+ ...'potentialCenter' in event && { potentialCenter: event.potentialCenter },
55
+ ...'minBreakLength' in event && { minBreakLength: breakLength(event.minBreakLength) },
56
+ ...event.intervals && { intervals: intervals(event.intervals) },
57
+ ...event.lockedTimes && { lockedTimes: lockedTime(event.lockedTimes) },
58
+ ...event.dependencies && { locations: availableDependencies(event.dependencies, settings) },
59
+ ...groups && { groups: groups },
60
+ ...teachers && { teachers: teachers },
61
+ ...event.days && { days: days(event.days, settings) },
62
+ });
63
+ default:
64
+ throw new Error(`course event is neither number nor object, course ${course[collectionIdKey]}`);
65
+ }
66
+ }, []);
67
+ };
68
+ //# sourceMappingURL=course-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"course-events.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/course-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Settings } from '../types/settings';
2
+ import { Day } from '../types/days';
3
+ declare const _default: (days: Day[] | number[] | any, settings: Settings) => any;
4
+ export default _default;
@@ -0,0 +1,13 @@
1
+ export default (days, settings) => {
2
+ return days.map((day) => {
3
+ switch (typeof day) {
4
+ case 'number':
5
+ return { day };
6
+ case 'object':
7
+ return day;
8
+ default:
9
+ throw new Error('day is neither number or object');
10
+ }
11
+ });
12
+ };
13
+ //# sourceMappingURL=days.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"days.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/days.ts"],"names":[],"mappings":"AAGA,eAAe,CAAC,IAAgC,EAChC,QAAkB,EAAO,EAAE;IAEzC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;QAC3B,QAAO,OAAO,GAAG,EAAE;YACjB,KAAK,QAAQ;gBACX,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAC;YACb;gBACE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Dependency } from '../types/dependencies';
2
+ import { Settings } from '../types/settings';
3
+ declare const _default: (dependencies: (Dependency | string)[], settings: Settings) => any[];
4
+ export default _default;
@@ -0,0 +1,32 @@
1
+ import breakLength from './break-lengths';
2
+ import days from './days';
3
+ import lockedTime from './locked-times';
4
+ import intervals from './intervals';
5
+ export default (dependencies, settings) => {
6
+ const idKey = settings.dependencyIdKey;
7
+ if (!idKey)
8
+ throw new Error('property "dependencyIdKey" in settings is undefined');
9
+ return dependencies.map((dependency) => {
10
+ switch (typeof dependency) {
11
+ case 'string':
12
+ return {
13
+ ids: dependency
14
+ };
15
+ case 'object':
16
+ if (!dependency[idKey])
17
+ throw new Error('A dependency does not have a unique key');
18
+ return {
19
+ ids: dependency[idKey],
20
+ ...'minBreakLength' in dependency && { minBreakLength: breakLength(dependency.minBreakLength) },
21
+ ...dependency.name && { displayName: dependency.name },
22
+ ...dependency.area && { area: dependency.area },
23
+ ...dependency.days && { days: days(dependency.days, settings) },
24
+ ...dependency.intervals && { intervals: intervals(dependency.intervals) },
25
+ ...dependency.lockedTimes && { lockedTimes: lockedTime(dependency.lockedTimes) },
26
+ };
27
+ default:
28
+ throw new Error('dependency is neither string nor object');
29
+ }
30
+ }, []);
31
+ };
32
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAA8B,iBAAiB,CAAC;AAClE,OAAO,IAAI,MAAqC,QAAQ,CAAC;AACzD,OAAO,UAAU,MAA+B,gBAAgB,CAAC;AACjE,OAAO,SAAS,MAAgC,aAAa,CAAC;AAK9D,eAAe,CAAC,YAAwC,EACxC,QAAyB,EAAS,EAAE;IAClD,MAAM,KAAK,GAAqB,QAAQ,CAAC,eAAe,CAAC;IAEzD,IAAI,CAAE,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAEzE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,UAA+B,EAAE,EAAE;QAC1D,QAAO,OAAO,UAAU,EAAE;YACxB,KAAK,QAAQ;gBACX,OAAO;oBACL,GAAG,EAAQ,UAAU;iBACtB,CAAC;YACJ,KAAK,QAAQ;gBAEX,IAAI,CAAE,UAAU,CAAC,KAAK,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAE7D,OAAO;oBACL,GAAG,EAAoD,UAAU,CAAC,KAAK,CAAC;oBACxE,GAAG,gBAAgB,IAAI,UAAU,IAAI,EAAE,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;oBAC/F,GAAG,UAAU,CAAC,IAAI,IAAmB,EAAE,WAAW,EAAK,UAAU,CAAC,IAAI,EAAE;oBACxE,GAAG,UAAU,CAAC,IAAI,IAAmB,EAAE,IAAI,EAAY,UAAU,CAAC,IAAI,EAAE;oBACxE,GAAG,UAAU,CAAC,IAAI,IAAmB,EAAE,IAAI,EAAY,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;oBACxF,GAAG,UAAU,CAAC,SAAS,IAAc,EAAE,SAAS,EAAO,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBACxF,GAAG,UAAU,CAAC,WAAW,IAAY,EAAE,WAAW,EAAK,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;iBAC5F,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAE9D;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;AAET,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { Group } from '../types/groups';
2
+ import { Settings } from '../types/settings';
3
+ import { Group as SourceGroup } from '../../../core/types/groups';
4
+ declare const _default: (groups: Group[], settings: Settings) => SourceGroup[];
5
+ export default _default;
@@ -0,0 +1,34 @@
1
+ import breakLength from './break-lengths';
2
+ import days from './days';
3
+ import lockedTime from './locked-times';
4
+ import intervals from './intervals';
5
+ export default (groups, settings) => {
6
+ const idKey = settings.groupIdKey;
7
+ if (!idKey)
8
+ throw new Error('property "groupIdKey" in settings is undefined');
9
+ return groups.reduce((acc, group) => {
10
+ if (!group.group_type)
11
+ throw new Error('property "group_type" must exist on all entries in "groups" array');
12
+ if (!['personal', 'classes'].includes(group.group_type))
13
+ throw new Error('Allowed values of "group_type" are "personal" and "classes"');
14
+ if (!group[idKey])
15
+ throw new Error('A group does not have a unique key');
16
+ if (group.group_type != 'classes')
17
+ return acc;
18
+ return acc.concat({
19
+ ids: group[idKey],
20
+ ...group.name && { displayName: group.name },
21
+ ...'forbidOverlappingEvents' in group && { forbidOverlappingEvents: group.forbidOverlappingEvents },
22
+ ...'maxNumWorkingHours' in group && { maxNumWorkingHours: group.maxNumWorkingHours },
23
+ ...'maxNumDailyWorkingHours' in group && { maxNumDailyWorkingHours: group.maxNumDailyWorkingHours },
24
+ ...'minBreakLength' in group && { minBreakLength: breakLength(group.minBreakLength) },
25
+ ...'disableDayLengthPunishment' in group && { disableDayLengthPunishment: group.disableDayLengthPunishment },
26
+ ...'weight' in group && { weight: group.weight },
27
+ ...'rank' in group && { rank: group.rank },
28
+ ...group.days?.length && { days: days(group.days, settings) },
29
+ ...group.intervals?.length && { intervals: intervals(group.intervals) },
30
+ ...group.lockedTimes?.length && { lockedTimes: lockedTime(group.lockedTimes) },
31
+ });
32
+ }, []);
33
+ };
34
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/groups.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAA8B,iBAAiB,CAAC;AAClE,OAAO,IAAI,MAAqC,QAAQ,CAAC;AACzD,OAAO,UAAU,MAA+B,gBAAgB,CAAC;AACjE,OAAO,SAAS,MAAgC,aAAa,CAAC;AAO9D,eAAe,CAAC,MAAmB,EACnB,QAAoB,EAAiB,EAAE;IACrD,MAAM,KAAK,GAAgB,QAAQ,CAAC,UAAU,CAAC;IAE/C,IAAI,CAAE,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEpE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAU,EAAE,KAAY,EAAE,EAAE;QAEhD,IAAI,CAAE,KAAK,CAAC,UAAU;YACpB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QAEvF,IAAI,CAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAEjF,IAAI,CAAE,KAAK,CAAC,KAAK,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAExD,IAAI,KAAK,CAAC,UAAU,IAAI,SAAS;YAAE,OAAO,GAAG,CAAC;QAE9C,OAAO,GAAG,CAAC,MAAM,CAAC;YAChB,GAAG,EAAuE,KAAK,CAAC,KAAK,CAAC;YACtF,GAAG,KAAK,CAAC,IAAI,IAA+B,EAAE,WAAW,EAAiB,KAAK,CAAC,IAAI,EAAE;YACtF,GAAG,yBAAyB,IAAO,KAAK,IAAI,EAAE,uBAAuB,EAAK,KAAK,CAAC,uBAAuB,EAAE;YACzG,GAAG,oBAAoB,IAAY,KAAK,IAAI,EAAE,kBAAkB,EAAU,KAAK,CAAC,kBAAkB,EAAE;YACpG,GAAG,yBAAyB,IAAO,KAAK,IAAI,EAAE,uBAAuB,EAAK,KAAK,CAAC,uBAAuB,EAAE;YACzG,GAAG,gBAAgB,IAAgB,KAAK,IAAI,EAAE,cAAc,EAAc,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;YAC7G,GAAG,4BAA4B,IAAI,KAAK,IAAI,EAAE,0BAA0B,EAAE,KAAK,CAAC,0BAA0B,EAAE;YAC5G,GAAG,QAAQ,IAAwB,KAAK,IAAI,EAAE,MAAM,EAAsB,KAAK,CAAC,MAAM,EAAE;YACxF,GAAG,MAAM,IAA0B,KAAK,IAAI,EAAE,IAAI,EAAwB,KAAK,CAAC,IAAI,EAAE;YACtF,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,IAAuB,EAAE,IAAI,EAAwB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;YACtG,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,IAAkB,EAAE,SAAS,EAAmB,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACtG,GAAG,KAAK,CAAC,WAAW,EAAE,MAAM,IAAgB,EAAE,WAAW,EAAiB,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;SAC1G,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ export default class {
2
+ static availableDependency: (data: any, settings: import("../types/settings").Settings) => any;
3
+ static courseEvent: (courseEvents: (number | import("../types/course-events").CourseEvent)[], course: import("../types/collections").Collection, teachersList: string[], groupsList: string[], settings: import("../types/settings").Settings) => any;
4
+ static collection: (courses: (import("../types/collections").Collection | import("../types/collections").Collection[])[], teachersList: string[], groupsList: string[], settings: import("../types/settings").Settings, overlapGroup?: number) => import("../../../core/types/courses").Course[];
5
+ static day: (days: any, settings: import("../types/settings").Settings) => any;
6
+ static dependency: (dependencies: (string | import("../types/dependencies").Dependency)[], settings: import("../types/settings").Settings) => any[];
7
+ static group: (groups: import("../types/groups").Group[], settings: import("../types/settings").Settings) => import("../../../core/types/groups").Group[];
8
+ static interval: (intervals: import("../types/intervals").Interval[]) => import("../../../core/types/intervals").Interval[];
9
+ static lockedTime: (lockedTimes: import("../types/locked-times").LockedTime[]) => import("../../../core/types/locked-times").LockedTime[];
10
+ static placement: (configuration: import("../types/configurations").Configuration, options?: {
11
+ idKey?: "id" | "_id" | "ids" | undefined;
12
+ }) => import("../../../core/types/course-events").CourseEvent[];
13
+ static schedules: (schedule: import("../types/schedules").Schedule) => import("../../../core/types/divisions").Division;
14
+ static setting: (settings: import("../types/settings").Settings, _default: import("../types/default").Default) => import("../../../core/types/division-settings").DivisionSettings;
15
+ static teacher: (teachers: import("../types/groups").Group[], settings: any) => import("../../../core/types/teachers").Teacher[];
16
+ }
@@ -0,0 +1,27 @@
1
+ import _availableDependency from './available-dependencies';
2
+ import _courseEvent from './course-events';
3
+ import _collection from './collections';
4
+ import _day from './days';
5
+ import _dependency from './dependencies';
6
+ import _group from './groups';
7
+ import _interval from './intervals';
8
+ import _lockedTime from './locked-times';
9
+ import _placement from './placements';
10
+ import _schedules from './schedules';
11
+ import _setting from './settings';
12
+ import _teacher from './teachers';
13
+ export default class default_1 {
14
+ }
15
+ default_1.availableDependency = _availableDependency;
16
+ default_1.courseEvent = _courseEvent;
17
+ default_1.collection = _collection;
18
+ default_1.day = _day;
19
+ default_1.dependency = _dependency;
20
+ default_1.group = _group;
21
+ default_1.interval = _interval;
22
+ default_1.lockedTime = _lockedTime;
23
+ default_1.placement = _placement;
24
+ default_1.schedules = _schedules;
25
+ default_1.setting = _setting;
26
+ default_1.teacher = _teacher;
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAqB,0BAA0B,CAAC;AAC3E,OAAO,YAAY,MAA6B,iBAAiB,CAAC;AAClE,OAAO,WAAW,MAA8B,eAAe,CAAC;AAChE,OAAO,IAAI,MAAqC,QAAQ,CAAC;AACzD,OAAO,WAAW,MAA8B,gBAAgB,CAAC;AACjE,OAAO,MAAM,MAAmC,UAAU,CAAC;AAC3D,OAAO,SAAS,MAAgC,aAAa,CAAC;AAC9D,OAAO,WAAW,MAA8B,gBAAgB,CAAC;AACjE,OAAO,UAAU,MAA+B,cAAc,CAAC;AAC/D,OAAO,UAAU,MAA+B,aAAa,CAAC;AAC9D,OAAO,QAAQ,MAAiC,YAAY,CAAC;AAC7D,OAAO,QAAQ,MAAiC,YAAY,CAAC;AAE7D,MAAM,CAAC,OAAO;;AACL,6BAAmB,GAAG,oBAAoB,CAAC;AAC3C,qBAAW,GAAW,YAAY,CAAC;AACnC,oBAAU,GAAY,WAAW,CAAC;AAClC,aAAG,GAAmB,IAAI,CAAC;AAC3B,oBAAU,GAAY,WAAW,CAAC;AAClC,eAAK,GAAiB,MAAM,CAAC;AAC7B,kBAAQ,GAAc,SAAS,CAAC;AAChC,oBAAU,GAAY,WAAW,CAAC;AAClC,mBAAS,GAAa,UAAU,CAAC;AACjC,mBAAS,GAAa,UAAU,CAAC;AACjC,iBAAO,GAAe,QAAQ,CAAC;AAC/B,iBAAO,GAAe,QAAQ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Interval } from '../types/intervals';
2
+ import { Interval as SourceInterval } from '../../../core/types/intervals';
3
+ declare const _default: (intervals: Interval[]) => SourceInterval[];
4
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import getDate from '../../../common/get-date';
2
+ export default (intervals) => {
3
+ return intervals.map((interval) => {
4
+ const { beg, end } = interval;
5
+ if (beg == null)
6
+ throw new Error('Interval beg is undefined');
7
+ if (end == null)
8
+ throw new Error('Interval end is undefined');
9
+ return {
10
+ start: getDate(0, beg.toFixed(2).replace('.', ':')),
11
+ end: getDate(0, end.toFixed(2).replace('.', ':'))
12
+ };
13
+ });
14
+ };
15
+ //# sourceMappingURL=intervals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intervals.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/intervals.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAkC,0BAA0B,CAAC;AAK3E,eAAe,CAAC,SAAqB,EAAoB,EAAE;IACzD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;QAE9B,IAAI,GAAG,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC7D,IAAI,GAAG,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAE7D,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACnD,GAAG,EAAI,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SACpD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { LockedTime } from '../types/locked-times';
2
+ import { LockedTime as SourceLockedTime } from '../../../core/types/locked-times';
3
+ declare const _default: (lockedTimes: LockedTime[]) => SourceLockedTime[];
4
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import getDate from '../../../common/get-date';
2
+ export default (lockedTimes) => {
3
+ return lockedTimes.reduce((acc, lockedTime) => {
4
+ if (lockedTime.day == null)
5
+ throw new Error('A locked time missing days field');
6
+ if (lockedTime.start == null)
7
+ throw new Error('A locked time missing start field');
8
+ if (!lockedTime.length)
9
+ throw new Error('A locked time missing length field');
10
+ const start = getDate(lockedTime.day, lockedTime.start.toFixed(2).replace('.', ':'));
11
+ const end = start.clone().add(lockedTime.length, 'minutes');
12
+ return acc.concat({
13
+ displayName: lockedTime.name,
14
+ start: start,
15
+ end: end
16
+ });
17
+ }, []);
18
+ };
19
+ //# sourceMappingURL=locked-times.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locked-times.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/locked-times.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAkC,0BAA0B,CAAC;AAM3E,eAAe,CAAC,WAAyB,EAAsB,EAAE;IAC/D,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,UAAsB,EAAE,EAAE;QAE7D,IAAI,UAAU,CAAC,GAAG,IAAI,IAAI;YACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEtD,IAAI,UAAU,CAAC,KAAK,IAAI,IAAI;YAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAEvD,IAAI,CAAE,UAAU,CAAC,MAAM;YACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACtF,MAAM,GAAG,GAAK,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE9D,OAAO,GAAG,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,UAAU,CAAC,IAAI;YAC5B,KAAK,EAAQ,KAAK;YAClB,GAAG,EAAU,GAAG;SACjB,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { Configuration } from '../types/configurations';
2
+ import { CourseEvent } from '../../../core/types/course-events';
3
+ declare type Options = {
4
+ idKey?: '_id' | 'id' | 'ids';
5
+ };
6
+ declare const _default: (configuration: Configuration, options?: Options) => CourseEvent[];
7
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import moment from 'moment';
2
+ export default (configuration, options = {}) => {
3
+ const idKey = options.idKey || 'id';
4
+ const { events } = configuration ?? {};
5
+ return events?.map((event) => {
6
+ return {
7
+ [idKey]: event.id,
8
+ parked: false,
9
+ inLocations: event.dependencies ?? [],
10
+ start: moment.utc('1970-01-05T00:00').add(event.day, 'days').add(event.start, 'minutes').toISOString(),
11
+ end: moment.utc('1970-01-05T00:00').add(event.day, 'days').add(event.end, 'minutes').toISOString()
12
+ };
13
+ });
14
+ };
15
+ //# sourceMappingURL=placements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placements.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/placements.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAmC,QAAQ,CAAC;AAYzD,eAAe,CAAC,aAA4B,EAAE,UAAmB,EAAE,EAAiB,EAAE;IAEpF,MAAM,KAAK,GAAsB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;IAEvD,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,IAAI,EAAE,CAAC;IAEvC,OAAO,MAAM,EAAE,GAAG,CAAC,CAAC,KAAgB,EAAE,EAAE;QACtC,OAAO;YACL,CAAC,KAAK,CAAC,EAAO,KAAK,CAAC,EAAE;YACtB,MAAM,EAAQ,KAAK;YACnB,WAAW,EAAG,KAAK,CAAC,YAAY,IAAI,EAAE;YACtC,KAAK,EAAS,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,WAAW,EAAE;YAC7G,GAAG,EAAW,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,WAAW,EAAE;SAC5G,CAAA;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Division } from '../../../core/types/divisions';
2
+ import { Schedule } from '../types/schedules';
3
+ declare const _default_1: (schedule: Schedule) => Division;
4
+ export default _default_1;
@@ -0,0 +1,45 @@
1
+ import getDependencies from './dependencies';
2
+ import getTeachers from './teachers';
3
+ import getGroups from './groups';
4
+ import getCollections from './collections';
5
+ import getSettings from './settings';
6
+ import mapPlacements from './placements';
7
+ export default (schedule) => {
8
+ let { input: { settings, default: _default, dependencies, groups, events, areas, } } = schedule;
9
+ const [configuration, ..._] = schedule.output || [];
10
+ let teachers;
11
+ let locations;
12
+ if (!settings)
13
+ throw new Error(`Settings cannot be undefined`);
14
+ if (dependencies)
15
+ locations = getDependencies(dependencies, settings);
16
+ if (groups)
17
+ teachers = getTeachers(groups, settings);
18
+ if (groups)
19
+ groups = getGroups(groups, settings);
20
+ if (events)
21
+ events = getCollections(events, (teachers || []).map((x) => x.ids), (groups || []).map((x) => x.ids), settings);
22
+ settings = getSettings(settings, _default);
23
+ if (configuration) {
24
+ const _placements = mapPlacements(configuration, { idKey: 'ids' });
25
+ let i = -1;
26
+ events?.forEach((collection) => {
27
+ collection.events?.forEach((event) => {
28
+ i++;
29
+ const _placedEvent = _placements.find(({ ids }) => ids == event.ids);
30
+ if (_placedEvent)
31
+ return Object.assign(event, _placedEvent);
32
+ return Object.assign(event, _placements[i]);
33
+ });
34
+ });
35
+ }
36
+ return {
37
+ ...locations && { locations },
38
+ ...teachers && { teachers },
39
+ ...groups && { groups },
40
+ ...events && { courses: events },
41
+ ...areas && { area: areas },
42
+ ...settings && { settings }
43
+ };
44
+ };
45
+ //# sourceMappingURL=schedules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/schedules.ts"],"names":[],"mappings":"AAIA,OAAO,eAAe,MAA0B,gBAAgB,CAAC;AACjE,OAAO,WAAW,MAA8B,YAAY,CAAC;AAC7D,OAAO,SAAS,MAAgC,UAAU,CAAC;AAC3D,OAAO,cAAc,MAA2B,eAAe,CAAC;AAChE,OAAO,WAAW,MAA8B,YAAY,CAAC;AAC7D,OAAO,aAAa,MAA4B,cAAc,CAAC;AAE/D,eAAe,CAAC,QAAkB,EAAY,EAAE;IAE9C,IAAI,EACF,KAAK,EAAE,EACL,QAAQ,EACR,OAAO,EAAE,QAAQ,EACjB,YAAY,EACZ,MAAM,EACN,MAAM,EACN,KAAK,GACN,EACF,GAAQ,QAAQ,CAAC;IAElB,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IAEpD,IAAI,QAA4B,CAAC;IACjC,IAAI,SAA4B,CAAC;IAEjC,IAAI,CAAE,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAElD,IAAI,YAAY;QACd,SAAS,GAAM,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACzD,IAAI,MAAM;QACR,QAAQ,GAAO,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,MAAM;QACR,MAAM,GAAS,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,MAAM;QACR,MAAM,GAAS,cAAc,CAAC,MAAM,EACN,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EACvC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EACrC,QAAQ,CAAC,CAAC;IAC1C,QAAQ,GAAS,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEjD,IAAI,aAAa,EAAE;QACjB,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,GAAW,CAAC,CAAC,CAAC;QAEnB,MAAM,EAAE,OAAO,CAAC,CAAC,UAAe,EAAE,EAAE;YAClC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;gBACxC,CAAC,EAAE,CAAC;gBACJ,MAAM,YAAY,GAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE1E,IAAI,YAAY;oBACd,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAE5C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;KACH;IAED,OAAO;QACL,GAAG,SAAS,IAAI,EAAE,SAAS,EAAE;QAC7B,GAAG,QAAQ,IAAK,EAAE,QAAQ,EAAE;QAC5B,GAAG,MAAM,IAAO,EAAE,MAAM,EAAE;QAC1B,GAAG,MAAM,IAAO,EAAE,OAAO,EAAE,MAAM,EAAE;QACnC,GAAG,KAAK,IAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;QAC/B,GAAG,QAAQ,IAAK,EAAE,QAAQ,EAAE;KAC7B,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { Settings } from '../types/settings';
2
+ import { Default } from '../types/default';
3
+ import { DivisionSettings } from '../../../core/types/division-settings';
4
+ declare const _default_1: (settings: Settings, _default: Default) => DivisionSettings;
5
+ export default _default_1;
@@ -0,0 +1,25 @@
1
+ import _ from 'lodash';
2
+ export default (settings, _default) => {
3
+ let EMBL = _default.eventMinBreakLength;
4
+ let MNDWH = _default.maxNumDailyWorkingHours;
5
+ return {
6
+ numDays: settings.numDays,
7
+ discretization: settings.discretization,
8
+ dayStart: _default.intervals[0].beg?.toFixed(2).replace('.', ':'),
9
+ dayEnd: _default.intervals[0].end?.toFixed(2).replace('.', ':'),
10
+ defaultDependencyMinimumBreakLength: _default.dependencyMinBreakLength,
11
+ defaultGroupMinimumBreakLength: _default.groupMinBreakLength,
12
+ defaultEventMinimumBreakLength: _.isObject(EMBL) ? 0.5 * (EMBL.bef + EMBL.aft) : _.isNumber(EMBL) ? EMBL : 0,
13
+ potentialCenter: _default.potentialCenter?.toFixed(2).replace('.', ':'),
14
+ defaultEventDensity: _default.eventDensity,
15
+ defaultMaxNumWorkingHours: _default.maxNumWorkingHours,
16
+ defaultMaxNumDailyWorkingHours: _.isArray(MNDWH) ? MNDWH[0] : MNDWH,
17
+ defaultDependencyRank: _default.dependencyRank,
18
+ defaultGroupRank: _default.groupRank,
19
+ defaultDayRank: _default.dayRank,
20
+ defaultEventWeight: _default.eventWeight,
21
+ defaultGroupWeight: _default.groupWeight,
22
+ defaultCourseWeight: _default.collectionWeight
23
+ };
24
+ };
25
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/settings.ts"],"names":[],"mappings":"AAIA,OAAO,CAAC,MAAwC,QAAQ,CAAC;AAEzD,eAAe,CAAC,QAAkB,EAAE,QAAiB,EAAoB,EAAE;IAEzE,IAAI,IAAI,GAAI,QAAQ,CAAC,mBAAmB,CAAC;IACzC,IAAI,KAAK,GAAG,QAAQ,CAAC,uBAAuB,CAAC;IAE7C,OAAO;QACL,OAAO,EAA8B,QAAQ,CAAC,OAAO;QACrD,cAAc,EAAuB,QAAQ,CAAC,cAAc;QAE5D,QAAQ,EAA6B,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAC5F,MAAM,EAA+B,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAE5F,mCAAmC,EAAE,QAAQ,CAAC,wBAAwB;QACtE,8BAA8B,EAAO,QAAQ,CAAC,mBAAmB;QACjE,8BAA8B,EAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/G,eAAe,EAAsB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAC3F,mBAAmB,EAAkB,QAAQ,CAAC,YAAY;QAE1D,yBAAyB,EAAY,QAAQ,CAAC,kBAAkB;QAChE,8BAA8B,EAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;QAExE,qBAAqB,EAAgB,QAAQ,CAAC,cAAc;QAC5D,gBAAgB,EAAqB,QAAQ,CAAC,SAAS;QACvD,cAAc,EAAuB,QAAQ,CAAC,OAAO;QAErD,kBAAkB,EAAmB,QAAQ,CAAC,WAAW;QACzD,kBAAkB,EAAmB,QAAQ,CAAC,WAAW;QACzD,mBAAmB,EAAkB,QAAQ,CAAC,gBAAgB;KAC/D,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Group } from '../types/groups';
2
+ import { Teacher as SourceTeacher } from '../../../core/types/teachers';
3
+ declare const _default: (teachers: Group[], settings: any) => SourceTeacher[];
4
+ export default _default;
@@ -0,0 +1,32 @@
1
+ import breakLength from './break-lengths';
2
+ import days from './days';
3
+ import lockedTime from './locked-times';
4
+ import intervals from './intervals';
5
+ export default (teachers, settings) => {
6
+ const idKey = settings.groupIdKey;
7
+ if (!idKey)
8
+ throw new Error('property "groupIdKey" in settings is undefined');
9
+ return teachers.reduce((acc, teacher) => {
10
+ if (!['personal', 'classes'].includes(teacher.group_type))
11
+ throw new Error('property "group_type" must exist on all entries in "groups" array');
12
+ if (!teacher[idKey])
13
+ throw new Error('A teacher does not have a unique key');
14
+ if (teacher.group_type != 'personal')
15
+ return acc;
16
+ return acc.concat({
17
+ ids: teacher[idKey],
18
+ ...teacher.name && { displayName: teacher.name },
19
+ ...'forbidOverlappingEvents' in teacher && { forbidOverlappingEvents: teacher.forbidOverlappingEvents },
20
+ ...'maxNumWorkingHours' in teacher && { maxNumWorkingHours: teacher.maxNumWorkingHours },
21
+ ...'maxNumDailyWorkingHours' in teacher && { maxNumDailyWorkingHours: teacher.maxNumDailyWorkingHours },
22
+ ...'minBreakLength' in teacher && { minBreakLength: breakLength(teacher.minBreakLength) },
23
+ ...'disableDayLengthPunishment' in teacher && { disableDayLengthPunishment: teacher.disableDayLengthPunishment },
24
+ ...'weight' in teacher && { weight: teacher.weight },
25
+ ...'rank' in teacher && { rank: teacher.rank },
26
+ ...(teacher.days?.length) && { days: days(teacher.days, settings) },
27
+ ...(teacher.intervals?.length) && { intervals: intervals(teacher.intervals) },
28
+ ...(teacher.lockedTimes?.length) && { lockedTimes: lockedTime(teacher.lockedTimes) },
29
+ });
30
+ }, []);
31
+ };
32
+ //# sourceMappingURL=teachers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teachers.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/teachers.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAA8B,iBAAiB,CAAC;AAClE,OAAO,IAAI,MAAqC,QAAQ,CAAC;AACzD,OAAO,UAAU,MAA+B,gBAAgB,CAAC;AACjE,OAAO,SAAS,MAAgC,aAAa,CAAC;AAM9D,eAAe,CAAC,QAAmB,EACnB,QAAe,EAAmB,EAAE;IAElD,MAAM,KAAK,GAAgB,QAAQ,CAAC,UAAU,CAAC;IAE/C,IAAI,CAAE,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEpE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAU,EAAE,OAAc,EAAE,EAAE;QAEpD,IAAI,CAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QAEvF,IAAI,CAAE,OAAO,CAAC,KAAK,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAE1D,IAAI,OAAO,CAAC,UAAU,IAAI,UAAU;YAClC,OAAO,GAAG,CAAC;QAEb,OAAO,GAAG,CAAC,MAAM,CAAC;YAChB,GAAG,EAAyE,OAAO,CAAC,KAAK,CAAC;YAC1F,GAAG,OAAO,CAAC,IAAI,IAA+B,EAAE,WAAW,EAAiB,OAAO,CAAC,IAAI,EAAE;YAC1F,GAAG,yBAAyB,IAAO,OAAO,IAAI,EAAE,uBAAuB,EAAK,OAAO,CAAC,uBAAuB,EAAE;YAC7G,GAAG,oBAAoB,IAAY,OAAO,IAAI,EAAE,kBAAkB,EAAU,OAAO,CAAC,kBAAkB,EAAE;YACxG,GAAG,yBAAyB,IAAO,OAAO,IAAI,EAAE,uBAAuB,EAAK,OAAO,CAAC,uBAAuB,EAAE;YAC7G,GAAG,gBAAgB,IAAgB,OAAO,IAAI,EAAE,cAAc,EAAc,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACjH,GAAG,4BAA4B,IAAI,OAAO,IAAI,EAAE,0BAA0B,EAAE,OAAO,CAAC,0BAA0B,EAAE;YAChH,GAAG,QAAQ,IAAwB,OAAO,IAAI,EAAE,MAAM,EAAsB,OAAO,CAAC,MAAM,EAAE;YAC5F,GAAG,MAAM,IAA0B,OAAO,IAAI,EAAE,IAAI,EAAwB,OAAO,CAAC,IAAI,EAAE;YAC1F,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAqB,EAAE,IAAI,EAAwB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;YAC1G,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAgB,EAAE,SAAS,EAAmB,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC1G,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,IAAc,EAAE,WAAW,EAAiB,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;SAC9G,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import _from from './from';
2
+ import _to from './to';
3
+ export * from './types';
4
+ export declare class V2 {
5
+ static to: typeof _to;
6
+ static from: typeof _from;
7
+ }
@@ -0,0 +1,8 @@
1
+ import _from from './from';
2
+ import _to from './to';
3
+ export * from './types';
4
+ export class V2 {
5
+ }
6
+ V2.to = _to;
7
+ V2.from = _from;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/RS/v2/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAoC,QAAQ,CAAC;AACzD,OAAO,GAAG,MAAsC,MAAM,CAAC;AACvD,cAAgD,SAAS,CAAC;AAE1D,MAAM,OAAO,EAAE;;AACN,KAAE,GAAK,GAAG,CAAC;AACX,OAAI,GAAG,KAAK,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { OutOptions } from '../types/out-options';
2
+ import { AvailableDependency } from '../types/available-dependencies';
3
+ import { AvailableLocation as Source } from '../../../core/types/available-locations';
4
+ declare const _default: (availableLocations: Source[], options: OutOptions) => AvailableDependency[][];
5
+ export default _default;