@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
@@ -0,0 +1,17 @@
1
+ //#region src/RS/to/input/settings.ts
2
+ function parseSettings(settings) {
3
+ if (!settings.numDays) throw new Error("(RS::V3::To::parseSettings) numDays is falsy");
4
+ if (!settings.discretization) throw new Error("(RS::V3::To::parseSettings) discretization is falsy");
5
+ return {
6
+ numDays: settings.numDays,
7
+ discretization: settings.numDays,
8
+ dependencyIdKey: "id",
9
+ groupIdKey: "id",
10
+ collectionIdKey: "id",
11
+ eventIdKey: "id"
12
+ };
13
+ }
14
+
15
+ //#endregion
16
+ export { parseSettings };
17
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","names":[],"sources":["../../../../src/RS/to/input/settings.ts"],"sourcesContent":["import type { Types } from '../../types';\nimport type { ConnectedTypes } from '../../make-connected';\n\nexport function parseSettings (settings: ConnectedTypes.divisionSettings): Types.settings {\n\n if (!settings.numDays) throw new Error('(RS::V3::To::parseSettings) numDays is falsy');\n if (!settings.discretization) throw new Error('(RS::V3::To::parseSettings) discretization is falsy');\n\n return {\n numDays: settings.numDays,\n discretization: settings.numDays,\n\n dependencyIdKey: 'id',\n groupIdKey: 'id',\n collectionIdKey: 'id',\n eventIdKey: 'id'\n };\n};"],"mappings":";AAGA,SAAgB,cAAe,UAA2D;AAExF,KAAI,CAAC,SAAS,QAAgB,OAAM,IAAI,MAAM;AAC9C,KAAI,CAAC,SAAS,eAAgB,OAAM,IAAI,MAAM;AAE9C,QAAO;EACL,SAAgB,SAAS;EACzB,gBAAgB,SAAS;EAEzB,iBAAiB;EACjB,YAAiB;EACjB,iBAAiB;EACjB,YAAiB"}
@@ -0,0 +1,36 @@
1
+ import { idOf } from "./util/util.js";
2
+ import { attachLockedTimes } from "./util/attach-locked-times.js";
3
+ import { parseDays } from "./util/parse-days.js";
4
+ import { parseMaxWorkingHours } from "./util/parse-max-working-hours.js";
5
+ import { parseMinimumBreakLength } from "./util/parse-minimum-break-length.js";
6
+ import { parseIntervals } from "./util/parse-intervals.js";
7
+ import { omitBy } from "lodash-es";
8
+
9
+ //#region src/RS/to/input/teachers.ts
10
+ function fromTeachers(teachers, settings, options) {
11
+ return teachers.map((teacher) => {
12
+ const doc = {
13
+ id: idOf.teacher(teacher, options),
14
+ group_type: "personal",
15
+ minimizeGaps: false,
16
+ minimizeDependencyAlternation: true,
17
+ forbidOverlappingEvents: options.oldFormat ? teacher.forbidOverlappingEvents : void 0,
18
+ disableDayLengthPunishment: options.oldFormat ? teacher.disableDayLengthPunishment : void 0,
19
+ weight: teacher.weight,
20
+ intervals: options.oldFormat ? parseIntervals(teacher.intervals, teacher.rootInterval ?? settings.defaultRootInterval, settings) : idOf.intervalPairReference(teacher.intervals, teacher.rootInterval, options),
21
+ days: parseDays(teacher.days, settings),
22
+ lockedTimes: attachLockedTimes(teacher.lockedTimes, options),
23
+ minBreakLength: parseMinimumBreakLength(teacher.minBreakLength),
24
+ ...parseMaxWorkingHours(teacher, options)
25
+ };
26
+ if (options.meta) doc.meta = omitBy({
27
+ ids: teacher.ids,
28
+ name: teacher.displayName
29
+ }, (x) => x == null);
30
+ return omitBy(doc, (x) => x == null);
31
+ });
32
+ }
33
+
34
+ //#endregion
35
+ export { fromTeachers };
36
+ //# sourceMappingURL=teachers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teachers.js","names":["doc: Types.group"],"sources":["../../../../src/RS/to/input/teachers.ts"],"sourcesContent":["import { omitBy } from 'lodash-es';\nimport type { Types } from '../../types';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { parseMaxWorkingHours } from './util/parse-max-working-hours';\nimport { parseDays } from './util/parse-days';\nimport { attachLockedTimes } from './util/attach-locked-times';\nimport { parseMinimumBreakLength } from './util/parse-minimum-break-length';\nimport { idOf } from './util/util';\nimport { parseIntervals } from './util/parse-intervals';\n\nexport function fromTeachers (\n teachers: ConnectedTypes.teacher[],\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions\n): Types.group[] {\n return teachers\n .map(teacher => {\n const doc: Types.group = {\n id: idOf.teacher(teacher, options),\n group_type: 'personal',\n minimizeGaps: false,\n minimizeDependencyAlternation: true,\n forbidOverlappingEvents: options.oldFormat ? teacher.forbidOverlappingEvents : undefined, // Deprecated in v3\n disableDayLengthPunishment: options.oldFormat ? teacher.disableDayLengthPunishment : undefined, // Deprecated in v3\n weight: teacher.weight,\n intervals: options.oldFormat\n ? parseIntervals(teacher.intervals, teacher.rootInterval ?? settings.defaultRootInterval, settings)\n : idOf.intervalPairReference(teacher.intervals, teacher.rootInterval, options),\n days: parseDays (teacher.days, settings),\n lockedTimes: attachLockedTimes (teacher.lockedTimes, options),\n minBreakLength: parseMinimumBreakLength (teacher.minBreakLength),\n\n ...parseMaxWorkingHours(teacher, options),\n };\n\n if (options.meta) {\n doc.meta = omitBy({\n ids: teacher.ids,\n name: teacher.displayName,\n }, x => x == null);\n }\n\n return omitBy(doc, x => x == null) as Types.group;\n });\n};\n"],"mappings":";;;;;;;;;AAUA,SAAgB,aACd,UACA,UACA,SACe;AACf,QAAO,SACJ,KAAI,YAAW;EACd,MAAMA,MAAmB;GACvB,IAA+B,KAAK,QAAQ,SAAS;GACrD,YAA+B;GAC/B,cAA+B;GAC/B,+BAA+B;GAC/B,yBAA+B,QAAQ,YAAY,QAAQ,0BAA0B;GACrF,4BAA+B,QAAQ,YAAY,QAAQ,6BAA6B;GACxF,QAA+B,QAAQ;GACvC,WAA+B,QAAQ,YACnC,eAAe,QAAQ,WAAW,QAAQ,gBAAgB,SAAS,qBAAqB,YACxF,KAAK,sBAAsB,QAAQ,WAAW,QAAQ,cAAc;GACxE,MAAgB,UAA2B,QAAQ,MAAM;GACzD,aAAgB,kBAA2B,QAAQ,aAAa;GAChE,gBAAgB,wBAA2B,QAAQ;GAEnD,GAAG,qBAAqB,SAAS;;AAGnC,MAAI,QAAQ,KACV,KAAI,OAAO,OAAO;GAChB,KAAM,QAAQ;GACd,MAAM,QAAQ;MACb,MAAK,KAAK;AAGf,SAAO,OAAO,MAAK,MAAK,KAAK"}
@@ -0,0 +1,27 @@
1
+ import { getDayIndex, getVertexId, parseDateInterval } from "../../../../core/util.js";
2
+ import { omitBy } from "lodash-es";
3
+
4
+ //#region src/RS/to/input/util/attach-locked-times.ts
5
+ function attachLockedTimes(lockedTimes, options) {
6
+ return lockedTimes?.map((lockedTime) => {
7
+ const { start: startDate, end: endDate } = parseDateInterval(lockedTime, "locked time");
8
+ const length = endDate.diff(startDate, "minutes");
9
+ if (length < 5) throw new Error("(RS::V3::To::LockedTimes) Length of a locked time is less than 5 min");
10
+ const start = parseFloat(startDate.format("HH.mm"));
11
+ const doc = {
12
+ day: getDayIndex(startDate),
13
+ start,
14
+ length
15
+ };
16
+ if (options.meta) doc.meta = omitBy({
17
+ id: getVertexId(lockedTime, options),
18
+ visible: lockedTime.visible,
19
+ name: lockedTime.displayName
20
+ }, (x) => x == null);
21
+ return omitBy(doc, (x) => x == null);
22
+ });
23
+ }
24
+
25
+ //#endregion
26
+ export { attachLockedTimes };
27
+ //# sourceMappingURL=attach-locked-times.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach-locked-times.js","names":["doc: Types.lockedTime"],"sources":["../../../../../src/RS/to/input/util/attach-locked-times.ts"],"sourcesContent":["import { omitBy } from 'lodash-es';\nimport type { Types } from '../../../types';\nimport type { ConnectedTypes } from '../../../make-connected';\nimport { getDayIndex, getVertexId, parseDateInterval } from '../../../../core/util';\n\nexport function attachLockedTimes (\n lockedTimes: ConnectedTypes.lockedTime[] | null | undefined,\n options: Types.parsedToOptions\n): Types.lockedTime[] | undefined {\n\n return lockedTimes?.map(lockedTime => {\n const { start: startDate, end: endDate } = parseDateInterval(lockedTime, 'locked time');\n\n const length = endDate.diff(startDate, 'minutes');\n if (length < 5) throw new Error('(RS::V3::To::LockedTimes) Length of a locked time is less than 5 min');\n\n const start = parseFloat(startDate.format('HH.mm'));\n\n const doc: Types.lockedTime = {\n day: getDayIndex(startDate),\n start: start,\n length: length,\n };\n\n if (options.meta) {\n doc.meta = omitBy({\n id: getVertexId(lockedTime, options),\n visible: lockedTime.visible,\n name: lockedTime.displayName,\n }, x => x == null);\n }\n\n return omitBy(doc, x => x == null) as Types.lockedTime;\n });\n};"],"mappings":";;;;AAKA,SAAgB,kBACd,aACA,SACgC;AAEhC,QAAO,aAAa,KAAI,eAAc;EACpC,MAAM,EAAE,OAAO,WAAW,KAAK,YAAY,kBAAkB,YAAY;EAEzE,MAAM,SAAS,QAAQ,KAAK,WAAW;AACvC,MAAI,SAAS,EAAG,OAAM,IAAI,MAAM;EAEhC,MAAM,QAAQ,WAAW,UAAU,OAAO;EAE1C,MAAMA,MAAwB;GAC5B,KAAQ,YAAY;GACZ;GACA;;AAGV,MAAI,QAAQ,KACV,KAAI,OAAO,OAAO;GAChB,IAAS,YAAY,YAAY;GACjC,SAAS,WAAW;GACpB,MAAS,WAAW;MACnB,MAAK,KAAK;AAGf,SAAO,OAAO,MAAK,MAAK,KAAK"}
@@ -0,0 +1,10 @@
1
+ //#region src/RS/to/input/util/parse-days.ts
2
+ function parseDays(days, settings) {
3
+ if (!days) return;
4
+ if (days.length) return days.map((x) => x.day);
5
+ return [...Array.from({ length: settings.numDays })].map((_, i) => i);
6
+ }
7
+
8
+ //#endregion
9
+ export { parseDays };
10
+ //# sourceMappingURL=parse-days.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-days.js","names":[],"sources":["../../../../../src/RS/to/input/util/parse-days.ts"],"sourcesContent":["import type { ConnectedTypes } from '../../../make-connected';\n\nexport function parseDays (\n days: ConnectedTypes.event['days'] | ConnectedTypes.course['days'],\n settings: ConnectedTypes.divisionSettings\n) {\n if (!days) return;\n\n if (days.length) return days.map(x => x.day);\n\n // empty days means all days selected (since no days selected is prohibited)\n return [...Array.from({ length: settings.numDays })].map((_, i) => i);\n}"],"mappings":";AAEA,SAAgB,UACd,MACA,UACA;AACA,KAAI,CAAC,KAAM;AAEX,KAAI,KAAK,OAAQ,QAAO,KAAK,KAAI,MAAK,EAAE;AAGxC,QAAO,CAAC,GAAG,MAAM,KAAK,EAAE,QAAQ,SAAS,YAAY,KAAK,GAAG,MAAM"}
@@ -0,0 +1,58 @@
1
+ import { getVertexId } from "../../../../core/util.js";
2
+ import { makeChainable } from "../../../../common/make-chainable/index.js";
3
+ import { idOf } from "./util.js";
4
+ import { groupBy, uniq } from "lodash-es";
5
+
6
+ //#region src/RS/to/input/util/parse-group-references.ts
7
+ /**
8
+ * Merges group references with their parent groups while ensuring that a group is present at
9
+ * most once and that parent groups are prioritized as they carry no member exclusions.
10
+ */
11
+ function mergeWithParentGroups(references, options) {
12
+ return makeChainable(references).chain((x) => x.flatMap((x$1) => [x$1, ...(x$1.to.parentGroups ?? []).map((y) => ({
13
+ to: y,
14
+ isParentGroup: true
15
+ }))]), (x) => groupBy(x, (x$1) => getVertexId(x$1.to, options)), (x) => Object.values(x).map((xs) => xs.find((x$1) => x$1.isParentGroup) ?? xs.at(0)).filter((x$1) => x$1 != null)).value;
16
+ }
17
+ /**
18
+ * Returns the source of group, teacher, and participant references for a given item while taking into account event inheritance.
19
+ */
20
+ function getSources(itemAndType) {
21
+ if (itemAndType.type == "lockedTime") return {
22
+ teachers: itemAndType.item.coalesced?.filter((x) => x.toModel == "teachers"),
23
+ groups: itemAndType.item.coalesced?.filter((x) => x.toModel == "groups")
24
+ };
25
+ const item = itemAndType.item;
26
+ const teachersSource = item.teachers ? item : "course" in item && item.course ? item.course : item;
27
+ const groupsAndParticipantsSource = item.groups || item.participants ? item : "course" in item && item.course ? item.course : item;
28
+ return {
29
+ teachers: teachersSource.teachers ?? void 0,
30
+ groups: groupsAndParticipantsSource.groups ?? void 0,
31
+ participants: groupsAndParticipantsSource.participants ?? void 0
32
+ };
33
+ }
34
+ /**
35
+ * Parses group references from a course or event while carrying out event inheritance and taking into account parent groups.
36
+ */
37
+ function parseGroupReferences(itemAndType, options) {
38
+ const sources = getSources(itemAndType);
39
+ if (options.oldFormat) return makeChainable([
40
+ ...(sources.teachers ?? []).map((x) => idOf.teacher(x.to, options)),
41
+ ...mergeWithParentGroups(sources.groups ?? [], options).flatMap((ref) => {
42
+ if (ref.to.species == "class") return idOf.group(ref.to, options);
43
+ return (ref.to.members ?? []).filter((x) => !ref.exclude?.includes(x)).map((x) => x.group ? getVertexId(x.group, options) : void 0).filter((x) => x != null);
44
+ }),
45
+ ...(sources.participants ?? []).map((x) => x.to.group ? getVertexId(x.to.group, options) : void 0).filter((x) => x != null)
46
+ ]).chain((x) => uniq(x).map((x$1) => [x$1])).value;
47
+ const teacherReferences = (sources.teachers ?? []).map((x) => ({ group: idOf.teacher(x.to, options) }));
48
+ const groupReferences = mergeWithParentGroups(sources.groups ?? [], options).map((x) => {
49
+ if (x.to.species != "class" || x.exclude?.length) return { individuals: idOf.groupReference(x, options) };
50
+ return { group: idOf.group(x.to, options) };
51
+ });
52
+ const participantReferences = sources.participants ? { individuals: sources.participants.map((x) => idOf.person(x.to, options)) } : void 0;
53
+ return teacherReferences.concat(groupReferences, participantReferences ? [participantReferences] : []).map((x) => [x]);
54
+ }
55
+
56
+ //#endregion
57
+ export { parseGroupReferences };
58
+ //# sourceMappingURL=parse-group-references.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-group-references.js","names":["x"],"sources":["../../../../../src/RS/to/input/util/parse-group-references.ts"],"sourcesContent":["import { groupBy, uniq } from 'lodash-es';\nimport type { ConnectedTypes } from '../../../make-connected';\nimport { idOf } from './util';\nimport { getVertexId } from '../../../../core/util';\nimport type { GroupReference, PersonReference } from '../../../../core/types/common';\nimport type { Types } from '../../../types';\nimport { makeChainable } from '../../../../common/make-chainable';\n\n/**\n * Merges group references with their parent groups while ensuring that a group is present at\n * most once and that parent groups are prioritized as they carry no member exclusions.\n */\nfunction mergeWithParentGroups (\n references: GroupReference<ConnectedTypes.group, ConnectedTypes.person>[],\n options: Types.parsedToOptions\n): GroupReference<ConnectedTypes.group, ConnectedTypes.person>[] {\n return makeChainable(references)\n .chain(\n x => x.flatMap((x): ((typeof x) & { isParentGroup?: boolean })[] => ([\n x, ...(x.to.parentGroups ?? []).map(y => ({ to: y, isParentGroup: true }))\n ])),\n x => groupBy(x, x => getVertexId(x.to, options)),\n x => Object.values(x)\n .map(xs => xs.find(x => x.isParentGroup) ?? xs.at(0))\n .filter(x => x != null)\n )\n .value;\n}\n\ntype ItemAndType =\n | { item: ConnectedTypes.course, type: 'course' }\n | { item: ConnectedTypes.event, type: 'event' }\n | { item: ConnectedTypes.lockedTime, type: 'lockedTime' };\n\ntype Source = {\n teachers?: PersonReference<ConnectedTypes.teacher>[];\n groups?: GroupReference<ConnectedTypes.group, ConnectedTypes.person>[];\n participants?: PersonReference<ConnectedTypes.person>[];\n};\n\n/**\n * Returns the source of group, teacher, and participant references for a given item while taking into account event inheritance.\n */\nfunction getSources (itemAndType: ItemAndType): Source {\n if (itemAndType.type == 'lockedTime') return {\n teachers: itemAndType.item.coalesced?.filter(x => x.toModel == 'teachers'),\n groups: itemAndType.item.coalesced?.filter(x => x.toModel == 'groups' )\n };\n\n const item = itemAndType.item;\n const teachersSource = item.teachers\n ? item\n : ('course' in item && item.course ? item.course : item);\n const groupsAndParticipantsSource = (item.groups || item.participants)\n ? item\n : ('course' in item && item.course ? item.course : item);\n return {\n teachers: teachersSource.teachers ?? undefined,\n groups: groupsAndParticipantsSource.groups ?? undefined,\n participants: groupsAndParticipantsSource.participants ?? undefined\n };\n}\n\n/**\n * Parses group references from a course or event while carrying out event inheritance and taking into account parent groups.\n */\nexport function parseGroupReferences (\n itemAndType: ItemAndType,\n options: Types.parsedToOptions\n): Types.groupReference[][] {\n const sources = getSources(itemAndType);\n\n // if interested in the old format we care only about references to groups\n if (options.oldFormat) {\n return makeChainable([\n ...(sources.teachers ?? [])\n .map(x => idOf.teacher(x.to, options)),\n ...mergeWithParentGroups(sources.groups ?? [], options)\n .flatMap(ref => {\n if (ref.to.species == 'class') return idOf.group(ref.to, options);\n\n // if not a class fetch the remaining group member's parent group\n return (ref.to.members ?? [])\n .filter(x => !ref.exclude?.includes(x))\n .map(x => x.group ? getVertexId(x.group, options) : undefined)\n .filter(x => x != null);\n }),\n ...(sources.participants ?? [])\n .map(x => x.to.group ? getVertexId(x.to.group, options) : undefined)\n .filter(x => x != null)\n ])\n .chain(\n x => uniq(x).map(x => [x])\n )\n .value;\n }\n\n const teacherReferences = (sources.teachers ?? [])\n .map((x): Types.groupReference => ({ group: idOf.teacher(x.to, options) }));\n\n const groupReferences = mergeWithParentGroups(sources.groups ?? [], options)\n .map((x): Types.groupReference => {\n if (x.to.species != 'class' || x.exclude?.length) return { individuals: idOf.groupReference(x, options) }; // use individuals set if not a plain group reference\n return { group: idOf.group(x.to, options) };\n });\n\n const participantReferences = sources.participants\n ? { individuals: sources.participants.map(x => idOf.person(x.to, options)) } as Types.groupReference\n : undefined;\n\n // combine all references\n return teacherReferences\n .concat(\n groupReferences,\n participantReferences ? [participantReferences] : []\n )\n .map(x => [x]);\n}"],"mappings":";;;;;;;;;;AAYA,SAAS,sBACP,YACA,SAC+D;AAC/D,QAAO,cAAc,YAClB,OACC,MAAK,EAAE,SAAS,QAAqD,CACnEA,KAAG,IAAIA,IAAE,GAAG,gBAAgB,IAAI,KAAI,OAAM;EAAE,IAAI;EAAG,eAAe;SAEpE,MAAK,QAAQ,IAAG,QAAK,YAAYA,IAAE,IAAI,YACvC,MAAK,OAAO,OAAO,GAChB,KAAI,OAAM,GAAG,MAAK,QAAKA,IAAE,kBAAkB,GAAG,GAAG,IACjD,QAAO,QAAKA,OAAK,OAErB;;;;;AAiBL,SAAS,WAAY,aAAkC;AACrD,KAAI,YAAY,QAAQ,aAAc,QAAO;EAC3C,UAAU,YAAY,KAAK,WAAW,QAAO,MAAK,EAAE,WAAW;EAC/D,QAAU,YAAY,KAAK,WAAW,QAAO,MAAK,EAAE,WAAW;;CAGjE,MAAM,OAAO,YAAY;CACzB,MAAM,iBAAiB,KAAK,WACxB,OACC,YAAY,QAAQ,KAAK,SAAS,KAAK,SAAS;CACrD,MAAM,8BAA+B,KAAK,UAAU,KAAK,eACrD,OACC,YAAY,QAAQ,KAAK,SAAS,KAAK,SAAS;AACrD,QAAO;EACL,UAAc,eAAe,YAA6B;EAC1D,QAAc,4BAA4B,UAAgB;EAC1D,cAAc,4BAA4B,gBAAgB;;;;;;AAO9D,SAAgB,qBACd,aACA,SAC0B;CAC1B,MAAM,UAAU,WAAW;AAG3B,KAAI,QAAQ,UACV,QAAO,cAAc;EACnB,IAAI,QAAQ,YAAY,IACrB,KAAI,MAAK,KAAK,QAAQ,EAAE,IAAI;EAC/B,GAAG,sBAAsB,QAAQ,UAAU,IAAI,SAC5C,SAAQ,QAAO;AACd,OAAI,IAAI,GAAG,WAAW,QAAS,QAAO,KAAK,MAAM,IAAI,IAAI;AAGzD,WAAQ,IAAI,GAAG,WAAW,IACvB,QAAO,MAAK,CAAC,IAAI,SAAS,SAAS,IACnC,KAAI,MAAK,EAAE,QAAQ,YAAY,EAAE,OAAO,WAAW,QACnD,QAAO,MAAK,KAAK;;EAExB,IAAI,QAAQ,gBAAgB,IACzB,KAAI,MAAK,EAAE,GAAG,QAAQ,YAAY,EAAE,GAAG,OAAO,WAAW,QACzD,QAAO,MAAK,KAAK;IAEnB,OACC,MAAK,KAAK,GAAG,KAAI,QAAK,CAACA,OAExB;CAGL,MAAM,qBAAqB,QAAQ,YAAY,IAC5C,KAAK,OAA6B,EAAE,OAAO,KAAK,QAAQ,EAAE,IAAI;CAEjE,MAAM,kBAAkB,sBAAsB,QAAQ,UAAU,IAAI,SACjE,KAAK,MAA4B;AAChC,MAAI,EAAE,GAAG,WAAW,WAAW,EAAE,SAAS,OAAQ,QAAO,EAAE,aAAa,KAAK,eAAe,GAAG;AAC/F,SAAO,EAAE,OAAO,KAAK,MAAM,EAAE,IAAI;;CAGrC,MAAM,wBAAwB,QAAQ,eAClC,EAAE,aAAa,QAAQ,aAAa,KAAI,MAAK,KAAK,OAAO,EAAE,IAAI,cAC/D;AAGJ,QAAO,kBACJ,OACC,iBACA,wBAAwB,CAAC,yBAAyB,IAEnD,KAAI,MAAK,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { getDayIndex } from "../../../../core/util.js";
2
+ import { makeChainable } from "../../../../common/make-chainable/index.js";
3
+ import { groupBy } from "lodash-es";
4
+ import moment from "moment";
5
+
6
+ //#region src/RS/to/input/util/parse-intervals.ts
7
+ function getDayLimits(intervals, settings) {
8
+ if (!intervals) {
9
+ const start = moment.utc(settings.dayStart, "HH:mm");
10
+ const end = moment.utc(settings.dayEnd, "HH:mm");
11
+ intervals = Array.from({ length: settings.numDays }, () => ({
12
+ start: start.clone(),
13
+ end: end.clone()
14
+ }));
15
+ } else if (intervals.length == 1) {
16
+ const i = intervals[0];
17
+ const start = moment.utc(i.start, "HH:mm");
18
+ const end = moment.utc(i.end, "HH:mm");
19
+ intervals = Array.from({ length: settings.numDays }, () => ({
20
+ start: start.clone(),
21
+ end: end.clone()
22
+ }));
23
+ } else throw new Error(`(RS::V3::To::Intervals) Intervals length ${intervals.length} does not match settings.numDays ${settings.numDays}`);
24
+ return intervals.map((i, day) => {
25
+ if (!i.start || !i.end) throw new Error(`(RS::V3::To::Intervals) Interval missing start or end for day ${day}`);
26
+ const start = parseFloat(moment.utc(i.start).format("HH.mm"));
27
+ const end = parseFloat(moment.utc(i.end).format("HH.mm"));
28
+ return {
29
+ beg: start,
30
+ end
31
+ };
32
+ });
33
+ }
34
+ /**
35
+ * @deprecated The old way of parsing intervals
36
+ */
37
+ function parseIntervals(intervals, rootInterval, settings) {
38
+ if (intervals && !rootInterval) return getDayLimits(intervals, settings).map((i) => [i]);
39
+ if (rootInterval) {
40
+ const dayLimits = getDayLimits(intervals, settings);
41
+ return makeChainable(rootInterval.intervals).chain((x) => groupBy(x, (x$1) => getDayIndex(x$1.start)), (x) => Object.entries(x).map(([day, xs]) => {
42
+ const limit = dayLimits.at(parseInt(day));
43
+ if (!limit) throw new Error(`(RS::V3::To::Intervals) Day ${day} not found in dayStartAndEnds`);
44
+ return xs.map((x$1) => ({
45
+ beg: parseFloat(moment.utc(x$1.start).format("HH.mm")),
46
+ end: parseFloat(moment.utc(x$1.end).format("HH.mm")),
47
+ binary: true
48
+ })).filter((x$1) => x$1.beg >= limit.beg && x$1.end <= limit.end);
49
+ })).value;
50
+ }
51
+ }
52
+
53
+ //#endregion
54
+ export { parseIntervals };
55
+ //# sourceMappingURL=parse-intervals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-intervals.js","names":["x"],"sources":["../../../../../src/RS/to/input/util/parse-intervals.ts"],"sourcesContent":["import moment from 'moment';\nimport { groupBy } from 'lodash-es';\nimport type { ConnectedTypes } from '../../../make-connected';\nimport type { AllowedInterval } from '../../../../core/types/common/intervals';\nimport { getDayIndex } from '../../../../core/util';\nimport type { Types } from '../../../types';\nimport { makeChainable } from '../../../../common/make-chainable';\n\nfunction getDayLimits (\n intervals: AllowedInterval[] | undefined,\n settings: ConnectedTypes.divisionSettings\n): { beg: number, end: number }[] {\n // remove short-hand notation (a single interval for all days)\n if (!intervals) {\n const start = moment.utc(settings.dayStart, 'HH:mm');\n const end = moment.utc(settings.dayEnd, 'HH:mm');\n intervals = Array.from({ length: settings.numDays }, () => ({ start: start.clone(), end: end.clone() }));\n }\n else if (intervals.length == 1) {\n const i = intervals[0];\n const start = moment.utc(i.start, 'HH:mm');\n const end = moment.utc(i.end, 'HH:mm');\n intervals = Array.from({ length: settings.numDays }, () => ({ start: start.clone(), end: end.clone() }));\n } else {\n throw new Error(`(RS::V3::To::Intervals) Intervals length ${intervals.length} does not match settings.numDays ${settings.numDays}`);\n }\n\n // the day start and end times of each day\n return intervals.map((i, day: number) => {\n if (!i.start || !i.end) throw new Error(`(RS::V3::To::Intervals) Interval missing start or end for day ${day}`);\n const start = parseFloat(moment.utc(i.start).format('HH.mm'));\n const end = parseFloat(moment.utc(i.end ).format('HH.mm'));\n return { beg: start, end: end };\n });\n}\n\n\n/**\n * @deprecated The old way of parsing intervals\n */\nexport function parseIntervals (\n intervals: AllowedInterval[] | undefined,\n rootInterval: ConnectedTypes.rootInterval | undefined,\n settings: ConnectedTypes.divisionSettings\n): Types.interval[][] | undefined {\n // if only intervals are provided\n if (intervals && !rootInterval) return getDayLimits(intervals, settings).map(i => [i]);\n\n // if root intervals are present\n if (rootInterval) {\n const dayLimits = getDayLimits(intervals, settings);\n return makeChainable(rootInterval.intervals)\n .chain(\n x => groupBy(x, x => getDayIndex(x.start)),\n x => Object.entries(x)\n .map(([day, xs]) => {\n const limit = dayLimits.at(parseInt(day));\n if (!limit) throw new Error(`(RS::V3::To::Intervals) Day ${day} not found in dayStartAndEnds`);\n\n // remove all block intervals that lay outside the day start and end\n return xs\n .map(x => ({\n beg: parseFloat(moment.utc(x.start).format('HH.mm')),\n end: parseFloat(moment.utc(x.end ).format('HH.mm')),\n binary: true\n } satisfies Types.interval))\n .filter(x => x.beg >= limit.beg && x.end <= limit.end);\n })\n )\n .value;\n }\n\n // only remaining case here is \"!intervals && !rootInterval\"\n return;\n};\n"],"mappings":";;;;;;AAQA,SAAS,aACP,WACA,UACgC;AAEhC,KAAI,CAAC,WAAW;EACd,MAAM,QAAQ,OAAO,IAAI,SAAS,UAAU;EAC5C,MAAM,MAAQ,OAAO,IAAI,SAAS,QAAU;AAC5C,cAAY,MAAM,KAAK,EAAE,QAAQ,SAAS,kBAAkB;GAAE,OAAO,MAAM;GAAS,KAAK,IAAI;;YAEtF,UAAU,UAAU,GAAG;EAC9B,MAAM,IAAI,UAAU;EACpB,MAAM,QAAQ,OAAO,IAAI,EAAE,OAAO;EAClC,MAAM,MAAQ,OAAO,IAAI,EAAE,KAAO;AAClC,cAAY,MAAM,KAAK,EAAE,QAAQ,SAAS,kBAAkB;GAAE,OAAO,MAAM;GAAS,KAAK,IAAI;;OAE7F,OAAM,IAAI,MAAM,4CAA4C,UAAU,OAAO,mCAAmC,SAAS;AAI3H,QAAO,UAAU,KAAK,GAAG,QAAgB;AACvC,MAAI,CAAC,EAAE,SAAS,CAAC,EAAE,IAAK,OAAM,IAAI,MAAM,iEAAiE;EACzG,MAAM,QAAQ,WAAW,OAAO,IAAI,EAAE,OAAO,OAAO;EACpD,MAAM,MAAQ,WAAW,OAAO,IAAI,EAAE,KAAO,OAAO;AACpD,SAAO;GAAE,KAAK;GAAY;;;;;;;AAQ9B,SAAgB,eACd,WACA,cACA,UACgC;AAEhC,KAAI,aAAa,CAAC,aAAc,QAAO,aAAa,WAAW,UAAU,KAAI,MAAK,CAAC;AAGnF,KAAI,cAAc;EAChB,MAAM,YAAY,aAAa,WAAW;AAC1C,SAAO,cAAc,aAAa,WAC/B,OACC,MAAK,QAAQ,IAAG,QAAK,YAAYA,IAAE,UACnC,MAAK,OAAO,QAAQ,GACjB,KAAK,CAAC,KAAK,QAAQ;GAClB,MAAM,QAAQ,UAAU,GAAG,SAAS;AACpC,OAAI,CAAC,MAAO,OAAM,IAAI,MAAM,+BAA+B,IAAI;AAG/D,UAAO,GACJ,KAAI,SAAM;IACT,KAAQ,WAAW,OAAO,IAAIA,IAAE,OAAO,OAAO;IAC9C,KAAQ,WAAW,OAAO,IAAIA,IAAE,KAAO,OAAO;IAC9C,QAAQ;OAET,QAAO,QAAKA,IAAE,OAAO,MAAM,OAAOA,IAAE,OAAO,MAAM;MAGzD"}
@@ -0,0 +1,31 @@
1
+ import { getVertexId } from "../../../../core/util.js";
2
+ import { makeChainable } from "../../../../common/make-chainable/index.js";
3
+ import { groupBy } from "lodash-es";
4
+
5
+ //#region src/RS/to/input/util/parse-location-references.ts
6
+ function parseLocationReferences(references, options) {
7
+ if (!references) return;
8
+ return makeChainable(references).chain((x) => x.map(({ locations, groupIndex, rank }) => ({
9
+ dependency: getVertexId(locations[0], options),
10
+ rank,
11
+ groupIndex
12
+ })).filter((x$1) => {
13
+ const includedLocations = options.partialScheduleOptions?.includedLocations;
14
+ if (!includedLocations) return true;
15
+ return includedLocations.has(x$1.dependency);
16
+ }), (x) => groupBy(x, (x$1) => x$1.groupIndex), (x) => Object.values(x).map((xs) => xs.map((x$1) => ({
17
+ dependency: x$1.dependency,
18
+ rank: x$1.rank
19
+ })))).value;
20
+ }
21
+ function parseSelectedLocations(event, options) {
22
+ const locationsRef = event.locations ?? event.course?.locations;
23
+ const dependencies = parseLocationReferences(locationsRef, options);
24
+ const inLocations = event.inLocations ?? [];
25
+ if (inLocations.length === dependencies?.length) return inLocations.map((x) => x ? getVertexId(x, options) : null);
26
+ return inLocations.map((x) => x ? getVertexId(x, options) : null).concat(Array.from({ length: Math.max((dependencies?.length ?? 0) - inLocations.length, 0) }).map(() => null));
27
+ }
28
+
29
+ //#endregion
30
+ export { parseLocationReferences, parseSelectedLocations };
31
+ //# sourceMappingURL=parse-location-references.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-location-references.js","names":["x"],"sources":["../../../../../src/RS/to/input/util/parse-location-references.ts"],"sourcesContent":["import { groupBy } from 'lodash-es';\nimport type { ConnectedTypes } from '../../../make-connected';\nimport type { Types } from '../../../types';\nimport { getVertexId } from '../../../../core/util';\nimport type { AvailableLocation } from '../../../../core/types/common';\nimport { makeChainable } from '../../../../common/make-chainable';\n\nexport function parseLocationReferences (\n references: AvailableLocation<ConnectedTypes.location>[] | null | undefined,\n options: Types.parsedToOptions\n) {\n if (!references) return;\n\n return makeChainable(references)\n .chain(\n x => x\n .map(({ locations, groupIndex, rank }) => ({\n dependency: getVertexId(locations[0], options),\n rank: rank,\n groupIndex: groupIndex\n }))\n .filter(x => {\n // filter location references based on partial schedule options\n const includedLocations = options.partialScheduleOptions?.includedLocations;\n if (!includedLocations) return true;\n return includedLocations.has(x.dependency);\n }),\n x => groupBy(x, x => x.groupIndex),\n x => Object.values(x)\n .map(xs => xs.map(x => ({\n dependency: x.dependency,\n rank: x.rank,\n }) as Types.availableDependency))\n )\n .value;\n}\n\nexport function parseSelectedLocations (event: ConnectedTypes.event, options: Types.parsedToOptions) {\n\n const locationsRef = event.locations ?? event.course?.locations;\n const dependencies = parseLocationReferences(locationsRef, options);\n const inLocations = event.inLocations ?? [];\n\n // simply use inLocations if they match the number of dependencies\n if (inLocations.length === dependencies?.length) {\n return inLocations.map(x => x ? getVertexId(x, options) : null);\n }\n\n // otherwise, fill inLocations with nulls to match the number of dependencies\n return inLocations\n .map(x => x ? getVertexId(x, options) : null)\n .concat(Array\n .from({ length: Math.max((dependencies?.length ?? 0) - inLocations.length, 0) })\n .map(() => null as string | null)\n );\n}"],"mappings":";;;;;AAOA,SAAgB,wBACd,YACA,SACA;AACA,KAAI,CAAC,WAAY;AAEjB,QAAO,cAAc,YAClB,OACC,MAAK,EACF,KAAK,EAAE,WAAW,YAAY,YAAY;EACzC,YAAY,YAAY,UAAU,IAAI;EAC1B;EACA;KAEb,QAAO,QAAK;EAEX,MAAM,oBAAoB,QAAQ,wBAAwB;AAC1D,MAAI,CAAC,kBAAmB,QAAO;AAC/B,SAAO,kBAAkB,IAAIA,IAAE;MAEnC,MAAK,QAAQ,IAAG,QAAKA,IAAE,cACvB,MAAK,OAAO,OAAO,GAChB,KAAI,OAAM,GAAG,KAAI,SAAM;EACtB,YAAYA,IAAE;EACd,MAAYA,IAAE;OAGnB;;AAGL,SAAgB,uBAAwB,OAA6B,SAAgC;CAEnG,MAAM,eAAe,MAAM,aAAa,MAAM,QAAQ;CACtD,MAAM,eAAe,wBAAwB,cAAc;CAC3D,MAAM,cAAe,MAAM,eAAe;AAG1C,KAAI,YAAY,WAAW,cAAc,OACvC,QAAO,YAAY,KAAI,MAAM,IAAI,YAAY,GAAG,WAAW;AAI7D,QAAO,YACJ,KAAI,MAAM,IAAI,YAAY,GAAG,WAAW,MACxC,OAAO,MACL,KAAK,EAAE,QAAQ,KAAK,KAAK,cAAc,UAAU,KAAK,YAAY,QAAQ,MAC1E,UAAU"}
@@ -0,0 +1,17 @@
1
+ import { min2hrs } from "./util.js";
2
+
3
+ //#region src/RS/to/input/util/parse-max-working-hours.ts
4
+ function parseMaxWorkingHours(group, options) {
5
+ if (options.useMaximumScheduleSpan && group.maximumScheduleSpan) return {
6
+ maxNumWorkingHours: min2hrs(group.maximumScheduleSpan.daily) ?? false,
7
+ maxNumDailyWorkingHours: min2hrs(group.maximumScheduleSpan.daily) ?? false
8
+ };
9
+ if (!options.useMaximumScheduleSpan) return {
10
+ ..."maxNumWorkingHours" in group && { maxNumWorkingHours: group.maxNumWorkingHours },
11
+ ..."maxNumDailyWorkingHours" in group && { maxNumDailyWorkingHours: group.maxNumDailyWorkingHours }
12
+ };
13
+ }
14
+
15
+ //#endregion
16
+ export { parseMaxWorkingHours };
17
+ //# sourceMappingURL=parse-max-working-hours.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-max-working-hours.js","names":[],"sources":["../../../../../src/RS/to/input/util/parse-max-working-hours.ts"],"sourcesContent":["import type { ConnectedTypes } from '../../../make-connected';\nimport type { Types } from '../../../types';\nimport { min2hrs } from './util';\n\nexport function parseMaxWorkingHours (\n group: ConnectedTypes.group | ConnectedTypes.teacher,\n options: Types.parsedToOptions\n): Pick<Types.group, 'maxNumWorkingHours' | 'maxNumDailyWorkingHours'> | undefined {\n // new format\n if (options.useMaximumScheduleSpan && group.maximumScheduleSpan) {\n return {\n maxNumWorkingHours: min2hrs(group.maximumScheduleSpan.daily) ?? false,\n maxNumDailyWorkingHours: min2hrs(group.maximumScheduleSpan.daily) ?? false,\n };\n }\n\n // old format, to become deprecated\n if (!options.useMaximumScheduleSpan) {\n return {\n ...'maxNumWorkingHours' in group && { maxNumWorkingHours: group.maxNumWorkingHours },\n ...'maxNumDailyWorkingHours' in group && { maxNumDailyWorkingHours: group.maxNumDailyWorkingHours },\n };\n }\n\n return;\n}\n"],"mappings":";;;AAIA,SAAgB,qBACd,OACA,SACiF;AAEjF,KAAI,QAAQ,0BAA0B,MAAM,oBAC1C,QAAO;EACL,oBAAyB,QAAQ,MAAM,oBAAoB,UAAU;EACrE,yBAAyB,QAAQ,MAAM,oBAAoB,UAAU;;AAKzE,KAAI,CAAC,QAAQ,uBACX,QAAO;EACL,GAAG,wBAA6B,SAAS,EAAE,oBAAyB,MAAM;EAC1E,GAAG,6BAA6B,SAAS,EAAE,yBAAyB,MAAM"}
@@ -0,0 +1,19 @@
1
+ //#region src/RS/to/input/util/parse-minimum-break-length.ts
2
+ function parseMinimumBreakLength(value) {
3
+ if (value == null) return;
4
+ if (typeof value === "boolean") return value;
5
+ if (typeof value === "number") return value;
6
+ if (Array.isArray(value)) {
7
+ if (value.length !== 2) throw new Error("(RS::V3::To::BreakLengths) BreakLength array must have exactly two elements");
8
+ const [bef, aft] = value;
9
+ return {
10
+ bef,
11
+ aft
12
+ };
13
+ }
14
+ throw new Error("(RS::V3::To::BreakLengths) BreakLength is neither boolean, number or number array");
15
+ }
16
+
17
+ //#endregion
18
+ export { parseMinimumBreakLength };
19
+ //# sourceMappingURL=parse-minimum-break-length.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-minimum-break-length.js","names":[],"sources":["../../../../../src/RS/to/input/util/parse-minimum-break-length.ts"],"sourcesContent":["import type { CoreTypes } from '../../../../core';\nimport type { Types } from '../../../types';\n\nexport function parseMinimumBreakLength (value: CoreTypes.breakLength | null | undefined): Types.breakLength | undefined {\n if (value == null) return;\n\n if (typeof value === 'boolean') return value;\n if (typeof value === 'number') return value;\n\n if (Array.isArray(value)) {\n if (value.length !== 2) throw new Error('(RS::V3::To::BreakLengths) BreakLength array must have exactly two elements');\n const [bef, aft] = value;\n return { bef, aft };\n }\n\n throw new Error('(RS::V3::To::BreakLengths) BreakLength is neither boolean, number or number array');\n};\n"],"mappings":";AAGA,SAAgB,wBAAyB,OAAgF;AACvH,KAAI,SAAS,KAAM;AAEnB,KAAI,OAAO,UAAU,UAAW,QAAO;AACvC,KAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,KAAI,MAAM,QAAQ,QAAQ;AACxB,MAAI,MAAM,WAAW,EAAG,OAAM,IAAI,MAAM;EACxC,MAAM,CAAC,KAAK,OAAO;AACnB,SAAO;GAAE;GAAK;;;AAGhB,OAAM,IAAI,MAAM"}
@@ -0,0 +1,61 @@
1
+ import { getVertexId } from "../../../../core/util.js";
2
+
3
+ //#region src/RS/to/input/util/util.ts
4
+ function min2hrs(min) {
5
+ return min ? min / 60 : void 0;
6
+ }
7
+ /**
8
+ * Converts a time string in the format "HH:MM" to a float representation, e.g., "12:30" becomes 12.3.
9
+ */
10
+ function toTimeFloat(str) {
11
+ return parseFloat(str.replace(":", "."));
12
+ }
13
+ function getPeriodIndex(period, periodsMap, options) {
14
+ if (!period) return;
15
+ const id = getVertexId(period, options);
16
+ const periodIndex = periodsMap.get(id);
17
+ if (periodIndex === void 0) throw new Error(`(RS::V3::To::getPeriodIndex) Period "${id}" is not in periodsMap`);
18
+ return periodIndex;
19
+ }
20
+ const COLLECTION_ID = {
21
+ persons: "persons",
22
+ groups: "groups",
23
+ teachers: "teachers",
24
+ events: "events",
25
+ lockedTimes: "lockedtimes"
26
+ };
27
+ let idOf;
28
+ (function(_idOf) {
29
+ function person(person$1, options) {
30
+ return `${COLLECTION_ID.persons}.${getVertexId(person$1, options)}`;
31
+ }
32
+ _idOf.person = person;
33
+ function group(group$1, options) {
34
+ return `${COLLECTION_ID.groups}.${getVertexId(group$1, options)}`;
35
+ }
36
+ _idOf.group = group;
37
+ function teacher(teacher$1, options) {
38
+ return `${COLLECTION_ID.teachers}.${getVertexId(teacher$1, options)}`;
39
+ }
40
+ _idOf.teacher = teacher;
41
+ function event(event$1, options) {
42
+ return `${COLLECTION_ID.events}.${getVertexId(event$1, options)}`;
43
+ }
44
+ _idOf.event = event;
45
+ function lockedTime(lockedTime$1, options) {
46
+ return `${COLLECTION_ID.lockedTimes}.${getVertexId(lockedTime$1, options)}`;
47
+ }
48
+ _idOf.lockedTime = lockedTime;
49
+ function groupReference(group$1, options) {
50
+ return `${COLLECTION_ID.groups}.${getVertexId(group$1.to, options)}` + (group$1.exclude?.length ? ".exclude." + group$1.exclude.map((x) => getVertexId(x, options)).sort().join(".") : "");
51
+ }
52
+ _idOf.groupReference = groupReference;
53
+ function intervalPairReference(interval, rootInterval, options) {
54
+ return (rootInterval ? getVertexId(rootInterval, options) + "&" : "") + JSON.stringify(interval);
55
+ }
56
+ _idOf.intervalPairReference = intervalPairReference;
57
+ })(idOf || (idOf = {}));
58
+
59
+ //#endregion
60
+ export { COLLECTION_ID, getPeriodIndex, idOf, min2hrs, toTimeFloat };
61
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","names":["person","group","teacher","event","lockedTime"],"sources":["../../../../../src/RS/to/input/util/util.ts"],"sourcesContent":["import type { ConnectedTypes } from '../../../make-connected';\nimport type { Types } from '../../../types';\nimport type { Collection, GroupReference } from '../../../../core/types/common';\nimport { getVertexId } from '../../../../core/util';\nimport type { AllowedInterval } from '../../../../core/types/common/intervals';\n\nexport function min2hrs (min: number | undefined | null) {\n return min ? min / 60 : undefined;\n}\n\n/**\n * Converts a time string in the format \"HH:MM\" to a float representation, e.g., \"12:30\" becomes 12.3.\n */\nexport function toTimeFloat (str: string) {\n return parseFloat(str.replace(':', '.'));\n}\n\nexport function getPeriodIndex (\n period: ConnectedTypes.period | undefined | null,\n periodsMap: Map<string | undefined, number>,\n options: Types.parsedToOptions\n): number | undefined {\n if (!period) return;\n const id = getVertexId(period, options);\n const periodIndex = periodsMap.get(id);\n if (periodIndex === undefined) throw new Error(`(RS::V3::To::getPeriodIndex) Period \"${id}\" is not in periodsMap`);\n return periodIndex;\n}\n\nexport const COLLECTION_ID = {\n persons: 'persons',\n groups: 'groups',\n teachers: 'teachers',\n events: 'events',\n lockedTimes: 'lockedtimes',\n} satisfies Partial<Record<Collection, string>>;\n\n/**\n * returns a combined id for the vertex or edge by combining the type(s) and id(s).\n */\nexport namespace idOf {\n /** `persons.id` */\n export function person (\n person: ConnectedTypes.person | string,\n options: Types.parsedToOptions\n ): string {\n return `${COLLECTION_ID.persons}.${ getVertexId(person, options) }`;\n }\n\n /** `groups.id` */\n export function group (\n group: ConnectedTypes.group,\n options: Types.parsedToOptions\n ): string {\n return `${COLLECTION_ID.groups}.${ getVertexId(group, options) }`;\n }\n\n /** `teachers.id` */\n export function teacher (\n teacher: ConnectedTypes.teacher,\n options: Types.parsedToOptions\n ): string {\n return `${COLLECTION_ID.teachers}.${ getVertexId(teacher, options) }`;\n }\n\n /** `events.id` */\n export function event (\n event: ConnectedTypes.event,\n options: Types.parsedToOptions\n ): string {\n return `${COLLECTION_ID.events}.${ getVertexId(event, options) }`;\n }\n\n /** `lockedtimes.id` */\n export function lockedTime (\n lockedTime: ConnectedTypes.lockedTime,\n options: Types.parsedToOptions\n ): string {\n return `${COLLECTION_ID.lockedTimes}.${ getVertexId(lockedTime, options) }`;\n }\n\n /** `groups.id<.exclude.id1.id2...>` */\n export function groupReference (\n group: GroupReference<ConnectedTypes.group, ConnectedTypes.person>,\n options: Types.parsedToOptions\n ): string {\n return `${COLLECTION_ID.groups}.${ getVertexId(group.to, options) }`\n + (group.exclude?.length\n ? '.exclude.' + group.exclude\n .map(x => getVertexId(x, options))\n .sort()\n .join('.')\n : '');\n }\n\n /** `<rootIntervalsId&>JSON.stringify(intervals)>` */\n export function intervalPairReference (\n interval: AllowedInterval[] | undefined,\n rootInterval: ConnectedTypes.rootInterval | undefined,\n options: Types.parsedToOptions\n ): string {\n return (rootInterval ? getVertexId(rootInterval, options) + '&' : '') + JSON.stringify(interval);\n }\n}\n"],"mappings":";;;AAMA,SAAgB,QAAS,KAAgC;AACvD,QAAO,MAAM,MAAM,KAAK;;;;;AAM1B,SAAgB,YAAa,KAAa;AACxC,QAAO,WAAW,IAAI,QAAQ,KAAK;;AAGrC,SAAgB,eACd,QACA,YACA,SACoB;AACpB,KAAI,CAAC,OAAQ;CACb,MAAM,KAAK,YAAY,QAAQ;CAC/B,MAAM,cAAc,WAAW,IAAI;AACnC,KAAI,gBAAgB,OAAW,OAAM,IAAI,MAAM,wCAAwC,GAAG;AAC1F,QAAO;;AAGT,MAAa,gBAAgB;CAC3B,SAAa;CACb,QAAa;CACb,UAAa;CACb,QAAa;CACb,aAAa;;;;CAQN,SAAS,OACd,UACA,SACQ;AACR,SAAO,GAAG,cAAc,QAAQ,GAAI,YAAYA,UAAQ;;;CAInD,SAAS,MACd,SACA,SACQ;AACR,SAAO,GAAG,cAAc,OAAO,GAAI,YAAYC,SAAO;;;CAIjD,SAAS,QACd,WACA,SACQ;AACR,SAAO,GAAG,cAAc,SAAS,GAAI,YAAYC,WAAS;;;CAIrD,SAAS,MACd,SACA,SACQ;AACR,SAAO,GAAG,cAAc,OAAO,GAAI,YAAYC,SAAO;;;CAIjD,SAAS,WACd,cACA,SACQ;AACR,SAAO,GAAG,cAAc,YAAY,GAAI,YAAYC,cAAY;;;CAI3D,SAAS,eACd,SACA,SACQ;AACR,SAAO,GAAG,cAAc,OAAO,GAAI,YAAYH,QAAM,IAAI,cACpDA,QAAM,SAAS,SACd,cAAcA,QAAM,QACnB,KAAI,MAAK,YAAY,GAAG,UACxB,OACA,KAAK,OACN;;;CAID,SAAS,sBACd,UACA,cACA,SACQ;AACR,UAAQ,eAAe,YAAY,cAAc,WAAW,MAAM,MAAM,KAAK,UAAU"}
@@ -0,0 +1,7 @@
1
+ import { Types } from "../types/index.js";
2
+
3
+ //#region src/RS/to/schedules.d.ts
4
+ declare function schedules(data: Types.toInput, _options?: Types.toOptions): Types.toOutput;
5
+ //#endregion
6
+ export { schedules };
7
+ //# sourceMappingURL=schedules.d.ts.map
@@ -0,0 +1,40 @@
1
+ import { CoreMap } from "../../core/index.js";
2
+ import { parseInput } from "./input/input.js";
3
+ import { makeConnected } from "../make-connected.js";
4
+ import { initialConfiguration } from "./initial-configuration.js";
5
+ import { pick } from "lodash-es";
6
+
7
+ //#region src/RS/to/schedules.ts
8
+ function schedules(data, _options = {}) {
9
+ const options = (() => {
10
+ const x = _options.partialScheduleOptions;
11
+ const partialScheduleOptions = x ? {
12
+ includedEvents: x.includedEvents ? new Set(x.includedEvents) : void 0,
13
+ includedLocations: x.includedLocations ? new Set(x.includedLocations) : void 0,
14
+ omittedEventsHandling: x.omittedEventsHandling
15
+ } : void 0;
16
+ return {
17
+ ..._options,
18
+ partialScheduleOptions
19
+ };
20
+ })();
21
+ if (options.partialScheduleOptions?.includedEvents?.size) options.partialScheduleOptions.includedEvents = new Set([...options.partialScheduleOptions.includedEvents].map((x) => {
22
+ if (x.startsWith("events.") || x.startsWith("lockedTimes.")) return x;
23
+ return `events.${x}`;
24
+ }));
25
+ const connectedData = makeConnected(data);
26
+ return {
27
+ meta: {
28
+ structure: "RS/algorithm-3.0.0",
29
+ division: pick(data.division, "displayName", "start", "end")
30
+ },
31
+ algorithmParameters: { weights: options.algorithmWeightParameters },
32
+ input: parseInput(connectedData, options),
33
+ ...options.appendCoreData && { coreData: CoreMap.to.schedules(data) },
34
+ ...options.appendOutput && { output: initialConfiguration(connectedData.events, connectedData.lockedTimes, options) }
35
+ };
36
+ }
37
+
38
+ //#endregion
39
+ export { schedules };
40
+ //# sourceMappingURL=schedules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.js","names":["partialScheduleOptions: Types.parsedToOptions['partialScheduleOptions']"],"sources":["../../../src/RS/to/schedules.ts"],"sourcesContent":["import { pick } from 'lodash-es';\nimport { parseInput } from './input/input';\nimport { makeConnected } from '../make-connected';\nimport { initialConfiguration } from './initial-configuration';\nimport type { Types } from '../types';\nimport { CoreMap } from '../../core';\n\nexport function schedules (\n data: Types.toInput,\n _options: Types.toOptions = {}\n): Types.toOutput {\n ////\n //// parse the options\n ////\n const options = ((): Types.parsedToOptions => {\n const x = _options.partialScheduleOptions;\n const partialScheduleOptions: Types.parsedToOptions['partialScheduleOptions'] = x\n ? {\n includedEvents: x.includedEvents ? new Set(x.includedEvents) : undefined,\n includedLocations: x.includedLocations ? new Set(x.includedLocations) : undefined,\n omittedEventsHandling: x.omittedEventsHandling\n }\n : undefined;\n\n return { ..._options, partialScheduleOptions };\n })();\n\n ////\n //// for backward compatibility: add default collection to included events set\n ////\n if (options.partialScheduleOptions?.includedEvents?.size) {\n options.partialScheduleOptions.includedEvents = new Set(\n [...options.partialScheduleOptions.includedEvents]\n .map(x => {\n // should start with 'events.' or 'lockedTimes.' prefix\n if (x.startsWith('events.') || x.startsWith('lockedTimes.')) return x;\n return `events.${x}`;\n })\n );\n }\n\n\n // we will work only with connected schedule data\n const connectedData = makeConnected(data);\n\n return {\n meta: {\n structure: 'RS/algorithm-3.0.0' satisfies Types.structure,\n division: pick(data.division, 'displayName', 'start', 'end'),\n },\n algorithmParameters: {\n weights: options.algorithmWeightParameters,\n },\n input: parseInput(connectedData, options),\n ...options.appendCoreData && { coreData: CoreMap.to.schedules(data) },\n ...options.appendOutput && { output: initialConfiguration(connectedData.events, connectedData.lockedTimes, options) },\n };\n};"],"mappings":";;;;;;;AAOA,SAAgB,UACd,MACA,WAA4B,IACZ;CAIhB,MAAM,iBAAwC;EAC5C,MAAM,IAAI,SAAS;EACnB,MAAMA,yBAA0E,IAC5E;GACA,gBAAuB,EAAE,iBAAoB,IAAI,IAAI,EAAE,kBAAqB;GAC5E,mBAAuB,EAAE,oBAAoB,IAAI,IAAI,EAAE,qBAAqB;GAC5E,uBAAuB,EAAE;MAEzB;AAEJ,SAAO;GAAE,GAAG;GAAU;;;AAMxB,KAAI,QAAQ,wBAAwB,gBAAgB,KAClD,SAAQ,uBAAuB,iBAAiB,IAAI,IAClD,CAAC,GAAG,QAAQ,uBAAuB,gBAChC,KAAI,MAAK;AAER,MAAI,EAAE,WAAW,cAAc,EAAE,WAAW,gBAAiB,QAAO;AACpE,SAAO,UAAU;;CAOzB,MAAM,gBAAgB,cAAc;AAEpC,QAAO;EACL,MAAM;GACJ,WAAW;GACX,UAAW,KAAK,KAAK,UAAU,eAAe,SAAS;;EAEzD,qBAAqB,EACnB,SAAS,QAAQ;EAEnB,OAAO,WAAW,eAAe;EACjC,GAAG,QAAQ,kBAAkB,EAAE,UAAU,QAAQ,GAAG,UAAU;EAC9D,GAAG,QAAQ,gBAAkB,EAAE,QAAQ,qBAAqB,cAAc,QAAQ,cAAc,aAAa"}
@@ -1,4 +1,4 @@
1
- //#region src/RS/v3/types/algorithm-parameters.d.ts
1
+ //#region src/RS/types/algorithm-parameters.d.ts
2
2
  type ParameterName = 'overlap' | 'doubleBooking' | 'timeFrame' | 'breakLength' | 'clustering' | 'dailyOvertime' | 'position' | 'gap' | 'dependencyAlternation' | 'overtime' | 'dependencyRank' | 'dayRank' | 'groupRank';
