@royalschedule/maps 3.3.17 → 4.0.1

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 (948) hide show
  1. package/README.md +1 -0
  2. package/dist/Additio/from/courses.js.map +1 -1
  3. package/dist/Additio/from/events.js.map +1 -1
  4. package/dist/Additio/from/groups.js.map +1 -1
  5. package/dist/Additio/from/index.js.map +1 -1
  6. package/dist/Additio/from/locations.js.map +1 -1
  7. package/dist/Additio/from/persons.js +1 -1
  8. package/dist/Additio/from/persons.js.map +1 -1
  9. package/dist/Additio/from/schedules.d.ts +32 -2
  10. package/dist/Additio/from/schedules.js.map +1 -1
  11. package/dist/Additio/from/teachers.js.map +1 -1
  12. package/dist/Additio/index.js.map +1 -1
  13. package/dist/Additio/to/index.d.ts +12 -12
  14. package/dist/Additio/to/index.js.map +1 -1
  15. package/dist/Additio/to/schedules.js +44 -46
  16. package/dist/Additio/to/schedules.js.map +1 -1
  17. package/dist/Additio/types/options.d.ts +8 -0
  18. package/dist/Admentum/from/courses.js.map +1 -1
  19. package/dist/Admentum/from/events.js.map +1 -1
  20. package/dist/Admentum/from/groups.js.map +1 -1
  21. package/dist/Admentum/from/index.js.map +1 -1
  22. package/dist/Admentum/from/locations.js.map +1 -1
  23. package/dist/Admentum/from/persons.js +1 -1
  24. package/dist/Admentum/from/persons.js.map +1 -1
  25. package/dist/Admentum/from/schedules.d.ts +32 -2
  26. package/dist/Admentum/from/schedules.js.map +1 -1
  27. package/dist/Admentum/from/teachers.js.map +1 -1
  28. package/dist/Admentum/index.js.map +1 -1
  29. package/dist/Admentum/to/index.d.ts +11 -10
  30. package/dist/Admentum/to/index.js.map +1 -1
  31. package/dist/Admentum/to/schedules.js +22 -25
  32. package/dist/Admentum/to/schedules.js.map +1 -1
  33. package/dist/Excel/index.d.ts +55 -4
  34. package/dist/Excel/index.js.map +1 -1
  35. package/dist/Excel/v1/from/index.js +7 -7
  36. package/dist/Excel/v1/from/index.js.map +1 -1
  37. package/dist/Excel/v1/index.d.ts +30 -2
  38. package/dist/Excel/v1/index.js.map +1 -1
  39. package/dist/Excel/v2/from/index.js +10 -10
  40. package/dist/Excel/v2/from/index.js.map +1 -1
  41. package/dist/Excel/v2/index.d.ts +53 -2
  42. package/dist/Excel/v2/index.js.map +1 -1
  43. package/dist/IdunSoft/from/courses.js +4 -3
  44. package/dist/IdunSoft/from/courses.js.map +1 -1
  45. package/dist/IdunSoft/from/events.js +43 -32
  46. package/dist/IdunSoft/from/events.js.map +1 -1
  47. package/dist/IdunSoft/from/groups.js +5 -4
  48. package/dist/IdunSoft/from/groups.js.map +1 -1
  49. package/dist/IdunSoft/from/index.js.map +1 -1
  50. package/dist/IdunSoft/from/locations.js +4 -3
  51. package/dist/IdunSoft/from/locations.js.map +1 -1
  52. package/dist/IdunSoft/from/schedules.d.ts +18 -3
  53. package/dist/IdunSoft/from/schedules.js +5 -10
  54. package/dist/IdunSoft/from/schedules.js.map +1 -1
  55. package/dist/IdunSoft/from/teachers.js +4 -3
  56. package/dist/IdunSoft/from/teachers.js.map +1 -1
  57. package/dist/IdunSoft/index.js.map +1 -1
  58. package/dist/IdunSoft/to/index.d.ts +2 -3
  59. package/dist/IdunSoft/to/index.js.map +1 -1
  60. package/dist/IdunSoft/to/schedules.js +22 -21
  61. package/dist/IdunSoft/to/schedules.js.map +1 -1
  62. package/dist/InfoMentor/index.js.map +1 -1
  63. package/dist/InfoMentor/to/index.d.ts +2 -2
  64. package/dist/InfoMentor/to/index.js.map +1 -1
  65. package/dist/InfoMentor/to/schedules.js +26 -27
  66. package/dist/InfoMentor/to/schedules.js.map +1 -1
  67. package/dist/PlanDigital/from/index.js.map +1 -1
  68. package/dist/PlanDigital/from/schedules.js +7 -6
  69. package/dist/PlanDigital/from/schedules.js.map +1 -1
  70. package/dist/PlanDigital/index.d.ts +106 -5
  71. package/dist/PlanDigital/index.js +0 -2
  72. package/dist/PlanDigital/index.js.map +1 -1
  73. package/dist/PlanDigital/types/index.d.ts +12 -11
  74. package/dist/Quiculum/file/to/index.d.ts +1 -1
  75. package/dist/Quiculum/file/to/schedules.js +11 -13
  76. package/dist/Quiculum/file/to/schedules.js.map +1 -1
  77. package/dist/RS/from/division.d.ts +7 -0
  78. package/dist/RS/from/division.js +14 -0
  79. package/dist/RS/from/division.js.map +1 -0
  80. package/dist/RS/from/index.js +12 -0
  81. package/dist/RS/from/index.js.map +1 -0
  82. package/dist/RS/from/schedules.d.ts +8 -0
  83. package/dist/RS/from/schedules.js +36 -0
  84. package/dist/RS/from/schedules.js.map +1 -0
  85. package/dist/RS/index.d.ts +11 -12
  86. package/dist/RS/index.js +4 -8
  87. package/dist/RS/index.js.map +1 -1
  88. package/dist/RS/make-connected.d.ts +24 -0
  89. package/dist/RS/make-connected.js +258 -0
  90. package/dist/RS/make-connected.js.map +1 -0
  91. package/dist/RS/to/index.js +8 -0
  92. package/dist/RS/to/index.js.map +1 -0
  93. package/dist/RS/to/initial-configuration.js +43 -0
  94. package/dist/RS/to/initial-configuration.js.map +1 -0
  95. package/dist/RS/to/input/collections.js +57 -0
  96. package/dist/RS/to/input/collections.js.map +1 -0
  97. package/dist/RS/{v3/to → to/input}/default.js +10 -18
  98. package/dist/RS/to/input/default.js.map +1 -0
  99. package/dist/RS/to/input/dependencies.js +32 -0
  100. package/dist/RS/to/input/dependencies.js.map +1 -0
  101. package/dist/RS/to/input/dynamic-locked-times.js +67 -0
  102. package/dist/RS/to/input/dynamic-locked-times.js.map +1 -0
  103. package/dist/RS/to/input/events.js +84 -0
  104. package/dist/RS/to/input/events.js.map +1 -0
  105. package/dist/RS/to/input/groups.js +36 -0
  106. package/dist/RS/to/input/groups.js.map +1 -0
  107. package/dist/RS/to/input/individuals.js +49 -0
  108. package/dist/RS/to/input/individuals.js.map +1 -0
  109. package/dist/RS/to/input/input.js +40 -0
  110. package/dist/RS/to/input/input.js.map +1 -0
  111. package/dist/RS/to/input/intervals.js +99 -0
  112. package/dist/RS/to/input/intervals.js.map +1 -0
  113. package/dist/RS/to/input/periods.js +44 -0
  114. package/dist/RS/to/input/periods.js.map +1 -0
  115. package/dist/RS/to/input/settings.js +17 -0
  116. package/dist/RS/to/input/settings.js.map +1 -0
  117. package/dist/RS/to/input/teachers.js +36 -0
  118. package/dist/RS/to/input/teachers.js.map +1 -0
  119. package/dist/RS/to/input/util/attach-locked-times.js +27 -0
  120. package/dist/RS/to/input/util/attach-locked-times.js.map +1 -0
  121. package/dist/RS/to/input/util/parse-days.js +10 -0
  122. package/dist/RS/to/input/util/parse-days.js.map +1 -0
  123. package/dist/RS/to/input/util/parse-group-references.js +58 -0
  124. package/dist/RS/to/input/util/parse-group-references.js.map +1 -0
  125. package/dist/RS/to/input/util/parse-intervals.js +55 -0
  126. package/dist/RS/to/input/util/parse-intervals.js.map +1 -0
  127. package/dist/RS/to/input/util/parse-location-references.js +31 -0
  128. package/dist/RS/to/input/util/parse-location-references.js.map +1 -0
  129. package/dist/RS/to/input/util/parse-max-working-hours.js +17 -0
  130. package/dist/RS/to/input/util/parse-max-working-hours.js.map +1 -0
  131. package/dist/RS/to/input/util/parse-minimum-break-length.js +19 -0
  132. package/dist/RS/to/input/util/parse-minimum-break-length.js.map +1 -0
  133. package/dist/RS/to/input/util/util.js +61 -0
  134. package/dist/RS/to/input/util/util.js.map +1 -0
  135. package/dist/RS/to/schedules.d.ts +7 -0
  136. package/dist/RS/to/schedules.js +40 -0
  137. package/dist/RS/to/schedules.js.map +1 -0
  138. package/dist/RS/{v3/types → types}/algorithm-parameters.d.ts +1 -1
  139. package/dist/RS/types/collections.d.ts +26 -0
  140. package/dist/RS/types/configurations.d.ts +10 -0
  141. package/dist/RS/{v3/types → types}/default.d.ts +4 -5
  142. package/dist/RS/types/dependencies.d.ts +16 -0
  143. package/dist/RS/types/event-configuration.d.ts +20 -0
  144. package/dist/RS/types/events.d.ts +27 -0
  145. package/dist/RS/{v2/types → types}/groups.d.ts +13 -12
  146. package/dist/RS/types/index.d.ts +45 -0
  147. package/dist/RS/types/individuals.d.ts +16 -0
  148. package/dist/RS/{v2/types → types}/locked-times.d.ts +2 -1
  149. package/dist/RS/types/root-intervals.d.ts +10 -0
  150. package/dist/RS/types/schedule-data.d.ts +16 -0
  151. package/dist/RS/{v2/types → types}/settings.d.ts +1 -1
  152. package/dist/RS/types/shared.d.ts +27 -0
  153. package/dist/RS/types/to.d.ts +59 -0
  154. package/dist/SchoolSoft/api/from/index.js.map +1 -1
  155. package/dist/SchoolSoft/api/from/schedules.js +31 -37
  156. package/dist/SchoolSoft/api/from/schedules.js.map +1 -1
  157. package/dist/SchoolSoft/api/index.d.ts +14 -2
  158. package/dist/SchoolSoft/api/index.js.map +1 -1
  159. package/dist/SchoolSoft/file/from/index.js.map +1 -1
  160. package/dist/SchoolSoft/file/from/schedules.js +36 -46
  161. package/dist/SchoolSoft/file/from/schedules.js.map +1 -1
  162. package/dist/SchoolSoft/file/index.d.ts +2 -3
  163. package/dist/SchoolSoft/file/index.js.map +1 -1
  164. package/dist/SchoolSoft/file/to/index.d.ts +6 -13
  165. package/dist/SchoolSoft/file/to/schedules.js +40 -42
  166. package/dist/SchoolSoft/file/to/schedules.js.map +1 -1
  167. package/dist/SchoolSoft/index.d.ts +2 -3
  168. package/dist/SchoolSoft/index.js.map +1 -1
  169. package/dist/Schoolity/txt/index.js.map +1 -1
  170. package/dist/Schoolity/txt/to/index.d.ts +3 -3
  171. package/dist/Schoolity/txt/to/index.js.map +1 -1
  172. package/dist/Schoolity/txt/to/schedules.js +78 -96
  173. package/dist/Schoolity/txt/to/schedules.js.map +1 -1
  174. package/dist/Skola24/index.js.map +1 -1
  175. package/dist/Skola24/mdb/from/course-and-events.js +36 -29
  176. package/dist/Skola24/mdb/from/course-and-events.js.map +1 -1
  177. package/dist/Skola24/mdb/from/groups.js.map +1 -1
  178. package/dist/Skola24/mdb/from/index.js.map +1 -1
  179. package/dist/Skola24/mdb/from/locations.js.map +1 -1
  180. package/dist/Skola24/mdb/from/schedule.d.ts +21 -3
  181. package/dist/Skola24/mdb/from/schedule.js +15 -17
  182. package/dist/Skola24/mdb/from/schedule.js.map +1 -1
  183. package/dist/Skola24/mdb/from/teachers.js.map +1 -1
  184. package/dist/Skola24/mdb/index.js.map +1 -1
  185. package/dist/Skola24/mdb/types/index.d.ts +7 -0
  186. package/dist/Skola24/txt/from/calendar-exceptions.js.map +1 -1
  187. package/dist/Skola24/txt/from/division.js.map +1 -1
  188. package/dist/Skola24/txt/from/index.js.map +1 -1
  189. package/dist/Skola24/txt/from/period.js.map +1 -1
  190. package/dist/Skola24/txt/from/schedules.d.ts +16 -0
  191. package/dist/Skola24/txt/from/schedules.js +90 -80
  192. package/dist/Skola24/txt/from/schedules.js.map +1 -1
  193. package/dist/Skola24/txt/index.d.ts +17 -5
  194. package/dist/Skola24/txt/index.js.map +1 -1
  195. package/dist/Skola24/txt/to/index.d.ts +3 -3
  196. package/dist/Skola24/txt/to/index.js.map +1 -1
  197. package/dist/Skola24/txt/to/schedules.js +76 -91
  198. package/dist/Skola24/txt/to/schedules.js.map +1 -1
  199. package/dist/Skola24/txt/types/index.d.ts +17 -1
  200. package/dist/common/constants.js +2 -2
  201. package/dist/common/constants.js.map +1 -1
  202. package/dist/common/functions.js +16 -21
  203. package/dist/common/functions.js.map +1 -1
  204. package/dist/common/get-date.js +5 -6
  205. package/dist/common/get-date.js.map +1 -1
  206. package/dist/common/make-chainable/index.js +36 -0
  207. package/dist/common/make-chainable/index.js.map +1 -0
  208. package/dist/common/types.d.ts +19 -0
  209. package/dist/core/from/courses.js +12 -0
  210. package/dist/core/from/courses.js.map +1 -0
  211. package/dist/core/from/events.js +13 -0
  212. package/dist/core/from/events.js.map +1 -0
  213. package/dist/core/from/exceptions.js +12 -0
  214. package/dist/core/from/exceptions.js.map +1 -0
  215. package/dist/core/from/groups.js +12 -0
  216. package/dist/core/from/groups.js.map +1 -0
  217. package/dist/core/{v2/from → from}/index.js +1 -1
  218. package/dist/core/from/index.js.map +1 -0
  219. package/dist/core/from/locations.js +12 -0
  220. package/dist/core/from/locations.js.map +1 -0
  221. package/dist/core/from/locked-times.js +12 -0
  222. package/dist/core/from/locked-times.js.map +1 -0
  223. package/dist/core/from/overlap-groups.js +12 -0
  224. package/dist/core/from/overlap-groups.js.map +1 -0
  225. package/dist/core/from/periods.js +12 -0
  226. package/dist/core/from/periods.js.map +1 -0
  227. package/dist/core/from/persons.js +12 -0
  228. package/dist/core/from/persons.js.map +1 -0
  229. package/dist/core/from/root-intervals.js +12 -0
  230. package/dist/core/from/root-intervals.js.map +1 -0
  231. package/dist/core/from/schedules.d.ts +7 -0
  232. package/dist/core/from/schedules.js +35 -0
  233. package/dist/core/from/schedules.js.map +1 -0
  234. package/dist/core/{v2/from → from}/syllabuses.js +1 -1
  235. package/dist/core/from/syllabuses.js.map +1 -0
  236. package/dist/core/from/teachers.js +12 -0
  237. package/dist/core/from/teachers.js.map +1 -0
  238. package/dist/core/index.d.ts +6 -12
  239. package/dist/core/index.js +4 -6
  240. package/dist/core/index.js.map +1 -1
  241. package/dist/core/to/courses.js +43 -0
  242. package/dist/core/to/courses.js.map +1 -0
  243. package/dist/core/to/division.js +10 -0
  244. package/dist/core/to/division.js.map +1 -0
  245. package/dist/core/to/events.js +43 -0
  246. package/dist/core/to/events.js.map +1 -0
  247. package/dist/core/to/exceptions.js +27 -0
  248. package/dist/core/to/exceptions.js.map +1 -0
  249. package/dist/core/to/groups.js +23 -0
  250. package/dist/core/to/groups.js.map +1 -0
  251. package/dist/core/{v1/to → to}/index.d.ts +1 -1
  252. package/dist/{RS/v3 → core}/to/index.js +1 -1
  253. package/dist/core/to/index.js.map +1 -0
  254. package/dist/core/to/locations.js +19 -0
  255. package/dist/core/to/locations.js.map +1 -0
  256. package/dist/core/to/locked-times.js +21 -0
  257. package/dist/core/to/locked-times.js.map +1 -0
  258. package/dist/core/to/overlap-groups.js +28 -0
  259. package/dist/core/to/overlap-groups.js.map +1 -0
  260. package/dist/core/to/periods.js +17 -0
  261. package/dist/core/to/periods.js.map +1 -0
  262. package/dist/core/to/persons.js +23 -0
  263. package/dist/core/to/persons.js.map +1 -0
  264. package/dist/core/to/root-intervals.js +17 -0
  265. package/dist/core/to/root-intervals.js.map +1 -0
  266. package/dist/core/to/schedules.d.ts +44 -0
  267. package/dist/core/to/schedules.js +40 -0
  268. package/dist/core/to/schedules.js.map +1 -0
  269. package/dist/core/to/settings.js +16 -0
  270. package/dist/core/to/settings.js.map +1 -0
  271. package/dist/core/to/syllabuses.js +17 -0
  272. package/dist/core/to/syllabuses.js.map +1 -0
  273. package/dist/core/to/teachers.js +24 -0
  274. package/dist/core/to/teachers.js.map +1 -0
  275. package/dist/core/to/util.d.ts +14 -0
  276. package/dist/core/to/util.js +22 -0
  277. package/dist/core/to/util.js.map +1 -0
  278. package/dist/core/types/areas.d.ts +10 -0
  279. package/dist/core/types/common/break-lengths.d.ts +5 -0
  280. package/dist/core/types/common/days.d.ts +8 -0
  281. package/dist/core/types/common/index.d.ts +45 -0
  282. package/dist/core/types/common/intervals.d.ts +20 -0
  283. package/dist/core/types/common/maximum-schedule-span.d.ts +19 -0
  284. package/dist/core/{v2/types → types/common}/meta.d.ts +1 -1
  285. package/dist/core/types/common/planned-schedule-duration.d.ts +13 -0
  286. package/dist/core/types/common/tag.d.ts +9 -0
  287. package/dist/core/types/courses.d.ts +58 -0
  288. package/dist/core/{v2/types → types}/division-settings.d.ts +14 -19
  289. package/dist/core/types/divisions.d.ts +24 -0
  290. package/dist/core/types/events.d.ts +54 -0
  291. package/dist/core/{v2/types → types}/exceptions.d.ts +14 -23
  292. package/dist/core/types/groups.d.ts +41 -0
  293. package/dist/core/types/index.d.ts +117 -15
  294. package/dist/core/types/locations.d.ts +27 -0
  295. package/dist/core/types/locked-times.d.ts +33 -0
  296. package/dist/core/types/overlap-groups.d.ts +14 -0
  297. package/dist/core/types/periods.d.ts +14 -0
  298. package/dist/core/{v2/types → types}/persons.d.ts +13 -22
  299. package/dist/core/types/root-intervals.d.ts +13 -0
  300. package/dist/core/types/schedules.d.ts +44 -0
  301. package/dist/core/types/syllabus.d.ts +18 -0
  302. package/dist/core/{v2/types → types}/teachers.d.ts +20 -30
  303. package/dist/core/util.js +46 -0
  304. package/dist/core/util.js.map +1 -0
  305. package/dist/core/vertex-mapping.d.ts +69 -0
  306. package/dist/identify/constants/index.d.ts +14 -58
  307. package/dist/identify/constants/index.js +7 -72
  308. package/dist/identify/constants/index.js.map +1 -1
  309. package/dist/identify/index.d.ts +1 -1
  310. package/dist/identify/index.js +38 -29
  311. package/dist/identify/index.js.map +1 -1
  312. package/dist/index.d.ts +23 -29
  313. package/dist/index.js +6 -7
  314. package/dist/sdui/from/classes.js.map +1 -1
  315. package/dist/sdui/from/courses.js.map +1 -1
  316. package/dist/sdui/from/holidays.js.map +1 -1
  317. package/dist/sdui/from/hours.js.map +1 -1
  318. package/dist/sdui/from/lessons.js.map +1 -1
  319. package/dist/sdui/from/rooms.js.map +1 -1
  320. package/dist/sdui/from/schedules.d.ts +19 -0
  321. package/dist/sdui/from/schedules.js +3 -3
  322. package/dist/sdui/from/schedules.js.map +1 -1
  323. package/dist/sdui/from/school-years.js.map +1 -1
  324. package/dist/sdui/from/subjects.js.map +1 -1
  325. package/dist/sdui/from/substitution-plans.js.map +1 -1
  326. package/dist/sdui/from/teachers.js.map +1 -1
  327. package/dist/sdui/index.d.ts +19 -11
  328. package/dist/sdui/index.js.map +1 -1
  329. package/dist/sdui/to/classes.js +4 -2
  330. package/dist/sdui/to/classes.js.map +1 -1
  331. package/dist/sdui/to/courses.js +5 -5
  332. package/dist/sdui/to/courses.js.map +1 -1
  333. package/dist/sdui/to/holidays.js +3 -2
  334. package/dist/sdui/to/holidays.js.map +1 -1
  335. package/dist/sdui/to/hours.js +4 -2
  336. package/dist/sdui/to/hours.js.map +1 -1
  337. package/dist/sdui/to/index.d.ts +11 -12
  338. package/dist/sdui/to/lessons.js +10 -9
  339. package/dist/sdui/to/lessons.js.map +1 -1
  340. package/dist/sdui/to/rooms.js +4 -2
  341. package/dist/sdui/to/rooms.js.map +1 -1
  342. package/dist/sdui/to/schedules.js +9 -9
  343. package/dist/sdui/to/schedules.js.map +1 -1
  344. package/dist/sdui/to/school-years.js +4 -3
  345. package/dist/sdui/to/school-years.js.map +1 -1
  346. package/dist/sdui/to/subjects.js.map +1 -1
  347. package/dist/sdui/to/substitution-plans.js +12 -11
  348. package/dist/sdui/to/substitution-plans.js.map +1 -1
  349. package/dist/sdui/to/teachers.js +4 -4
  350. package/dist/sdui/to/teachers.js.map +1 -1
  351. package/dist/sdui/types/index.d.ts +2 -0
  352. package/dist/vKlass/from/index.js +1 -3
  353. package/dist/vKlass/from/index.js.map +1 -1
  354. package/dist/vKlass/from/schedule.d.ts +18 -3
  355. package/dist/vKlass/from/schedule.js +16 -19
  356. package/dist/vKlass/from/schedule.js.map +1 -1
  357. package/dist/vKlass/index.d.ts +6 -4
  358. package/dist/vKlass/index.js.map +1 -1
  359. package/dist/vKlass/to/schedules.d.ts +1 -1
  360. package/dist/vKlass/to/schedules.js +5 -12
  361. package/dist/vKlass/to/schedules.js.map +1 -1
  362. package/dist/vKlass/types/index.d.ts +5 -5
  363. package/package.json +38 -29
  364. package/dist/PlanDigital/to/index.d.ts +0 -10
  365. package/dist/PlanDigital/to/index.js +0 -10
  366. package/dist/PlanDigital/to/index.js.map +0 -1
  367. package/dist/PlanDigital/to/schedules.js +0 -15
  368. package/dist/PlanDigital/to/schedules.js.map +0 -1
  369. package/dist/RS/v0/from/available-dependencies.js +0 -38
  370. package/dist/RS/v0/from/available-dependencies.js.map +0 -1
  371. package/dist/RS/v0/from/break-lengths.js +0 -15
  372. package/dist/RS/v0/from/break-lengths.js.map +0 -1
  373. package/dist/RS/v0/from/course-events.js +0 -68
  374. package/dist/RS/v0/from/course-events.js.map +0 -1
  375. package/dist/RS/v0/from/courses.js +0 -53
  376. package/dist/RS/v0/from/courses.js.map +0 -1
  377. package/dist/RS/v0/from/days.js +0 -14
  378. package/dist/RS/v0/from/days.js.map +0 -1
  379. package/dist/RS/v0/from/dependencies.js +0 -29
  380. package/dist/RS/v0/from/dependencies.js.map +0 -1
  381. package/dist/RS/v0/from/groups.js +0 -32
  382. package/dist/RS/v0/from/groups.js.map +0 -1
  383. package/dist/RS/v0/from/index.js +0 -32
  384. package/dist/RS/v0/from/index.js.map +0 -1
  385. package/dist/RS/v0/from/intervals.js +0 -15
  386. package/dist/RS/v0/from/intervals.js.map +0 -1
  387. package/dist/RS/v0/from/locked-times.js +0 -23
  388. package/dist/RS/v0/from/locked-times.js.map +0 -1
  389. package/dist/RS/v0/from/placements.js +0 -20
  390. package/dist/RS/v0/from/placements.js.map +0 -1
  391. package/dist/RS/v0/from/schedules.js +0 -44
  392. package/dist/RS/v0/from/schedules.js.map +0 -1
  393. package/dist/RS/v0/from/settings.js +0 -24
  394. package/dist/RS/v0/from/settings.js.map +0 -1
  395. package/dist/RS/v0/from/teachers.js +0 -31
  396. package/dist/RS/v0/from/teachers.js.map +0 -1
  397. package/dist/RS/v0/index.d.ts +0 -43
  398. package/dist/RS/v0/index.js +0 -12
  399. package/dist/RS/v0/index.js.map +0 -1
  400. package/dist/RS/v0/to/available-dependencies.js +0 -17
  401. package/dist/RS/v0/to/available-dependencies.js.map +0 -1
  402. package/dist/RS/v0/to/configurations.js +0 -22
  403. package/dist/RS/v0/to/configurations.js.map +0 -1
  404. package/dist/RS/v0/to/constraints.js +0 -34
  405. package/dist/RS/v0/to/constraints.js.map +0 -1
  406. package/dist/RS/v0/to/course-events/days.js +0 -13
  407. package/dist/RS/v0/to/course-events/days.js.map +0 -1
  408. package/dist/RS/v0/to/course-events/dependencies.js +0 -18
  409. package/dist/RS/v0/to/course-events/dependencies.js.map +0 -1
  410. package/dist/RS/v0/to/course-events/groups.js +0 -39
  411. package/dist/RS/v0/to/course-events/groups.js.map +0 -1
  412. package/dist/RS/v0/to/course-events/in-locations.js +0 -17
  413. package/dist/RS/v0/to/course-events/in-locations.js.map +0 -1
  414. package/dist/RS/v0/to/course-events/index.js +0 -52
  415. package/dist/RS/v0/to/course-events/index.js.map +0 -1
  416. package/dist/RS/v0/to/course-events/intervals.js +0 -12
  417. package/dist/RS/v0/to/course-events/intervals.js.map +0 -1
  418. package/dist/RS/v0/to/course-events/meta.js +0 -21
  419. package/dist/RS/v0/to/course-events/meta.js.map +0 -1
  420. package/dist/RS/v0/to/courses.js +0 -56
  421. package/dist/RS/v0/to/courses.js.map +0 -1
  422. package/dist/RS/v0/to/days.js +0 -11
  423. package/dist/RS/v0/to/days.js.map +0 -1
  424. package/dist/RS/v0/to/dependencies.js +0 -26
  425. package/dist/RS/v0/to/dependencies.js.map +0 -1
  426. package/dist/RS/v0/to/groups.js +0 -32
  427. package/dist/RS/v0/to/groups.js.map +0 -1
  428. package/dist/RS/v0/to/index.d.ts +0 -46
  429. package/dist/RS/v0/to/index.js +0 -34
  430. package/dist/RS/v0/to/index.js.map +0 -1
  431. package/dist/RS/v0/to/intervals.js +0 -17
  432. package/dist/RS/v0/to/intervals.js.map +0 -1
  433. package/dist/RS/v0/to/locked-times.js +0 -43
  434. package/dist/RS/v0/to/locked-times.js.map +0 -1
  435. package/dist/RS/v0/to/schedules.js +0 -16
  436. package/dist/RS/v0/to/schedules.js.map +0 -1
  437. package/dist/RS/v0/to/settings.js +0 -28
  438. package/dist/RS/v0/to/settings.js.map +0 -1
  439. package/dist/RS/v0/to/teachers.js +0 -30
  440. package/dist/RS/v0/to/teachers.js.map +0 -1
  441. package/dist/RS/v0/types/areas.d.ts +0 -8
  442. package/dist/RS/v0/types/available-dependencies.d.ts +0 -8
  443. package/dist/RS/v0/types/break-lengths.d.ts +0 -9
  444. package/dist/RS/v0/types/configurations.d.ts +0 -7
  445. package/dist/RS/v0/types/constraints.d.ts +0 -17
  446. package/dist/RS/v0/types/course-events.d.ts +0 -26
  447. package/dist/RS/v0/types/courses.d.ts +0 -27
  448. package/dist/RS/v0/types/days.d.ts +0 -8
  449. package/dist/RS/v0/types/dependencies.d.ts +0 -17
  450. package/dist/RS/v0/types/groups.d.ts +0 -25
  451. package/dist/RS/v0/types/index.d.ts +0 -31
  452. package/dist/RS/v0/types/intervals.d.ts +0 -8
  453. package/dist/RS/v0/types/locked-times.d.ts +0 -11
  454. package/dist/RS/v0/types/out-options.d.ts +0 -13
  455. package/dist/RS/v0/types/placements.d.ts +0 -12
  456. package/dist/RS/v0/types/schedules.d.ts +0 -15
  457. package/dist/RS/v0/types/settings.d.ts +0 -26
  458. package/dist/RS/v1/from/available-dependencies.js +0 -38
  459. package/dist/RS/v1/from/available-dependencies.js.map +0 -1
  460. package/dist/RS/v1/from/break-lengths.js +0 -15
  461. package/dist/RS/v1/from/break-lengths.js.map +0 -1
  462. package/dist/RS/v1/from/collections.js +0 -55
  463. package/dist/RS/v1/from/collections.js.map +0 -1
  464. package/dist/RS/v1/from/course-events.js +0 -65
  465. package/dist/RS/v1/from/course-events.js.map +0 -1
  466. package/dist/RS/v1/from/days.js +0 -14
  467. package/dist/RS/v1/from/days.js.map +0 -1
  468. package/dist/RS/v1/from/dependencies.js +0 -31
  469. package/dist/RS/v1/from/dependencies.js.map +0 -1
  470. package/dist/RS/v1/from/groups.js +0 -34
  471. package/dist/RS/v1/from/groups.js.map +0 -1
  472. package/dist/RS/v1/from/index.js +0 -32
  473. package/dist/RS/v1/from/index.js.map +0 -1
  474. package/dist/RS/v1/from/intervals.js +0 -18
  475. package/dist/RS/v1/from/intervals.js.map +0 -1
  476. package/dist/RS/v1/from/locked-times.js +0 -21
  477. package/dist/RS/v1/from/locked-times.js.map +0 -1
  478. package/dist/RS/v1/from/placements.js +0 -21
  479. package/dist/RS/v1/from/placements.js.map +0 -1
  480. package/dist/RS/v1/from/schedules.js +0 -44
  481. package/dist/RS/v1/from/schedules.js.map +0 -1
  482. package/dist/RS/v1/from/settings.js +0 -25
  483. package/dist/RS/v1/from/settings.js.map +0 -1
  484. package/dist/RS/v1/from/teachers.js +0 -33
  485. package/dist/RS/v1/from/teachers.js.map +0 -1
  486. package/dist/RS/v1/index.d.ts +0 -45
  487. package/dist/RS/v1/index.js +0 -12
  488. package/dist/RS/v1/index.js.map +0 -1
  489. package/dist/RS/v1/to/available-dependencies.js +0 -25
  490. package/dist/RS/v1/to/available-dependencies.js.map +0 -1
  491. package/dist/RS/v1/to/break-lengths.js +0 -19
  492. package/dist/RS/v1/to/break-lengths.js.map +0 -1
  493. package/dist/RS/v1/to/collections.js +0 -51
  494. package/dist/RS/v1/to/collections.js.map +0 -1
  495. package/dist/RS/v1/to/configurations.js +0 -22
  496. package/dist/RS/v1/to/configurations.js.map +0 -1
  497. package/dist/RS/v1/to/constraints.js +0 -26
  498. package/dist/RS/v1/to/constraints.js.map +0 -1
  499. package/dist/RS/v1/to/course-events/days.js +0 -12
  500. package/dist/RS/v1/to/course-events/days.js.map +0 -1
  501. package/dist/RS/v1/to/course-events/dependencies.js +0 -15
  502. package/dist/RS/v1/to/course-events/dependencies.js.map +0 -1
  503. package/dist/RS/v1/to/course-events/groups.js +0 -30
  504. package/dist/RS/v1/to/course-events/groups.js.map +0 -1
  505. package/dist/RS/v1/to/course-events/in-locations.js +0 -17
  506. package/dist/RS/v1/to/course-events/in-locations.js.map +0 -1
  507. package/dist/RS/v1/to/course-events/index.js +0 -47
  508. package/dist/RS/v1/to/course-events/index.js.map +0 -1
  509. package/dist/RS/v1/to/course-events/intervals.js +0 -11
  510. package/dist/RS/v1/to/course-events/intervals.js.map +0 -1
  511. package/dist/RS/v1/to/course-events/meta.js +0 -21
  512. package/dist/RS/v1/to/course-events/meta.js.map +0 -1
  513. package/dist/RS/v1/to/days.js +0 -11
  514. package/dist/RS/v1/to/days.js.map +0 -1
  515. package/dist/RS/v1/to/dependencies.js +0 -28
  516. package/dist/RS/v1/to/dependencies.js.map +0 -1
  517. package/dist/RS/v1/to/groups.js +0 -34
  518. package/dist/RS/v1/to/groups.js.map +0 -1
  519. package/dist/RS/v1/to/index.d.ts +0 -46
  520. package/dist/RS/v1/to/index.js +0 -34
  521. package/dist/RS/v1/to/index.js.map +0 -1
  522. package/dist/RS/v1/to/intervals.js +0 -17
  523. package/dist/RS/v1/to/intervals.js.map +0 -1
  524. package/dist/RS/v1/to/locked-times.js +0 -49
  525. package/dist/RS/v1/to/locked-times.js.map +0 -1
  526. package/dist/RS/v1/to/schedules.js +0 -16
  527. package/dist/RS/v1/to/schedules.js.map +0 -1
  528. package/dist/RS/v1/to/settings.js +0 -34
  529. package/dist/RS/v1/to/settings.js.map +0 -1
  530. package/dist/RS/v1/to/teachers.js +0 -34
  531. package/dist/RS/v1/to/teachers.js.map +0 -1
  532. package/dist/RS/v1/types/areas.d.ts +0 -8
  533. package/dist/RS/v1/types/available-dependencies.d.ts +0 -8
  534. package/dist/RS/v1/types/break-lengths.d.ts +0 -9
  535. package/dist/RS/v1/types/collections.d.ts +0 -27
  536. package/dist/RS/v1/types/configurations.d.ts +0 -10
  537. package/dist/RS/v1/types/constraints.d.ts +0 -17
  538. package/dist/RS/v1/types/course-events.d.ts +0 -26
  539. package/dist/RS/v1/types/days.d.ts +0 -8
  540. package/dist/RS/v1/types/dependencies.d.ts +0 -17
  541. package/dist/RS/v1/types/groups.d.ts +0 -25
  542. package/dist/RS/v1/types/index.d.ts +0 -31
  543. package/dist/RS/v1/types/intervals.d.ts +0 -8
  544. package/dist/RS/v1/types/locked-times.d.ts +0 -11
  545. package/dist/RS/v1/types/out-options.d.ts +0 -11
  546. package/dist/RS/v1/types/placements.d.ts +0 -12
  547. package/dist/RS/v1/types/schedules.d.ts +0 -16
  548. package/dist/RS/v1/types/settings.d.ts +0 -31
  549. package/dist/RS/v2/from/available-dependencies.js +0 -38
  550. package/dist/RS/v2/from/available-dependencies.js.map +0 -1
  551. package/dist/RS/v2/from/break-lengths.js +0 -15
  552. package/dist/RS/v2/from/break-lengths.js.map +0 -1
  553. package/dist/RS/v2/from/collections.js +0 -57
  554. package/dist/RS/v2/from/collections.js.map +0 -1
  555. package/dist/RS/v2/from/course-events.d.ts +0 -12
  556. package/dist/RS/v2/from/course-events.js +0 -67
  557. package/dist/RS/v2/from/course-events.js.map +0 -1
  558. package/dist/RS/v2/from/days.js +0 -14
  559. package/dist/RS/v2/from/days.js.map +0 -1
  560. package/dist/RS/v2/from/dependencies.js +0 -31
  561. package/dist/RS/v2/from/dependencies.js.map +0 -1
  562. package/dist/RS/v2/from/groups.js +0 -35
  563. package/dist/RS/v2/from/groups.js.map +0 -1
  564. package/dist/RS/v2/from/index.js +0 -32
  565. package/dist/RS/v2/from/index.js.map +0 -1
  566. package/dist/RS/v2/from/intervals.js +0 -18
  567. package/dist/RS/v2/from/intervals.js.map +0 -1
  568. package/dist/RS/v2/from/locked-times.js +0 -21
  569. package/dist/RS/v2/from/locked-times.js.map +0 -1
  570. package/dist/RS/v2/from/placements.js +0 -32
  571. package/dist/RS/v2/from/placements.js.map +0 -1
  572. package/dist/RS/v2/from/schedules.js +0 -78
  573. package/dist/RS/v2/from/schedules.js.map +0 -1
  574. package/dist/RS/v2/from/settings.js +0 -31
  575. package/dist/RS/v2/from/settings.js.map +0 -1
  576. package/dist/RS/v2/from/teachers.js +0 -33
  577. package/dist/RS/v2/from/teachers.js.map +0 -1
  578. package/dist/RS/v2/index.d.ts +0 -63
  579. package/dist/RS/v2/index.js +0 -12
  580. package/dist/RS/v2/index.js.map +0 -1
  581. package/dist/RS/v2/to/available-dependencies.js +0 -25
  582. package/dist/RS/v2/to/available-dependencies.js.map +0 -1
  583. package/dist/RS/v2/to/break-lengths.js +0 -19
  584. package/dist/RS/v2/to/break-lengths.js.map +0 -1
  585. package/dist/RS/v2/to/collections.js +0 -60
  586. package/dist/RS/v2/to/collections.js.map +0 -1
  587. package/dist/RS/v2/to/configurations.js +0 -23
  588. package/dist/RS/v2/to/configurations.js.map +0 -1
  589. package/dist/RS/v2/to/constraints.js +0 -88
  590. package/dist/RS/v2/to/constraints.js.map +0 -1
  591. package/dist/RS/v2/to/course-events/days.js +0 -12
  592. package/dist/RS/v2/to/course-events/days.js.map +0 -1
  593. package/dist/RS/v2/to/course-events/dependencies.js +0 -14
  594. package/dist/RS/v2/to/course-events/dependencies.js.map +0 -1
  595. package/dist/RS/v2/to/course-events/groups.js +0 -38
  596. package/dist/RS/v2/to/course-events/groups.js.map +0 -1
  597. package/dist/RS/v2/to/course-events/in-locations.js +0 -18
  598. package/dist/RS/v2/to/course-events/in-locations.js.map +0 -1
  599. package/dist/RS/v2/to/course-events/index.js +0 -56
  600. package/dist/RS/v2/to/course-events/index.js.map +0 -1
  601. package/dist/RS/v2/to/course-events/intervals.js +0 -11
  602. package/dist/RS/v2/to/course-events/intervals.js.map +0 -1
  603. package/dist/RS/v2/to/course-events/meta.js +0 -21
  604. package/dist/RS/v2/to/course-events/meta.js.map +0 -1
  605. package/dist/RS/v2/to/days.js +0 -11
  606. package/dist/RS/v2/to/days.js.map +0 -1
  607. package/dist/RS/v2/to/default.js +0 -36
  608. package/dist/RS/v2/to/default.js.map +0 -1
  609. package/dist/RS/v2/to/dependencies.js +0 -28
  610. package/dist/RS/v2/to/dependencies.js.map +0 -1
  611. package/dist/RS/v2/to/destructure.js +0 -40
  612. package/dist/RS/v2/to/destructure.js.map +0 -1
  613. package/dist/RS/v2/to/dynamic-locked-times.js +0 -57
  614. package/dist/RS/v2/to/dynamic-locked-times.js.map +0 -1
  615. package/dist/RS/v2/to/groups.js +0 -37
  616. package/dist/RS/v2/to/groups.js.map +0 -1
  617. package/dist/RS/v2/to/index.d.ts +0 -44
  618. package/dist/RS/v2/to/index.js +0 -36
  619. package/dist/RS/v2/to/index.js.map +0 -1
  620. package/dist/RS/v2/to/intervals.js +0 -32
  621. package/dist/RS/v2/to/intervals.js.map +0 -1
  622. package/dist/RS/v2/to/locked-times.js +0 -49
  623. package/dist/RS/v2/to/locked-times.js.map +0 -1
  624. package/dist/RS/v2/to/periods.js +0 -48
  625. package/dist/RS/v2/to/periods.js.map +0 -1
  626. package/dist/RS/v2/to/persons.js +0 -23
  627. package/dist/RS/v2/to/persons.js.map +0 -1
  628. package/dist/RS/v2/to/schedules.js +0 -19
  629. package/dist/RS/v2/to/schedules.js.map +0 -1
  630. package/dist/RS/v2/to/settings.js +0 -18
  631. package/dist/RS/v2/to/settings.js.map +0 -1
  632. package/dist/RS/v2/to/teachers.js +0 -37
  633. package/dist/RS/v2/to/teachers.js.map +0 -1
  634. package/dist/RS/v2/types/areas.d.ts +0 -8
  635. package/dist/RS/v2/types/available-dependencies.d.ts +0 -8
  636. package/dist/RS/v2/types/break-lengths.d.ts +0 -9
  637. package/dist/RS/v2/types/collections.d.ts +0 -29
  638. package/dist/RS/v2/types/configurations.d.ts +0 -10
  639. package/dist/RS/v2/types/constraints.d.ts +0 -21
  640. package/dist/RS/v2/types/course-events.d.ts +0 -30
  641. package/dist/RS/v2/types/days.d.ts +0 -8
  642. package/dist/RS/v2/types/default.d.ts +0 -25
  643. package/dist/RS/v2/types/dependencies.d.ts +0 -17
  644. package/dist/RS/v2/types/index.d.ts +0 -33
  645. package/dist/RS/v2/types/intervals.d.ts +0 -9
  646. package/dist/RS/v2/types/out-options.d.ts +0 -11
  647. package/dist/RS/v2/types/placements.d.ts +0 -12
  648. package/dist/RS/v2/types/schedules.d.ts +0 -18
  649. package/dist/RS/v3/from/division.js +0 -14
  650. package/dist/RS/v3/from/division.js.map +0 -1
  651. package/dist/RS/v3/from/index.js +0 -12
  652. package/dist/RS/v3/from/index.js.map +0 -1
  653. package/dist/RS/v3/from/schedules.js +0 -34
  654. package/dist/RS/v3/from/schedules.js.map +0 -1
  655. package/dist/RS/v3/index.d.ts +0 -21
  656. package/dist/RS/v3/index.js +0 -12
  657. package/dist/RS/v3/index.js.map +0 -1
  658. package/dist/RS/v3/to/available-dependencies.js +0 -26
  659. package/dist/RS/v3/to/available-dependencies.js.map +0 -1
  660. package/dist/RS/v3/to/break-lengths.js +0 -19
  661. package/dist/RS/v3/to/break-lengths.js.map +0 -1
  662. package/dist/RS/v3/to/collections.js +0 -56
  663. package/dist/RS/v3/to/collections.js.map +0 -1
  664. package/dist/RS/v3/to/configurations.js +0 -23
  665. package/dist/RS/v3/to/configurations.js.map +0 -1
  666. package/dist/RS/v3/to/constraints.js +0 -77
  667. package/dist/RS/v3/to/constraints.js.map +0 -1
  668. package/dist/RS/v3/to/course-events/days.js +0 -12
  669. package/dist/RS/v3/to/course-events/days.js.map +0 -1
  670. package/dist/RS/v3/to/course-events/dependencies.js +0 -14
  671. package/dist/RS/v3/to/course-events/dependencies.js.map +0 -1
  672. package/dist/RS/v3/to/course-events/groups.js +0 -44
  673. package/dist/RS/v3/to/course-events/groups.js.map +0 -1
  674. package/dist/RS/v3/to/course-events/in-locations.js +0 -18
  675. package/dist/RS/v3/to/course-events/in-locations.js.map +0 -1
  676. package/dist/RS/v3/to/course-events/index.js +0 -84
  677. package/dist/RS/v3/to/course-events/index.js.map +0 -1
  678. package/dist/RS/v3/to/course-events/intervals.js +0 -11
  679. package/dist/RS/v3/to/course-events/intervals.js.map +0 -1
  680. package/dist/RS/v3/to/course-events/meta.js +0 -21
  681. package/dist/RS/v3/to/course-events/meta.js.map +0 -1
  682. package/dist/RS/v3/to/days.js +0 -11
  683. package/dist/RS/v3/to/days.js.map +0 -1
  684. package/dist/RS/v3/to/default.js.map +0 -1
  685. package/dist/RS/v3/to/dependencies.js +0 -31
  686. package/dist/RS/v3/to/dependencies.js.map +0 -1
  687. package/dist/RS/v3/to/destructure.js +0 -33
  688. package/dist/RS/v3/to/destructure.js.map +0 -1
  689. package/dist/RS/v3/to/dynamic-locked-times.js +0 -97
  690. package/dist/RS/v3/to/dynamic-locked-times.js.map +0 -1
  691. package/dist/RS/v3/to/groups.js +0 -36
  692. package/dist/RS/v3/to/groups.js.map +0 -1
  693. package/dist/RS/v3/to/index.d.ts +0 -266
  694. package/dist/RS/v3/to/index.js.map +0 -1
  695. package/dist/RS/v3/to/individuals.js +0 -49
  696. package/dist/RS/v3/to/individuals.js.map +0 -1
  697. package/dist/RS/v3/to/intervals.js +0 -32
  698. package/dist/RS/v3/to/intervals.js.map +0 -1
  699. package/dist/RS/v3/to/locked-times.js +0 -49
  700. package/dist/RS/v3/to/locked-times.js.map +0 -1
  701. package/dist/RS/v3/to/periods.js +0 -48
  702. package/dist/RS/v3/to/periods.js.map +0 -1
  703. package/dist/RS/v3/to/schedules.js +0 -39
  704. package/dist/RS/v3/to/schedules.js.map +0 -1
  705. package/dist/RS/v3/to/settings.js +0 -18
  706. package/dist/RS/v3/to/settings.js.map +0 -1
  707. package/dist/RS/v3/to/teachers.js +0 -36
  708. package/dist/RS/v3/to/teachers.js.map +0 -1
  709. package/dist/RS/v3/to/util.js +0 -32
  710. package/dist/RS/v3/to/util.js.map +0 -1
  711. package/dist/RS/v3/types/areas.d.ts +0 -8
  712. package/dist/RS/v3/types/available-dependencies.d.ts +0 -8
  713. package/dist/RS/v3/types/break-lengths.d.ts +0 -9
  714. package/dist/RS/v3/types/collections.d.ts +0 -31
  715. package/dist/RS/v3/types/configurations.d.ts +0 -10
  716. package/dist/RS/v3/types/constraints.d.ts +0 -25
  717. package/dist/RS/v3/types/course-events.d.ts +0 -32
  718. package/dist/RS/v3/types/days.d.ts +0 -8
  719. package/dist/RS/v3/types/dependencies.d.ts +0 -17
  720. package/dist/RS/v3/types/groups.d.ts +0 -25
  721. package/dist/RS/v3/types/index.d.ts +0 -33
  722. package/dist/RS/v3/types/individuals.d.ts +0 -13
  723. package/dist/RS/v3/types/intervals.d.ts +0 -9
  724. package/dist/RS/v3/types/locked-times.d.ts +0 -11
  725. package/dist/RS/v3/types/out-options.d.ts +0 -23
  726. package/dist/RS/v3/types/placements.d.ts +0 -12
  727. package/dist/RS/v3/types/root-intervals.d.ts +0 -10
  728. package/dist/RS/v3/types/schedules.d.ts +0 -24
  729. package/dist/RS/v3/types/settings.d.ts +0 -12
  730. package/dist/SS12000/from/activities.js +0 -35
  731. package/dist/SS12000/from/activities.js.map +0 -1
  732. package/dist/SS12000/from/calendar-events.js +0 -20
  733. package/dist/SS12000/from/calendar-events.js.map +0 -1
  734. package/dist/SS12000/from/duties.js +0 -21
  735. package/dist/SS12000/from/duties.js.map +0 -1
  736. package/dist/SS12000/from/groups.js +0 -23
  737. package/dist/SS12000/from/groups.js.map +0 -1
  738. package/dist/SS12000/from/index.js +0 -24
  739. package/dist/SS12000/from/index.js.map +0 -1
  740. package/dist/SS12000/from/persons.js +0 -43
  741. package/dist/SS12000/from/persons.js.map +0 -1
  742. package/dist/SS12000/from/resources.js +0 -9
  743. package/dist/SS12000/from/resources.js.map +0 -1
  744. package/dist/SS12000/from/rooms.js +0 -18
  745. package/dist/SS12000/from/rooms.js.map +0 -1
  746. package/dist/SS12000/from/syllabuses.js +0 -21
  747. package/dist/SS12000/from/syllabuses.js.map +0 -1
  748. package/dist/SS12000/index.d.ts +0 -73
  749. package/dist/SS12000/index.js +0 -12
  750. package/dist/SS12000/index.js.map +0 -1
  751. package/dist/SS12000/to/activities.js +0 -55
  752. package/dist/SS12000/to/activities.js.map +0 -1
  753. package/dist/SS12000/to/calendar-events.js +0 -47
  754. package/dist/SS12000/to/calendar-events.js.map +0 -1
  755. package/dist/SS12000/to/common.js +0 -16
  756. package/dist/SS12000/to/common.js.map +0 -1
  757. package/dist/SS12000/to/duties.js +0 -36
  758. package/dist/SS12000/to/duties.js.map +0 -1
  759. package/dist/SS12000/to/groups.js +0 -37
  760. package/dist/SS12000/to/groups.js.map +0 -1
  761. package/dist/SS12000/to/index.d.ts +0 -25
  762. package/dist/SS12000/to/index.js +0 -24
  763. package/dist/SS12000/to/index.js.map +0 -1
  764. package/dist/SS12000/to/persons.js +0 -36
  765. package/dist/SS12000/to/persons.js.map +0 -1
  766. package/dist/SS12000/to/resources.js +0 -23
  767. package/dist/SS12000/to/resources.js.map +0 -1
  768. package/dist/SS12000/to/rooms.js +0 -28
  769. package/dist/SS12000/to/rooms.js.map +0 -1
  770. package/dist/SS12000/to/syllabuses.js +0 -30
  771. package/dist/SS12000/to/syllabuses.js.map +0 -1
  772. package/dist/SS12000/types/activities.d.ts +0 -41
  773. package/dist/SS12000/types/calendar-events.d.ts +0 -23
  774. package/dist/SS12000/types/codes.d.ts +0 -9
  775. package/dist/SS12000/types/duties.d.ts +0 -23
  776. package/dist/SS12000/types/duty-assignments.d.ts +0 -13
  777. package/dist/SS12000/types/groups.d.ts +0 -23
  778. package/dist/SS12000/types/index.d.ts +0 -21
  779. package/dist/SS12000/types/organisation.d.ts +0 -20
  780. package/dist/SS12000/types/persons.d.ts +0 -30
  781. package/dist/SS12000/types/resources.d.ts +0 -13
  782. package/dist/SS12000/types/rooms.d.ts +0 -17
  783. package/dist/SS12000/types/syllabus.d.ts +0 -19
  784. package/dist/core/v1/from/courses.js +0 -26
  785. package/dist/core/v1/from/courses.js.map +0 -1
  786. package/dist/core/v1/from/events.js +0 -12
  787. package/dist/core/v1/from/events.js.map +0 -1
  788. package/dist/core/v1/from/groups.js +0 -14
  789. package/dist/core/v1/from/groups.js.map +0 -1
  790. package/dist/core/v1/from/index.js +0 -8
  791. package/dist/core/v1/from/index.js.map +0 -1
  792. package/dist/core/v1/from/locations.js +0 -14
  793. package/dist/core/v1/from/locations.js.map +0 -1
  794. package/dist/core/v1/from/locked-times.js +0 -13
  795. package/dist/core/v1/from/locked-times.js.map +0 -1
  796. package/dist/core/v1/from/overlap-groups.js +0 -13
  797. package/dist/core/v1/from/overlap-groups.js.map +0 -1
  798. package/dist/core/v1/from/periods.js +0 -14
  799. package/dist/core/v1/from/periods.js.map +0 -1
  800. package/dist/core/v1/from/schedules.d.ts +0 -139
  801. package/dist/core/v1/from/schedules.js +0 -36
  802. package/dist/core/v1/from/schedules.js.map +0 -1
  803. package/dist/core/v1/from/teachers.js +0 -14
  804. package/dist/core/v1/from/teachers.js.map +0 -1
  805. package/dist/core/v1/index.d.ts +0 -14
  806. package/dist/core/v1/index.js +0 -12
  807. package/dist/core/v1/index.js.map +0 -1
  808. package/dist/core/v1/to/available-locations.js +0 -11
  809. package/dist/core/v1/to/available-locations.js.map +0 -1
  810. package/dist/core/v1/to/courses.js +0 -33
  811. package/dist/core/v1/to/courses.js.map +0 -1
  812. package/dist/core/v1/to/days.js +0 -13
  813. package/dist/core/v1/to/days.js.map +0 -1
  814. package/dist/core/v1/to/events.js +0 -35
  815. package/dist/core/v1/to/events.js.map +0 -1
  816. package/dist/core/v1/to/groups.js +0 -24
  817. package/dist/core/v1/to/groups.js.map +0 -1
  818. package/dist/core/v1/to/index.js +0 -10
  819. package/dist/core/v1/to/index.js.map +0 -1
  820. package/dist/core/v1/to/intervals.js +0 -14
  821. package/dist/core/v1/to/intervals.js.map +0 -1
  822. package/dist/core/v1/to/locations.js +0 -20
  823. package/dist/core/v1/to/locations.js.map +0 -1
  824. package/dist/core/v1/to/locked-times.js +0 -25
  825. package/dist/core/v1/to/locked-times.js.map +0 -1
  826. package/dist/core/v1/to/overlap-groups.js +0 -30
  827. package/dist/core/v1/to/overlap-groups.js.map +0 -1
  828. package/dist/core/v1/to/periods.js +0 -10
  829. package/dist/core/v1/to/periods.js.map +0 -1
  830. package/dist/core/v1/to/persons.js +0 -22
  831. package/dist/core/v1/to/persons.js.map +0 -1
  832. package/dist/core/v1/to/schedules.d.ts +0 -170
  833. package/dist/core/v1/to/schedules.js +0 -32
  834. package/dist/core/v1/to/schedules.js.map +0 -1
  835. package/dist/core/v1/to/settings.js +0 -13
  836. package/dist/core/v1/to/settings.js.map +0 -1
  837. package/dist/core/v1/to/teachers.js +0 -20
  838. package/dist/core/v1/to/teachers.js.map +0 -1
  839. package/dist/core/v1/types/areas.d.ts +0 -16
  840. package/dist/core/v1/types/available-locations.d.ts +0 -13
  841. package/dist/core/v1/types/break-lengths.d.ts +0 -5
  842. package/dist/core/v1/types/common/coalesced.d.ts +0 -10
  843. package/dist/core/v1/types/courses.d.ts +0 -54
  844. package/dist/core/v1/types/days.d.ts +0 -14
  845. package/dist/core/v1/types/division-settings.d.ts +0 -39
  846. package/dist/core/v1/types/divisions.d.ts +0 -45
  847. package/dist/core/v1/types/events.d.ts +0 -60
  848. package/dist/core/v1/types/groups.d.ts +0 -37
  849. package/dist/core/v1/types/index.d.ts +0 -41
  850. package/dist/core/v1/types/intervals.d.ts +0 -17
  851. package/dist/core/v1/types/locations.d.ts +0 -32
  852. package/dist/core/v1/types/locked-times.d.ts +0 -39
  853. package/dist/core/v1/types/meta.d.ts +0 -9
  854. package/dist/core/v1/types/overlap-groups.d.ts +0 -26
  855. package/dist/core/v1/types/periods.d.ts +0 -22
  856. package/dist/core/v1/types/persons.d.ts +0 -40
  857. package/dist/core/v1/types/teachers.d.ts +0 -34
  858. package/dist/core/v2/from/courses.js +0 -13
  859. package/dist/core/v2/from/courses.js.map +0 -1
  860. package/dist/core/v2/from/events.js +0 -12
  861. package/dist/core/v2/from/events.js.map +0 -1
  862. package/dist/core/v2/from/exceptions.js +0 -13
  863. package/dist/core/v2/from/exceptions.js.map +0 -1
  864. package/dist/core/v2/from/groups.js +0 -13
  865. package/dist/core/v2/from/groups.js.map +0 -1
  866. package/dist/core/v2/from/index.js.map +0 -1
  867. package/dist/core/v2/from/locations.js +0 -13
  868. package/dist/core/v2/from/locations.js.map +0 -1
  869. package/dist/core/v2/from/locked-times.js +0 -13
  870. package/dist/core/v2/from/locked-times.js.map +0 -1
  871. package/dist/core/v2/from/overlap-groups.js +0 -13
  872. package/dist/core/v2/from/overlap-groups.js.map +0 -1
  873. package/dist/core/v2/from/periods.js +0 -13
  874. package/dist/core/v2/from/periods.js.map +0 -1
  875. package/dist/core/v2/from/persons.js +0 -12
  876. package/dist/core/v2/from/persons.js.map +0 -1
  877. package/dist/core/v2/from/root-intervals.js +0 -13
  878. package/dist/core/v2/from/root-intervals.js.map +0 -1
  879. package/dist/core/v2/from/schedules.d.ts +0 -245
  880. package/dist/core/v2/from/schedules.js +0 -48
  881. package/dist/core/v2/from/schedules.js.map +0 -1
  882. package/dist/core/v2/from/syllabuses.js.map +0 -1
  883. package/dist/core/v2/from/teachers.js +0 -13
  884. package/dist/core/v2/from/teachers.js.map +0 -1
  885. package/dist/core/v2/index.d.ts +0 -16
  886. package/dist/core/v2/index.js +0 -12
  887. package/dist/core/v2/index.js.map +0 -1
  888. package/dist/core/v2/to/available-locations.js +0 -11
  889. package/dist/core/v2/to/available-locations.js.map +0 -1
  890. package/dist/core/v2/to/courses.js +0 -44
  891. package/dist/core/v2/to/courses.js.map +0 -1
  892. package/dist/core/v2/to/days.js +0 -13
  893. package/dist/core/v2/to/days.js.map +0 -1
  894. package/dist/core/v2/to/division.js +0 -10
  895. package/dist/core/v2/to/division.js.map +0 -1
  896. package/dist/core/v2/to/events.js +0 -47
  897. package/dist/core/v2/to/events.js.map +0 -1
  898. package/dist/core/v2/to/exceptions.js +0 -29
  899. package/dist/core/v2/to/exceptions.js.map +0 -1
  900. package/dist/core/v2/to/groups.js +0 -34
  901. package/dist/core/v2/to/groups.js.map +0 -1
  902. package/dist/core/v2/to/index.d.ts +0 -9
  903. package/dist/core/v2/to/index.js +0 -10
  904. package/dist/core/v2/to/index.js.map +0 -1
  905. package/dist/core/v2/to/intervals.js +0 -13
  906. package/dist/core/v2/to/intervals.js.map +0 -1
  907. package/dist/core/v2/to/locations.js +0 -35
  908. package/dist/core/v2/to/locations.js.map +0 -1
  909. package/dist/core/v2/to/locked-times.js +0 -25
  910. package/dist/core/v2/to/locked-times.js.map +0 -1
  911. package/dist/core/v2/to/overlap-groups.js +0 -30
  912. package/dist/core/v2/to/overlap-groups.js.map +0 -1
  913. package/dist/core/v2/to/periods.js +0 -10
  914. package/dist/core/v2/to/periods.js.map +0 -1
  915. package/dist/core/v2/to/persons.js +0 -25
  916. package/dist/core/v2/to/persons.js.map +0 -1
  917. package/dist/core/v2/to/root-intervals.js +0 -10
  918. package/dist/core/v2/to/root-intervals.js.map +0 -1
  919. package/dist/core/v2/to/schedules.d.ts +0 -249
  920. package/dist/core/v2/to/schedules.js +0 -40
  921. package/dist/core/v2/to/schedules.js.map +0 -1
  922. package/dist/core/v2/to/settings.js +0 -13
  923. package/dist/core/v2/to/settings.js.map +0 -1
  924. package/dist/core/v2/to/syllabuses.js +0 -16
  925. package/dist/core/v2/to/syllabuses.js.map +0 -1
  926. package/dist/core/v2/to/teachers.js +0 -28
  927. package/dist/core/v2/to/teachers.js.map +0 -1
  928. package/dist/core/v2/types/areas.d.ts +0 -16
  929. package/dist/core/v2/types/available-locations.d.ts +0 -13
  930. package/dist/core/v2/types/break-lengths.d.ts +0 -5
  931. package/dist/core/v2/types/common/coalesced.d.ts +0 -10
  932. package/dist/core/v2/types/common/maximum-schedule-span.d.ts +0 -8
  933. package/dist/core/v2/types/common/planned-schedule-duration.d.ts +0 -7
  934. package/dist/core/v2/types/courses.d.ts +0 -76
  935. package/dist/core/v2/types/days.d.ts +0 -14
  936. package/dist/core/v2/types/divisions.d.ts +0 -54
  937. package/dist/core/v2/types/events.d.ts +0 -76
  938. package/dist/core/v2/types/groups.d.ts +0 -50
  939. package/dist/core/v2/types/index.d.ts +0 -49
  940. package/dist/core/v2/types/intervals.d.ts +0 -17
  941. package/dist/core/v2/types/locations.d.ts +0 -38
  942. package/dist/core/v2/types/locked-times.d.ts +0 -44
  943. package/dist/core/v2/types/overlap-groups.d.ts +0 -26
  944. package/dist/core/v2/types/periods.d.ts +0 -25
  945. package/dist/core/v2/types/root-intervals.d.ts +0 -23
  946. package/dist/core/v2/types/schedules.d.ts +0 -38
  947. package/dist/core/v2/types/syllabus.d.ts +0 -27
  948. package/dist/vKlass/from/index.d.ts +0 -9
