@royalschedule/maps 4.1.3 → 4.1.5

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 (1221) hide show
  1. package/dist/Additio/from/courses.mjs +28 -0
  2. package/dist/Additio/from/courses.mjs.map +1 -0
  3. package/dist/Additio/from/events.mjs +61 -0
  4. package/dist/Additio/from/events.mjs.map +1 -0
  5. package/dist/Additio/from/groups.mjs +14 -0
  6. package/dist/Additio/from/groups.mjs.map +1 -0
  7. package/dist/Additio/from/index.mjs +8 -0
  8. package/dist/Additio/from/index.mjs.map +1 -0
  9. package/dist/Additio/from/locations.mjs +13 -0
  10. package/dist/Additio/from/locations.mjs.map +1 -0
  11. package/dist/Additio/from/persons.mjs +30 -0
  12. package/dist/Additio/from/persons.mjs.map +1 -0
  13. package/dist/Additio/from/schedules.d.mts +39 -0
  14. package/dist/Additio/from/schedules.mjs +34 -0
  15. package/dist/Additio/from/schedules.mjs.map +1 -0
  16. package/dist/Additio/from/teachers.mjs +25 -0
  17. package/dist/Additio/from/teachers.mjs.map +1 -0
  18. package/dist/Additio/index.d.mts +14 -0
  19. package/dist/Additio/index.mjs +12 -0
  20. package/dist/Additio/index.mjs.map +1 -0
  21. package/dist/Additio/to/index.d.mts +23 -0
  22. package/dist/Additio/to/index.mjs +10 -0
  23. package/dist/Additio/to/index.mjs.map +1 -0
  24. package/dist/Additio/to/schedules.mjs +109 -0
  25. package/dist/Additio/to/schedules.mjs.map +1 -0
  26. package/dist/Additio/types/course-sections.d.mts +20 -0
  27. package/dist/Additio/types/courses.d.mts +17 -0
  28. package/dist/Additio/types/index.d.mts +27 -0
  29. package/dist/Additio/types/lessons.d.mts +27 -0
  30. package/dist/Additio/types/options.d.mts +16 -0
  31. package/dist/Additio/types/primary-groups.d.mts +30 -0
  32. package/dist/Additio/types/rooms.d.mts +12 -0
  33. package/dist/Additio/types/schedule-groups.d.mts +23 -0
  34. package/dist/Additio/types/schedules.d.mts +27 -0
  35. package/dist/Additio/types/schools.d.mts +11 -0
  36. package/dist/Additio/types/users.d.mts +20 -0
  37. package/dist/Admentum/from/courses.mjs +32 -0
  38. package/dist/Admentum/from/courses.mjs.map +1 -0
  39. package/dist/Admentum/from/events.mjs +62 -0
  40. package/dist/Admentum/from/events.mjs.map +1 -0
  41. package/dist/Admentum/from/groups.mjs +14 -0
  42. package/dist/Admentum/from/groups.mjs.map +1 -0
  43. package/dist/Admentum/from/index.mjs +8 -0
  44. package/dist/Admentum/from/index.mjs.map +1 -0
  45. package/dist/Admentum/from/locations.mjs +13 -0
  46. package/dist/Admentum/from/locations.mjs.map +1 -0
  47. package/dist/Admentum/from/persons.mjs +30 -0
  48. package/dist/Admentum/from/persons.mjs.map +1 -0
  49. package/dist/Admentum/from/schedules.d.mts +39 -0
  50. package/dist/Admentum/from/schedules.mjs +34 -0
  51. package/dist/Admentum/from/schedules.mjs.map +1 -0
  52. package/dist/Admentum/from/teachers.mjs +25 -0
  53. package/dist/Admentum/from/teachers.mjs.map +1 -0
  54. package/dist/Admentum/index.d.mts +14 -0
  55. package/dist/Admentum/index.mjs +12 -0
  56. package/dist/Admentum/index.mjs.map +1 -0
  57. package/dist/Admentum/to/index.d.mts +20 -0
  58. package/dist/Admentum/to/index.mjs +10 -0
  59. package/dist/Admentum/to/index.mjs.map +1 -0
  60. package/dist/Admentum/to/schedules.mjs +91 -0
  61. package/dist/Admentum/to/schedules.mjs.map +1 -0
  62. package/dist/Admentum/types/course-sections.d.mts +20 -0
  63. package/dist/Admentum/types/courses.d.mts +17 -0
  64. package/dist/Admentum/types/index.d.mts +25 -0
  65. package/dist/Admentum/types/lessons.d.mts +27 -0
  66. package/dist/Admentum/types/primary-groups.d.mts +30 -0
  67. package/dist/Admentum/types/rooms.d.mts +12 -0
  68. package/dist/Admentum/types/schedule-groups.d.mts +23 -0
  69. package/dist/Admentum/types/schedules.d.mts +27 -0
  70. package/dist/Admentum/types/schools.d.mts +11 -0
  71. package/dist/Admentum/types/users.d.mts +20 -0
  72. package/dist/Excel/index.d.mts +308 -0
  73. package/dist/Excel/index.mjs +13 -0
  74. package/dist/Excel/index.mjs.map +1 -0
  75. package/dist/Excel/v1/from/index.mjs +290 -0
  76. package/dist/Excel/v1/from/index.mjs.map +1 -0
  77. package/dist/Excel/v1/index.d.mts +256 -0
  78. package/dist/Excel/v1/index.mjs +10 -0
  79. package/dist/Excel/v1/index.mjs.map +1 -0
  80. package/dist/Excel/v1/types/index.d.mts +44 -0
  81. package/dist/Excel/v2/from/index.mjs +620 -0
  82. package/dist/Excel/v2/from/index.mjs.map +1 -0
  83. package/dist/Excel/v2/index.d.mts +303 -0
  84. package/dist/Excel/v2/index.mjs +10 -0
  85. package/dist/Excel/v2/index.mjs.map +1 -0
  86. package/dist/Excel/v2/types/index.d.mts +72 -0
  87. package/dist/IdunSoft/from/courses.mjs +16 -0
  88. package/dist/IdunSoft/from/courses.mjs.map +1 -0
  89. package/dist/IdunSoft/from/events.mjs +58 -0
  90. package/dist/IdunSoft/from/events.mjs.map +1 -0
  91. package/dist/IdunSoft/from/groups.mjs +17 -0
  92. package/dist/IdunSoft/from/groups.mjs.map +1 -0
  93. package/dist/IdunSoft/from/index.mjs +8 -0
  94. package/dist/IdunSoft/from/index.mjs.map +1 -0
  95. package/dist/IdunSoft/from/locations.mjs +16 -0
  96. package/dist/IdunSoft/from/locations.mjs.map +1 -0
  97. package/dist/IdunSoft/from/schedules.d.mts +24 -0
  98. package/dist/IdunSoft/from/schedules.mjs +20 -0
  99. package/dist/IdunSoft/from/schedules.mjs.map +1 -0
  100. package/dist/IdunSoft/from/teachers.mjs +16 -0
  101. package/dist/IdunSoft/from/teachers.mjs.map +1 -0
  102. package/dist/IdunSoft/index.d.mts +14 -0
  103. package/dist/IdunSoft/index.mjs +12 -0
  104. package/dist/IdunSoft/index.mjs.map +1 -0
  105. package/dist/IdunSoft/to/index.d.mts +10 -0
  106. package/dist/IdunSoft/to/index.mjs +10 -0
  107. package/dist/IdunSoft/to/index.mjs.map +1 -0
  108. package/dist/IdunSoft/to/schedules.mjs +55 -0
  109. package/dist/IdunSoft/to/schedules.mjs.map +1 -0
  110. package/dist/IdunSoft/types/courses.d.mts +8 -0
  111. package/dist/IdunSoft/types/events.d.mts +26 -0
  112. package/dist/IdunSoft/types/groups.d.mts +8 -0
  113. package/dist/IdunSoft/types/index.d.mts +20 -0
  114. package/dist/IdunSoft/types/locations.d.mts +8 -0
  115. package/dist/IdunSoft/types/schedules.d.mts +17 -0
  116. package/dist/IdunSoft/types/teachers.d.mts +8 -0
  117. package/dist/InfoMentor/index.d.mts +10 -0
  118. package/dist/InfoMentor/index.mjs +10 -0
  119. package/dist/InfoMentor/index.mjs.map +1 -0
  120. package/dist/InfoMentor/to/index.d.mts +10 -0
  121. package/dist/InfoMentor/to/index.mjs +10 -0
  122. package/dist/InfoMentor/to/index.mjs.map +1 -0
  123. package/dist/InfoMentor/to/schedules.mjs +57 -0
  124. package/dist/InfoMentor/to/schedules.mjs.map +1 -0
  125. package/dist/InfoMentor/types/events.d.mts +13 -0
  126. package/dist/InfoMentor/types/index.d.mts +9 -0
  127. package/dist/PlanDigital/from/index.mjs +8 -0
  128. package/dist/PlanDigital/from/index.mjs.map +1 -0
  129. package/dist/PlanDigital/from/schedules.mjs +71 -0
  130. package/dist/PlanDigital/from/schedules.mjs.map +1 -0
  131. package/dist/PlanDigital/index.d.mts +129 -0
  132. package/dist/PlanDigital/index.mjs +10 -0
  133. package/dist/PlanDigital/index.mjs.map +1 -0
  134. package/dist/PlanDigital/types/index.d.mts +34 -0
  135. package/dist/Quiculum/file/index.d.mts +9 -0
  136. package/dist/Quiculum/file/index.mjs +10 -0
  137. package/dist/Quiculum/file/index.mjs.map +1 -0
  138. package/dist/Quiculum/file/to/index.d.mts +21 -0
  139. package/dist/Quiculum/file/to/index.mjs +10 -0
  140. package/dist/Quiculum/file/to/index.mjs.map +1 -0
  141. package/dist/Quiculum/file/to/schedules.mjs +87 -0
  142. package/dist/Quiculum/file/to/schedules.mjs.map +1 -0
  143. package/dist/Quiculum/index.d.mts +11 -0
  144. package/dist/Quiculum/index.mjs +11 -0
  145. package/dist/Quiculum/index.mjs.map +1 -0
  146. package/dist/RS/from/division.d.mts +8 -0
  147. package/dist/RS/from/division.mjs +17 -0
  148. package/dist/RS/from/division.mjs.map +1 -0
  149. package/dist/RS/from/index.mjs +12 -0
  150. package/dist/RS/from/index.mjs.map +1 -0
  151. package/dist/RS/from/schedules.d.mts +9 -0
  152. package/dist/RS/from/schedules.mjs +40 -0
  153. package/dist/RS/from/schedules.mjs.map +1 -0
  154. package/dist/RS/index.d.mts +18 -0
  155. package/dist/RS/index.mjs +12 -0
  156. package/dist/RS/index.mjs.map +1 -0
  157. package/dist/RS/make-connected.d.mts +25 -0
  158. package/dist/RS/make-connected.mjs +207 -0
  159. package/dist/RS/make-connected.mjs.map +1 -0
  160. package/dist/RS/to/index.mjs +8 -0
  161. package/dist/RS/to/index.mjs.map +1 -0
  162. package/dist/RS/to/initial-configuration.mjs +41 -0
  163. package/dist/RS/to/initial-configuration.mjs.map +1 -0
  164. package/dist/RS/to/input/default.mjs +28 -0
  165. package/dist/RS/to/input/default.mjs.map +1 -0
  166. package/dist/RS/to/input/dependencies.mjs +31 -0
  167. package/dist/RS/to/input/dependencies.mjs.map +1 -0
  168. package/dist/RS/to/input/events.mjs +101 -0
  169. package/dist/RS/to/input/events.mjs.map +1 -0
  170. package/dist/RS/to/input/groups.mjs +32 -0
  171. package/dist/RS/to/input/groups.mjs.map +1 -0
  172. package/dist/RS/to/input/individuals.mjs +45 -0
  173. package/dist/RS/to/input/individuals.mjs.map +1 -0
  174. package/dist/RS/to/input/input.mjs +59 -0
  175. package/dist/RS/to/input/input.mjs.map +1 -0
  176. package/dist/RS/to/input/intervals.mjs +129 -0
  177. package/dist/RS/to/input/intervals.mjs.map +1 -0
  178. package/dist/RS/to/input/linked-events-sets.mjs +96 -0
  179. package/dist/RS/to/input/linked-events-sets.mjs.map +1 -0
  180. package/dist/RS/to/input/locked-times.mjs +89 -0
  181. package/dist/RS/to/input/locked-times.mjs.map +1 -0
  182. package/dist/RS/to/input/periods.mjs +57 -0
  183. package/dist/RS/to/input/periods.mjs.map +1 -0
  184. package/dist/RS/to/input/settings.mjs +13 -0
  185. package/dist/RS/to/input/settings.mjs.map +1 -0
  186. package/dist/RS/to/input/teachers.mjs +32 -0
  187. package/dist/RS/to/input/teachers.mjs.map +1 -0
  188. package/dist/RS/to/input/util/parse-days.mjs +10 -0
  189. package/dist/RS/to/input/util/parse-days.mjs.map +1 -0
  190. package/dist/RS/to/input/util/parse-group-references.mjs +50 -0
  191. package/dist/RS/to/input/util/parse-group-references.mjs.map +1 -0
  192. package/dist/RS/to/input/util/parse-location-references.mjs +35 -0
  193. package/dist/RS/to/input/util/parse-location-references.mjs.map +1 -0
  194. package/dist/RS/to/input/util/parse-max-working-hours.mjs +14 -0
  195. package/dist/RS/to/input/util/parse-max-working-hours.mjs.map +1 -0
  196. package/dist/RS/to/input/util/parse-minimum-break-length.mjs +19 -0
  197. package/dist/RS/to/input/util/parse-minimum-break-length.mjs.map +1 -0
  198. package/dist/RS/to/input/util/util.mjs +100 -0
  199. package/dist/RS/to/input/util/util.mjs.map +1 -0
  200. package/dist/RS/to/schedules.d.mts +7 -0
  201. package/dist/RS/to/schedules.mjs +51 -0
  202. package/dist/RS/to/schedules.mjs.map +1 -0
  203. package/dist/RS/types/algorithm-parameters.d.mts +17 -0
  204. package/dist/RS/types/configurations.d.mts +10 -0
  205. package/dist/RS/types/event-configuration.d.mts +20 -0
  206. package/dist/RS/types/index.d.mts +21 -0
  207. package/dist/RS/types/schedule-data.d.mts +20 -0
  208. package/dist/RS/types/to.d.mts +64 -0
  209. package/dist/RS/types/to.mjs +6 -0
  210. package/dist/RS/types/to.mjs.map +1 -0
  211. package/dist/SS12000/from/activities.mjs +35 -0
  212. package/dist/SS12000/from/activities.mjs.map +1 -0
  213. package/dist/SS12000/from/calendar-events.mjs +20 -0
  214. package/dist/SS12000/from/calendar-events.mjs.map +1 -0
  215. package/dist/SS12000/from/duties.mjs +31 -0
  216. package/dist/SS12000/from/duties.mjs.map +1 -0
  217. package/dist/SS12000/from/groups.mjs +23 -0
  218. package/dist/SS12000/from/groups.mjs.map +1 -0
  219. package/dist/SS12000/from/index.mjs +24 -0
  220. package/dist/SS12000/from/index.mjs.map +1 -0
  221. package/dist/SS12000/from/persons.mjs +43 -0
  222. package/dist/SS12000/from/persons.mjs.map +1 -0
  223. package/dist/SS12000/from/resources.mjs +9 -0
  224. package/dist/SS12000/from/resources.mjs.map +1 -0
  225. package/dist/SS12000/from/rooms.mjs +18 -0
  226. package/dist/SS12000/from/rooms.mjs.map +1 -0
  227. package/dist/SS12000/from/syllabuses.mjs +21 -0
  228. package/dist/SS12000/from/syllabuses.mjs.map +1 -0
  229. package/dist/SS12000/index.d.mts +37 -0
  230. package/dist/SS12000/index.mjs +12 -0
  231. package/dist/SS12000/index.mjs.map +1 -0
  232. package/dist/SS12000/to/activities.mjs +63 -0
  233. package/dist/SS12000/to/activities.mjs.map +1 -0
  234. package/dist/SS12000/to/calendar-events.mjs +53 -0
  235. package/dist/SS12000/to/calendar-events.mjs.map +1 -0
  236. package/dist/SS12000/to/common.mjs +25 -0
  237. package/dist/SS12000/to/common.mjs.map +1 -0
  238. package/dist/SS12000/to/duties.mjs +45 -0
  239. package/dist/SS12000/to/duties.mjs.map +1 -0
  240. package/dist/SS12000/to/groups.mjs +49 -0
  241. package/dist/SS12000/to/groups.mjs.map +1 -0
  242. package/dist/SS12000/to/index.d.mts +57 -0
  243. package/dist/SS12000/to/index.mjs +24 -0
  244. package/dist/SS12000/to/index.mjs.map +1 -0
  245. package/dist/SS12000/to/persons.mjs +40 -0
  246. package/dist/SS12000/to/persons.mjs.map +1 -0
  247. package/dist/SS12000/to/resources.mjs +27 -0
  248. package/dist/SS12000/to/resources.mjs.map +1 -0
  249. package/dist/SS12000/to/rooms.mjs +32 -0
  250. package/dist/SS12000/to/rooms.mjs.map +1 -0
  251. package/dist/SS12000/to/syllabuses.mjs +34 -0
  252. package/dist/SS12000/to/syllabuses.mjs.map +1 -0
  253. package/dist/SS12000/types/activities.d.mts +41 -0
  254. package/dist/SS12000/types/calendar-events.d.mts +23 -0
  255. package/dist/SS12000/types/codes.d.mts +9 -0
  256. package/dist/SS12000/types/duties.d.mts +23 -0
  257. package/dist/SS12000/types/duty-assignments.d.mts +13 -0
  258. package/dist/SS12000/types/groups.d.mts +23 -0
  259. package/dist/SS12000/types/index.d.mts +21 -0
  260. package/dist/SS12000/types/organisation.d.mts +20 -0
  261. package/dist/SS12000/types/persons.d.mts +30 -0
  262. package/dist/SS12000/types/resources.d.mts +13 -0
  263. package/dist/SS12000/types/rooms.d.mts +17 -0
  264. package/dist/SS12000/types/syllabus.d.mts +19 -0
  265. package/dist/SchoolSoft/api/from/index.mjs +8 -0
  266. package/dist/SchoolSoft/api/from/index.mjs.map +1 -0
  267. package/dist/SchoolSoft/api/from/schedules.mjs +163 -0
  268. package/dist/SchoolSoft/api/from/schedules.mjs.map +1 -0
  269. package/dist/SchoolSoft/api/index.d.mts +462 -0
  270. package/dist/SchoolSoft/api/index.mjs +10 -0
  271. package/dist/SchoolSoft/api/index.mjs.map +1 -0
  272. package/dist/SchoolSoft/api/types/group.d.mts +12 -0
  273. package/dist/SchoolSoft/api/types/index.d.mts +19 -0
  274. package/dist/SchoolSoft/api/types/lesson.d.mts +9 -0
  275. package/dist/SchoolSoft/api/types/location.d.mts +8 -0
  276. package/dist/SchoolSoft/api/types/persons.d.mts +31 -0
  277. package/dist/SchoolSoft/api/types/schedule.d.mts +17 -0
  278. package/dist/SchoolSoft/api/types/teacher.d.mts +13 -0
  279. package/dist/SchoolSoft/file/from/index.mjs +8 -0
  280. package/dist/SchoolSoft/file/from/index.mjs.map +1 -0
  281. package/dist/SchoolSoft/file/from/schedules.mjs +130 -0
  282. package/dist/SchoolSoft/file/from/schedules.mjs.map +1 -0
  283. package/dist/SchoolSoft/file/index.d.mts +16 -0
  284. package/dist/SchoolSoft/file/index.mjs +12 -0
  285. package/dist/SchoolSoft/file/index.mjs.map +1 -0
  286. package/dist/SchoolSoft/file/to/index.d.mts +14 -0
  287. package/dist/SchoolSoft/file/to/index.mjs +10 -0
  288. package/dist/SchoolSoft/file/to/index.mjs.map +1 -0
  289. package/dist/SchoolSoft/file/to/schedules.mjs +106 -0
  290. package/dist/SchoolSoft/file/to/schedules.mjs.map +1 -0
  291. package/dist/SchoolSoft/file/types/events.d.mts +27 -0
  292. package/dist/SchoolSoft/file/types/index.d.mts +17 -0
  293. package/dist/SchoolSoft/file/types/persons.d.mts +31 -0
  294. package/dist/SchoolSoft/index.d.mts +21 -0
  295. package/dist/SchoolSoft/index.mjs +14 -0
  296. package/dist/SchoolSoft/index.mjs.map +1 -0
  297. package/dist/Schoolity/index.d.mts +10 -0
  298. package/dist/Schoolity/index.mjs +10 -0
  299. package/dist/Schoolity/index.mjs.map +1 -0
  300. package/dist/Schoolity/txt/index.d.mts +10 -0
  301. package/dist/Schoolity/txt/index.mjs +10 -0
  302. package/dist/Schoolity/txt/index.mjs.map +1 -0
  303. package/dist/Schoolity/txt/to/index.d.mts +11 -0
  304. package/dist/Schoolity/txt/to/index.mjs +10 -0
  305. package/dist/Schoolity/txt/to/index.mjs.map +1 -0
  306. package/dist/Schoolity/txt/to/schedules.mjs +324 -0
  307. package/dist/Schoolity/txt/to/schedules.mjs.map +1 -0
  308. package/dist/Schoolity/txt/types/index.d.mts +119 -0
  309. package/dist/Skola24/index.d.mts +13 -0
  310. package/dist/Skola24/index.mjs +12 -0
  311. package/dist/Skola24/index.mjs.map +1 -0
  312. package/dist/Skola24/mdb/from/course-and-events.mjs +239 -0
  313. package/dist/Skola24/mdb/from/course-and-events.mjs.map +1 -0
  314. package/dist/Skola24/mdb/from/groups.mjs +12 -0
  315. package/dist/Skola24/mdb/from/groups.mjs.map +1 -0
  316. package/dist/Skola24/mdb/from/index.mjs +8 -0
  317. package/dist/Skola24/mdb/from/index.mjs.map +1 -0
  318. package/dist/Skola24/mdb/from/locations.mjs +11 -0
  319. package/dist/Skola24/mdb/from/locations.mjs.map +1 -0
  320. package/dist/Skola24/mdb/from/schedule.d.mts +28 -0
  321. package/dist/Skola24/mdb/from/schedule.mjs +97 -0
  322. package/dist/Skola24/mdb/from/schedule.mjs.map +1 -0
  323. package/dist/Skola24/mdb/from/teachers.mjs +11 -0
  324. package/dist/Skola24/mdb/from/teachers.mjs.map +1 -0
  325. package/dist/Skola24/mdb/index.d.mts +12 -0
  326. package/dist/Skola24/mdb/index.mjs +10 -0
  327. package/dist/Skola24/mdb/index.mjs.map +1 -0
  328. package/dist/Skola24/mdb/types/Course.d.mts +10 -0
  329. package/dist/Skola24/mdb/types/Group-group-link.d.mts +8 -0
  330. package/dist/Skola24/mdb/types/Group.d.mts +9 -0
  331. package/dist/Skola24/mdb/types/Lesson-group-link.d.mts +8 -0
  332. package/dist/Skola24/mdb/types/Lesson-period-link.d.mts +8 -0
  333. package/dist/Skola24/mdb/types/Lesson-room-link.d.mts +8 -0
  334. package/dist/Skola24/mdb/types/Lesson-teacher-link.d.mts +8 -0
  335. package/dist/Skola24/mdb/types/Lesson.d.mts +13 -0
  336. package/dist/Skola24/mdb/types/Options.d.mts +11 -0
  337. package/dist/Skola24/mdb/types/Period.d.mts +9 -0
  338. package/dist/Skola24/mdb/types/Plan-group-link.d.mts +8 -0
  339. package/dist/Skola24/mdb/types/Plan-period-link.d.mts +8 -0
  340. package/dist/Skola24/mdb/types/Plan-teacher-link.d.mts +10 -0
  341. package/dist/Skola24/mdb/types/Plan.d.mts +9 -0
  342. package/dist/Skola24/mdb/types/Room.d.mts +9 -0
  343. package/dist/Skola24/mdb/types/Schedule.d.mts +39 -0
  344. package/dist/Skola24/mdb/types/Subject.d.mts +8 -0
  345. package/dist/Skola24/mdb/types/Teacher.d.mts +10 -0
  346. package/dist/Skola24/mdb/types/index.d.mts +23 -0
  347. package/dist/Skola24/txt/from/calendar-exceptions.mjs +67 -0
  348. package/dist/Skola24/txt/from/calendar-exceptions.mjs.map +1 -0
  349. package/dist/Skola24/txt/from/division.mjs +44 -0
  350. package/dist/Skola24/txt/from/division.mjs.map +1 -0
  351. package/dist/Skola24/txt/from/index.mjs +12 -0
  352. package/dist/Skola24/txt/from/index.mjs.map +1 -0
  353. package/dist/Skola24/txt/from/period.mjs +96 -0
  354. package/dist/Skola24/txt/from/period.mjs.map +1 -0
  355. package/dist/Skola24/txt/from/schedules.d.mts +18 -0
  356. package/dist/Skola24/txt/from/schedules.mjs +274 -0
  357. package/dist/Skola24/txt/from/schedules.mjs.map +1 -0
  358. package/dist/Skola24/txt/from/util.mjs +23 -0
  359. package/dist/Skola24/txt/from/util.mjs.map +1 -0
  360. package/dist/Skola24/txt/index.d.mts +29 -0
  361. package/dist/Skola24/txt/index.mjs +12 -0
  362. package/dist/Skola24/txt/index.mjs.map +1 -0
  363. package/dist/Skola24/txt/to/index.d.mts +11 -0
  364. package/dist/Skola24/txt/to/index.mjs +10 -0
  365. package/dist/Skola24/txt/to/index.mjs.map +1 -0
  366. package/dist/Skola24/txt/to/schedules.mjs +290 -0
  367. package/dist/Skola24/txt/to/schedules.mjs.map +1 -0
  368. package/dist/Skola24/txt/types/index.d.mts +154 -0
  369. package/dist/common/constants.mjs +8 -0
  370. package/dist/common/constants.mjs.map +1 -0
  371. package/dist/common/functions.mjs +61 -0
  372. package/dist/common/functions.mjs.map +1 -0
  373. package/dist/common/get-date.mjs +15 -0
  374. package/dist/common/get-date.mjs.map +1 -0
  375. package/dist/common/make-chainable/index.mjs +36 -0
  376. package/dist/common/make-chainable/index.mjs.map +1 -0
  377. package/dist/common/types.d.mts +38 -0
  378. package/dist/core/from/configurations.mjs +12 -0
  379. package/dist/core/from/configurations.mjs.map +1 -0
  380. package/dist/core/from/courses.mjs +12 -0
  381. package/dist/core/from/courses.mjs.map +1 -0
  382. package/dist/core/from/events.mjs +13 -0
  383. package/dist/core/from/events.mjs.map +1 -0
  384. package/dist/core/from/exceptions.mjs +12 -0
  385. package/dist/core/from/exceptions.mjs.map +1 -0
  386. package/dist/core/from/groups.mjs +12 -0
  387. package/dist/core/from/groups.mjs.map +1 -0
  388. package/dist/core/from/index.mjs +23 -0
  389. package/dist/core/from/index.mjs.map +1 -0
  390. package/dist/core/from/linked-events-sets.mjs +12 -0
  391. package/dist/core/from/linked-events-sets.mjs.map +1 -0
  392. package/dist/core/from/locations.mjs +12 -0
  393. package/dist/core/from/locations.mjs.map +1 -0
  394. package/dist/core/from/locked-times.mjs +12 -0
  395. package/dist/core/from/locked-times.mjs.map +1 -0
  396. package/dist/core/from/periods.mjs +12 -0
  397. package/dist/core/from/periods.mjs.map +1 -0
  398. package/dist/core/from/persons.mjs +12 -0
  399. package/dist/core/from/persons.mjs.map +1 -0
  400. package/dist/core/from/root-intervals.mjs +12 -0
  401. package/dist/core/from/root-intervals.mjs.map +1 -0
  402. package/dist/core/from/schedules.d.mts +7 -0
  403. package/dist/core/from/schedules.mjs +38 -0
  404. package/dist/core/from/schedules.mjs.map +1 -0
  405. package/dist/core/from/settings.mjs +21 -0
  406. package/dist/core/from/settings.mjs.map +1 -0
  407. package/dist/core/from/syllabuses.mjs +13 -0
  408. package/dist/core/from/syllabuses.mjs.map +1 -0
  409. package/dist/core/from/teachers.mjs +12 -0
  410. package/dist/core/from/teachers.mjs.map +1 -0
  411. package/dist/core/index.d.mts +38 -0
  412. package/dist/core/index.mjs +16 -0
  413. package/dist/core/index.mjs.map +1 -0
  414. package/dist/core/interfaces/index.d.mts +23 -0
  415. package/dist/core/interfaces/index.mjs +6 -0
  416. package/dist/core/interfaces/other/companies.d.mts +147 -0
  417. package/dist/core/interfaces/other/companies.mjs +9 -0
  418. package/dist/core/interfaces/other/companies.mjs.map +1 -0
  419. package/dist/core/interfaces/other/etc.d.mts +19 -0
  420. package/dist/core/interfaces/other/index.d.mts +6 -0
  421. package/dist/core/interfaces/other/integrations.d.mts +17 -0
  422. package/dist/core/interfaces/other/operations.d.mts +36 -0
  423. package/dist/core/interfaces/other/policies.d.mts +31 -0
  424. package/dist/core/interfaces/other/sync-logs.d.mts +21 -0
  425. package/dist/core/interfaces/other/users.d.mts +35 -0
  426. package/dist/core/interfaces/vertices/companies.d.mts +8 -0
  427. package/dist/core/interfaces/vertices/configurations.d.mts +58 -0
  428. package/dist/core/interfaces/vertices/conversations.d.mts +88 -0
  429. package/dist/core/interfaces/vertices/courses.d.mts +65 -0
  430. package/dist/core/interfaces/vertices/division-settings.d.mts +55 -0
  431. package/dist/core/interfaces/vertices/divisions.d.mts +31 -0
  432. package/dist/core/interfaces/vertices/events.d.mts +106 -0
  433. package/dist/core/interfaces/vertices/exceptions.d.mts +74 -0
  434. package/dist/core/interfaces/vertices/generations.d.mts +23 -0
  435. package/dist/core/interfaces/vertices/groups.d.mts +51 -0
  436. package/dist/core/interfaces/vertices/index.d.mts +237 -0
  437. package/dist/core/interfaces/vertices/index.mjs +3 -0
  438. package/dist/core/interfaces/vertices/linked-events-sets.d.mts +19 -0
  439. package/dist/core/interfaces/vertices/locations.d.mts +22 -0
  440. package/dist/core/interfaces/vertices/locked-times.d.mts +37 -0
  441. package/dist/core/interfaces/vertices/messages.d.mts +27 -0
  442. package/dist/core/interfaces/vertices/periods.d.mts +16 -0
  443. package/dist/core/interfaces/vertices/persons.d.mts +32 -0
  444. package/dist/core/interfaces/vertices/properties/belongs-to.d.mts +11 -0
  445. package/dist/core/interfaces/vertices/properties/coalesced.d.mts +8 -0
  446. package/dist/core/interfaces/vertices/properties/days.d.mts +9 -0
  447. package/dist/core/interfaces/vertices/properties/index.d.mts +15 -0
  448. package/dist/core/interfaces/vertices/properties/intervals.d.mts +10 -0
  449. package/dist/core/interfaces/vertices/properties/maximum-schedule-span.d.mts +19 -0
  450. package/dist/core/interfaces/vertices/properties/min-break-length.d.mts +5 -0
  451. package/dist/core/interfaces/vertices/properties/planned-scheduled-duration.d.mts +13 -0
  452. package/dist/core/interfaces/vertices/properties/species.d.mts +9 -0
  453. package/dist/core/interfaces/vertices/properties/tags.d.mts +9 -0
  454. package/dist/core/interfaces/vertices/properties/week.d.mts +22 -0
  455. package/dist/core/interfaces/vertices/properties/week.mjs +6 -0
  456. package/dist/core/interfaces/vertices/properties/week.mjs.map +1 -0
  457. package/dist/core/interfaces/vertices/root-intervals.d.mts +14 -0
  458. package/dist/core/interfaces/vertices/syllabuses.d.mts +20 -0
  459. package/dist/core/interfaces/vertices/teachers.d.mts +41 -0
  460. package/dist/core/interfaces/vertices/threads.d.mts +33 -0
  461. package/dist/core/interfaces/vertices/users.d.mts +11 -0
  462. package/dist/core/interfaces/vertices/util/common.d.mts +28 -0
  463. package/dist/core/interfaces/vertices/util/custom-vertex-export/assert-no-invalid-expand-keys.d.mts +16 -0
  464. package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.mts +34 -0
  465. package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.mts +52 -0
  466. package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.mts +65 -0
  467. package/dist/core/interfaces/vertices/util/edges.d.mts +123 -0
  468. package/dist/core/interfaces/vertices/util/index.d.mts +6 -0
  469. package/dist/core/interfaces/vertices/util/keys-of.d.mts +26 -0
  470. package/dist/core/interfaces/vertices/util/serialized-vertex-export.d.mts +11 -0
  471. package/dist/core/interfaces/vertices/util/util.d.mts +79 -0
  472. package/dist/core/interfaces/vertices/util/vertex-query/index.d.mts +50 -0
  473. package/dist/core/interfaces/vertices/util/vertex-query/util.d.mts +13 -0
  474. package/dist/core/interfaces/vertices/util/vertex.d.mts +68 -0
  475. package/dist/core/interfaces/vertices/vertex-query.d.mts +115 -0
  476. package/dist/core/interfaces/vertices/vertex-query.mjs +118 -0
  477. package/dist/core/interfaces/vertices/vertex-query.mjs.map +1 -0
  478. package/dist/core/to/configurations.mjs +16 -0
  479. package/dist/core/to/configurations.mjs.map +1 -0
  480. package/dist/core/to/courses.mjs +40 -0
  481. package/dist/core/to/courses.mjs.map +1 -0
  482. package/dist/core/to/division.mjs +10 -0
  483. package/dist/core/to/division.mjs.map +1 -0
  484. package/dist/core/to/events.mjs +42 -0
  485. package/dist/core/to/events.mjs.map +1 -0
  486. package/dist/core/to/exceptions.mjs +29 -0
  487. package/dist/core/to/exceptions.mjs.map +1 -0
  488. package/dist/core/to/groups.mjs +25 -0
  489. package/dist/core/to/groups.mjs.map +1 -0
  490. package/dist/core/to/index.d.mts +9 -0
  491. package/dist/core/to/index.mjs +10 -0
  492. package/dist/core/to/index.mjs.map +1 -0
  493. package/dist/core/to/linked-events-sets.mjs +17 -0
  494. package/dist/core/to/linked-events-sets.mjs.map +1 -0
  495. package/dist/core/to/locations.mjs +21 -0
  496. package/dist/core/to/locations.mjs.map +1 -0
  497. package/dist/core/to/locked-times.mjs +20 -0
  498. package/dist/core/to/locked-times.mjs.map +1 -0
  499. package/dist/core/to/periods.mjs +16 -0
  500. package/dist/core/to/periods.mjs.map +1 -0
  501. package/dist/core/to/persons.mjs +17 -0
  502. package/dist/core/to/persons.mjs.map +1 -0
  503. package/dist/core/to/root-intervals.mjs +16 -0
  504. package/dist/core/to/root-intervals.mjs.map +1 -0
  505. package/dist/core/to/schedules.d.mts +47 -0
  506. package/dist/core/to/schedules.mjs +42 -0
  507. package/dist/core/to/schedules.mjs.map +1 -0
  508. package/dist/core/to/settings.mjs +18 -0
  509. package/dist/core/to/settings.mjs.map +1 -0
  510. package/dist/core/to/syllabuses.mjs +16 -0
  511. package/dist/core/to/syllabuses.mjs.map +1 -0
  512. package/dist/core/to/teachers.mjs +24 -0
  513. package/dist/core/to/teachers.mjs.map +1 -0
  514. package/dist/core/to/util.d.mts +10 -0
  515. package/dist/core/to/util.mjs +24 -0
  516. package/dist/core/to/util.mjs.map +1 -0
  517. package/dist/core/types/common/index.d.mts +8 -0
  518. package/dist/core/types/common/meta.d.mts +15 -0
  519. package/dist/core/types/index.d.mts +137 -0
  520. package/dist/core/util.mjs +46 -0
  521. package/dist/core/util.mjs.map +1 -0
  522. package/dist/identify/constants/index.d.mts +144 -0
  523. package/dist/identify/constants/index.mjs +317 -0
  524. package/dist/identify/constants/index.mjs.map +1 -0
  525. package/dist/identify/index.d.mts +8 -0
  526. package/dist/identify/index.mjs +93 -0
  527. package/dist/identify/index.mjs.map +1 -0
  528. package/dist/identify/types/index.d.mts +15 -0
  529. package/dist/index.d.mts +57 -0
  530. package/dist/index.mjs +22 -0
  531. package/dist/sdui/from/classes.mjs +8 -0
  532. package/dist/sdui/from/classes.mjs.map +1 -0
  533. package/dist/sdui/from/courses.mjs +14 -0
  534. package/dist/sdui/from/courses.mjs.map +1 -0
  535. package/dist/sdui/from/holidays.mjs +8 -0
  536. package/dist/sdui/from/holidays.mjs.map +1 -0
  537. package/dist/sdui/from/hours.mjs +6 -0
  538. package/dist/sdui/from/hours.mjs.map +1 -0
  539. package/dist/sdui/from/index.mjs +30 -0
  540. package/dist/sdui/from/index.mjs.map +1 -0
  541. package/dist/sdui/from/lessons.mjs +23 -0
  542. package/dist/sdui/from/lessons.mjs.map +1 -0
  543. package/dist/sdui/from/rooms.mjs +11 -0
  544. package/dist/sdui/from/rooms.mjs.map +1 -0
  545. package/dist/sdui/from/schedules.d.mts +21 -0
  546. package/dist/sdui/from/schedules.mjs +24 -0
  547. package/dist/sdui/from/schedules.mjs.map +1 -0
  548. package/dist/sdui/from/school-years.mjs +11 -0
  549. package/dist/sdui/from/school-years.mjs.map +1 -0
  550. package/dist/sdui/from/subjects.mjs +6 -0
  551. package/dist/sdui/from/subjects.mjs.map +1 -0
  552. package/dist/sdui/from/substitution-plans.mjs +10 -0
  553. package/dist/sdui/from/substitution-plans.mjs.map +1 -0
  554. package/dist/sdui/from/teachers.mjs +15 -0
  555. package/dist/sdui/from/teachers.mjs.map +1 -0
  556. package/dist/sdui/index.d.mts +32 -0
  557. package/dist/sdui/index.mjs +12 -0
  558. package/dist/sdui/index.mjs.map +1 -0
  559. package/dist/sdui/to/classes.mjs +10 -0
  560. package/dist/sdui/to/classes.mjs.map +1 -0
  561. package/dist/sdui/to/courses.mjs +16 -0
  562. package/dist/sdui/to/courses.mjs.map +1 -0
  563. package/dist/sdui/to/holidays.mjs +16 -0
  564. package/dist/sdui/to/holidays.mjs.map +1 -0
  565. package/dist/sdui/to/hours.mjs +15 -0
  566. package/dist/sdui/to/hours.mjs.map +1 -0
  567. package/dist/sdui/to/index.d.mts +22 -0
  568. package/dist/sdui/to/index.mjs +30 -0
  569. package/dist/sdui/to/index.mjs.map +1 -0
  570. package/dist/sdui/to/lessons.mjs +24 -0
  571. package/dist/sdui/to/lessons.mjs.map +1 -0
  572. package/dist/sdui/to/rooms.mjs +13 -0
  573. package/dist/sdui/to/rooms.mjs.map +1 -0
  574. package/dist/sdui/to/schedules.mjs +26 -0
  575. package/dist/sdui/to/schedules.mjs.map +1 -0
  576. package/dist/sdui/to/school-years.mjs +18 -0
  577. package/dist/sdui/to/school-years.mjs.map +1 -0
  578. package/dist/sdui/to/subjects.mjs +8 -0
  579. package/dist/sdui/to/subjects.mjs.map +1 -0
  580. package/dist/sdui/to/substitution-plans.mjs +46 -0
  581. package/dist/sdui/to/substitution-plans.mjs.map +1 -0
  582. package/dist/sdui/to/teachers.mjs +20 -0
  583. package/dist/sdui/to/teachers.mjs.map +1 -0
  584. package/dist/sdui/types/classes.d.mts +8 -0
  585. package/dist/sdui/types/courses.d.mts +12 -0
  586. package/dist/sdui/types/holidays.d.mts +10 -0
  587. package/dist/sdui/types/hours.d.mts +10 -0
  588. package/dist/sdui/types/index.d.mts +31 -0
  589. package/dist/sdui/types/lessons.d.mts +13 -0
  590. package/dist/sdui/types/rooms.d.mts +9 -0
  591. package/dist/sdui/types/schedules.d.mts +27 -0
  592. package/dist/sdui/types/school-years.d.mts +9 -0
  593. package/dist/sdui/types/subjects.d.mts +9 -0
  594. package/dist/sdui/types/substitution-plans.d.mts +30 -0
  595. package/dist/sdui/types/teachers.d.mts +10 -0
  596. package/dist/vKlass/from/index.mjs +8 -0
  597. package/dist/vKlass/from/index.mjs.map +1 -0
  598. package/dist/vKlass/from/schedule.d.mts +24 -0
  599. package/dist/vKlass/from/schedule.mjs +71 -0
  600. package/dist/vKlass/from/schedule.mjs.map +1 -0
  601. package/dist/vKlass/index.d.mts +13 -0
  602. package/dist/vKlass/index.mjs +12 -0
  603. package/dist/vKlass/index.mjs.map +1 -0
  604. package/dist/vKlass/to/index.d.mts +9 -0
  605. package/dist/vKlass/to/index.mjs +10 -0
  606. package/dist/vKlass/to/index.mjs.map +1 -0
  607. package/dist/vKlass/to/schedules.d.mts +14 -0
  608. package/dist/vKlass/to/schedules.mjs +82 -0
  609. package/dist/vKlass/to/schedules.mjs.map +1 -0
  610. package/dist/vKlass/types/index.d.mts +53 -0
  611. package/package.json +4 -3
  612. package/dist/Additio/from/courses.js +0 -28
  613. package/dist/Additio/from/courses.js.map +0 -1
  614. package/dist/Additio/from/events.js +0 -61
  615. package/dist/Additio/from/events.js.map +0 -1
  616. package/dist/Additio/from/groups.js +0 -14
  617. package/dist/Additio/from/groups.js.map +0 -1
  618. package/dist/Additio/from/index.js +0 -8
  619. package/dist/Additio/from/index.js.map +0 -1
  620. package/dist/Additio/from/locations.js +0 -13
  621. package/dist/Additio/from/locations.js.map +0 -1
  622. package/dist/Additio/from/persons.js +0 -30
  623. package/dist/Additio/from/persons.js.map +0 -1
  624. package/dist/Additio/from/schedules.d.ts +0 -38
  625. package/dist/Additio/from/schedules.js +0 -36
  626. package/dist/Additio/from/schedules.js.map +0 -1
  627. package/dist/Additio/from/teachers.js +0 -25
  628. package/dist/Additio/from/teachers.js.map +0 -1
  629. package/dist/Additio/index.d.ts +0 -14
  630. package/dist/Additio/index.js +0 -12
  631. package/dist/Additio/index.js.map +0 -1
  632. package/dist/Additio/to/index.d.ts +0 -21
  633. package/dist/Additio/to/index.js +0 -10
  634. package/dist/Additio/to/index.js.map +0 -1
  635. package/dist/Additio/to/schedules.js +0 -111
  636. package/dist/Additio/to/schedules.js.map +0 -1
  637. package/dist/Additio/types/course-sections.d.ts +0 -20
  638. package/dist/Additio/types/courses.d.ts +0 -17
  639. package/dist/Additio/types/index.d.ts +0 -27
  640. package/dist/Additio/types/lessons.d.ts +0 -27
  641. package/dist/Additio/types/options.d.ts +0 -16
  642. package/dist/Additio/types/primary-groups.d.ts +0 -30
  643. package/dist/Additio/types/rooms.d.ts +0 -12
  644. package/dist/Additio/types/schedule-groups.d.ts +0 -23
  645. package/dist/Additio/types/schedules.d.ts +0 -27
  646. package/dist/Additio/types/schools.d.ts +0 -11
  647. package/dist/Additio/types/users.d.ts +0 -20
  648. package/dist/Admentum/from/courses.js +0 -32
  649. package/dist/Admentum/from/courses.js.map +0 -1
  650. package/dist/Admentum/from/events.js +0 -62
  651. package/dist/Admentum/from/events.js.map +0 -1
  652. package/dist/Admentum/from/groups.js +0 -14
  653. package/dist/Admentum/from/groups.js.map +0 -1
  654. package/dist/Admentum/from/index.js +0 -8
  655. package/dist/Admentum/from/index.js.map +0 -1
  656. package/dist/Admentum/from/locations.js +0 -13
  657. package/dist/Admentum/from/locations.js.map +0 -1
  658. package/dist/Admentum/from/persons.js +0 -30
  659. package/dist/Admentum/from/persons.js.map +0 -1
  660. package/dist/Admentum/from/schedules.d.ts +0 -38
  661. package/dist/Admentum/from/schedules.js +0 -37
  662. package/dist/Admentum/from/schedules.js.map +0 -1
  663. package/dist/Admentum/from/teachers.js +0 -25
  664. package/dist/Admentum/from/teachers.js.map +0 -1
  665. package/dist/Admentum/index.d.ts +0 -14
  666. package/dist/Admentum/index.js +0 -12
  667. package/dist/Admentum/index.js.map +0 -1
  668. package/dist/Admentum/to/index.d.ts +0 -19
  669. package/dist/Admentum/to/index.js +0 -10
  670. package/dist/Admentum/to/index.js.map +0 -1
  671. package/dist/Admentum/to/schedules.js +0 -94
  672. package/dist/Admentum/to/schedules.js.map +0 -1
  673. package/dist/Admentum/types/course-sections.d.ts +0 -20
  674. package/dist/Admentum/types/courses.d.ts +0 -17
  675. package/dist/Admentum/types/index.d.ts +0 -25
  676. package/dist/Admentum/types/lessons.d.ts +0 -27
  677. package/dist/Admentum/types/primary-groups.d.ts +0 -30
  678. package/dist/Admentum/types/rooms.d.ts +0 -12
  679. package/dist/Admentum/types/schedule-groups.d.ts +0 -23
  680. package/dist/Admentum/types/schedules.d.ts +0 -27
  681. package/dist/Admentum/types/schools.d.ts +0 -11
  682. package/dist/Admentum/types/users.d.ts +0 -20
  683. package/dist/Excel/index.d.ts +0 -308
  684. package/dist/Excel/index.js +0 -13
  685. package/dist/Excel/index.js.map +0 -1
  686. package/dist/Excel/v1/from/index.js +0 -289
  687. package/dist/Excel/v1/from/index.js.map +0 -1
  688. package/dist/Excel/v1/index.d.ts +0 -239
  689. package/dist/Excel/v1/index.js +0 -10
  690. package/dist/Excel/v1/index.js.map +0 -1
  691. package/dist/Excel/v1/types/index.d.ts +0 -44
  692. package/dist/Excel/v2/from/index.js +0 -537
  693. package/dist/Excel/v2/from/index.js.map +0 -1
  694. package/dist/Excel/v2/index.d.ts +0 -303
  695. package/dist/Excel/v2/index.js +0 -10
  696. package/dist/Excel/v2/index.js.map +0 -1
  697. package/dist/Excel/v2/types/index.d.ts +0 -70
  698. package/dist/IdunSoft/from/courses.js +0 -16
  699. package/dist/IdunSoft/from/courses.js.map +0 -1
  700. package/dist/IdunSoft/from/events.js +0 -59
  701. package/dist/IdunSoft/from/events.js.map +0 -1
  702. package/dist/IdunSoft/from/groups.js +0 -17
  703. package/dist/IdunSoft/from/groups.js.map +0 -1
  704. package/dist/IdunSoft/from/index.js +0 -8
  705. package/dist/IdunSoft/from/index.js.map +0 -1
  706. package/dist/IdunSoft/from/locations.js +0 -16
  707. package/dist/IdunSoft/from/locations.js.map +0 -1
  708. package/dist/IdunSoft/from/schedules.d.ts +0 -23
  709. package/dist/IdunSoft/from/schedules.js +0 -20
  710. package/dist/IdunSoft/from/schedules.js.map +0 -1
  711. package/dist/IdunSoft/from/teachers.js +0 -16
  712. package/dist/IdunSoft/from/teachers.js.map +0 -1
  713. package/dist/IdunSoft/index.d.ts +0 -14
  714. package/dist/IdunSoft/index.js +0 -12
  715. package/dist/IdunSoft/index.js.map +0 -1
  716. package/dist/IdunSoft/to/index.d.ts +0 -9
  717. package/dist/IdunSoft/to/index.js +0 -10
  718. package/dist/IdunSoft/to/index.js.map +0 -1
  719. package/dist/IdunSoft/to/schedules.js +0 -58
  720. package/dist/IdunSoft/to/schedules.js.map +0 -1
  721. package/dist/IdunSoft/types/courses.d.ts +0 -8
  722. package/dist/IdunSoft/types/events.d.ts +0 -26
  723. package/dist/IdunSoft/types/groups.d.ts +0 -8
  724. package/dist/IdunSoft/types/index.d.ts +0 -20
  725. package/dist/IdunSoft/types/locations.d.ts +0 -8
  726. package/dist/IdunSoft/types/schedules.d.ts +0 -17
  727. package/dist/IdunSoft/types/teachers.d.ts +0 -8
  728. package/dist/InfoMentor/index.d.ts +0 -10
  729. package/dist/InfoMentor/index.js +0 -10
  730. package/dist/InfoMentor/index.js.map +0 -1
  731. package/dist/InfoMentor/to/index.d.ts +0 -9
  732. package/dist/InfoMentor/to/index.js +0 -10
  733. package/dist/InfoMentor/to/index.js.map +0 -1
  734. package/dist/InfoMentor/to/schedules.js +0 -58
  735. package/dist/InfoMentor/to/schedules.js.map +0 -1
  736. package/dist/InfoMentor/types/events.d.ts +0 -13
  737. package/dist/InfoMentor/types/index.d.ts +0 -9
  738. package/dist/PlanDigital/from/index.js +0 -8
  739. package/dist/PlanDigital/from/index.js.map +0 -1
  740. package/dist/PlanDigital/from/schedules.js +0 -72
  741. package/dist/PlanDigital/from/schedules.js.map +0 -1
  742. package/dist/PlanDigital/index.d.ts +0 -128
  743. package/dist/PlanDigital/index.js +0 -10
  744. package/dist/PlanDigital/index.js.map +0 -1
  745. package/dist/PlanDigital/types/index.d.ts +0 -34
  746. package/dist/Quiculum/file/index.d.ts +0 -9
  747. package/dist/Quiculum/file/index.js +0 -10
  748. package/dist/Quiculum/file/index.js.map +0 -1
  749. package/dist/Quiculum/file/to/index.d.ts +0 -20
  750. package/dist/Quiculum/file/to/index.js +0 -10
  751. package/dist/Quiculum/file/to/index.js.map +0 -1
  752. package/dist/Quiculum/file/to/schedules.js +0 -91
  753. package/dist/Quiculum/file/to/schedules.js.map +0 -1
  754. package/dist/Quiculum/index.d.ts +0 -11
  755. package/dist/Quiculum/index.js +0 -11
  756. package/dist/Quiculum/index.js.map +0 -1
  757. package/dist/RS/from/division.d.ts +0 -7
  758. package/dist/RS/from/division.js +0 -18
  759. package/dist/RS/from/division.js.map +0 -1
  760. package/dist/RS/from/index.js +0 -12
  761. package/dist/RS/from/index.js.map +0 -1
  762. package/dist/RS/from/schedules.d.ts +0 -8
  763. package/dist/RS/from/schedules.js +0 -40
  764. package/dist/RS/from/schedules.js.map +0 -1
  765. package/dist/RS/index.d.ts +0 -18
  766. package/dist/RS/index.js +0 -12
  767. package/dist/RS/index.js.map +0 -1
  768. package/dist/RS/make-connected.d.ts +0 -23
  769. package/dist/RS/make-connected.js +0 -216
  770. package/dist/RS/make-connected.js.map +0 -1
  771. package/dist/RS/to/index.js +0 -8
  772. package/dist/RS/to/index.js.map +0 -1
  773. package/dist/RS/to/initial-configuration.js +0 -43
  774. package/dist/RS/to/initial-configuration.js.map +0 -1
  775. package/dist/RS/to/input/default.js +0 -29
  776. package/dist/RS/to/input/default.js.map +0 -1
  777. package/dist/RS/to/input/dependencies.js +0 -32
  778. package/dist/RS/to/input/dependencies.js.map +0 -1
  779. package/dist/RS/to/input/events.js +0 -102
  780. package/dist/RS/to/input/events.js.map +0 -1
  781. package/dist/RS/to/input/groups.js +0 -32
  782. package/dist/RS/to/input/groups.js.map +0 -1
  783. package/dist/RS/to/input/individuals.js +0 -46
  784. package/dist/RS/to/input/individuals.js.map +0 -1
  785. package/dist/RS/to/input/input.js +0 -61
  786. package/dist/RS/to/input/input.js.map +0 -1
  787. package/dist/RS/to/input/intervals.js +0 -131
  788. package/dist/RS/to/input/intervals.js.map +0 -1
  789. package/dist/RS/to/input/linked-events-sets.js +0 -96
  790. package/dist/RS/to/input/linked-events-sets.js.map +0 -1
  791. package/dist/RS/to/input/locked-times.js +0 -91
  792. package/dist/RS/to/input/locked-times.js.map +0 -1
  793. package/dist/RS/to/input/periods.js +0 -58
  794. package/dist/RS/to/input/periods.js.map +0 -1
  795. package/dist/RS/to/input/settings.js +0 -13
  796. package/dist/RS/to/input/settings.js.map +0 -1
  797. package/dist/RS/to/input/teachers.js +0 -32
  798. package/dist/RS/to/input/teachers.js.map +0 -1
  799. package/dist/RS/to/input/util/parse-days.js +0 -10
  800. package/dist/RS/to/input/util/parse-days.js.map +0 -1
  801. package/dist/RS/to/input/util/parse-group-references.js +0 -50
  802. package/dist/RS/to/input/util/parse-group-references.js.map +0 -1
  803. package/dist/RS/to/input/util/parse-location-references.js +0 -24
  804. package/dist/RS/to/input/util/parse-location-references.js.map +0 -1
  805. package/dist/RS/to/input/util/parse-max-working-hours.js +0 -14
  806. package/dist/RS/to/input/util/parse-max-working-hours.js.map +0 -1
  807. package/dist/RS/to/input/util/parse-minimum-break-length.js +0 -19
  808. package/dist/RS/to/input/util/parse-minimum-break-length.js.map +0 -1
  809. package/dist/RS/to/input/util/util.js +0 -101
  810. package/dist/RS/to/input/util/util.js.map +0 -1
  811. package/dist/RS/to/schedules.d.ts +0 -7
  812. package/dist/RS/to/schedules.js +0 -51
  813. package/dist/RS/to/schedules.js.map +0 -1
  814. package/dist/RS/types/algorithm-parameters.d.ts +0 -17
  815. package/dist/RS/types/configurations.d.ts +0 -10
  816. package/dist/RS/types/event-configuration.d.ts +0 -20
  817. package/dist/RS/types/index.d.ts +0 -21
  818. package/dist/RS/types/schedule-data.d.ts +0 -20
  819. package/dist/RS/types/to.d.ts +0 -65
  820. package/dist/RS/types/to.js +0 -6
  821. package/dist/RS/types/to.js.map +0 -1
  822. package/dist/SS12000/from/activities.js +0 -36
  823. package/dist/SS12000/from/activities.js.map +0 -1
  824. package/dist/SS12000/from/calendar-events.js +0 -20
  825. package/dist/SS12000/from/calendar-events.js.map +0 -1
  826. package/dist/SS12000/from/duties.js +0 -31
  827. package/dist/SS12000/from/duties.js.map +0 -1
  828. package/dist/SS12000/from/groups.js +0 -23
  829. package/dist/SS12000/from/groups.js.map +0 -1
  830. package/dist/SS12000/from/index.js +0 -24
  831. package/dist/SS12000/from/index.js.map +0 -1
  832. package/dist/SS12000/from/persons.js +0 -43
  833. package/dist/SS12000/from/persons.js.map +0 -1
  834. package/dist/SS12000/from/resources.js +0 -9
  835. package/dist/SS12000/from/resources.js.map +0 -1
  836. package/dist/SS12000/from/rooms.js +0 -18
  837. package/dist/SS12000/from/rooms.js.map +0 -1
  838. package/dist/SS12000/from/syllabuses.js +0 -21
  839. package/dist/SS12000/from/syllabuses.js.map +0 -1
  840. package/dist/SS12000/index.d.ts +0 -36
  841. package/dist/SS12000/index.js +0 -12
  842. package/dist/SS12000/index.js.map +0 -1
  843. package/dist/SS12000/to/activities.js +0 -63
  844. package/dist/SS12000/to/activities.js.map +0 -1
  845. package/dist/SS12000/to/calendar-events.js +0 -53
  846. package/dist/SS12000/to/calendar-events.js.map +0 -1
  847. package/dist/SS12000/to/common.js +0 -25
  848. package/dist/SS12000/to/common.js.map +0 -1
  849. package/dist/SS12000/to/duties.js +0 -45
  850. package/dist/SS12000/to/duties.js.map +0 -1
  851. package/dist/SS12000/to/groups.js +0 -49
  852. package/dist/SS12000/to/groups.js.map +0 -1
  853. package/dist/SS12000/to/index.d.ts +0 -56
  854. package/dist/SS12000/to/index.js +0 -24
  855. package/dist/SS12000/to/index.js.map +0 -1
  856. package/dist/SS12000/to/persons.js +0 -40
  857. package/dist/SS12000/to/persons.js.map +0 -1
  858. package/dist/SS12000/to/resources.js +0 -27
  859. package/dist/SS12000/to/resources.js.map +0 -1
  860. package/dist/SS12000/to/rooms.js +0 -32
  861. package/dist/SS12000/to/rooms.js.map +0 -1
  862. package/dist/SS12000/to/syllabuses.js +0 -34
  863. package/dist/SS12000/to/syllabuses.js.map +0 -1
  864. package/dist/SS12000/types/activities.d.ts +0 -41
  865. package/dist/SS12000/types/calendar-events.d.ts +0 -23
  866. package/dist/SS12000/types/codes.d.ts +0 -9
  867. package/dist/SS12000/types/duties.d.ts +0 -23
  868. package/dist/SS12000/types/duty-assignments.d.ts +0 -13
  869. package/dist/SS12000/types/groups.d.ts +0 -23
  870. package/dist/SS12000/types/index.d.ts +0 -21
  871. package/dist/SS12000/types/organisation.d.ts +0 -20
  872. package/dist/SS12000/types/persons.d.ts +0 -30
  873. package/dist/SS12000/types/resources.d.ts +0 -13
  874. package/dist/SS12000/types/rooms.d.ts +0 -17
  875. package/dist/SS12000/types/syllabus.d.ts +0 -19
  876. package/dist/SchoolSoft/api/from/index.js +0 -8
  877. package/dist/SchoolSoft/api/from/index.js.map +0 -1
  878. package/dist/SchoolSoft/api/from/schedules.js +0 -167
  879. package/dist/SchoolSoft/api/from/schedules.js.map +0 -1
  880. package/dist/SchoolSoft/api/index.d.ts +0 -463
  881. package/dist/SchoolSoft/api/index.js +0 -10
  882. package/dist/SchoolSoft/api/index.js.map +0 -1
  883. package/dist/SchoolSoft/api/types/group.d.ts +0 -12
  884. package/dist/SchoolSoft/api/types/index.d.ts +0 -19
  885. package/dist/SchoolSoft/api/types/lesson.d.ts +0 -9
  886. package/dist/SchoolSoft/api/types/location.d.ts +0 -8
  887. package/dist/SchoolSoft/api/types/persons.d.ts +0 -31
  888. package/dist/SchoolSoft/api/types/schedule.d.ts +0 -17
  889. package/dist/SchoolSoft/api/types/teacher.d.ts +0 -13
  890. package/dist/SchoolSoft/file/from/index.js +0 -8
  891. package/dist/SchoolSoft/file/from/index.js.map +0 -1
  892. package/dist/SchoolSoft/file/from/schedules.js +0 -134
  893. package/dist/SchoolSoft/file/from/schedules.js.map +0 -1
  894. package/dist/SchoolSoft/file/index.d.ts +0 -15
  895. package/dist/SchoolSoft/file/index.js +0 -12
  896. package/dist/SchoolSoft/file/index.js.map +0 -1
  897. package/dist/SchoolSoft/file/to/index.d.ts +0 -13
  898. package/dist/SchoolSoft/file/to/index.js +0 -10
  899. package/dist/SchoolSoft/file/to/index.js.map +0 -1
  900. package/dist/SchoolSoft/file/to/schedules.js +0 -107
  901. package/dist/SchoolSoft/file/to/schedules.js.map +0 -1
  902. package/dist/SchoolSoft/file/types/events.d.ts +0 -27
  903. package/dist/SchoolSoft/file/types/index.d.ts +0 -17
  904. package/dist/SchoolSoft/file/types/persons.d.ts +0 -31
  905. package/dist/SchoolSoft/index.d.ts +0 -20
  906. package/dist/SchoolSoft/index.js +0 -14
  907. package/dist/SchoolSoft/index.js.map +0 -1
  908. package/dist/Schoolity/index.d.ts +0 -10
  909. package/dist/Schoolity/index.js +0 -10
  910. package/dist/Schoolity/index.js.map +0 -1
  911. package/dist/Schoolity/txt/index.d.ts +0 -10
  912. package/dist/Schoolity/txt/index.js +0 -10
  913. package/dist/Schoolity/txt/index.js.map +0 -1
  914. package/dist/Schoolity/txt/to/index.d.ts +0 -10
  915. package/dist/Schoolity/txt/to/index.js +0 -10
  916. package/dist/Schoolity/txt/to/index.js.map +0 -1
  917. package/dist/Schoolity/txt/to/schedules.js +0 -331
  918. package/dist/Schoolity/txt/to/schedules.js.map +0 -1
  919. package/dist/Schoolity/txt/types/index.d.ts +0 -119
  920. package/dist/Skola24/index.d.ts +0 -13
  921. package/dist/Skola24/index.js +0 -12
  922. package/dist/Skola24/index.js.map +0 -1
  923. package/dist/Skola24/mdb/from/course-and-events.js +0 -241
  924. package/dist/Skola24/mdb/from/course-and-events.js.map +0 -1
  925. package/dist/Skola24/mdb/from/groups.js +0 -12
  926. package/dist/Skola24/mdb/from/groups.js.map +0 -1
  927. package/dist/Skola24/mdb/from/index.js +0 -8
  928. package/dist/Skola24/mdb/from/index.js.map +0 -1
  929. package/dist/Skola24/mdb/from/locations.js +0 -11
  930. package/dist/Skola24/mdb/from/locations.js.map +0 -1
  931. package/dist/Skola24/mdb/from/schedule.d.ts +0 -27
  932. package/dist/Skola24/mdb/from/schedule.js +0 -97
  933. package/dist/Skola24/mdb/from/schedule.js.map +0 -1
  934. package/dist/Skola24/mdb/from/teachers.js +0 -11
  935. package/dist/Skola24/mdb/from/teachers.js.map +0 -1
  936. package/dist/Skola24/mdb/index.d.ts +0 -12
  937. package/dist/Skola24/mdb/index.js +0 -10
  938. package/dist/Skola24/mdb/index.js.map +0 -1
  939. package/dist/Skola24/mdb/types/Course.d.ts +0 -10
  940. package/dist/Skola24/mdb/types/Group-group-link.d.ts +0 -8
  941. package/dist/Skola24/mdb/types/Group.d.ts +0 -9
  942. package/dist/Skola24/mdb/types/Lesson-group-link.d.ts +0 -8
  943. package/dist/Skola24/mdb/types/Lesson-period-link.d.ts +0 -8
  944. package/dist/Skola24/mdb/types/Lesson-room-link.d.ts +0 -8
  945. package/dist/Skola24/mdb/types/Lesson-teacher-link.d.ts +0 -8
  946. package/dist/Skola24/mdb/types/Lesson.d.ts +0 -13
  947. package/dist/Skola24/mdb/types/Options.d.ts +0 -11
  948. package/dist/Skola24/mdb/types/Period.d.ts +0 -9
  949. package/dist/Skola24/mdb/types/Plan-group-link.d.ts +0 -8
  950. package/dist/Skola24/mdb/types/Plan-period-link.d.ts +0 -8
  951. package/dist/Skola24/mdb/types/Plan-teacher-link.d.ts +0 -10
  952. package/dist/Skola24/mdb/types/Plan.d.ts +0 -9
  953. package/dist/Skola24/mdb/types/Room.d.ts +0 -9
  954. package/dist/Skola24/mdb/types/Schedule.d.ts +0 -39
  955. package/dist/Skola24/mdb/types/Subject.d.ts +0 -8
  956. package/dist/Skola24/mdb/types/Teacher.d.ts +0 -10
  957. package/dist/Skola24/mdb/types/index.d.ts +0 -23
  958. package/dist/Skola24/txt/from/calendar-exceptions.js +0 -68
  959. package/dist/Skola24/txt/from/calendar-exceptions.js.map +0 -1
  960. package/dist/Skola24/txt/from/division.js +0 -44
  961. package/dist/Skola24/txt/from/division.js.map +0 -1
  962. package/dist/Skola24/txt/from/index.js +0 -12
  963. package/dist/Skola24/txt/from/index.js.map +0 -1
  964. package/dist/Skola24/txt/from/period.js +0 -98
  965. package/dist/Skola24/txt/from/period.js.map +0 -1
  966. package/dist/Skola24/txt/from/schedules.d.ts +0 -16
  967. package/dist/Skola24/txt/from/schedules.js +0 -277
  968. package/dist/Skola24/txt/from/schedules.js.map +0 -1
  969. package/dist/Skola24/txt/from/util.js +0 -17
  970. package/dist/Skola24/txt/from/util.js.map +0 -1
  971. package/dist/Skola24/txt/index.d.ts +0 -28
  972. package/dist/Skola24/txt/index.js +0 -12
  973. package/dist/Skola24/txt/index.js.map +0 -1
  974. package/dist/Skola24/txt/to/index.d.ts +0 -10
  975. package/dist/Skola24/txt/to/index.js +0 -10
  976. package/dist/Skola24/txt/to/index.js.map +0 -1
  977. package/dist/Skola24/txt/to/schedules.js +0 -297
  978. package/dist/Skola24/txt/to/schedules.js.map +0 -1
  979. package/dist/Skola24/txt/types/index.d.ts +0 -141
  980. package/dist/common/constants.js +0 -8
  981. package/dist/common/constants.js.map +0 -1
  982. package/dist/common/functions.js +0 -61
  983. package/dist/common/functions.js.map +0 -1
  984. package/dist/common/get-date.js +0 -15
  985. package/dist/common/get-date.js.map +0 -1
  986. package/dist/common/make-chainable/index.js +0 -36
  987. package/dist/common/make-chainable/index.js.map +0 -1
  988. package/dist/common/types.d.ts +0 -42
  989. package/dist/core/from/configurations.js +0 -12
  990. package/dist/core/from/configurations.js.map +0 -1
  991. package/dist/core/from/courses.js +0 -12
  992. package/dist/core/from/courses.js.map +0 -1
  993. package/dist/core/from/events.js +0 -13
  994. package/dist/core/from/events.js.map +0 -1
  995. package/dist/core/from/exceptions.js +0 -12
  996. package/dist/core/from/exceptions.js.map +0 -1
  997. package/dist/core/from/groups.js +0 -12
  998. package/dist/core/from/groups.js.map +0 -1
  999. package/dist/core/from/index.js +0 -23
  1000. package/dist/core/from/index.js.map +0 -1
  1001. package/dist/core/from/locations.js +0 -12
  1002. package/dist/core/from/locations.js.map +0 -1
  1003. package/dist/core/from/locked-times.js +0 -12
  1004. package/dist/core/from/locked-times.js.map +0 -1
  1005. package/dist/core/from/overlap-groups.js +0 -12
  1006. package/dist/core/from/overlap-groups.js.map +0 -1
  1007. package/dist/core/from/periods.js +0 -12
  1008. package/dist/core/from/periods.js.map +0 -1
  1009. package/dist/core/from/persons.js +0 -12
  1010. package/dist/core/from/persons.js.map +0 -1
  1011. package/dist/core/from/root-intervals.js +0 -12
  1012. package/dist/core/from/root-intervals.js.map +0 -1
  1013. package/dist/core/from/schedules.d.ts +0 -7
  1014. package/dist/core/from/schedules.js +0 -38
  1015. package/dist/core/from/schedules.js.map +0 -1
  1016. package/dist/core/from/settings.js +0 -21
  1017. package/dist/core/from/settings.js.map +0 -1
  1018. package/dist/core/from/syllabuses.js +0 -13
  1019. package/dist/core/from/syllabuses.js.map +0 -1
  1020. package/dist/core/from/teachers.js +0 -12
  1021. package/dist/core/from/teachers.js.map +0 -1
  1022. package/dist/core/index.d.ts +0 -37
  1023. package/dist/core/index.js +0 -16
  1024. package/dist/core/index.js.map +0 -1
  1025. package/dist/core/interfaces/index.js +0 -6
  1026. package/dist/core/interfaces/other/companies.d.ts +0 -133
  1027. package/dist/core/interfaces/other/companies.js +0 -9
  1028. package/dist/core/interfaces/other/companies.js.map +0 -1
  1029. package/dist/core/interfaces/other/etc.d.ts +0 -19
  1030. package/dist/core/interfaces/other/integrations.d.ts +0 -17
  1031. package/dist/core/interfaces/other/operations.d.ts +0 -35
  1032. package/dist/core/interfaces/other/policies.d.ts +0 -31
  1033. package/dist/core/interfaces/other/sync-logs.d.ts +0 -21
  1034. package/dist/core/interfaces/other/users.d.ts +0 -35
  1035. package/dist/core/interfaces/vertices/companies.d.ts +0 -7
  1036. package/dist/core/interfaces/vertices/configurations.d.ts +0 -57
  1037. package/dist/core/interfaces/vertices/conversations.d.ts +0 -32
  1038. package/dist/core/interfaces/vertices/courses.d.ts +0 -67
  1039. package/dist/core/interfaces/vertices/division-settings.d.ts +0 -57
  1040. package/dist/core/interfaces/vertices/divisions.d.ts +0 -30
  1041. package/dist/core/interfaces/vertices/events.d.ts +0 -107
  1042. package/dist/core/interfaces/vertices/exceptions.d.ts +0 -73
  1043. package/dist/core/interfaces/vertices/generations.d.ts +0 -21
  1044. package/dist/core/interfaces/vertices/groups.d.ts +0 -52
  1045. package/dist/core/interfaces/vertices/index.d.ts +0 -244
  1046. package/dist/core/interfaces/vertices/index.js +0 -3
  1047. package/dist/core/interfaces/vertices/linked-events-sets.d.ts +0 -18
  1048. package/dist/core/interfaces/vertices/locations.d.ts +0 -21
  1049. package/dist/core/interfaces/vertices/locked-times.d.ts +0 -35
  1050. package/dist/core/interfaces/vertices/messages.d.ts +0 -21
  1051. package/dist/core/interfaces/vertices/overlap-groups.d.ts +0 -16
  1052. package/dist/core/interfaces/vertices/periods.d.ts +0 -14
  1053. package/dist/core/interfaces/vertices/persons.d.ts +0 -31
  1054. package/dist/core/interfaces/vertices/properties/belongs-to.d.ts +0 -10
  1055. package/dist/core/interfaces/vertices/properties/coalesced.d.ts +0 -7
  1056. package/dist/core/interfaces/vertices/properties/days.d.ts +0 -9
  1057. package/dist/core/interfaces/vertices/properties/index.d.ts +0 -15
  1058. package/dist/core/interfaces/vertices/properties/intervals.d.ts +0 -10
  1059. package/dist/core/interfaces/vertices/properties/maximum-schedule-span.d.ts +0 -19
  1060. package/dist/core/interfaces/vertices/properties/min-break-length.d.ts +0 -5
  1061. package/dist/core/interfaces/vertices/properties/planned-scheduled-duration.d.ts +0 -13
  1062. package/dist/core/interfaces/vertices/properties/species.d.ts +0 -9
  1063. package/dist/core/interfaces/vertices/properties/tags.d.ts +0 -9
  1064. package/dist/core/interfaces/vertices/properties/week.d.ts +0 -22
  1065. package/dist/core/interfaces/vertices/properties/week.js +0 -6
  1066. package/dist/core/interfaces/vertices/properties/week.js.map +0 -1
  1067. package/dist/core/interfaces/vertices/root-intervals.d.ts +0 -12
  1068. package/dist/core/interfaces/vertices/syllabuses.d.ts +0 -19
  1069. package/dist/core/interfaces/vertices/teachers.d.ts +0 -42
  1070. package/dist/core/interfaces/vertices/threads.d.ts +0 -32
  1071. package/dist/core/interfaces/vertices/users.d.ts +0 -10
  1072. package/dist/core/interfaces/vertices/util/common.d.ts +0 -28
  1073. package/dist/core/interfaces/vertices/util/custom-vertex-export/assert-no-invalid-expand-keys.d.ts +0 -16
  1074. package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.ts +0 -34
  1075. package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.ts +0 -53
  1076. package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.ts +0 -65
  1077. package/dist/core/interfaces/vertices/util/edges.d.ts +0 -123
  1078. package/dist/core/interfaces/vertices/util/keys-of.d.ts +0 -27
  1079. package/dist/core/interfaces/vertices/util/serialized-vertex-export.d.ts +0 -12
  1080. package/dist/core/interfaces/vertices/util/util.d.ts +0 -84
  1081. package/dist/core/interfaces/vertices/util/vertex-query/index.d.ts +0 -51
  1082. package/dist/core/interfaces/vertices/util/vertex-query/util.d.ts +0 -13
  1083. package/dist/core/interfaces/vertices/util/vertex.d.ts +0 -71
  1084. package/dist/core/interfaces/vertices/vertex-query.d.ts +0 -117
  1085. package/dist/core/interfaces/vertices/vertex-query.js +0 -122
  1086. package/dist/core/interfaces/vertices/vertex-query.js.map +0 -1
  1087. package/dist/core/to/configurations.js +0 -17
  1088. package/dist/core/to/configurations.js.map +0 -1
  1089. package/dist/core/to/courses.js +0 -42
  1090. package/dist/core/to/courses.js.map +0 -1
  1091. package/dist/core/to/division.js +0 -10
  1092. package/dist/core/to/division.js.map +0 -1
  1093. package/dist/core/to/events.js +0 -44
  1094. package/dist/core/to/events.js.map +0 -1
  1095. package/dist/core/to/exceptions.js +0 -30
  1096. package/dist/core/to/exceptions.js.map +0 -1
  1097. package/dist/core/to/groups.js +0 -26
  1098. package/dist/core/to/groups.js.map +0 -1
  1099. package/dist/core/to/index.d.ts +0 -9
  1100. package/dist/core/to/index.js +0 -10
  1101. package/dist/core/to/index.js.map +0 -1
  1102. package/dist/core/to/linked-events-sets.js +0 -18
  1103. package/dist/core/to/linked-events-sets.js.map +0 -1
  1104. package/dist/core/to/locations.js +0 -22
  1105. package/dist/core/to/locations.js.map +0 -1
  1106. package/dist/core/to/locked-times.js +0 -21
  1107. package/dist/core/to/locked-times.js.map +0 -1
  1108. package/dist/core/to/overlap-groups.js +0 -28
  1109. package/dist/core/to/overlap-groups.js.map +0 -1
  1110. package/dist/core/to/periods.js +0 -17
  1111. package/dist/core/to/periods.js.map +0 -1
  1112. package/dist/core/to/persons.js +0 -18
  1113. package/dist/core/to/persons.js.map +0 -1
  1114. package/dist/core/to/root-intervals.js +0 -17
  1115. package/dist/core/to/root-intervals.js.map +0 -1
  1116. package/dist/core/to/schedules.d.ts +0 -48
  1117. package/dist/core/to/schedules.js +0 -44
  1118. package/dist/core/to/schedules.js.map +0 -1
  1119. package/dist/core/to/settings.js +0 -19
  1120. package/dist/core/to/settings.js.map +0 -1
  1121. package/dist/core/to/syllabuses.js +0 -17
  1122. package/dist/core/to/syllabuses.js.map +0 -1
  1123. package/dist/core/to/teachers.js +0 -25
  1124. package/dist/core/to/teachers.js.map +0 -1
  1125. package/dist/core/to/util.d.ts +0 -8
  1126. package/dist/core/to/util.js +0 -25
  1127. package/dist/core/to/util.js.map +0 -1
  1128. package/dist/core/types/common/index.d.ts +0 -8
  1129. package/dist/core/types/common/meta.d.ts +0 -15
  1130. package/dist/core/types/index.d.ts +0 -141
  1131. package/dist/core/util.js +0 -47
  1132. package/dist/core/util.js.map +0 -1
  1133. package/dist/identify/constants/index.d.ts +0 -144
  1134. package/dist/identify/constants/index.js +0 -317
  1135. package/dist/identify/constants/index.js.map +0 -1
  1136. package/dist/identify/index.d.ts +0 -8
  1137. package/dist/identify/index.js +0 -94
  1138. package/dist/identify/index.js.map +0 -1
  1139. package/dist/identify/types/index.d.ts +0 -15
  1140. package/dist/index.d.ts +0 -57
  1141. package/dist/index.js +0 -22
  1142. package/dist/sdui/from/classes.js +0 -8
  1143. package/dist/sdui/from/classes.js.map +0 -1
  1144. package/dist/sdui/from/courses.js +0 -14
  1145. package/dist/sdui/from/courses.js.map +0 -1
  1146. package/dist/sdui/from/holidays.js +0 -8
  1147. package/dist/sdui/from/holidays.js.map +0 -1
  1148. package/dist/sdui/from/hours.js +0 -6
  1149. package/dist/sdui/from/hours.js.map +0 -1
  1150. package/dist/sdui/from/index.js +0 -30
  1151. package/dist/sdui/from/index.js.map +0 -1
  1152. package/dist/sdui/from/lessons.js +0 -23
  1153. package/dist/sdui/from/lessons.js.map +0 -1
  1154. package/dist/sdui/from/rooms.js +0 -11
  1155. package/dist/sdui/from/rooms.js.map +0 -1
  1156. package/dist/sdui/from/schedules.d.ts +0 -19
  1157. package/dist/sdui/from/schedules.js +0 -24
  1158. package/dist/sdui/from/schedules.js.map +0 -1
  1159. package/dist/sdui/from/school-years.js +0 -11
  1160. package/dist/sdui/from/school-years.js.map +0 -1
  1161. package/dist/sdui/from/subjects.js +0 -6
  1162. package/dist/sdui/from/subjects.js.map +0 -1
  1163. package/dist/sdui/from/substitution-plans.js +0 -10
  1164. package/dist/sdui/from/substitution-plans.js.map +0 -1
  1165. package/dist/sdui/from/teachers.js +0 -15
  1166. package/dist/sdui/from/teachers.js.map +0 -1
  1167. package/dist/sdui/index.d.ts +0 -32
  1168. package/dist/sdui/index.js +0 -12
  1169. package/dist/sdui/index.js.map +0 -1
  1170. package/dist/sdui/to/classes.js +0 -10
  1171. package/dist/sdui/to/classes.js.map +0 -1
  1172. package/dist/sdui/to/courses.js +0 -16
  1173. package/dist/sdui/to/courses.js.map +0 -1
  1174. package/dist/sdui/to/holidays.js +0 -16
  1175. package/dist/sdui/to/holidays.js.map +0 -1
  1176. package/dist/sdui/to/hours.js +0 -15
  1177. package/dist/sdui/to/hours.js.map +0 -1
  1178. package/dist/sdui/to/index.d.ts +0 -20
  1179. package/dist/sdui/to/index.js +0 -30
  1180. package/dist/sdui/to/index.js.map +0 -1
  1181. package/dist/sdui/to/lessons.js +0 -24
  1182. package/dist/sdui/to/lessons.js.map +0 -1
  1183. package/dist/sdui/to/rooms.js +0 -13
  1184. package/dist/sdui/to/rooms.js.map +0 -1
  1185. package/dist/sdui/to/schedules.js +0 -26
  1186. package/dist/sdui/to/schedules.js.map +0 -1
  1187. package/dist/sdui/to/school-years.js +0 -18
  1188. package/dist/sdui/to/school-years.js.map +0 -1
  1189. package/dist/sdui/to/subjects.js +0 -8
  1190. package/dist/sdui/to/subjects.js.map +0 -1
  1191. package/dist/sdui/to/substitution-plans.js +0 -49
  1192. package/dist/sdui/to/substitution-plans.js.map +0 -1
  1193. package/dist/sdui/to/teachers.js +0 -20
  1194. package/dist/sdui/to/teachers.js.map +0 -1
  1195. package/dist/sdui/types/classes.d.ts +0 -8
  1196. package/dist/sdui/types/courses.d.ts +0 -12
  1197. package/dist/sdui/types/holidays.d.ts +0 -10
  1198. package/dist/sdui/types/hours.d.ts +0 -10
  1199. package/dist/sdui/types/index.d.ts +0 -31
  1200. package/dist/sdui/types/lessons.d.ts +0 -13
  1201. package/dist/sdui/types/rooms.d.ts +0 -9
  1202. package/dist/sdui/types/schedules.d.ts +0 -27
  1203. package/dist/sdui/types/school-years.d.ts +0 -9
  1204. package/dist/sdui/types/subjects.d.ts +0 -9
  1205. package/dist/sdui/types/substitution-plans.d.ts +0 -30
  1206. package/dist/sdui/types/teachers.d.ts +0 -10
  1207. package/dist/vKlass/from/index.js +0 -8
  1208. package/dist/vKlass/from/index.js.map +0 -1
  1209. package/dist/vKlass/from/schedule.d.ts +0 -23
  1210. package/dist/vKlass/from/schedule.js +0 -71
  1211. package/dist/vKlass/from/schedule.js.map +0 -1
  1212. package/dist/vKlass/index.d.ts +0 -13
  1213. package/dist/vKlass/index.js +0 -12
  1214. package/dist/vKlass/index.js.map +0 -1
  1215. package/dist/vKlass/to/index.d.ts +0 -9
  1216. package/dist/vKlass/to/index.js +0 -10
  1217. package/dist/vKlass/to/index.js.map +0 -1
  1218. package/dist/vKlass/to/schedules.d.ts +0 -14
  1219. package/dist/vKlass/to/schedules.js +0 -93
  1220. package/dist/vKlass/to/schedules.js.map +0 -1
  1221. package/dist/vKlass/types/index.d.ts +0 -53
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-group-references.mjs","names":[],"sources":["../../../../../src/RS/to/input/util/parse-group-references.ts"],"sourcesContent":["import { groupBy } from 'lodash-es';\nimport type { ConnectedTypes } from '../../../make-connected';\nimport { idOf } from './util';\nimport { getVertexId } from '../../../../core/util';\nimport type { Types } from '../../../types';\nimport { makeChainable } from '../../../../common/make-chainable';\nimport type { GroupWithExclude, Wrapped } from '../../../../core/interfaces/vertices/util/edges';\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: GroupWithExclude.Util.Value<ConnectedTypes.group, ConnectedTypes.person>[],\n options: Types.parsedToOptions\n): GroupWithExclude.Util.Value<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.event, type: 'event' }\n | { item: ConnectedTypes.lockedTime, type: 'lockedTime' };\n\ntype Source = {\n teachers?: Wrapped.Util.Value<'to', ConnectedTypes.teacher>[];\n groups?: GroupWithExclude.Util.Value<ConnectedTypes.group, ConnectedTypes.person>[];\n participants?: Wrapped.Util.Value<'to', 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.Shared.GroupReferenceSets {\n const sources = getSources(itemAndType);\n\n const teacherReferences = (sources.teachers ?? [])\n .map((x): Types.Shared.GroupReference => ({ group: idOf.teacher(x.to, options) }));\n\n const groupReferences = mergeWithParentGroups(sources.groups ?? [], options)\n .map((x): Types.Shared.GroupReference | Types.Shared.IndividualsReference => {\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?.length\n ? { individuals: sources.participants.map(x => idOf.person(x.to, options)) } as Types.Shared.IndividualsReference\n : undefined;\n\n // combine all references\n return new Array<Types.Shared.GroupReference | Types.Shared.IndividualsReference>()\n .concat(\n teacherReferences,\n groupReferences,\n participantReferences ? [participantReferences] : []\n )\n .map(x => [x]);\n}"],"mappings":";;;;;;;;;;AAYA,SAAS,sBACP,YACA,SAC4E;AAC5E,QAAO,cAAc,WAAW,CAC7B,OACC,MAAK,EAAE,SAAS,MAAqD,CACnE,GAAG,IAAI,EAAE,GAAG,gBAAgB,EAAE,EAAE,KAAI,OAAM;EAAE,IAAI;EAAG,eAAe;EAAM,EAAE,CAC3E,CAAE,GACH,MAAK,QAAQ,IAAG,MAAK,YAAY,EAAE,IAAI,QAAQ,CAAC,GAChD,MAAK,OAAO,OAAO,EAAE,CAClB,KAAI,OAAM,GAAG,MAAK,MAAK,EAAE,cAAc,IAAI,GAAG,GAAG,EAAE,CAAC,CACpD,QAAO,MAAK,KAAK,KAAK,CAC1B,CACA;;;;;AAgBL,SAAS,WAAY,aAAkC;AACrD,KAAI,YAAY,QAAQ,aAAc,QAAO;EAC3C,UAAU,YAAY,KAAK,WAAW,QAAO,MAAK,EAAE,WAAW,WAAW;EAC1E,QAAU,YAAY,KAAK,WAAW,QAAO,MAAK,EAAE,WAAW,SAAW;EAC3E;CAED,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;EAC3D;;;;;AAMH,SAAgB,qBACd,aACA,SACiC;CACjC,MAAM,UAAU,WAAW,YAAY;CAEvC,MAAM,qBAAqB,QAAQ,YAAY,EAAE,EAC9C,KAAK,OAAoC,EAAE,OAAO,KAAK,QAAQ,EAAE,IAAI,QAAQ,EAAE,EAAE;CAEpF,MAAM,kBAAkB,sBAAsB,QAAQ,UAAU,EAAE,EAAE,QAAQ,CACzE,KAAK,MAAuE;AAC3E,MAAI,EAAE,GAAG,WAAW,WAAW,EAAE,SAAS,OAAQ,QAAO,EAAE,aAAa,KAAK,eAAe,GAAG,QAAQ,EAAE;AACzG,SAAO,EAAE,OAAO,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE;GAC3C;CAEJ,MAAM,wBAAwB,QAAQ,cAAc,SAChD,EAAE,aAAa,QAAQ,aAAa,KAAI,MAAK,KAAK,OAAO,EAAE,IAAI,QAAQ,CAAC,EAAE,GAC1E;AAGJ,QAAO,IAAI,OAAwE,CAChF,OACC,mBACA,iBACA,wBAAwB,CAAC,sBAAsB,GAAG,EAAE,CACrD,CACA,KAAI,MAAK,CAAC,EAAE,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { getVertexId } from "../../../../core/util.mjs";
2
+ import { makeChainable } from "../../../../common/make-chainable/index.mjs";
3
+ import { groupBy } from "lodash-es";
4
+
5
+ //#region src/RS/to/input/util/parse-location-references.ts
6
+ function toLocationReferences(coalesced) {
7
+ return coalesced?.map((x, i) => x.toModel == "locations" ? {
8
+ locations: [x.to],
9
+ groupIndex: i,
10
+ rank: 0
11
+ } : null).filter((x) => x != null);
12
+ }
13
+ function isCoalescedReferenceList(references) {
14
+ return !!references?.[0] && "toModel" in references[0];
15
+ }
16
+ function parseLocationReferences(references, options) {
17
+ const normalizedReferences = isCoalescedReferenceList(references) ? toLocationReferences(references) : references;
18
+ if (!normalizedReferences) return;
19
+ return makeChainable(normalizedReferences).chain((x) => x.map(({ locations, groupIndex, rank }) => ({
20
+ dependency: getVertexId(locations[0], options),
21
+ rank,
22
+ groupIndex
23
+ })).filter((x) => {
24
+ const includedLocations = options.partialScheduleOptions?.includedLocations;
25
+ if (!includedLocations) return true;
26
+ return includedLocations.has(x.dependency);
27
+ }), (x) => groupBy(x, (x) => x.groupIndex), (x) => Object.values(x).map((xs) => xs.map((x) => ({
28
+ dependency: x.dependency,
29
+ ...x.rank != null && { rank: x.rank }
30
+ })))).value;
31
+ }
32
+
33
+ //#endregion
34
+ export { parseLocationReferences };
35
+ //# sourceMappingURL=parse-location-references.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-location-references.mjs","names":[],"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 { makeChainable } from '../../../../common/make-chainable';\nimport type { AvailableLocation } from '../../../../core/interfaces/vertices/util/edges';\n\n\ntype LocationReference = AvailableLocation.Util.Value<ConnectedTypes.location, { groupIndex?: number; rank?: number; }>;\n\n// Normalize locked-time coalesced edges into the location reference shape used elsewhere.\nfunction toLocationReferences (coalesced: ConnectedTypes.lockedTime['coalesced']): LocationReference[] | undefined {\n return coalesced\n ?.map((x, i): LocationReference | null => x.toModel == 'locations'\n ? { locations: [x.to as ConnectedTypes.location], groupIndex: i, rank: 0 }\n : null\n )\n .filter(x => x != null);\n}\n\nfunction isCoalescedReferenceList (\n references: LocationReference[] | ConnectedTypes.lockedTime['coalesced'] | null | undefined\n): references is NonNullable<ConnectedTypes.lockedTime['coalesced']> {\n return !!references?.[0] && 'toModel' in references[0];\n}\n\nexport function parseLocationReferences (\n references: LocationReference[] | null | undefined,\n options: Types.parsedToOptions\n): Types.Shared.DependencyReference[][] | undefined;\nexport function parseLocationReferences (\n references: ConnectedTypes.lockedTime['coalesced'],\n options: Types.parsedToOptions\n): Types.Shared.DependencyReference[][] | undefined;\n\nexport function parseLocationReferences (\n references: LocationReference[] | ConnectedTypes.lockedTime['coalesced'] | null | undefined,\n options: Types.parsedToOptions\n) {\n // Support both event-style location references and locked-time coalesced edges.\n const normalizedReferences: LocationReference[] | null | undefined = isCoalescedReferenceList(references)\n ? toLocationReferences(references)\n : references;\n\n if (!normalizedReferences) return;\n\n return makeChainable(normalizedReferences)\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 // remove all references to excluded locations 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 ...x.rank != null && { rank: x.rank },\n }) as Types.Shared.DependencyReference))\n )\n .value;\n}\n\n// export 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":";;;;;AAWA,SAAS,qBAAsB,WAAoF;AACjH,QAAO,WACH,KAAK,GAAG,MAAgC,EAAE,WAAW,cAClD;EAAE,WAAW,CAAC,EAAE,GAA8B;EAAE,YAAY;EAAG,MAAM;EAAG,GACzE,KACH,CACA,QAAO,MAAK,KAAK,KAAK;;AAG3B,SAAS,yBACP,YACmE;AACnE,QAAO,CAAC,CAAC,aAAa,MAAM,aAAa,WAAW;;AAYtD,SAAgB,wBACd,YACA,SACA;CAEA,MAAM,uBAA+D,yBAAyB,WAAW,GACrG,qBAAqB,WAAW,GAChC;AAEJ,KAAI,CAAC,qBAAsB;AAE3B,QAAO,cAAc,qBAAqB,CACvC,OACC,MAAK,EACF,KAAK,EAAE,WAAW,YAAY,YAAY;EACzC,YAAY,YAAY,UAAU,IAAI,QAAQ;EAClC;EACA;EACb,EAAE,CACF,QAAO,MAAK;EAEX,MAAM,oBAAoB,QAAQ,wBAAwB;AAC1D,MAAI,CAAC,kBAAmB,QAAO;AAC/B,SAAO,kBAAkB,IAAI,EAAE,WAAW;GAC1C,GACJ,MAAK,QAAQ,IAAG,MAAK,EAAE,WAAW,GAClC,MAAK,OAAO,OAAO,EAAE,CAClB,KAAI,OAAM,GAAG,KAAI,OAAM;EACtB,YAAY,EAAE;EACd,GAAG,EAAE,QAAQ,QAAQ,EAAE,MAAM,EAAE,MAAM;EACtC,EAAsC,CAAC,CAC3C,CACA"}
@@ -0,0 +1,14 @@
1
+ import { min2hrs } from "./util.mjs";
2
+
3
+ //#region src/RS/to/input/util/parse-max-working-hours.ts
4
+ function parseMaxWorkingHours(group) {
5
+ if (!group.maximumScheduleSpan) return;
6
+ return {
7
+ maxNumWorkingHours: min2hrs(group.maximumScheduleSpan.weekly) ?? false,
8
+ maxNumDailyWorkingHours: min2hrs(group.maximumScheduleSpan.daily) ?? false
9
+ };
10
+ }
11
+
12
+ //#endregion
13
+ export { parseMaxWorkingHours };
14
+ //# sourceMappingURL=parse-max-working-hours.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-max-working-hours.mjs","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): Pick<Types.Entities.Group, 'maxNumWorkingHours' | 'maxNumDailyWorkingHours'> | undefined {\n if (!group.maximumScheduleSpan) return;\n\n return {\n maxNumWorkingHours: min2hrs(group.maximumScheduleSpan.weekly) ?? false,\n maxNumDailyWorkingHours: min2hrs(group.maximumScheduleSpan.daily ) ?? false,\n };\n}\n"],"mappings":";;;AAIA,SAAgB,qBACd,OAC0F;AAC1F,KAAI,CAAC,MAAM,oBAAqB;AAEhC,QAAO;EACL,oBAAyB,QAAQ,MAAM,oBAAoB,OAAO,IAAI;EACtE,yBAAyB,QAAQ,MAAM,oBAAoB,MAAO,IAAI;EACvE"}
@@ -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::To::parseMinimumBreakLength) 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::To::parseMinimumBreakLength) BreakLength is neither boolean, number or number array");
15
+ }
16
+
17
+ //#endregion
18
+ export { parseMinimumBreakLength };
19
+ //# sourceMappingURL=parse-minimum-break-length.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-minimum-break-length.mjs","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.Shared.EventBreakDuration | 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::To::parseMinimumBreakLength) BreakLength array must have exactly two elements');\n const [bef, aft] = value;\n return { bef, aft };\n }\n\n throw new Error('(RS::To::parseMinimumBreakLength) BreakLength is neither boolean, number or number array');\n};\n"],"mappings":";AAGA,SAAgB,wBAAyB,OAA8F;AACrI,KAAI,SAAS,KAAM;AAEnB,KAAI,OAAO,UAAU,UAAW,QAAO;AACvC,KAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,KAAI,MAAM,QAAQ,MAAM,EAAE;AACxB,MAAI,MAAM,WAAW,EAAG,OAAM,IAAI,MAAM,qFAAqF;EAC7H,MAAM,CAAC,KAAK,OAAO;AACnB,SAAO;GAAE;GAAK;GAAK;;AAGrB,OAAM,IAAI,MAAM,2FAA2F"}
@@ -0,0 +1,100 @@
1
+ import { getVertexId } from "../../../../core/util.mjs";
2
+
3
+ //#region src/RS/to/input/util/util.ts
4
+ function min2hrs(min) {
5
+ if (min == null) return;
6
+ return min / 60;
7
+ }
8
+ /**
9
+ * Converts a time string in the format "HH:MM" to a float representation, e.g., "12:30" becomes 12.3.
10
+ */
11
+ function toTimeFloat(str) {
12
+ return parseFloat(str.replace(":", "."));
13
+ }
14
+ const COLLECTION_ID = {
15
+ persons: "persons",
16
+ groups: "groups",
17
+ teachers: "teachers",
18
+ events: "events",
19
+ lockedTimes: "lockedtimes"
20
+ };
21
+ const COLLECTION_BY_ID = Object.fromEntries(Object.entries(COLLECTION_ID).map(([collection, id]) => [id, collection]));
22
+ function parseAggregateId(aggregateId, expectedCollection) {
23
+ const indexOfDot = aggregateId.indexOf(".");
24
+ if (indexOfDot == -1) throw new Error(`(RS::To::fromId) Missing collection separator in aggregate id "${aggregateId}"`);
25
+ const collectionId = aggregateId.substring(0, indexOfDot).toLowerCase();
26
+ const entityId = aggregateId.substring(indexOfDot + 1);
27
+ if (!entityId) throw new Error(`(RS::To::fromId) Missing entity id in aggregate id "${aggregateId}"`);
28
+ const collection = COLLECTION_BY_ID[collectionId];
29
+ if (!collection) throw new Error(`(RS::To::fromId) Unknown collection id "${collectionId}" in aggregate id "${aggregateId}"`);
30
+ if (expectedCollection && collection != expectedCollection) throw new Error(`(RS::To::fromId) Expected collection "${expectedCollection}" but got "${collection}" in aggregate id "${aggregateId}"`);
31
+ return {
32
+ collection,
33
+ entityId
34
+ };
35
+ }
36
+ let idOf;
37
+ (function(_idOf) {
38
+ function person(person, options) {
39
+ return `${COLLECTION_ID.persons}.${getVertexId(person, options)}`;
40
+ }
41
+ _idOf.person = person;
42
+ function group(group, options) {
43
+ return `${COLLECTION_ID.groups}.${getVertexId(group, options)}`;
44
+ }
45
+ _idOf.group = group;
46
+ function teacher(teacher, options) {
47
+ return `${COLLECTION_ID.teachers}.${getVertexId(teacher, options)}`;
48
+ }
49
+ _idOf.teacher = teacher;
50
+ function event(event, options) {
51
+ return `${COLLECTION_ID.events}.${getVertexId(event, options)}`;
52
+ }
53
+ _idOf.event = event;
54
+ function lockedTime(lockedTime, options) {
55
+ return `${COLLECTION_ID.lockedTimes}.${getVertexId(lockedTime, options)}`;
56
+ }
57
+ _idOf.lockedTime = lockedTime;
58
+ function groupReference(group, options) {
59
+ return `${COLLECTION_ID.groups}.${getVertexId(group.to, options)}` + (group.exclude?.length ? ".exclude." + group.exclude.map((x) => getVertexId(x, options)).sort().join(".") : "");
60
+ }
61
+ _idOf.groupReference = groupReference;
62
+ function intervalPairReference(interval, rootInterval, options) {
63
+ if (interval === null) interval = void 0;
64
+ if (rootInterval === null) rootInterval = void 0;
65
+ if (interval && interval.length == 0) interval = void 0;
66
+ return (rootInterval ? getVertexId(rootInterval, options) + "&" : "") + JSON.stringify(interval);
67
+ }
68
+ _idOf.intervalPairReference = intervalPairReference;
69
+ })(idOf || (idOf = {}));
70
+ let fromId;
71
+ (function(_fromId) {
72
+ function aggregate(aggregateId) {
73
+ return parseAggregateId(aggregateId);
74
+ }
75
+ _fromId.aggregate = aggregate;
76
+ function person(aggregateId) {
77
+ return parseAggregateId(aggregateId, "persons").entityId;
78
+ }
79
+ _fromId.person = person;
80
+ function group(aggregateId) {
81
+ return parseAggregateId(aggregateId, "groups").entityId;
82
+ }
83
+ _fromId.group = group;
84
+ function teacher(aggregateId) {
85
+ return parseAggregateId(aggregateId, "teachers").entityId;
86
+ }
87
+ _fromId.teacher = teacher;
88
+ function event(aggregateId) {
89
+ return parseAggregateId(aggregateId, "events").entityId;
90
+ }
91
+ _fromId.event = event;
92
+ function lockedTime(aggregateId) {
93
+ return parseAggregateId(aggregateId, "lockedTimes").entityId;
94
+ }
95
+ _fromId.lockedTime = lockedTime;
96
+ })(fromId || (fromId = {}));
97
+
98
+ //#endregion
99
+ export { COLLECTION_ID, fromId, idOf, min2hrs, toTimeFloat };
100
+ //# sourceMappingURL=util.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.mjs","names":[],"sources":["../../../../../src/RS/to/input/util/util.ts"],"sourcesContent":["import type { ConnectedTypes } from '../../../make-connected';\nimport type { Types } from '../../../types';\nimport type { Collection } from '../../../../core/types/common';\nimport { getVertexId } from '../../../../core/util';\nimport type { GroupWithExclude } from '../../../../core/interfaces/vertices/util/edges';\nimport type { Interval } from '../../../../core/interfaces';\n\nexport function min2hrs (min: number | undefined | null) {\n if (min == null) return;\n return min / 60;\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 | string | undefined | null,\n periodsMap: Map<string | undefined, number>,\n options: Types.parsedToOptions\n): number | undefined {\n // if no periods exist, return undefined\n if (periodsMap.size == 0) return;\n\n // if no period is given, return undefined\n if (!period) return;\n\n const id = getVertexId(period, options);\n const periodIndex = periodsMap.get(id);\n if (periodIndex === undefined) {\n throw new Error(`(RS::To::getPeriodIndex) Period \"${id}\" is not in periodsMap`);\n }\n return periodIndex;\n}\n\nexport const COLLECTION_ID = {\n persons: 'persons' as const,\n groups: 'groups' as const,\n teachers: 'teachers' as const,\n events: 'events' as const,\n lockedTimes: 'lockedtimes' as const,\n} satisfies Partial<Record<Collection, string>>;\n\n/**\n * a type generic that inverses a record type, i.e., { a: 'x', b: 'y' } becomes { x: 'a', y: 'b' }\n */\ntype InverseRecord<T extends Record<string, string>> = {\n [K in keyof T as T[K]]: K\n};\n\nconst COLLECTION_BY_ID = Object.fromEntries(Object.entries(COLLECTION_ID).map(([collection, id]) => [id, collection])) as InverseRecord<typeof COLLECTION_ID>;\n\n\nexport type AggregateCollection = keyof typeof COLLECTION_ID;\n\ntype AggregateIdParts<TCollection extends AggregateCollection = AggregateCollection> = {\n collection: TCollection\n entityId: string\n};\n\n\nfunction parseAggregateId<TCollection extends AggregateCollection = AggregateCollection> (\n aggregateId: string,\n expectedCollection?: TCollection\n): AggregateIdParts<TCollection> {\n const indexOfDot = aggregateId.indexOf('.');\n if (indexOfDot == -1) {\n throw new Error(`(RS::To::fromId) Missing collection separator in aggregate id \"${aggregateId}\"`);\n }\n\n const collectionId = aggregateId.substring(0, indexOfDot).toLowerCase() as keyof typeof COLLECTION_BY_ID;\n const entityId = aggregateId.substring(indexOfDot + 1);\n\n if (!entityId) {\n throw new Error(`(RS::To::fromId) Missing entity id in aggregate id \"${aggregateId}\"`);\n }\n\n const collection = COLLECTION_BY_ID[collectionId];\n if (!collection) {\n throw new Error(`(RS::To::fromId) Unknown collection id \"${collectionId}\" in aggregate id \"${aggregateId}\"`);\n }\n\n if (expectedCollection && collection != expectedCollection) {\n throw new Error(`(RS::To::fromId) Expected collection \"${expectedCollection}\" but got \"${collection}\" in aggregate id \"${aggregateId}\"`);\n }\n\n return {\n collection: collection as TCollection,\n entityId,\n };\n}\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 | string,\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 | string,\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 | string,\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 | string,\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: GroupWithExclude.Util.Value<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: Interval[] | undefined,\n rootInterval: ConnectedTypes.rootInterval | undefined,\n options: Types.parsedToOptions\n ): string {\n // replace null with undefined\n if (interval === null) interval = undefined;\n if (rootInterval === null) rootInterval = undefined;\n\n // replace empty intervals with undefined\n if (interval && interval.length == 0) interval = undefined;\n\n const out = (rootInterval ? getVertexId(rootInterval, options) + '&' : '') + JSON.stringify(interval);\n return out;\n }\n}\n\nexport namespace fromId {\n export function aggregate (aggregateId: string): AggregateIdParts {\n return parseAggregateId(aggregateId);\n }\n\n /** `persons.id` -> `id` */\n export function person (aggregateId: string): string {\n return parseAggregateId(aggregateId, 'persons').entityId;\n }\n\n /** `groups.id` -> `id` */\n export function group (aggregateId: string): string {\n return parseAggregateId(aggregateId, 'groups').entityId;\n }\n\n /** `teachers.id` -> `id` */\n export function teacher (aggregateId: string): string {\n return parseAggregateId(aggregateId, 'teachers').entityId;\n }\n\n /** `events.id` -> `id` */\n export function event (aggregateId: string): string {\n return parseAggregateId(aggregateId, 'events').entityId;\n }\n\n /** `lockedtimes.id` -> `id` */\n export function lockedTime (aggregateId: string): string {\n return parseAggregateId(aggregateId, 'lockedTimes').entityId;\n }\n}\n"],"mappings":";;;AAOA,SAAgB,QAAS,KAAgC;AACvD,KAAI,OAAO,KAAM;AACjB,QAAO,MAAM;;;;;AAMf,SAAgB,YAAa,KAAa;AACxC,QAAO,WAAW,IAAI,QAAQ,KAAK,IAAI,CAAC;;AAsB1C,MAAa,gBAAgB;CAC3B,SAAa;CACb,QAAa;CACb,UAAa;CACb,QAAa;CACb,aAAa;CACd;AASD,MAAM,mBAAmB,OAAO,YAAY,OAAO,QAAQ,cAAc,CAAC,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC;AAWtH,SAAS,iBACP,aACA,oBAC+B;CAC/B,MAAM,aAAa,YAAY,QAAQ,IAAI;AAC3C,KAAI,cAAc,GAChB,OAAM,IAAI,MAAM,kEAAkE,YAAY,GAAG;CAGnG,MAAM,eAAe,YAAY,UAAU,GAAG,WAAW,CAAC,aAAa;CACvE,MAAM,WAAW,YAAY,UAAU,aAAa,EAAE;AAEtD,KAAI,CAAC,SACH,OAAM,IAAI,MAAM,uDAAuD,YAAY,GAAG;CAGxF,MAAM,aAAa,iBAAiB;AACpC,KAAI,CAAC,WACH,OAAM,IAAI,MAAM,2CAA2C,aAAa,qBAAqB,YAAY,GAAG;AAG9G,KAAI,sBAAsB,cAAc,mBACtC,OAAM,IAAI,MAAM,yCAAyC,mBAAmB,aAAa,WAAW,qBAAqB,YAAY,GAAG;AAG1I,QAAO;EACO;EACZ;EACD;;;;CAQM,SAAS,OACd,QACA,SACQ;AACR,SAAO,GAAG,cAAc,QAAQ,GAAI,YAAY,QAAQ,QAAQ;;;CAI3D,SAAS,MACd,OACA,SACQ;AACR,SAAO,GAAG,cAAc,OAAO,GAAI,YAAY,OAAO,QAAQ;;;CAIzD,SAAS,QACd,SACA,SACQ;AACR,SAAO,GAAG,cAAc,SAAS,GAAI,YAAY,SAAS,QAAQ;;;CAI7D,SAAS,MACd,OACA,SACQ;AACR,SAAO,GAAG,cAAc,OAAO,GAAI,YAAY,OAAO,QAAQ;;;CAIzD,SAAS,WACd,YACA,SACQ;AACR,SAAO,GAAG,cAAc,YAAY,GAAI,YAAY,YAAY,QAAQ;;;CAInE,SAAS,eACd,OACA,SACQ;AACR,SAAO,GAAG,cAAc,OAAO,GAAI,YAAY,MAAM,IAAI,QAAQ,MAC5D,MAAM,SAAS,SACd,cAAc,MAAM,QACnB,KAAI,MAAK,YAAY,GAAG,QAAQ,CAAC,CACjC,MAAM,CACN,KAAK,IAAI,GACV;;;CAID,SAAS,sBACd,UACA,cACA,SACQ;AAER,MAAI,aAAiB,KAAM,YAAe;AAC1C,MAAI,iBAAiB,KAAM,gBAAe;AAG1C,MAAI,YAAY,SAAS,UAAU,EAAG,YAAW;AAGjD,UADa,eAAe,YAAY,cAAc,QAAQ,GAAG,MAAM,MAAM,KAAK,UAAU,SAAS;;;;;;CAMhG,SAAS,UAAW,aAAuC;AAChE,SAAO,iBAAiB,YAAY;;;CAI/B,SAAS,OAAQ,aAA6B;AACnD,SAAO,iBAAiB,aAAa,UAAU,CAAC;;;CAI3C,SAAS,MAAO,aAA6B;AAClD,SAAO,iBAAiB,aAAa,SAAS,CAAC;;;CAI1C,SAAS,QAAS,aAA6B;AACpD,SAAO,iBAAiB,aAAa,WAAW,CAAC;;;CAI5C,SAAS,MAAO,aAA6B;AAClD,SAAO,iBAAiB,aAAa,SAAS,CAAC;;;CAI1C,SAAS,WAAY,aAA6B;AACvD,SAAO,iBAAiB,aAAa,cAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Types } from "../types/index.mjs";
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.mts.map
@@ -0,0 +1,51 @@
1
+ import { CoreMap } from "../../core/index.mjs";
2
+ import { COLLECTION_ID } from "./input/util/util.mjs";
3
+ import { parseInput } from "./input/input.mjs";
4
+ import { makeConnected } from "../make-connected.mjs";
5
+ import { initialConfiguration } from "./initial-configuration.mjs";
6
+ import { structure } from "../types/to.mjs";
7
+ import { pick } from "lodash-es";
8
+
9
+ //#region src/RS/to/schedules.ts
10
+ function transformId(id) {
11
+ const indexOfDot = id.indexOf(".");
12
+ if (indexOfDot == -1) return COLLECTION_ID.events + "." + id;
13
+ const prefix = id.substring(0, indexOfDot).toLowerCase();
14
+ const suffix = id.substring(indexOfDot + 1);
15
+ if (prefix == COLLECTION_ID.lockedTimes.toLowerCase()) return COLLECTION_ID.lockedTimes + "." + suffix;
16
+ if (prefix == COLLECTION_ID.events.toLowerCase()) return COLLECTION_ID.events + "." + suffix;
17
+ throw new Error(`(RS::To::transformId) Unknown id prefix "${prefix}" in id "${id}"`);
18
+ }
19
+ function schedules(data, _options = {}) {
20
+ const options = (() => {
21
+ const x = _options.partialScheduleOptions;
22
+ const partialScheduleOptions = x ? {
23
+ includedEvents: x.includedEvents ? new Set(x.includedEvents) : void 0,
24
+ includedLocations: x.includedLocations ? new Set(x.includedLocations) : void 0,
25
+ omittedEventsHandling: x.omittedEventsHandling
26
+ } : void 0;
27
+ return {
28
+ ..._options,
29
+ partialScheduleOptions
30
+ };
31
+ })();
32
+ if (options.partialScheduleOptions?.includedEvents?.size) options.partialScheduleOptions.includedEvents = new Set([...options.partialScheduleOptions.includedEvents].map((x) => transformId(x)));
33
+ const connectedData = makeConnected(data);
34
+ return {
35
+ meta: {
36
+ structure,
37
+ division: pick(connectedData.division, "displayName", "start", "end")
38
+ },
39
+ algorithmParameters: {
40
+ weights: options.algorithmWeightParameters,
41
+ computeTimeMultiplier: options.computeTimeMultiplier
42
+ },
43
+ input: parseInput(connectedData, options),
44
+ ...options.appendCoreData && { coreData: CoreMap.to.schedules(data) },
45
+ ...options.appendOutput && { output: initialConfiguration(connectedData.events, connectedData.lockedTimes, options) }
46
+ };
47
+ }
48
+
49
+ //#endregion
50
+ export { schedules };
51
+ //# sourceMappingURL=schedules.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.mjs","names":[],"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';\nimport { structure } from '../types/to';\nimport { COLLECTION_ID } from './input/util/util';\n\nfunction transformId (id: string): string {\n // should be interpreted as event id\n const indexOfDot = id.indexOf('.');\n if (indexOfDot == -1) return COLLECTION_ID.events + '.' + id;\n\n // split on first dot only\n const prefix = id.substring(0, indexOfDot).toLowerCase();\n const suffix = id.substring(indexOfDot + 1);\n\n if (prefix == COLLECTION_ID.lockedTimes.toLowerCase()) return COLLECTION_ID.lockedTimes + '.' + suffix;\n if (prefix == COLLECTION_ID.events .toLowerCase()) return COLLECTION_ID.events + '.' + suffix;\n\n throw new Error(`(RS::To::transformId) Unknown id prefix \"${prefix}\" in id \"${id}\"`);\n}\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].map(x => transformId(x))\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: structure,\n division: pick(connectedData.division, 'displayName', 'start', 'end'),\n },\n algorithmParameters: {\n weights: options.algorithmWeightParameters,\n computeTimeMultiplier: options.computeTimeMultiplier\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":";;;;;;;;;AASA,SAAS,YAAa,IAAoB;CAExC,MAAM,aAAa,GAAG,QAAQ,IAAI;AAClC,KAAI,cAAc,GAAI,QAAO,cAAc,SAAS,MAAM;CAG1D,MAAM,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC,aAAa;CACxD,MAAM,SAAS,GAAG,UAAU,aAAa,EAAE;AAE3C,KAAI,UAAU,cAAc,YAAY,aAAa,CAAE,QAAO,cAAc,cAAc,MAAM;AAChG,KAAI,UAAU,cAAc,OAAY,aAAa,CAAE,QAAO,cAAc,SAAc,MAAM;AAEhG,OAAM,IAAI,MAAM,4CAA4C,OAAO,WAAW,GAAG,GAAG;;AAGtF,SAAgB,UACd,MACA,WAA4B,EAAE,EACd;CAIhB,MAAM,iBAAwC;EAC5C,MAAM,IAAI,SAAS;EACnB,MAAM,yBAA0E,IAC5E;GACA,gBAAuB,EAAE,iBAAoB,IAAI,IAAI,EAAE,eAAe,GAAM;GAC5E,mBAAuB,EAAE,oBAAoB,IAAI,IAAI,EAAE,kBAAkB,GAAG;GAC5E,uBAAuB,EAAE;GAC1B,GACC;AAEJ,SAAO;GAAE,GAAG;GAAU;GAAwB;KAC5C;AAKJ,KAAI,QAAQ,wBAAwB,gBAAgB,KAClD,SAAQ,uBAAuB,iBAAiB,IAAI,IAClD,CAAC,GAAG,QAAQ,uBAAuB,eAAe,CAAC,KAAI,MAAK,YAAY,EAAE,CAAC,CAC5E;CAKH,MAAM,gBAAgB,cAAc,KAAK;AAEzC,QAAO;EACL,MAAM;GACO;GACX,UAAW,KAAK,cAAc,UAAU,eAAe,SAAS,MAAM;GACvE;EACD,qBAAqB;GACnB,SAAuB,QAAQ;GAC/B,uBAAuB,QAAQ;GAChC;EACD,OAAO,WAAW,eAAe,QAAQ;EACzC,GAAG,QAAQ,kBAAkB,EAAE,UAAU,QAAQ,GAAG,UAAU,KAAK,EAAE;EACrE,GAAG,QAAQ,gBAAkB,EAAE,QAAQ,qBAAqB,cAAc,QAAQ,cAAc,aAAa,QAAQ,EAAE;EACxH"}
@@ -0,0 +1,17 @@
1
+ //#region src/RS/types/algorithm-parameters.d.ts
2
+ type ParameterName = 'overlap' | 'doubleBooking' | 'timeFrame' | 'insufficientBreak' | 'dailyOvertime' | 'gap' | 'dependencyAlternation' | 'overtime' | 'dependencyRank' | 'dayRank' | 'groupRank' | 'distribution' | 'preferredTime';
3
+ type AlgorithmWeightParameters = Record<ParameterName, number | false>;
4
+ type AlgorithmParameters = {
5
+ /**
6
+ * Weights for different features used in the scheduling algorithm.
7
+ */
8
+ weights?: AlgorithmWeightParameters;
9
+ /**
10
+ * A multiplier that lets the schedule algorithm run for a longer time to find better solutions.
11
+ * @default 1
12
+ */
13
+ computeTimeMultiplier?: number;
14
+ };
15
+ //#endregion
16
+ export { AlgorithmParameters, AlgorithmWeightParameters };
17
+ //# sourceMappingURL=algorithm-parameters.d.mts.map
@@ -0,0 +1,10 @@
1
+ import { Types } from "./index.mjs";
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.mts.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.mts.map
@@ -0,0 +1,21 @@
1
+ import { ParsedToOptions, Structure, ToInput, ToOptions, ToOutput } from "./to.mjs";
2
+ import { EventConfiguration } from "./event-configuration.mjs";
3
+ import { Configuration } from "./configurations.mjs";
4
+ import { ScheduleData } from "./schedule-data.mjs";
5
+
6
+ //#region src/RS/types/index.d.ts
7
+ declare namespace Types {
8
+ export import Shared = _Shared;
9
+ export import Entities = _Entities;
10
+ type scheduleData = ScheduleData;
11
+ type toInput = ToInput;
12
+ type toOptions = ToOptions;
13
+ type parsedToOptions = ParsedToOptions;
14
+ type toOutput = ToOutput;
15
+ type structure = Structure;
16
+ type eventConfiguration = EventConfiguration;
17
+ type configuration = Configuration;
18
+ }
19
+ //#endregion
20
+ export { Types };
21
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1,20 @@
1
+ import { Types } from "./index.mjs";
2
+
3
+ //#region src/RS/types/schedule-data.d.ts
4
+ interface ScheduleData {
5
+ settings: Types.Entities.Settings;
6
+ default: Types.Entities.DefaultValues;
7
+ periods: Types.Entities.Period[];
8
+ intervals: Types.Entities.Interval[];
9
+ events: Types.Entities.Event[];
10
+ groups: Types.Entities.Group[];
11
+ dependencies: Types.Entities.Dependency[];
12
+ individuals: (Types.Entities.Individual | Types.Entities.IndividualsSet)[];
13
+ blockedTimes: Types.Entities.BlockedTime[];
14
+ activities: Types.Entities.Activity[];
15
+ unitableEvents: Types.Entities.UnitableEventsSet[];
16
+ linkedEvents: Types.Entities.LinkedEventsSet[];
17
+ }
18
+ //#endregion
19
+ export { ScheduleData };
20
+ //# sourceMappingURL=schedule-data.d.mts.map
@@ -0,0 +1,64 @@
1
+ import { BaseOptions } from "../../common/types.mjs";
2
+ import { Types } from "../../core/types/index.mjs";
3
+ import "../../core/index.mjs";
4
+ import { MixedScheduleData } from "../make-connected.mjs";
5
+ import { AlgorithmParameters, AlgorithmWeightParameters } from "./algorithm-parameters.mjs";
6
+ import { Types as Types$1 } from "./index.mjs";
7
+
8
+ //#region src/RS/types/to.d.ts
9
+ type ToInput = MixedScheduleData;
10
+ type PartialScheduleOptions<IDs extends Array<string> | Set<string>> = {
11
+ /** @description undefined means all included */includedEvents?: IDs; /** @description undefined means all included */
12
+ includedLocations?: IDs;
13
+ omittedEventsHandling: 'ignore' | 'freeze';
14
+ };
15
+ interface ToOptions extends BaseOptions {
16
+ /**
17
+ * Includes some metadata about entities. Currently this only includes name but might be extended in the future.
18
+ * This is useful when running the algorithm locally from its GUI.
19
+ * @default false
20
+ */
21
+ includeEntityMeta?: boolean;
22
+ /**
23
+ * If true, the output will include the full core data. This enables the resulting output file to be uploaded as a new schedule.
24
+ * @default false
25
+ */
26
+ appendCoreData?: boolean;
27
+ /**
28
+ * If true, the output will include current configuration of events and locked times as `output` entry.
29
+ * @default false
30
+ */
31
+ appendOutput?: boolean;
32
+ /**
33
+ * Allows to specify that only a subset of events and/or locations should be included in the schedule optimization, and how the omitted events should be handled.
34
+ */
35
+ partialScheduleOptions?: PartialScheduleOptions<Array<string> | Set<string>>;
36
+ /**
37
+ * The weight parameters to be used by the algorithm. One may also specify `false` for any of the parameters to disable the corresponding feature.
38
+ */
39
+ algorithmWeightParameters?: AlgorithmWeightParameters;
40
+ /**
41
+ * The time multiplier to be used by the algorithm. A number twice as large implies that the algorithm will spend twice as much time optimizing the schedule.
42
+ * @default 1
43
+ */
44
+ computeTimeMultiplier?: number;
45
+ }
46
+ interface ParsedToOptions extends Omit<ToOptions, 'partialScheduleOptions'> {
47
+ partialScheduleOptions?: PartialScheduleOptions<Set<string>>;
48
+ }
49
+ declare const structure = "RS/algorithm-6.0.0";
50
+ type Structure = typeof structure;
51
+ interface ToOutput {
52
+ meta: {
53
+ structure?: Structure;
54
+ division: Pick<Types.Deep.Division, 'displayName' | 'start' | 'end'>;
55
+ };
56
+ algorithmParameters: AlgorithmParameters;
57
+ score?: [number, number, number, number];
58
+ input: Types$1.scheduleData;
59
+ output?: Types$1.configuration[];
60
+ coreData?: Partial<Types.SerializedWithOptionalId.Schedule>;
61
+ }
62
+ //#endregion
63
+ export { ParsedToOptions, Structure, ToInput, ToOptions, ToOutput };
64
+ //# sourceMappingURL=to.d.mts.map
@@ -0,0 +1,6 @@
1
+ //#region src/RS/types/to.ts
2
+ const structure = "RS/algorithm-6.0.0";
3
+
4
+ //#endregion
5
+ export { structure };
6
+ //# sourceMappingURL=to.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to.mjs","names":[],"sources":["../../../src/RS/types/to.ts"],"sourcesContent":["import type { BaseOptions } from '../../common/types';\nimport type { CoreTypes } from '../../core';\nimport type { MixedScheduleData } from '../make-connected';\nimport type { Types } from './';\nimport type { AlgorithmParameters, AlgorithmWeightParameters } from './algorithm-parameters';\n\n\nexport type ToInput = MixedScheduleData;\n\ntype PartialScheduleOptions<IDs extends Array<string> | Set<string>> = {\n /** @description undefined means all included */\n includedEvents?: IDs;\n /** @description undefined means all included */\n includedLocations?: IDs;\n omittedEventsHandling: 'ignore' | 'freeze';\n};\n\nexport interface ToOptions extends BaseOptions {\n /**\n * Includes some metadata about entities. Currently this only includes name but might be extended in the future.\n * This is useful when running the algorithm locally from its GUI.\n * @default false\n */\n includeEntityMeta?: boolean;\n\n /**\n * If true, the output will include the full core data. This enables the resulting output file to be uploaded as a new schedule.\n * @default false\n */\n appendCoreData?: boolean;\n\n /**\n * If true, the output will include current configuration of events and locked times as `output` entry.\n * @default false\n */\n appendOutput?: boolean;\n\n /**\n * Allows to specify that only a subset of events and/or locations should be included in the schedule optimization, and how the omitted events should be handled.\n */\n partialScheduleOptions?: PartialScheduleOptions<Array<string> | Set<string>>\n\n /**\n * The weight parameters to be used by the algorithm. One may also specify `false` for any of the parameters to disable the corresponding feature.\n */\n algorithmWeightParameters?: AlgorithmWeightParameters;\n\n /**\n * The time multiplier to be used by the algorithm. A number twice as large implies that the algorithm will spend twice as much time optimizing the schedule.\n * @default 1\n */\n computeTimeMultiplier?: number;\n}\n\nexport interface ParsedToOptions extends Omit<ToOptions, 'partialScheduleOptions'> {\n partialScheduleOptions?: PartialScheduleOptions<Set<string>>\n}\n\nexport const structure = 'RS/algorithm-6.0.0';\nexport type Structure = typeof structure;\nexport interface ToOutput {\n meta: {\n structure?: Structure;\n division: Pick<CoreTypes.Deep.Division, 'displayName' | 'start' | 'end'>;\n };\n algorithmParameters: AlgorithmParameters;\n score?: [number, number, number, number];\n input: Types.scheduleData;\n output?: Types.configuration[];\n coreData?: Partial<CoreTypes.SerializedWithOptionalId.Schedule>;\n}"],"mappings":";AA0DA,MAAa,YAAY"}
@@ -0,0 +1,35 @@
1
+ import { isNil, omitBy } from "lodash-es";
2
+
3
+ //#region src/SS12000/from/activities.ts
4
+ var activities_default = (activities, options) => {
5
+ if (!Array.isArray(activities)) throw new Error("(SS12000::From::Activities) Activities input is not of array type", { cause: "invalid_input" });
6
+ const parentActivities = new Set(activities.map((x) => x.parentActivity?.id).filter(Boolean));
7
+ return activities.map((activity) => {
8
+ if (parentActivities.has(activity.id)) return;
9
+ const groupIndexSet = [...new Set([void 0, ...activity.rooms?.map(({ index }) => index) ?? []])];
10
+ return {
11
+ ids: activity.id,
12
+ startDate: activity.startDate,
13
+ ...omitBy({
14
+ displayName: activity.displayName,
15
+ comment: activity.comment,
16
+ subject: activity.subject,
17
+ endDate: activity.endDate,
18
+ syllabus: activity._embedded?.syllabus
19
+ }, isNil),
20
+ ...activity.minutesPlanned && { plannedDuration: `${Math.ceil(activity.minutesPlanned / 60)} hrs` },
21
+ type: activity.activityType,
22
+ groups: activity.groups?.map(({ id }) => ({ to: id })),
23
+ teachers: activity.teachers?.map(({ duty: { id } }) => ({ to: id })),
24
+ ...activity.rooms && { locations: activity.rooms?.map(({ room, index }) => ({
25
+ locations: [room.id],
26
+ groupIndex: groupIndexSet.indexOf(index)
27
+ })) },
28
+ ...activity._embedded?.syllabus && { subject: activity._embedded.syllabus.subjectCode }
29
+ };
30
+ }).filter((x) => x != null);
31
+ };
32
+
33
+ //#endregion
34
+ export { activities_default as default };
35
+ //# sourceMappingURL=activities.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activities.mjs","names":[],"sources":["../../../src/SS12000/from/activities.ts"],"sourcesContent":["import { isNil, omitBy } from 'lodash-es';\nimport type { CoreTypes } from '../../core';\nimport type { Activity } from '../types/activities';\n\nexport default (\n activities: Activity[],\n options?: { interval?: { start: string, end: string } }\n): CoreTypes.MixedWithoutInternalId.Course[] => {\n if (!Array.isArray(activities))\n throw new Error('(SS12000::From::Activities) Activities input is not of array type', { cause: 'invalid_input' });\n\n const parentActivities = new Set(activities.map(x => x.parentActivity?.id).filter(Boolean));\n\n return activities\n .map((activity): CoreTypes.MixedWithoutInternalId.Course | undefined => {\n // Skip activities that are above courses\n if (parentActivities.has(activity.id)) return;\n\n const groupIndexSet = [...new Set<number | undefined>([undefined, ...(activity.rooms?.map(({ index }) => index) ?? [])])];\n\n const doc = {\n ids: activity.id,\n startDate: activity.startDate,\n ...omitBy({\n displayName: activity.displayName,\n comment: activity.comment,\n subject: activity.subject,\n endDate: activity.endDate,\n syllabus: activity._embedded?.syllabus,\n }, isNil),\n ...activity.minutesPlanned && { plannedDuration: `${ Math.ceil(activity.minutesPlanned / 60) } hrs` },\n type: activity.activityType,\n groups: activity.groups?.map(({ id }) => ({ to: id })),\n teachers: activity.teachers?.map(({ duty: { id } }) => ({ to: id })),\n // not in the standard\n ...activity.rooms && {\n locations: activity.rooms?.map(({ room, index }) => ({ locations: [room.id!] as [string], groupIndex: groupIndexSet.indexOf(index) })),\n },\n ...activity._embedded?.syllabus && {\n subject: activity._embedded.syllabus.subjectCode,\n }\n };\n return doc;\n })\n .filter(x => x != null);\n};"],"mappings":";;;AAIA,0BACE,YACA,YAC+C;AAC/C,KAAI,CAAC,MAAM,QAAQ,WAAW,CAC5B,OAAM,IAAI,MAAM,qEAAqE,EAAE,OAAO,iBAAiB,CAAC;CAElH,MAAM,mBAAmB,IAAI,IAAI,WAAW,KAAI,MAAK,EAAE,gBAAgB,GAAG,CAAC,OAAO,QAAQ,CAAC;AAE3F,QAAO,WACJ,KAAK,aAAkE;AAEtE,MAAI,iBAAiB,IAAI,SAAS,GAAG,CAAE;EAEvC,MAAM,gBAAgB,CAAC,GAAG,IAAI,IAAwB,CAAC,QAAW,GAAI,SAAS,OAAO,KAAK,EAAE,YAAY,MAAM,IAAI,EAAE,CAAE,CAAC,CAAC;AAwBzH,SAtBY;GACV,KAAW,SAAS;GACpB,WAAW,SAAS;GACpB,GAAG,OAAO;IACR,aAAa,SAAS;IACtB,SAAa,SAAS;IACtB,SAAa,SAAS;IACtB,SAAa,SAAS;IACtB,UAAa,SAAS,WAAW;IAClC,EAAE,MAAM;GACT,GAAG,SAAS,kBAAkB,EAAE,iBAAiB,GAAI,KAAK,KAAK,SAAS,iBAAiB,GAAG,CAAE,OAAO;GACrG,MAAU,SAAS;GACnB,QAAU,SAAS,QAAQ,KAAK,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE;GACxD,UAAU,SAAS,UAAU,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE;GAEpE,GAAG,SAAS,SAAS,EACnB,WAAW,SAAS,OAAO,KAAK,EAAE,MAAM,aAAa;IAAE,WAAW,CAAC,KAAK,GAAI;IAAc,YAAY,cAAc,QAAQ,MAAM;IAAE,EAAE,EACvI;GACD,GAAG,SAAS,WAAW,YAAY,EACjC,SAAS,SAAS,UAAU,SAAS,aACtC;GACF;GAED,CACD,QAAO,MAAK,KAAK,KAAK"}
@@ -0,0 +1,20 @@
1
+ import rooms_default from "./rooms.mjs";
2
+ import moment from "moment";
3
+
4
+ //#region src/SS12000/from/calendar-events.ts
5
+ var calendar_events_default = (events) => {
6
+ if (!Array.isArray(events)) throw new Error("(SS12000::From::CalendarEvents) CalendarEvent input is not of array type", { cause: "invalid_input" });
7
+ return events.map((event) => ({
8
+ ids: event.id,
9
+ start: event.startTime.toString(),
10
+ end: event.endTime.toString(),
11
+ duration: moment(event.endTime).diff(event.endTime, "m"),
12
+ preferredDuration: moment(event.endTime).diff(event.endTime, "m"),
13
+ course: event.activity.id,
14
+ inLocations: rooms_default(event.rooms ?? [])
15
+ }));
16
+ };
17
+
18
+ //#endregion
19
+ export { calendar_events_default as default };
20
+ //# sourceMappingURL=calendar-events.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-events.mjs","names":["toRoom"],"sources":["../../../src/SS12000/from/calendar-events.ts"],"sourcesContent":["import moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { CalendarEvent } from '../types/calendar-events';\nimport toRoom from './rooms';\n\nexport default (events: CalendarEvent[]): CoreTypes.MixedWithoutInternalId.Event[] => {\n if (!Array.isArray(events))\n throw new Error('(SS12000::From::CalendarEvents) CalendarEvent input is not of array type', { cause: 'invalid_input' });\n\n return events\n .map((event): CoreTypes.MixedWithoutInternalId.Event => ({\n ids: event.id,\n start: event.startTime.toString(),\n end: event.endTime.toString(),\n duration: moment(event.endTime).diff(event.endTime, 'm'),\n preferredDuration: moment(event.endTime).diff(event.endTime, 'm'),\n course: event.activity.id,\n inLocations: toRoom(event.rooms ?? []),\n // resources: toResource([])\n }));\n};\n"],"mappings":";;;;AAKA,+BAAgB,WAAsE;AACpF,KAAI,CAAC,MAAM,QAAQ,OAAO,CACxB,OAAM,IAAI,MAAM,4EAA4E,EAAE,OAAO,iBAAiB,CAAC;AAEzH,QAAO,OACJ,KAAK,WAAmD;EACvD,KAAmB,MAAM;EACzB,OAAmB,MAAM,UAAU,UAAU;EAC7C,KAAmB,MAAM,QAAQ,UAAU;EAC3C,UAAmB,OAAO,MAAM,QAAQ,CAAC,KAAK,MAAM,SAAS,IAAI;EACjE,mBAAmB,OAAO,MAAM,QAAQ,CAAC,KAAK,MAAM,SAAS,IAAI;EACjE,QAAmB,MAAM,SAAS;EAClC,aAAmBA,cAAO,MAAM,SAAS,EAAE,CAAC;EAE7C,EAAE"}
@@ -0,0 +1,31 @@
1
+ import persons_default from "./persons.mjs";
2
+ import { omit } from "lodash-es";
3
+
4
+ //#region src/SS12000/from/duties.ts
5
+ var duties_default = (duties) => {
6
+ if (!Array.isArray(duties)) throw new Error("(SS12000::From::Duties) Teacher input is not of array type", { cause: "invalid_input" });
7
+ const toDisplayName = (firstName, lastName) => {
8
+ const first = firstName?.trim();
9
+ const last = lastName?.trim();
10
+ if (first && last) return `${first} ${last}`;
11
+ return first || last || void 0;
12
+ };
13
+ return duties.map((duty) => {
14
+ const person = duty._embedded?.person ?? duty.person;
15
+ const displayName = duty.displayName ?? toDisplayName(person?.givenName, person?.familyName) ?? person?.displayName;
16
+ return {
17
+ ids: duty.id,
18
+ displayName,
19
+ signature: duty.signature,
20
+ ...(duty.person || duty._embedded?.person) && { person: {
21
+ type: "Teacher",
22
+ ...duty.person && { ids: duty.person.id },
23
+ ...duty._embedded?.person && omit(persons_default([duty._embedded.person])[0], "type")
24
+ } }
25
+ };
26
+ });
27
+ };
28
+
29
+ //#endregion
30
+ export { duties_default as default };
31
+ //# sourceMappingURL=duties.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duties.mjs","names":["toPerson"],"sources":["../../../src/SS12000/from/duties.ts"],"sourcesContent":["import { omit } from 'lodash-es';\nimport type { CoreTypes } from '../../core';\nimport type { Duty } from '../types/duties';\nimport toPerson from './persons';\n\nexport default (duties: Duty[]): CoreTypes.MixedWithoutInternalId.Teacher[] => {\n if (!Array.isArray(duties))\n throw new Error('(SS12000::From::Duties) Teacher input is not of array type', { cause: 'invalid_input' });\n\n const toDisplayName = (firstName?: string, lastName?: string) => {\n const first = firstName?.trim();\n const last = lastName?.trim();\n if (first && last) return `${ first } ${ last }`;\n return first || last || undefined;\n };\n\n return duties\n .map((duty): CoreTypes.MixedWithoutInternalId.Teacher => {\n const person = duty._embedded?.person ?? duty.person;\n const displayName = duty.displayName\n ?? toDisplayName(person?.givenName, person?.familyName)\n ?? person?.displayName;\n\n return ({\n ids: duty.id,\n displayName: displayName,\n signature: duty.signature,\n ...(duty.person || duty._embedded?.person) && {\n person: {\n type: 'Teacher',\n ...duty.person && { ids: duty.person.id },\n ...duty._embedded?.person && omit(toPerson([ duty._embedded.person ])[0], 'type')\n }\n }\n });\n });\n};\n"],"mappings":";;;;AAKA,sBAAgB,WAA+D;AAC7E,KAAI,CAAC,MAAM,QAAQ,OAAO,CACxB,OAAM,IAAI,MAAM,8DAA8D,EAAE,OAAO,iBAAiB,CAAC;CAE3G,MAAM,iBAAiB,WAAoB,aAAsB;EAC/D,MAAM,QAAQ,WAAW,MAAM;EAC/B,MAAM,OAAO,UAAU,MAAM;AAC7B,MAAI,SAAS,KAAM,QAAO,GAAI,MAAO,GAAI;AACzC,SAAO,SAAS,QAAQ;;AAG1B,QAAO,OACJ,KAAK,SAAmD;EACvD,MAAM,SAAS,KAAK,WAAW,UAAU,KAAK;EAC9C,MAAM,cAAc,KAAK,eACpB,cAAc,QAAQ,WAAW,QAAQ,WAAW,IACpD,QAAQ;AAEb,SAAQ;GACN,KAAa,KAAK;GACL;GACb,WAAa,KAAK;GAClB,IAAI,KAAK,UAAU,KAAK,WAAW,WAAW,EAC5C,QAAQ;IACN,MAAM;IACN,GAAG,KAAK,UAAU,EAAE,KAAK,KAAK,OAAO,IAAI;IACzC,GAAG,KAAK,WAAW,UAAU,KAAKA,gBAAS,CAAE,KAAK,UAAU,OAAQ,CAAC,CAAC,IAAI,OAAO;IAClF,EACF;GACF;GACD"}
@@ -0,0 +1,23 @@
1
+ import moment from "moment";
2
+
3
+ //#region src/SS12000/from/groups.ts
4
+ function _transformGroupMembers(members, options) {
5
+ return [...new Set(members?.filter((member) => {
6
+ if (options?.end && member.startDate && !moment(member.startDate).isBefore(moment(options.end))) return false;
7
+ if (options?.start && member.endDate && !moment(member.endDate).isAfter(moment(options.start))) return false;
8
+ return true;
9
+ }).map((member) => member.person.id).filter(Boolean))];
10
+ }
11
+ var groups_default = (groups, options) => {
12
+ if (!Array.isArray(groups)) throw new Error("(SS12000::From::Groups) Group input is not of array type", { cause: "invalid_input" });
13
+ return groups.map((group) => ({
14
+ ids: group.id,
15
+ displayName: group.displayName,
16
+ ...group.groupType == "Klass" && { species: "class" },
17
+ ...group.groupMemberships && { members: _transformGroupMembers(group.groupMemberships, options) }
18
+ }));
19
+ };
20
+
21
+ //#endregion
22
+ export { groups_default as default };
23
+ //# sourceMappingURL=groups.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.mjs","names":[],"sources":["../../../src/SS12000/from/groups.ts"],"sourcesContent":["import moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Group } from '../types/groups';\n\nfunction _transformGroupMembers (\n members: Group['groupMemberships'],\n options?: Pick<CoreTypes.Deep.Division, 'start' | 'end'>\n) {\n return [\n ...new Set(\n members?.filter(member => {\n if (options?.end && member.startDate && !moment(member.startDate).isBefore(moment(options.end)))\n return false;\n if (options?.start && member.endDate && !moment(member.endDate).isAfter(moment(options.start)))\n return false;\n return true;\n })\n .map((member) => member.person.id)\n .filter(Boolean)\n )\n ];\n}\n\nexport default (\n groups: Group[],\n options?: Pick<CoreTypes.Deep.Division, 'start' | 'end'>\n): CoreTypes.MixedWithoutInternalId.Group[] => {\n if (!Array.isArray(groups))\n throw new Error('(SS12000::From::Groups) Group input is not of array type', { cause: 'invalid_input' });\n\n return groups\n .map((group): CoreTypes.MixedWithoutInternalId.Group => ({\n ids: group.id,\n displayName: group.displayName,\n ...group.groupType == 'Klass' && { species: 'class' },\n ...group.groupMemberships && {\n members: _transformGroupMembers(group.groupMemberships, options)\n }\n }));\n};"],"mappings":";;;AAIA,SAAS,uBACP,SACA,SACA;AACA,QAAO,CACL,GAAG,IAAI,IACL,SAAS,QAAO,WAAU;AACxB,MAAI,SAAS,OAAO,OAAO,aAAa,CAAC,OAAO,OAAO,UAAU,CAAC,SAAS,OAAO,QAAQ,IAAI,CAAC,CAC7F,QAAO;AACT,MAAI,SAAS,SAAS,OAAO,WAAW,CAAC,OAAO,OAAO,QAAQ,CAAC,QAAQ,OAAO,QAAQ,MAAM,CAAC,CAC5F,QAAO;AACT,SAAO;GACP,CACC,KAAK,WAAW,OAAO,OAAO,GAAG,CACjC,OAAO,QAAQ,CACnB,CACF;;AAGH,sBACE,QACA,YAC6C;AAC7C,KAAI,CAAC,MAAM,QAAQ,OAAO,CACxB,OAAM,IAAI,MAAM,4DAA4D,EAAE,OAAO,iBAAiB,CAAC;AAEzG,QAAO,OACJ,KAAK,WAAmD;EACvD,KAAa,MAAM;EACnB,aAAa,MAAM;EACnB,GAAG,MAAM,aAAa,WAAW,EAAE,SAAS,SAAS;EACrD,GAAG,MAAM,oBAAoB,EAC3B,SAAS,uBAAuB,MAAM,kBAAkB,QAAQ,EACjE;EACF,EAAE"}