3
3
  type AlgorithmWeightParameters = Record<ParameterName, number | false>;
4
4
  //#endregion
@@ -0,0 +1,26 @@
1
+ import { Types } from "./index.js";
2
+
3
+ //#region src/RS/types/collections.d.ts
4
+ interface Collection {
5
+ id: string;
6
+ events: (Types.event | number)[];
7
+ name?: string;
8
+ subject?: string;
9
+ color?: string;
10
+ potentialCenter?: number;
11
+ density?: number;
12
+ weight?: number;
13
+ minBreakLength?: Types.breakLength;
14
+ lockedTimes?: Types.lockedTime[];
15
+ intervals?: string | Types.interval[][];
16
+ days?: (Types.day | number)[];
17
+ groups?: Types.groupReference[][];
18
+ dependencies?: (Types.availableDependency[] | Types.availableDependency)[];
19
+ period?: number;
20
+ maxEventLengthVariance?: number;
21
+ distributionKey?: string | string[];
22
+ meta?: Record<string, unknown>;
23
+ }
24
+ //#endregion
25
+ export { Collection };
26
+ //# sourceMappingURL=collections.d.ts.map
@@ -0,0 +1,10 @@
1
+ import { Types } from "./index.js";
2
+
3
+ //#region src/RS/types/configurations.d.ts
4
+ type Configuration = {
5
+ score?: [number, number, number, number];
6
+ events: Types.eventConfiguration[];
7
+ };
8
+ //#endregion
9
+ export { Configuration };
10
+ //# sourceMappingURL=configurations.d.ts.map
@@ -1,12 +1,11 @@
1
- import { Interval } from "./intervals.js";
2
- import { BreakLength } from "./break-lengths.js";
1
+ import { Types } from "./index.js";
3
2
 