@@ -1,78 +0,0 @@
1
- import collections_default from "./collections.js";
2
- import dependencies_default from "./dependencies.js";
3
- import groups_default from "./groups.js";
4
- import placements_default from "./placements.js";
5
- import teachers_default from "./teachers.js";
6
- import settings_default from "./settings.js";
7
- import { isNumber, times } from "lodash-es";
8
-
9
- //#region src/RS/v2/from/schedules.ts
10
- var schedules_default = (schedule) => {
11
- const { input: { settings, default: _default, dependencies, groups, events, areas, periods } = {} } = schedule;
12
- const [configuration, ...meta] = schedule.output || [];
13
- let _courses;
14
- let _groups;
15
- let _teachers;
16
- let _locations;
17
- if (!settings) throw new Error("(RS::V2::From::Schedules) Settings cannot be undefined");
18
- if (dependencies) _locations = dependencies_default(dependencies, settings);
19
- if (groups) _teachers = teachers_default(groups, settings);
20
- if (groups) _groups = groups_default(groups, settings);
21
- if (events) _courses = collections_default(events, (_teachers || []).map((x) => x.ids).filter(Boolean), (_groups || []).map((x) => x.ids).filter(Boolean), settings);
22
- if (configuration) {
23
- const [_placements] = placements_default(configuration, { idKey: "ids" });
24
- const placementMap = new Map(_placements.map((x) => [x.ids, x]));
25
- _courses?.forEach((course) => {
26
- course.events?.forEach((event) => {
27
- const _placedEvent = placementMap.get(event.ids);
28
- if (_placedEvent) Object.assign(event, _placedEvent);
29
- });
30
- });
31
- }
32
- const overlapGroups = [];
33
- events?.forEach((x) => {
34
- if (Array.isArray(x)) {
35
- const overlapGroup = {
36
- id: overlapGroups.length.toString(),
37
- coalesced: [],
38
- species: []
39
- };
40
- const collections = x.filter((c) => "events" in c);
41
- const events$1 = collections.flatMap((c) => c.events || []).filter((e) => !isNumber(e));
42
- collections.forEach((c) => overlapGroup.coalesced?.push({
43
- to: c.id,
44
- toModel: "courses"
45
- }));
46
- events$1.filter((e) => !!e.forcedOverlapId).forEach((e) => overlapGroup.species?.push({
47
- id: e.forcedOverlapId,
48
- to: e.id,
49
- toModel: "courseevents"
50
- }));
51
- overlapGroups.push(overlapGroup);
52
- }
53
- });
54
- const periodMatrix = periods?.split("").map((x) => x == "1") ?? [];
55
- const numPeriods = Math.trunc(Math.sqrt(periodMatrix.length));
56
- const _periods = times(numPeriods, (i) => {
57
- return {
58
- id: i.toString(),
59
- ids: i.toString(),
60
- displayName: i.toString(),
61
- ranges: []
62
- };
63
- });
64
- return {
65
- ..._periods.length && { periods: _periods },
66
- ..._locations && { locations: _locations },
67
- ..._teachers && { teachers: _teachers },
68
- ...groups && { groups: _groups },
69
- ...events && { courses: _courses },
70
- ...areas && { area: areas },
71
- ...settings && { settings: settings_default(settings, _default) },
72
- overlapGroups
73
- };
74
- };
75
-
76
- //#endregion
77
- export { schedules_default as default };
78
- //# sourceMappingURL=schedules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schedules.js","names":["_courses: ReturnType<typeof getCollections> | undefined","_groups: ReturnType<typeof getGroups> | undefined","_teachers: ReturnType<typeof getTeachers> | undefined","_locations: ReturnType<typeof getDependencies> | undefined","getDependencies","getTeachers","getGroups","getCollections","mapPlacements","overlapGroups: CoreTypes.overlapGroup[]","overlapGroup: CoreTypes.overlapGroup","events","_periods: Deserialized<CoreTypes.period>[]","getSettings"],"sources":["../../../../src/RS/v2/from/schedules.ts"],"sourcesContent":["import { isNumber, times } from 'lodash-es';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\n\nimport { Schedule } from '../types/schedules';\nimport { Collection } from '../types/collections';\nimport { CourseEvent } from '../types/course-events';\n\nimport getDependencies from './dependencies';\nimport getTeachers from './teachers';\nimport getGroups from './groups';\nimport getCollections from './collections';\nimport getSettings from './settings';\nimport mapPlacements from './placements';\n\nexport default (schedule: Schedule) => {\n const {\n input: {\n settings,\n default: _default,\n dependencies,\n groups,\n events,\n areas,\n periods,\n } = {}\n } = schedule;\n\n const [configuration, ...meta] = schedule.output || [];\n\n let _courses: ReturnType<typeof getCollections> | undefined;\n let _groups: ReturnType<typeof getGroups> | undefined;\n let _teachers: ReturnType<typeof getTeachers> | undefined;\n let _locations: ReturnType<typeof getDependencies> | undefined;\n\n if (!settings)\n throw new Error('(RS::V2::From::Schedules) Settings cannot be undefined');\n\n if (dependencies)\n _locations = getDependencies(dependencies, settings);\n if (groups)\n _teachers = getTeachers(groups, settings);\n if (groups)\n _groups = getGroups(groups, settings);\n if (events)\n _courses = getCollections(events,\n (_teachers || []).map(x=> x.ids!).filter(Boolean),\n (_groups || []).map(x => x.ids!).filter(Boolean),\n settings);\n\n ////\n //// try update event with position, location, etc...\n ////\n if (configuration) {\n const [_placements] = mapPlacements(configuration, { idKey: 'ids' });\n\n // create placement map using ids as key\n const placementMap = new Map(_placements.map(x => [x.ids, x]));\n\n _courses?.forEach(course => {\n course.events?.forEach(event => {\n const _placedEvent = placementMap.get(event.ids);\n if (_placedEvent) Object.assign(event, _placedEvent);\n });\n });\n }\n\n\n ////\n //// build overlap groups\n ////\n const overlapGroups: CoreTypes.overlapGroup[] = [];\n events?.forEach(x => {\n // if it is array its an overlap group\n if (Array.isArray(x)) {\n // initiate\n const overlapGroup: CoreTypes.overlapGroup = {\n id: overlapGroups.length.toString(),\n coalesced: [],\n species: []\n };\n\n // currently only support collections and object events\n const collections = x.filter((c): c is Collection => 'events' in c);\n const events = collections.flatMap(c => c.events || []).filter((e): e is CourseEvent => !isNumber(e));\n\n // add collections as coalesced\n collections.forEach(c => overlapGroup.coalesced?.push({ to: c.id, toModel: 'courses' }));\n\n // add forced overlapping events as species\n events.filter(e => !!e.forcedOverlapId)\n .forEach(e => overlapGroup.species?.push({ id: e.forcedOverlapId, to: e.id, toModel: 'courseevents' }));\n\n // push\n overlapGroups.push(overlapGroup);\n }\n });\n\n\n ////\n //// build periods\n ////\n\n // convert binary string to array of booleans\n const periodMatrix = periods?.split('').map(x => x == '1') ?? [];\n const numPeriods = Math.trunc(Math.sqrt(periodMatrix.length));\n const _periods: Deserialized<CoreTypes.period>[] = times(numPeriods, i => {\n return {\n id: i.toString(),\n ids: i.toString(),\n displayName: i.toString(),\n ranges: []\n };\n });\n\n\n\n\n return {\n ..._periods.length && { periods: _periods },\n ..._locations && { locations: _locations },\n ..._teachers && { teachers: _teachers },\n ...groups && { groups: _groups },\n ...events && { courses: _courses },\n ...areas && { area: areas },\n ...settings && { settings: getSettings(settings, _default!) as any },\n overlapGroups: overlapGroups as any,\n };\n};"],"mappings":";;;;;;;;;AAgBA,yBAAgB,aAAuB;CACrC,MAAM,EACJ,OAAO,EACL,UACA,SAAS,UACT,cACA,QACA,QACA,OACA,YACE,OACF;CAEJ,MAAM,CAAC,eAAe,GAAG,QAAQ,SAAS,UAAU;CAEpD,IAAIA;CACJ,IAAIC;CACJ,IAAIC;CACJ,IAAIC;AAEJ,KAAI,CAAC,SACH,OAAM,IAAI,MAAM;AAElB,KAAI,aACF,cAAeC,qBAAgB,cAAc;AAC/C,KAAI,OACF,aAAeC,iBAAY,QAAQ;AACrC,KAAI,OACF,WAAeC,eAAU,QAAQ;AACnC,KAAI,OACF,YAAeC,oBAAe,SAC3B,aAAa,IAAI,KAAI,MAAI,EAAE,KAAM,OAAO,WACxC,WAAW,IAAI,KAAI,MAAK,EAAE,KAAM,OAAO,UACxC;AAKJ,KAAI,eAAe;EACjB,MAAM,CAAC,eAAeC,mBAAc,eAAe,EAAE,OAAO;EAG5D,MAAM,eAAe,IAAI,IAAI,YAAY,KAAI,MAAK,CAAC,EAAE,KAAK;AAE1D,YAAU,SAAQ,WAAU;AAC1B,UAAO,QAAQ,SAAQ,UAAS;IAC9B,MAAM,eAAe,aAAa,IAAI,MAAM;AAC5C,QAAI,aAAc,QAAO,OAAO,OAAO;;;;CAS7C,MAAMC,gBAA0C;AAChD,SAAQ,SAAQ,MAAK;AAEnB,MAAI,MAAM,QAAQ,IAAI;GAEpB,MAAMC,eAAuC;IAC3C,IAAW,cAAc,OAAO;IAChC,WAAW;IACX,SAAW;;GAIb,MAAM,cAAc,EAAE,QAAQ,MAAuB,YAAY;GACjE,MAAMC,WAAS,YAAY,SAAQ,MAAK,EAAE,UAAU,IAAI,QAAQ,MAAwB,CAAC,SAAS;AAGlG,eAAY,SAAQ,MAAK,aAAa,WAAW,KAAK;IAAE,IAAI,EAAE;IAAI,SAAS;;AAG3E,YAAO,QAAO,MAAK,CAAC,CAAC,EAAE,iBACpB,SAAQ,MAAK,aAAa,SAAS,KAAK;IAAE,IAAI,EAAE;IAAiB,IAAI,EAAE;IAAI,SAAS;;AAGvF,iBAAc,KAAK;;;CAUvB,MAAM,eAAe,SAAS,MAAM,IAAI,KAAI,MAAK,KAAK,QAAQ;CAC9D,MAAM,aAAa,KAAK,MAAM,KAAK,KAAK,aAAa;CACrD,MAAMC,WAA6C,MAAM,aAAY,MAAK;AACxE,SAAO;GACL,IAAa,EAAE;GACf,KAAa,EAAE;GACf,aAAa,EAAE;GACf,QAAa;;;AAOjB,QAAO;EACL,GAAG,SAAS,UAAU,EAAE,SAAW;EACnC,GAAG,cAAmB,EAAE,WAAW;EACnC,GAAG,aAAmB,EAAE,UAAW;EACnC,GAAG,UAAmB,EAAE,QAAW;EACnC,GAAG,UAAmB,EAAE,SAAW;EACnC,GAAG,SAAmB,EAAE,MAAM;EAC9B,GAAG,YAAmB,EAAE,UAAUC,iBAAY,UAAU;EACzC"}
@@ -1,31 +0,0 @@
1
- import { isArray, isNumber, isObject } from "lodash-es";
2
-
3
- //#region src/RS/v2/from/settings.ts
4
- var settings_default = (settings, _default) => {
5
- const EMBL = _default.eventMinBreakLength;
6
- const MNDWH = _default.maxNumDailyWorkingHours;
7
- return {
8
- numDays: settings.numDays,
9
- discretization: settings.discretization,
10
- dayStart: _default.intervals[0][0].beg?.toFixed(2).replace(".", ":"),
11
- dayEnd: _default.intervals[0][0].end?.toFixed(2).replace(".", ":"),
12
- defaultDependencyMinimumBreakLength: _default.dependencyMinBreakLength,
13
- defaultGroupMinimumBreakLength: _default.groupMinBreakLength,
14
- defaultEventMinimumBreakLength: isObject(EMBL) ? .5 * (EMBL.bef + EMBL.aft) : isNumber(EMBL) ? EMBL : 0,
15
- potentialCenter: _default.potentialCenter?.toFixed(2).replace(".", ":"),
16
- defaultEventDensity: _default.eventDensity,
17
- defaultMaxNumWorkingHours: typeof _default.maxNumWorkingHours == "number" ? _default.maxNumWorkingHours : null,
18
- defaultMaxNumDailyWorkingHours: isArray(MNDWH) ? MNDWH[0] : typeof MNDWH == "number" ? MNDWH : null,
19
- defaultDependencyRank: _default.dependencyRank,
20
- defaultGroupRank: _default.groupRank,
21
- defaultDayRank: _default.dayRank,
22
- defaultEventWeight: _default.eventWeight,
23
- defaultGroupWeight: _default.groupWeight,
24
- defaultCourseWeight: _default.collectionWeight,
25
- period: _default.period?.toString()
26
- };
27
- };
28
-
29
- //#endregion
30
- export { settings_default as default };
31
- //# sourceMappingURL=settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.js","names":[],"sources":["../../../../src/RS/v2/from/settings.ts"],"sourcesContent":["import { isArray, isNumber, isObject } from 'lodash-es';\n\nimport { Settings } from '../types/settings';\nimport { Default } from '../types/default';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized, Serialized } from '../../../core/types';\n\nexport default (settings: Settings, _default: Default): Deserialized<Omit<CoreTypes.divisionSettings, 'belongsTo' | 'defaultLunch' | 'period' >> & Serialized<Pick<CoreTypes.divisionSettings, 'period'>> => {\n\n const EMBL = _default.eventMinBreakLength;\n const MNDWH = _default.maxNumDailyWorkingHours;\n\n return {\n numDays: settings.numDays,\n discretization: settings.discretization,\n\n dayStart: _default.intervals[0][0].beg?.toFixed(2).replace('.', ':')!, // TEMP CONVERSION\n dayEnd: _default.intervals[0][0].end?.toFixed(2).replace('.', ':')!, // TEMP CONVERSION\n\n defaultDependencyMinimumBreakLength: _default.dependencyMinBreakLength,\n defaultGroupMinimumBreakLength: _default.groupMinBreakLength,\n defaultEventMinimumBreakLength: isObject(EMBL) ? 0.5*(EMBL.bef + EMBL.aft) : isNumber(EMBL) ? EMBL : 0, // TEMP CONVERSION\n\n potentialCenter: _default.potentialCenter?.toFixed(2).replace('.', ':'),\n defaultEventDensity: _default.eventDensity,\n\n defaultMaxNumWorkingHours: typeof _default.maxNumWorkingHours == 'number' ? _default.maxNumWorkingHours : null,\n defaultMaxNumDailyWorkingHours: isArray(MNDWH) ? MNDWH[0] : (typeof MNDWH == 'number' ? MNDWH : null),\n\n defaultDependencyRank: _default.dependencyRank,\n defaultGroupRank: _default.groupRank,\n defaultDayRank: _default.dayRank,\n\n defaultEventWeight: _default.eventWeight,\n defaultGroupWeight: _default.groupWeight,\n defaultCourseWeight: _default.collectionWeight,\n\n period: _default.period?.toString(),\n };\n};"],"mappings":";;;AAQA,wBAAgB,UAAoB,aAAyK;CAE3M,MAAM,OAAQ,SAAS;CACvB,MAAM,QAAQ,SAAS;AAEvB,QAAO;EACL,SAAgB,SAAS;EACzB,gBAAgB,SAAS;EAEzB,UAAU,SAAS,UAAU,GAAG,GAAG,KAAK,QAAQ,GAAG,QAAQ,KAAK;EAChE,QAAU,SAAS,UAAU,GAAG,GAAG,KAAK,QAAQ,GAAG,QAAQ,KAAK;EAEhE,qCAAqC,SAAS;EAC9C,gCAAqC,SAAS;EAC9C,gCAAqC,SAAS,QAAQ,MAAK,KAAK,MAAM,KAAK,OAAO,SAAS,QAAQ,OAAO;EAE1G,iBAAqB,SAAS,iBAAiB,QAAQ,GAAG,QAAQ,KAAK;EACvE,qBAAqB,SAAS;EAE9B,2BAAgC,OAAO,SAAS,sBAAsB,WAAW,SAAS,qBAAqB;EAC/G,gCAAgC,QAAQ,SAAS,MAAM,KAAM,OAAO,SAAS,WAAW,QAAQ;EAEhG,uBAAuB,SAAS;EAChC,kBAAuB,SAAS;EAChC,gBAAuB,SAAS;EAEhC,oBAAqB,SAAS;EAC9B,oBAAqB,SAAS;EAC9B,qBAAqB,SAAS;EAE9B,QAAQ,SAAS,QAAQ"}
@@ -1,33 +0,0 @@
1
- import break_lengths_default from "./break-lengths.js";
2
- import days_default from "./days.js";
3
- import locked_times_default from "./locked-times.js";
4
- import intervals_default from "./intervals.js";
5
-
6
- //#region src/RS/v2/from/teachers.ts
7
- var teachers_default = (teachers, settings) => {
8
- const idKey = settings.groupIdKey;
9
- if (!idKey) throw new Error("(RS::V2::From::Teachers) property \"groupIdKey\" in settings is undefined");
10
- return teachers.reduce((acc, teacher) => {
11
- if (!["personal", "classes"].includes(teacher.group_type)) throw new Error("(RS::V2::From::Teachers) property \"group_type\" must exist on all entries in \"groups\" array");
12
- if (!teacher[idKey]) throw new Error("(RS::V2::From::Teachers) A teacher does not have a unique key");
13
- if (teacher.group_type != "personal") return acc;
14
- return acc.concat({
15
- ids: teacher[idKey],
16
- ...teacher.name && { displayName: teacher.name },
17
- ..."forbidOverlappingEvents" in teacher && { forbidOverlappingEvents: teacher.forbidOverlappingEvents },
18
- ..."maxNumWorkingHours" in teacher && { maxNumWorkingHours: teacher.maxNumWorkingHours },
19
- ..."maxNumDailyWorkingHours" in teacher && { maxNumDailyWorkingHours: teacher.maxNumDailyWorkingHours },
20
- ..."minBreakLength" in teacher && { minBreakLength: break_lengths_default(teacher.minBreakLength) },
21
- ..."disableDayLengthPunishment" in teacher && { disableDayLengthPunishment: teacher.disableDayLengthPunishment },
22
- ..."weight" in teacher && { weight: teacher.weight },
23
- ..."rank" in teacher && { rank: teacher.rank },
24
- ...teacher.days?.length && { days: days_default(teacher.days, settings) },
25
- ...teacher.intervals?.length && { intervals: intervals_default(teacher.intervals) },
26
- ...teacher.lockedTimes?.length && { lockedTimes: locked_times_default(teacher.lockedTimes) }
27
- });
28
- }, []);
29
- };
30
-
31
- //#endregion
32
- export { teachers_default as default };
33
- //# sourceMappingURL=teachers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"teachers.js","names":["idKey: keyof Group","breakLength","days","intervals","lockedTime"],"sources":["../../../../src/RS/v2/from/teachers.ts"],"sourcesContent":["import breakLength from './break-lengths';\nimport days from './days';\nimport lockedTime from './locked-times';\nimport intervals from './intervals';\n\nimport { Group } from '../types/groups';\nimport { Settings } from '../types/settings';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\n\nexport default (teachers: Group[],\n settings: Settings) => {\n\n const idKey: keyof Group = settings.groupIdKey;\n\n if (!idKey)\n throw new Error('(RS::V2::From::Teachers) property \"groupIdKey\" in settings is undefined');\n\n return teachers.reduce((acc: Deserialized<CoreTypes.teacher>[], teacher) => {\n\n if (!['personal', 'classes'].includes(teacher.group_type))\n throw new Error('(RS::V2::From::Teachers) property \"group_type\" must exist on all entries in \"groups\" array');\n\n if (!teacher[idKey])\n throw new Error('(RS::V2::From::Teachers) A teacher does not have a unique key');\n\n if (teacher.group_type != 'personal')\n return acc;\n\n return acc.concat({\n ids: teacher[idKey],\n ...teacher.name && { displayName: teacher.name },\n ...'forbidOverlappingEvents' in teacher && { forbidOverlappingEvents: teacher.forbidOverlappingEvents },\n ...'maxNumWorkingHours' in teacher && { maxNumWorkingHours: teacher.maxNumWorkingHours },\n ...'maxNumDailyWorkingHours' in teacher && { maxNumDailyWorkingHours: teacher.maxNumDailyWorkingHours },\n ...'minBreakLength' in teacher && { minBreakLength: breakLength(teacher.minBreakLength) },\n ...'disableDayLengthPunishment' in teacher && { disableDayLengthPunishment: teacher.disableDayLengthPunishment },\n ...'weight' in teacher && { weight: teacher.weight },\n ...'rank' in teacher && { rank: teacher.rank },\n ...(teacher.days?.length) && { days: days(teacher.days, settings) },\n ...(teacher.intervals?.length) && { intervals: intervals(teacher.intervals) },\n ...(teacher.lockedTimes?.length) && { lockedTimes: lockedTime(teacher.lockedTimes) },\n });\n }, []);\n};\n"],"mappings":";;;;;;AAWA,wBAAgB,UACd,aAAyB;CAEzB,MAAMA,QAAqB,SAAS;AAEpC,KAAI,CAAC,MACH,OAAM,IAAI,MAAM;AAElB,QAAO,SAAS,QAAQ,KAAwC,YAAY;AAE1E,MAAI,CAAC,CAAC,YAAY,WAAW,SAAS,QAAQ,YAC5C,OAAM,IAAI,MAAM;AAElB,MAAI,CAAC,QAAQ,OACX,OAAM,IAAI,MAAM;AAElB,MAAI,QAAQ,cAAc,WACxB,QAAO;AAET,SAAO,IAAI,OAAO;GAChB,KAAK,QAAQ;GACb,GAAG,QAAQ,QAAmC,EAAE,aAA4B,QAAQ;GACpF,GAAG,6BAAgC,WAAW,EAAE,yBAA4B,QAAQ;GACpF,GAAG,wBAAgC,WAAW,EAAE,oBAA4B,QAAQ;GACpF,GAAG,6BAAgC,WAAW,EAAE,yBAA4B,QAAQ;GACpF,GAAG,oBAAgC,WAAW,EAAE,gBAA4BC,sBAAY,QAAQ;GAChG,GAAG,gCAAgC,WAAW,EAAE,4BAA4B,QAAQ;GACpF,GAAG,YAAgC,WAAW,EAAE,QAA4B,QAAQ;GACpF,GAAG,UAAgC,WAAW,EAAE,MAA4B,QAAQ;GACpF,GAAI,QAAQ,MAAM,UAA4B,EAAE,MAA4BC,aAAK,QAAQ,MAAM;GAC/F,GAAI,QAAQ,WAAW,UAAuB,EAAE,WAA4BC,kBAAU,QAAQ;GAC9F,GAAI,QAAQ,aAAa,UAAqB,EAAE,aAA4BC,qBAAW,QAAQ;;IAEhG"}
@@ -1,63 +0,0 @@
1
- import { Day } from "../../core/v2/types/days.js";
2
- import { Group } from "../../core/v2/types/groups.js";
3
- import { Teacher } from "../../core/v2/types/teachers.js";
4
- import { Location } from "../../core/v2/types/locations.js";
5
- import { LockedTime } from "../../core/v2/types/locked-times.js";
6
- import { Period } from "../../core/v2/types/periods.js";
7
- import { Event } from "../../core/v2/types/events.js";
8
- import { Course } from "../../core/v2/types/courses.js";
9
- import { Types } from "../../core/v2/types/index.js";
10
- import { Deserialized, Serialized } from "../../core/types/index.js";
11
- import { Settings } from "./types/settings.js";
12
- import { Day as Day$1 } from "./types/days.js";
13
- import { LockedTime as LockedTime$1 } from "./types/locked-times.js";
14
- import { Interval } from "./types/intervals.js";
15
- import { CourseEvent } from "./types/course-events.js";
16
- import { Collection } from "./types/collections.js";
17
- import { Group as Group$1 } from "./types/groups.js";
18
- import { Area } from "./types/areas.js";
19
- import { Dependency } from "./types/dependencies.js";
20
- import { Default } from "./types/default.js";
21
- import { Constraint } from "./types/constraints.js";
22
- import { _default } from "./from/course-events.js";
23
- import { Configuration } from "./types/configurations.js";
24
- import { Schedule } from "./types/schedules.js";
25
- import { export_default } from "./to/index.js";
26
- import { Types as Types$1 } from "./types/index.js";
27
-
28
- //#region src/RS/v2/index.d.ts
29
- declare class Map {
30
- static to: typeof export_default;
31
- static from: {
32
- availableDependency: (data: any, settings: Settings) => any;
33
- courseEvent: (courseEvents: (CourseEvent | number)[], course: Collection, teachersList: string[], groupsList: string[], settings: Settings, overlapGroup?: number | null) => (Deserialized<Omit<Event, "groups" | "teachers" | "period">> & Serialized<Pick<Event, "groups" | "teachers" | "period">>)[];
34
- collection: (courses: NonNullable<Constraint["events"]>, teachersList: string[], groupsList: string[], settings: Settings, overlapGroup?: number) => (Deserialized<Omit<Course, "groups" | "teachers" | "events" | "period" | "overlapGroup">> & Serialized<Pick<Course, "groups" | "teachers" | "period" | "overlapGroup">> & {
35
- events?: ReturnType<typeof _default>;
36
- })[];
37
- day: (days: (Day$1 | number)[], settings: Settings) => Day[];
38
- dependency: (dependencies: (Dependency | string)[], settings: Settings) => Deserialized<Types.location>[];
39
- group: (groups: Group$1[], settings: Settings) => Deserialized<Group>[];
40
- interval: (intervals: Interval[][]) => Types.interval[];
41
- lockedTime: (lockedTimes: LockedTime$1[]) => Deserialized<LockedTime>[];
42
- placement: (configuration: Configuration, options?: {
43
- idKey?: "_id" | "id" | "ids";
44
- }) => [Omit<Types.event, "preferredDuration">[], Types.lockedTime[]];
45
- schedules: (schedule: Schedule) => {
46
- overlapGroups: any;
47
- settings: any;
48
- area?: Area | undefined;
49
- courses?: (Deserialized<Omit<Course, "groups" | "teachers" | "events" | "period" | "overlapGroup">> & Serialized<Pick<Course, "groups" | "teachers" | "period" | "overlapGroup">> & {
50
- events?: ReturnType<typeof _default>;
51
- })[] | undefined;
52
- groups?: Deserialized<Group>[] | undefined;
53
- teachers?: Deserialized<Teacher>[] | undefined;
54
- locations?: Deserialized<Location>[] | undefined;
55
- periods?: Deserialized<Period>[] | undefined;
56
- };
57
- setting: (settings: Settings, _default: Default) => Deserialized<Omit<Types.divisionSettings, "belongsTo" | "defaultLunch" | "period">> & Serialized<Pick<Types.divisionSettings, "period">>;
58
- teacher: (teachers: Group$1[], settings: Settings) => Deserialized<Teacher>[];
59
- };
60
- }
61
- //#endregion
62
- export { Map };
63
- //# sourceMappingURL=index.d.ts.map
@@ -1,12 +0,0 @@
1
- import from_default from "./from/index.js";
2
- import to_default from "./to/index.js";
3
-
4
- //#region src/RS/v2/index.ts
5
- var Map = class {
6
- static to = to_default;
7
- static from = from_default;
8
- };
9
-
10
- //#endregion
11
- export { Map };
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_to","_from"],"sources":["../../../src/RS/v2/index.ts"],"sourcesContent":["import _from from './from';\nimport _to from './to';\nimport { Types } from './types';\n\nexport class Map {\n static to = _to;\n static from = _from;\n}\n\nexport type { Types };"],"mappings":";;;;AAIA,IAAa,MAAb,MAAiB;CACf,OAAO,KAAOA;CACd,OAAO,OAAOC"}
@@ -1,25 +0,0 @@
1
- //#region src/RS/v2/to/available-dependencies.ts
2
- var available_dependencies_default = (availableLocations, options) => {
3
- const idKey = options.idKey || "id";
4
- if (!idKey) throw new Error("(RS::V2::To::AvailableDependencies) property \"idKey\" in options is undefined");
5
- return (availableLocations || []).reduce((acc, locationSet) => {
6
- if (!locationSet?.locations?.length) return acc;
7
- if (locationSet.groupIndex == null) return acc;
8
- const { groupIndex } = locationSet;
9
- if (!acc[groupIndex]) acc[groupIndex] = [];
10
- const location = locationSet.locations?.[0];
11
- if (!location) return acc;
12
- const dependency = location?.[idKey]?.toString?.();
13
- if (!dependency) return acc;
14
- const { rank } = locationSet;
15
- acc[groupIndex].push({
16
- dependency,
17
- ...rank != null && { rank }
18
- });
19
- return acc;
20
- }, []).filter((arr) => !!arr?.length);
21
- };
22
-
23
- //#endregion
24
- export { available_dependencies_default as default };
25
- //# sourceMappingURL=available-dependencies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"available-dependencies.js","names":["idKey: keyof CoreTypes.location"],"sources":["../../../../src/RS/v2/to/available-dependencies.ts"],"sourcesContent":["import { OutOptions } from '../types/out-options';\nimport { AvailableDependency } from '../types/available-dependencies';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\n\nexport default (availableLocations: Deserialized<CoreTypes.availableLocation>[],\n options: OutOptions) => {\n\n const idKey: keyof CoreTypes.location = options.idKey || 'id';\n\n if (!idKey)\n throw new Error('(RS::V2::To::AvailableDependencies) property \"idKey\" in options is undefined');\n\n return (availableLocations || [])\n .reduce((acc: AvailableDependency[][], locationSet) => {\n if (!locationSet?.locations?.length) return acc;\n\n if (locationSet.groupIndex == null) return acc;\n\n const { groupIndex } = locationSet;\n\n if (!acc[groupIndex]) acc[groupIndex] = [];\n\n const location = locationSet.locations?.[0];\n\n if (!location) return acc;\n\n const dependency = location?.[idKey]?.toString?.();\n\n if (!dependency) return acc;\n\n const { rank } = locationSet;\n\n acc[groupIndex].push({\n dependency,\n ...rank != null && { rank }\n });\n return acc;\n }, []).filter(arr => !!arr?.length);\n};"],"mappings":";AAMA,sCAAgB,oBACd,YAAmC;CAEnC,MAAMA,QAAkC,QAAQ,SAAS;AAEzD,KAAI,CAAC,MACH,OAAM,IAAI,MAAM;AAElB,SAAQ,sBAAsB,IAC3B,QAAQ,KAA8B,gBAAgB;AACrD,MAAI,CAAC,aAAa,WAAW,OAAQ,QAAO;AAE5C,MAAI,YAAY,cAAc,KAAM,QAAO;EAE3C,MAAM,EAAE,eAAe;AAEvB,MAAI,CAAC,IAAI,YAAa,KAAI,cAAc;EAExC,MAAM,WAAW,YAAY,YAAY;AAEzC,MAAI,CAAC,SAAU,QAAO;EAEtB,MAAM,aAAa,WAAW,QAAQ;AAEtC,MAAI,CAAC,WAAY,QAAO;EAExB,MAAM,EAAE,SAAS;AAEjB,MAAI,YAAY,KAAK;GACnB;GACA,GAAG,QAAQ,QAAQ,EAAE;;AAEvB,SAAO;IACN,IAAI,QAAO,QAAO,CAAC,CAAC,KAAK"}
@@ -1,19 +0,0 @@
1
- //#region src/RS/v2/to/break-lengths.ts
2
- var break_lengths_default = (breakLength) => {
3
- switch (typeof breakLength) {
4
- case "boolean":
5
- case "number": return breakLength;
6
- case "object":
7
- if (!Array.isArray(breakLength)) throw new Error("(RS::V2::To::BreakLengths) BreakLength is object but not an array");
8
- const [bef, aft] = breakLength;
9
- return {
10
- bef,
11
- aft
12
- };
13
- default: throw new Error("(RS::V2::To::BreakLengths) BreakLength is neither boolean, number or number array");
14
- }
15
- };
16
-
17
- //#endregion
18
- export { break_lengths_default as default };
19
- //# sourceMappingURL=break-lengths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"break-lengths.js","names":[],"sources":["../../../../src/RS/v2/to/break-lengths.ts"],"sourcesContent":["import { BreakLength } from '../types/break-lengths';\n\nimport { Types as CoreTypes } from '../../../core/types';\n\nexport default (breakLength: CoreTypes.breakLength): BreakLength => {\n switch (typeof breakLength) {\n case 'boolean':\n case 'number':\n return breakLength;\n case 'object':\n if (!Array.isArray(breakLength))\n throw new Error('(RS::V2::To::BreakLengths) BreakLength is object but not an array');\n const [bef, aft] = breakLength;\n return { bef, aft };\n default:\n throw new Error('(RS::V2::To::BreakLengths) BreakLength is neither boolean, number or number array');\n }\n};\n"],"mappings":";AAIA,6BAAgB,gBAAoD;AAClE,SAAQ,OAAO,aAAf;EACE,KAAK;EACL,KAAK,SACH,QAAO;EACT,KAAK;AACH,OAAI,CAAC,MAAM,QAAQ,aACjB,OAAM,IAAI,MAAM;GAClB,MAAM,CAAC,KAAK,OAAO;AACnB,UAAO;IAAE;IAAK;;EAChB,QACE,OAAM,IAAI,MAAM"}
@@ -1,60 +0,0 @@
1
- import available_dependencies_default from "./available-dependencies.js";
2
- import days_default from "./days.js";
3
- import locked_times_default from "./locked-times.js";
4
- import break_lengths_default from "./break-lengths.js";
5
- import intervals_default from "./intervals.js";
6
- import { mapGroupReferences } from "./course-events/groups.js";
7
- import course_events_default from "./course-events/index.js";
8
-
9
- //#region src/RS/v2/to/collections.ts
10
- var collections_default = (courses, events = [], overlapGroups = [], settings, options, periodsMap, destructMap = /* @__PURE__ */ new Map()) => {
11
- const idKey = options.idKey || "id";
12
- courses = Array.isArray(courses) ? courses : [courses];
13
- const eventMap = new Map(events.map((x) => [x.id, x]));
14
- return courses.reduce((acc, course) => {
15
- const id = course[idKey].toString();
16
- if (!id) throw new Error("(RS::V2::To::Collections) A course does not have a unique key");
17
- if (!course.events && events?.some((x) => x.course?.[idKey] == course[idKey])) course.events = events.filter((x) => x.course?.[idKey] == course[idKey]);
18
- if (course.events) course.events = course.events.filter((event) => !!event).map((event) => {
19
- const _event = eventMap.get(event.id);
20
- if (_event) Object.assign(event, _event);
21
- event.course = course;
22
- return event;
23
- });
24
- if (course.period && periodsMap.size && !periodsMap.has(course.period.id)) throw new Error(`(RS::V2::To::Collections) Course ${course[idKey]} has a period that does not exist`);
25
- const doc = {
26
- id,
27
- distributionKey: id,
28
- events: course.events ? course_events_default(course.events, overlapGroups, settings, options, periodsMap, destructMap) : [],
29
- ..."weight" in course && { weight: course.weight },
30
- ..."density" in course && { density: course.density },
31
- ...course.eventDurationVariance != null && { maxEventLengthVariance: course.eventDurationVariance },
32
- ...course.locations?.length && { dependencies: available_dependencies_default(course.locations, options) },
33
- ...course.intervals?.length && { intervals: intervals_default(course.intervals, settings) },
34
- ...course.days?.length && { days: days_default(course.days, settings.numDays) },
35
- ...course.minBreakLength != null && { minBreakLength: break_lengths_default(course.minBreakLength) },
36
- ...course.lockedTimes?.length && { lockedTimes: locked_times_default(course.lockedTimes, options) },
37
- ...course.lockedTimes?.length && { lockedTimes: locked_times_default(course.lockedTimes, options) },
38
- ...course.centerOfAttraction && { potentialCenter: parseFloat(course.centerOfAttraction.replace(":", ".")) },
39
- ...course.period && periodsMap.size && { period: periodsMap.get(course.period?.id) }
40
- };
41
- const groups = mapGroupReferences(course, options, destructMap);
42
- if (groups) doc.groups = groups;
43
- if (options.meta) Object.assign(doc, {
44
- ..."color" in course && { color: course.color },
45
- ..."ids" in course && { ids: course.ids },
46
- ...course.displayName && { name: course.displayName }
47
- });
48
- if (course.overlapGroup) {
49
- const overlapGroup = course.overlapGroup.id.toString();
50
- const index = overlapGroups.map(({ id: id$1 }) => id$1).indexOf(overlapGroup);
51
- acc[index] = acc[index].concat(doc);
52
- return acc;
53
- }
54
- return acc.concat(doc);
55
- }, Array(overlapGroups.length).fill([]));
56
- };
57
-
58
- //#endregion
59
- export { collections_default as default };
60
- //# sourceMappingURL=collections.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collections.js","names":["idKey: keyof CoreTypes.course","doc: Collection","courseEvents","availableDependencies","intervals","days","breakLength","lockedTimes","overlapGroup: string","id"],"sources":["../../../../src/RS/v2/to/collections.ts"],"sourcesContent":["import days from './days';\nimport lockedTimes from './locked-times';\nimport intervals from './intervals';\nimport availableDependencies from './available-dependencies';\nimport courseEvents from './course-events';\nimport breakLength from './break-lengths';\n\nimport { Collection } from '../types/collections';\nimport { OutOptions } from '../types/out-options';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\nimport { mapGroupReferences } from './course-events/groups';\n\nexport default (courses: Deserialized<CoreTypes.course> | Deserialized<CoreTypes.course>[],\n events: Deserialized<CoreTypes.event>[] = [],\n overlapGroups: Deserialized<CoreTypes.overlapGroup>[] = [],\n settings: CoreTypes.divisionSettings,\n options: OutOptions,\n periodsMap: Map<string | undefined, number>,\n destructMap: Map<string | null, Set<string>> = new Map()): (Collection[] | Collection)[] => {\n\n const idKey: keyof CoreTypes.course = options.idKey || 'id';\n\n courses = Array.isArray(courses) ? courses : [courses];\n\n const eventMap = new Map<string, Deserialized<CoreTypes.event>>(events.map(x => ([x.id!, x])));\n\n return courses.reduce((acc: (Collection[] | Collection)[], course) => {\n\n const id = course[idKey]!.toString();\n if (!id)\n throw new Error('(RS::V2::To::Collections) A course does not have a unique key');\n\n if (!course.events && events?.some(x => x.course?.[idKey] == course[idKey] )) {\n course.events = events.filter(x => x.course?.[idKey] == course[idKey]);\n }\n\n if (course.events)\n course.events = course.events\n .filter((event): event is Deserialized<CoreTypes.event> => !!event)\n .map(event => {\n const _event = eventMap.get(event.id!);\n if (_event) Object.assign(event, _event);\n event.course = course;\n return event;\n });\n\n if (course.period && periodsMap.size && !periodsMap.has(course.period.id)) {\n throw new Error(`(RS::V2::To::Collections) Course ${course[idKey]} has a period that does not exist`);\n }\n\n const doc: Collection = {\n id: id,\n distributionKey: id,\n events: course.events ? courseEvents(course.events, overlapGroups, settings, options, periodsMap, destructMap) : [],\n // optional\n ...'weight' in course && { weight: course.weight },\n ...'density' in course && { density: course.density },\n ...course.eventDurationVariance != null && { maxEventLengthVariance: course.eventDurationVariance },\n ...course.locations?.length && { dependencies: availableDependencies(course.locations, options) },\n ...course.intervals?.length && { intervals: intervals(course.intervals, settings) },\n ...course.days?.length && { days: days(course.days, settings.numDays) },\n ...(course.minBreakLength != null) && { minBreakLength: breakLength(course.minBreakLength) },\n ...course.lockedTimes?.length && { lockedTimes: lockedTimes(course.lockedTimes, options) },\n ...course.lockedTimes?.length && { lockedTimes: lockedTimes(course.lockedTimes, options) },\n ...course.centerOfAttraction && { potentialCenter: parseFloat(course.centerOfAttraction.replace(':', '.')) },\n ...course.period && periodsMap.size && { period: periodsMap.get(course.period?.id) }\n };\n\n\n const groups = mapGroupReferences(course, options, destructMap);\n if (groups) doc.groups = groups;\n\n if (options.meta) {\n Object.assign(doc, {\n ...'color' in course && { color: course.color },\n ...'ids' in course && { ids: course.ids },\n ...course.displayName && { name: course.displayName },\n });\n }\n\n if (course.overlapGroup) {\n const overlapGroup: string = course.overlapGroup.id!.toString();\n\n //const _overlapGroup = overlapGroups.find(({ id }) => overlapGroup == id);\n\n\n const index = overlapGroups.map(({ id }) => id).indexOf(overlapGroup);\n acc[index] = (acc[index] as Collection[]).concat(doc);\n return acc;\n }\n\n return acc.concat(doc);\n }, Array(overlapGroups.length).fill([]));\n};"],"mappings":";;;;;;;;;AAcA,2BAAgB,SACd,SAAiD,IACjD,gBAAwD,IACxD,UACA,SACA,YACA,8BAAiD,IAAI,UAAyC;CAE9F,MAAMA,QAAgC,QAAQ,SAAS;AAEvD,WAAU,MAAM,QAAQ,WAAW,UAAU,CAAC;CAE9C,MAAM,WAAW,IAAI,IAA2C,OAAO,KAAI,MAAM,CAAC,EAAE,IAAK;AAEzF,QAAO,QAAQ,QAAQ,KAAoC,WAAW;EAEpE,MAAM,KAAK,OAAO,OAAQ;AAC1B,MAAI,CAAC,GACH,OAAM,IAAI,MAAM;AAElB,MAAI,CAAC,OAAO,UAAU,QAAQ,MAAK,MAAK,EAAE,SAAS,UAAU,OAAO,QAClE,QAAO,SAAS,OAAO,QAAO,MAAM,EAAE,SAAS,UAAU,OAAO;AAGlE,MAAI,OAAO,OACT,QAAO,SAAS,OAAO,OACpB,QAAQ,UAAkD,CAAC,CAAC,OAC5D,KAAI,UAAS;GACZ,MAAM,SAAS,SAAS,IAAI,MAAM;AAClC,OAAI,OAAQ,QAAO,OAAO,OAAO;AACjC,SAAM,SAAS;AACf,UAAO;;AAGb,MAAI,OAAO,UAAU,WAAW,QAAQ,CAAC,WAAW,IAAI,OAAO,OAAO,IACpE,OAAM,IAAI,MAAM,oCAAoC,OAAO,OAAO;EAGpE,MAAMC,MAAkB;GACL;GACjB,iBAAiB;GACjB,QAAiB,OAAO,SAASC,sBAAa,OAAO,QAAQ,eAAe,UAAU,SAAS,YAAY,eAAe;GAE1H,GAAG,YAA2B,UAAa,EAAE,QAAwB,OAAO;GAC5E,GAAG,aAA2B,UAAa,EAAE,SAAwB,OAAO;GAC5E,GAAG,OAAO,yBAAyB,QAAQ,EAAE,wBAAwB,OAAO;GAC5E,GAAG,OAAO,WAAW,UAAsB,EAAE,cAAwBC,+BAAsB,OAAO,WAAW;GAC7G,GAAG,OAAO,WAAW,UAAsB,EAAE,WAAwBC,kBAAU,OAAO,WAAW;GACjG,GAAG,OAAO,MAAM,UAA2B,EAAE,MAAwBC,aAAK,OAAO,MAAM,SAAS;GAChG,GAAI,OAAO,kBAAkB,QAAc,EAAE,gBAAwBC,sBAAY,OAAO;GACxF,GAAG,OAAO,aAAa,UAAoB,EAAE,aAAwBC,qBAAY,OAAO,aAAa;GACrG,GAAG,OAAO,aAAa,UAAoB,EAAE,aAAwBA,qBAAY,OAAO,aAAa;GACrG,GAAG,OAAO,sBAAiC,EAAE,iBAAwB,WAAW,OAAO,mBAAmB,QAAQ,KAAK;GACvH,GAAG,OAAO,UAAU,WAAW,QAAY,EAAE,QAAwB,WAAW,IAAI,OAAO,QAAQ;;EAIrG,MAAM,SAAS,mBAAmB,QAAQ,SAAS;AACnD,MAAI,OAAQ,KAAI,SAAS;AAEzB,MAAI,QAAQ,KACV,QAAO,OAAO,KAAK;GACjB,GAAG,WAAkB,UAAe,EAAE,OAAiB,OAAO;GAC9D,GAAG,SAAkB,UAAe,EAAE,KAAiB,OAAO;GAC9D,GAAG,OAAO,eAA0B,EAAE,MAAiB,OAAO;;AAIlE,MAAI,OAAO,cAAc;GACvB,MAAMC,eAAuB,OAAO,aAAa,GAAI;GAKrD,MAAM,QAAQ,cAAc,KAAK,EAAE,eAASC,MAAI,QAAQ;AACxD,OAAI,SAAU,IAAI,OAAwB,OAAO;AACjD,UAAO;;AAGT,SAAO,IAAI,OAAO;IACjB,MAAM,cAAc,QAAQ,KAAK"}
@@ -1,23 +0,0 @@
1
- import moment from "moment";
2
- import { isObject } from "lodash-es";
3
-
4
- //#region src/RS/v2/to/configurations.ts
5
- var configurations_default = (events, options) => {
6
- const idKey = options.idKey || "id";
7
- return [{ events: (events || []).reduce((acc, event) => {
8
- if (event.parked) return acc;
9
- const mmtMidnight = moment.utc(event.start).clone().startOf("day");
10
- return acc.concat({
11
- id: event[idKey],
12
- collection: event.course?.[idKey],
13
- day: (moment.utc(event.start).day() + 6) % 7,
14
- dependencies: event.inLocations?.map((x) => isObject(x) ? x[idKey] : null).filter((x) => x !== null) ?? [],
15
- end: moment.utc(event.end).diff(mmtMidnight, "minutes"),
16
- start: moment.utc(event.start).diff(mmtMidnight, "minutes")
17
- });
18
- }, []) }];
19
- };
20
-
21
- //#endregion
22
- export { configurations_default as default };
23
- //# sourceMappingURL=configurations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configurations.js","names":["idKey: keyof (CoreTypes.event & CoreTypes.course)"],"sources":["../../../../src/RS/v2/to/configurations.ts"],"sourcesContent":["import moment from 'moment';\nimport { isObject } from 'lodash-es';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\n\nimport { OutOptions } from '../types/out-options';\nimport { Configuration } from '../types/configurations';\nimport { Placement } from '../types/placements';\n\nexport default (events: Deserialized<CoreTypes.event>[], options: OutOptions): Configuration[] => {\n\n const idKey: keyof (CoreTypes.event & CoreTypes.course) = options.idKey || 'id';\n\n return [\n {\n events: (events || []).reduce((acc: Placement[], event) => {\n if (event.parked) return acc;\n\n const mmtMidnight = moment.utc(event.start).clone()\n .startOf('day');\n\n return acc.concat({\n id: event[idKey],\n collection: event.course?.[idKey],\n day: (moment.utc(event.start).day() + 6) % 7,\n dependencies: (event.inLocations)?.map(x => isObject(x) ? x[idKey] : null).filter(x => x !== null) ?? [],\n end: moment.utc(event.end).diff(mmtMidnight, 'minutes'),\n start: moment.utc(event.start).diff(mmtMidnight, 'minutes')\n } as Placement);\n }, [])\n }\n ];\n};"],"mappings":";;;;AAUA,8BAAgB,QAAyC,YAAyC;CAEhG,MAAMA,QAAoD,QAAQ,SAAS;AAE3E,QAAO,CACL,EACE,SAAS,UAAU,IAAI,QAAQ,KAAkB,UAAU;AACzD,MAAI,MAAM,OAAQ,QAAO;EAEzB,MAAM,cAAc,OAAO,IAAI,MAAM,OAAO,QACzC,QAAQ;AAEX,SAAO,IAAI,OAAO;GAChB,IAAc,MAAM;GACpB,YAAc,MAAM,SAAS;GAC7B,MAAe,OAAO,IAAI,MAAM,OAAO,QAAQ,KAAK;GACpD,cAAe,MAAM,aAAc,KAAI,MAAK,SAAS,KAAK,EAAE,SAAS,MAAM,QAAO,MAAK,MAAM,SAAS;GACtG,KAAc,OAAO,IAAI,MAAM,KAAK,KAAK,aAAa;GACtD,OAAc,OAAO,IAAI,MAAM,OAAO,KAAK,aAAa;;IAEzD"}
@@ -1,88 +0,0 @@
1
- import destructure_default from "./destructure.js";
2
- import dependencies_default from "./dependencies.js";
3
- import teachers_default from "./teachers.js";
4
- import groups_default from "./groups.js";
5
- import collections_default from "./collections.js";
6
- import settings_default from "./settings.js";
7
- import persons_default from "./persons.js";
8
- import default_default from "./default.js";
9
- import dynamic_locked_times_default from "./dynamic-locked-times.js";
10
- import { parsePeriods } from "./periods.js";
11
- import { pick } from "lodash-es";
12
-
13
- //#region src/RS/v2/to/constraints.ts
14
- var constraints_default = (schedule, options = {}) => {
15
- schedule = structuredClone(schedule);
16
- if (schedule == null) return {};
17
- const idKey = options.idKey || "id";
18
- const settings = schedule.settings;
19
- if (!settings) throw new Error("settings missing in schedule");
20
- const area = schedule.area;
21
- const groups = schedule.groups ?? [];
22
- const teachers = schedule.teachers ?? [];
23
- const locations = schedule.locations ?? [];
24
- const events = schedule.events ?? [];
25
- const overlapGroups = schedule.overlapGroups ?? [];
26
- const courses = schedule.courses ?? [];
27
- const periods = schedule.periods ?? [];
28
- {
29
- const groupMap$1 = new Map(groups.map((x) => [x[idKey]?.toString(), x]).filter((x) => !!x[0]));
30
- groups?.forEach((item) => {
31
- if (!item.parentGroups) return;
32
- item.parentGroups = item.parentGroups.map((x) => {
33
- return typeof x === "string" ? groupMap$1.get(x) : groupMap$1.get(x[idKey]?.toString());
34
- }).filter((x) => !!x);
35
- });
36
- courses.concat(events).forEach((item) => {
37
- if (!item.groups) return;
38
- item.groups.forEach((x) => {
39
- const group = typeof x.to === "string" ? groupMap$1.get(x.to) : groupMap$1.get(x.to[idKey]?.toString());
40
- if (group) x.to = group;
41
- });
42
- });
43
- }
44
- const division = schedule.divisions ?? schedule.division;
45
- const { map: periodsMap, matrix: periodsMatrix } = parsePeriods(periods, pick(division, "start", "end"));
46
- const destructMap = destructure_default(courses, events, options);
47
- const data = {
48
- settings: settings_default(settings),
49
- default: default_default(settings, periodsMap),
50
- ...periodsMatrix && { periods: periodsMatrix },
51
- ...area && { areas: {
52
- breakLengthMatrix: area.breakLengthMatrix,
53
- list: area.list
54
- } },
55
- events: collections_default(courses, events, overlapGroups, settings, options, periodsMap, destructMap),
56
- dependencies: dependencies_default(locations, settings, options),
57
- groups: groups_default(groups, settings, options).concat(teachers_default(teachers, settings, options))
58
- };
59
- const groupMap = /* @__PURE__ */ new Map();
60
- if (destructMap.size) {
61
- groups?.forEach((x) => groupMap.set(x[idKey].toString(), x));
62
- const personMap = /* @__PURE__ */ new Map();
63
- destructMap.forEach((set, group) => {
64
- const person = persons_default([...set].map((x) => ({ [idKey]: x })), settings, options);
65
- if (group == null) return person.forEach((x) => personMap.set(x.id, {
66
- ...personMap.get(x.id) ?? {},
67
- ...x
68
- }));
69
- const g = groups_default(groupMap.get(group), settings, options)[0];
70
- person.map((x) => ({
71
- ...g,
72
- ...x
73
- })).forEach((x) => personMap.set(x.id, {
74
- ...personMap.get(x.id) ?? {},
75
- ...x
76
- }));
77
- });
78
- data.groups = data.groups?.concat(Array.from(personMap.values()));
79
- }
80
- const lunchSet = /* @__PURE__ */ new Set();
81
- if (groups?.some((group) => "lunch" in group)) data.events = (data.events ?? []).concat(dynamic_locked_times_default(groups, settings, options, lunchSet, destructMap));
82
- if (teachers?.some((teacher) => "lunch" in teacher)) data.events = (data.events ?? []).concat(dynamic_locked_times_default(teachers, settings, options, lunchSet));
83
- return data;
84
- };
85
-
86
- //#endregion
87
- export { constraints_default as default };
88
- //# sourceMappingURL=constraints.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constraints.js","names":["idKey: keyof CoreTypes.course","groupMap","_destructure","data: Constraint","getSettings","getDefault","getCollections","getDependencies","getGroups","getTeachers","getPersons","getDynamicLockedTimes"],"sources":["../../../../src/RS/v2/to/constraints.ts"],"sourcesContent":["import { pick } from 'lodash-es';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\n\nimport { Constraint } from '../types/constraints';\nimport { OutOptions } from '../types/out-options';\nimport { Group } from '../types/groups';\n\nimport _destructure from './destructure';\nimport getDependencies from './dependencies';\nimport getTeachers from './teachers';\nimport getGroups from './groups';\nimport getCollections from './collections';\nimport getSettings from './settings';\nimport getPersons from './persons';\nimport getDefault from './default';\nimport getDynamicLockedTimes from './dynamic-locked-times';\nimport { parsePeriods } from './periods';\n\nexport default (\n schedule: Partial<Deserialized<CoreTypes.schedule> & { division: Deserialized<CoreTypes.division> }>,\n options: OutOptions = {}\n): Constraint => {\n // clone schedule to avoid mutating the original object\n schedule = structuredClone(schedule);\n\n if (schedule == null) return {};\n const idKey: keyof CoreTypes.course = options.idKey || 'id';\n\n const settings = schedule.settings;\n if (!settings) throw new Error('settings missing in schedule');\n\n const area = schedule.area;\n const groups = schedule.groups ?? [];\n const teachers = schedule.teachers ?? [];\n const locations = schedule.locations ?? [];\n const events = schedule.events ?? [];\n const overlapGroups = schedule.overlapGroups ?? [];\n const courses = schedule.courses ?? [];\n const periods = schedule.periods ?? [];\n\n\n ////\n //// populate some group references to ensure that the types are correct\n ////\n {\n const groupMap = new Map(groups\n .map(x => ([x[idKey]?.toString(), x] as const))\n .filter(x => !!x[0])\n );\n // group.parentGroups\n groups?.forEach(item => {\n if (!item.parentGroups) return;\n item.parentGroups = item.parentGroups\n .map((x: Deserialized<CoreTypes.group> | string) => {\n return typeof x === 'string' ? groupMap.get(x) : groupMap.get(x[idKey]?.toString());\n })\n .filter((x): x is NonNullable<typeof x> => !!x);\n });\n // course.groups.to and event.groups.to\n courses.concat(events).forEach(item => {\n if (!item.groups) return;\n item.groups.forEach((x: { to: Deserialized<CoreTypes.group> | string }) => {\n const group = typeof x.to === 'string' ? groupMap.get(x.to) : groupMap.get(x.to[idKey]?.toString());\n if (group) x.to = group;\n });\n });\n }\n\n // unfortunately the division is set either as \"division\" or \"divisions\" so we need to handle both cases\n const division = schedule.divisions ?? schedule.division;\n\n // map periods\n const { map: periodsMap, matrix: periodsMatrix } = parsePeriods(periods, pick(division, 'start', 'end'));\n\n const destructMap = _destructure(courses, events, options);\n\n const data: Constraint = {\n settings: getSettings(settings),\n default: getDefault(settings, periodsMap),\n ...periodsMatrix && { periods: periodsMatrix },\n ...area && {\n areas: {\n breakLengthMatrix: area.breakLengthMatrix,\n list: area.list\n }\n },\n events: getCollections(courses, events, overlapGroups, settings, options, periodsMap, destructMap),\n dependencies: getDependencies(locations, settings, options),\n groups: getGroups(groups, settings, options)\n .concat(getTeachers(teachers, settings, options))\n };\n\n /*\n create map of groups if some groups are destructed\n groupMap: group id -> group\n */\n const groupMap = new Map<string, Deserialized<CoreTypes.group>>();\n if (destructMap.size) {\n groups?.forEach(x => groupMap.set(x[idKey]!.toString(), x));\n\n /*\n Find group and clone and substitute id with person id\n */\n const personMap = new Map<string, Group>();\n destructMap.forEach((set, group) => {\n const person = getPersons([...set].map(x => ({ [idKey]: x })), settings, options);\n\n if (group == null)\n return person.forEach(x => personMap.set(x.id, { ...(personMap.get(x.id) ?? {}), ...x }));\n\n const g = getGroups(groupMap.get(group)!, settings, options)[0];\n person.map(x => ({ ...g, ...x })).forEach(x => personMap.set(x.id, { ...(personMap.get(x.id) ?? {}), ...x }));\n });\n\n data.groups = data.groups?.concat(Array.from(personMap.values()));\n }\n\n /*\n handle groups.lunch and teachers.lunch\n append to events list\n */\n const lunchSet = new Set<string>();\n if (groups?.some(group => 'lunch' in group))\n data.events = (data.events ?? []).concat(getDynamicLockedTimes(groups, settings, options, lunchSet, destructMap));\n\n if (teachers?.some(teacher => 'lunch' in teacher))\n data.events = (data.events ?? []).concat(getDynamicLockedTimes(teachers, settings, options, lunchSet));\n\n return data;\n};"],"mappings":";;;;;;;;;;;;;AAoBA,2BACE,UACA,UAAsB,OACP;AAEf,YAAW,gBAAgB;AAE3B,KAAI,YAAY,KAAM,QAAO;CAC7B,MAAMA,QAAgC,QAAQ,SAAS;CAEvD,MAAM,WAAW,SAAS;AAC1B,KAAI,CAAC,SAAU,OAAM,IAAI,MAAM;CAE/B,MAAM,OAAgB,SAAS;CAC/B,MAAM,SAAgB,SAAS,UAAiB;CAChD,MAAM,WAAgB,SAAS,YAAiB;CAChD,MAAM,YAAgB,SAAS,aAAiB;CAChD,MAAM,SAAgB,SAAS,UAAiB;CAChD,MAAM,gBAAgB,SAAS,iBAAiB;CAChD,MAAM,UAAgB,SAAS,WAAiB;CAChD,MAAM,UAAgB,SAAS,WAAiB;CAMhD;EACE,MAAMC,aAAW,IAAI,IAAI,OACtB,KAAI,MAAM,CAAC,EAAE,QAAQ,YAAY,IACjC,QAAO,MAAK,CAAC,CAAC,EAAE;AAGnB,UAAQ,SAAQ,SAAQ;AACtB,OAAI,CAAC,KAAK,aAAc;AACxB,QAAK,eAAe,KAAK,aACtB,KAAK,MAA8C;AAClD,WAAO,OAAO,MAAM,WAAWA,WAAS,IAAI,KAAKA,WAAS,IAAI,EAAE,QAAQ;MAEzE,QAAQ,MAAkC,CAAC,CAAC;;AAGjD,UAAQ,OAAO,QAAQ,SAAQ,SAAQ;AACrC,OAAI,CAAC,KAAK,OAAQ;AAClB,QAAK,OAAO,SAAS,MAAsD;IACzE,MAAM,QAAQ,OAAO,EAAE,OAAO,WAAWA,WAAS,IAAI,EAAE,MAAMA,WAAS,IAAI,EAAE,GAAG,QAAQ;AACxF,QAAI,MAAO,GAAE,KAAK;;;;CAMxB,MAAM,WAAW,SAAS,aAAa,SAAS;CAGhD,MAAM,EAAE,KAAK,YAAY,QAAQ,kBAAkB,aAAa,SAAS,KAAK,UAAU,SAAS;CAEjG,MAAM,cAAcC,oBAAa,SAAS,QAAQ;CAElD,MAAMC,OAAmB;EACvB,UAAUC,iBAAY;EACtB,SAAUC,gBAAW,UAAU;EAC/B,GAAG,iBAAiB,EAAE,SAAS;EAC/B,GAAG,QAAQ,EACT,OAAO;GACL,mBAAmB,KAAK;GACxB,MAAmB,KAAK;;EAG5B,QAAcC,oBAAe,SAAS,QAAQ,eAAe,UAAU,SAAS,YAAY;EAC5F,cAAcC,qBAAgB,WAAW,UAAU;EACnD,QAAcC,eAAU,QAAQ,UAAU,SACvC,OAAOC,iBAAY,UAAU,UAAU;;CAO5C,MAAM,2BAAW,IAAI;AACrB,KAAI,YAAY,MAAM;AACpB,UAAQ,SAAQ,MAAK,SAAS,IAAI,EAAE,OAAQ,YAAY;EAKxD,MAAM,4BAAY,IAAI;AACtB,cAAY,SAAS,KAAK,UAAU;GAClC,MAAM,SAASC,gBAAW,CAAC,GAAG,KAAK,KAAI,OAAM,GAAG,QAAQ,OAAO,UAAU;AAEzE,OAAI,SAAS,KACX,QAAO,OAAO,SAAQ,MAAK,UAAU,IAAI,EAAE,IAAI;IAAE,GAAI,UAAU,IAAI,EAAE,OAAO;IAAK,GAAG;;GAEtF,MAAM,IAAIF,eAAU,SAAS,IAAI,QAAS,UAAU,SAAS;AAC7D,UAAO,KAAI,OAAM;IAAE,GAAG;IAAG,GAAG;OAAM,SAAQ,MAAK,UAAU,IAAI,EAAE,IAAI;IAAE,GAAI,UAAU,IAAI,EAAE,OAAO;IAAK,GAAG;;;AAG1G,OAAK,SAAS,KAAK,QAAQ,OAAO,MAAM,KAAK,UAAU;;CAOzD,MAAM,2BAAW,IAAI;AACrB,KAAI,QAAQ,MAAK,UAAS,WAAW,OACnC,MAAK,UAAU,KAAK,UAAU,IAAI,OAAOG,6BAAsB,QAAQ,UAAU,SAAS,UAAU;AAEtG,KAAI,UAAU,MAAK,YAAW,WAAW,SACvC,MAAK,UAAU,KAAK,UAAU,IAAI,OAAOA,6BAAsB,UAAU,UAAU,SAAS;AAE9F,QAAO"}
@@ -1,12 +0,0 @@
1
- import days_default from "../days.js";
2
-
3
- //#region src/RS/v2/to/course-events/days.ts
4
- function days_default$1(event, settings, options) {
5
- const inherit = event.days === null;
6
- if (inherit || !("days" in event)) return void 0;
7
- else return { days: days_default(event.days, settings.numDays) };
8
- }
9
-
10
- //#endregion
11
- export { days_default$1 as default };
12
- //# sourceMappingURL=days.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"days.js","names":["inherit: boolean","_days"],"sources":["../../../../../src/RS/v2/to/course-events/days.ts"],"sourcesContent":["import _days from '../days';\n\nimport { Types as CoreTypes } from '../../../../core/types';\nimport { Deserialized } from '../../../../core/types';\n\nimport { OutOptions } from '../../types/out-options';\n\nexport default function (event: Deserialized<CoreTypes.event>,\n settings: CoreTypes.divisionSettings,\n options: OutOptions) {\n const inherit: boolean = event.days === null;\n\n if (inherit || !('days' in event)) {\n return undefined;\n } else {\n return { days: _days(event.days!, settings.numDays) };\n }\n}"],"mappings":";;;AAOA,wBAAyB,OACvB,UACA,SAAsB;CACtB,MAAMA,UAAmB,MAAM,SAAS;AAExC,KAAI,WAAW,EAAE,UAAU,OACzB,QAAO;KAEP,QAAO,EAAE,MAAMC,aAAM,MAAM,MAAO,SAAS"}
@@ -1,14 +0,0 @@
1
- import available_dependencies_default from "../available-dependencies.js";
2
-
3
- //#region src/RS/v2/to/course-events/dependencies.ts
4
- function dependencies_default(event, options) {
5
- if (!("locations" in event)) return void 0;
6
- const inherit = event.locations === null;
7
- if (inherit) return void 0;
8
- const dependencies = available_dependencies_default(event.locations, options);
9
- return { dependencies: [...new Set(dependencies)] };
10
- }
11
-
12
- //#endregion
13
- export { dependencies_default as default };
14
- //# sourceMappingURL=dependencies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dependencies.js","names":["inherit: boolean","availableDependencies"],"sources":["../../../../../src/RS/v2/to/course-events/dependencies.ts"],"sourcesContent":["import { Types as CoreTypes } from '../../../../core/types';\nimport { Deserialized } from '../../../../core/types';\n\nimport { OutOptions } from '../../types/out-options';\n\nimport availableDependencies from '../available-dependencies';\n\nexport default function (event: Deserialized<CoreTypes.event>,\n options: OutOptions) {\n if (!('locations' in event))\n return undefined;\n\n const inherit: boolean = event.locations === null;\n\n if (inherit) {\n return undefined;\n }\n\n const dependencies = availableDependencies(event.locations!, options);\n return { dependencies: [...new Set(dependencies)] };\n}\n"],"mappings":";;;AAOA,8BAAyB,OACvB,SAAqB;AACrB,KAAI,EAAE,eAAe,OACnB,QAAO;CAET,MAAMA,UAAmB,MAAM,cAAc;AAE7C,KAAI,QACF,QAAO;CAGT,MAAM,eAAeC,+BAAsB,MAAM,WAAY;AAC7D,QAAO,EAAE,cAAc,CAAC,GAAG,IAAI,IAAI"}
@@ -1,38 +0,0 @@
1
- import { mergeWithParentGroups } from "../../../v3/to/util.js";
2
-
3
- //#region src/RS/v2/to/course-events/groups.ts
4
- /**
5
- * @description replaces groups references with their composites while taking into account excluded participants
6
- */
7
- function deconstructGroups(groups, participantIds, destructMap, options) {
8
- const idKey = options.idKey || "id";
9
- if (destructMap.size) groups.forEach((group) => {
10
- const id = group.to?.[idKey]?.toString();
11
- if (!id) return;
12
- const destructed = destructMap.get(id);
13
- if (!destructed) return;
14
- const remaining = Array.from(destructed).filter((pId) => !group.exclude?.some((x) => x?.[idKey] == pId)).map((x) => `persons.${x}`);
15
- participantIds.push(...remaining.filter((x) => !participantIds.includes(x)));
16
- });
17
- }
18
- function mapGroupReferences(source, options, destructMap) {
19
- const idKey = options.idKey || "id";
20
- const teachers = source.teachers ?? source.course?.teachers ?? [];
21
- const groups = source.groups ?? source.course?.groups ?? [];
22
- const participants = source.participants ?? source.course?.participants ?? [];
23
- const groupReferences = mergeWithParentGroups(groups, options);
24
- const teacherIds = teachers.map(({ to }) => to?.[idKey]).filter((x) => !!x).map((x) => "teachers." + x.toString());
25
- const groupIds = groupReferences.map(({ to }) => to?.parentGroups?.length ? to.parentGroups.map((x) => x?.[idKey]).filter(Boolean) : to?.[idKey]).flat().filter((x) => !!x).map((x) => "groups." + x.toString());
26
- const participantIds = participants.map(({ to }) => to?.[idKey]).filter((x) => !!x).map((x) => "persons." + x.toString());
27
- deconstructGroups(groups, participantIds, destructMap, options);
28
- const out = [
29
- ...new Set(teacherIds),
30
- ...new Set(groupIds),
31
- ...new Set(participantIds)
32
- ].map((x) => [x]);
33
- return out;
34
- }
35
-
36
- //#endregion
37
- export { mapGroupReferences };
38
- //# sourceMappingURL=groups.js.map