4
- //#region src/RS/v3/types/default.d.ts
3
+ //#region src/RS/types/default.d.ts
5
4
  interface Default {
6
- intervals: Interval[][];
5
+ intervals: string | Types.interval[][];
7
6
  dependencyMinBreakLength: number;
8
7
  groupMinBreakLength: number;
9
- eventMinBreakLength: BreakLength;
8
+ eventMinBreakLength: Types.breakLength;
10
9
  potentialCenter: number;
11
10
  eventDensity: number;
12
11
  maxEventLengthVariance: number;
@@ -0,0 +1,16 @@
1
+ import { Types } from "./index.js";
2
+
3
+ //#region src/RS/types/dependencies.d.ts
4
+ interface Dependency {
5
+ id?: string;
6
+ minBreakLength?: number;
7
+ name?: string;
8
+ area?: string;
9
+ days?: (Types.day | number)[];
10
+ intervals?: string | Types.interval[][];
11
+ lockedTimes?: Types.lockedTime[];
12
+ meta?: Record<string, unknown>;
13
+ }
14
+ //#endregion
15
+ export { Dependency };
16
+ //# sourceMappingURL=dependencies.d.ts.map
@@ -0,0 +1,20 @@
1
+ //#region src/RS/types/event-configuration.d.ts
2
+ interface EventConfiguration {
3
+ id: string;
4
+ start: number;
5
+ end: number;
6
+ day: number;
7
+ collection?: string;
8
+ dependencies?: string[];
9
+ /**
10
+ * @deprecated Currently no need to use this as groups are fixed
11
+ */
12
+ groups?: ({
13
+ groups: string[];
14
+ } | {
15
+ individuals: string[];
16
+ })[];
17
+ }
18
+ //#endregion
19
+ export { EventConfiguration };
20
+ //# sourceMappingURL=event-configuration.d.ts.map
@@ -0,0 +1,27 @@
1
+ import { Types } from "./index.js";
2
+
3
+ //#region src/RS/types/events.d.ts
4
+ interface Event {
5
+ id: string;
6
+ length: number;
7
+ name?: string;
8
+ potentialCenter?: number;
9
+ density?: number;
10
+ weight?: number;
11
+ minBreakLength?: Types.breakLength;
12
+ maxLengthVariance?: number;
13
+ start?: number;
14
+ lockedTimes?: Types.lockedTime[];
15
+ intervals?: string | Types.interval[][];
16
+ days?: (Types.day | number)[];
17
+ day?: number;
18
+ groups?: Types.groupReference[][];
19
+ dependencies?: (Types.availableDependency[] | Types.availableDependency | string | string[])[];
20
+ period?: number;
21
+ forcedOverlapId?: string;
22
+ distributionKey?: string | string[];
23
+ meta?: Record<string, unknown>;
24
+ }
25
+ //#endregion
26
+ export { Event };
27
+ //# sourceMappingURL=events.d.ts.map