@royalschedule/maps 4.0.31 → 4.1.0-beta.0

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 (1230) 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 +307 -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 +289 -0
  76. package/dist/Excel/v1/from/index.mjs.map +1 -0
  77. package/dist/Excel/v1/index.d.mts +240 -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 +528 -0
  82. package/dist/Excel/v2/from/index.mjs.map +1 -0
  83. package/dist/Excel/v2/index.d.mts +302 -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 +70 -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 +70 -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 +37 -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 +88 -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 +24 -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 +58 -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 +464 -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 +95 -0
  354. package/dist/Skola24/txt/from/period.mjs.map +1 -0
  355. package/dist/Skola24/txt/from/schedules.d.mts +17 -0
  356. package/dist/Skola24/txt/from/schedules.mjs +273 -0
  357. package/dist/Skola24/txt/from/schedules.mjs.map +1 -0
  358. package/dist/Skola24/txt/from/util.mjs +17 -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 +141 -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/locations.mjs +12 -0
  391. package/dist/core/from/locations.mjs.map +1 -0
  392. package/dist/core/from/locked-times.mjs +12 -0
  393. package/dist/core/from/locked-times.mjs.map +1 -0
  394. package/dist/core/from/overlap-groups.mjs +12 -0
  395. package/dist/core/from/overlap-groups.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 +132 -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/courses.d.mts +66 -0
  429. package/dist/core/interfaces/vertices/division-settings.d.mts +54 -0
  430. package/dist/core/interfaces/vertices/divisions.d.mts +31 -0
  431. package/dist/core/interfaces/vertices/events.d.mts +104 -0
  432. package/dist/core/interfaces/vertices/exceptions.d.mts +74 -0
  433. package/dist/core/interfaces/vertices/generations.d.mts +23 -0
  434. package/dist/core/interfaces/vertices/groups.d.mts +51 -0
  435. package/dist/core/interfaces/vertices/index.d.mts +231 -0
  436. package/dist/core/interfaces/vertices/index.mjs +3 -0
  437. package/dist/core/interfaces/vertices/linked-events-sets.d.mts +19 -0
  438. package/dist/core/interfaces/vertices/locations.d.mts +22 -0
  439. package/dist/core/interfaces/vertices/locked-times.d.mts +37 -0
  440. package/dist/core/interfaces/vertices/overlap-groups.d.mts +17 -0
  441. package/dist/core/interfaces/vertices/periods.d.mts +15 -0
  442. package/dist/core/interfaces/vertices/persons.d.mts +32 -0
  443. package/dist/core/interfaces/vertices/properties/belongs-to.d.mts +11 -0
  444. package/dist/core/interfaces/vertices/properties/coalesced.d.mts +8 -0
  445. package/dist/core/interfaces/vertices/properties/days.d.mts +9 -0
  446. package/dist/core/interfaces/vertices/properties/index.d.mts +15 -0
  447. package/dist/core/interfaces/vertices/properties/intervals.d.mts +10 -0
  448. package/dist/core/interfaces/vertices/properties/maximum-schedule-span.d.mts +19 -0
  449. package/dist/core/interfaces/vertices/properties/min-break-length.d.mts +5 -0
  450. package/dist/core/interfaces/vertices/properties/planned-scheduled-duration.d.mts +13 -0
  451. package/dist/core/interfaces/vertices/properties/species.d.mts +9 -0
  452. package/dist/core/interfaces/vertices/properties/tags.d.mts +9 -0
  453. package/dist/core/interfaces/vertices/properties/week.d.mts +22 -0
  454. package/dist/core/interfaces/vertices/properties/week.mjs +6 -0
  455. package/dist/core/interfaces/vertices/properties/week.mjs.map +1 -0
  456. package/dist/core/interfaces/vertices/root-intervals.d.mts +14 -0
  457. package/dist/core/interfaces/vertices/syllabuses.d.mts +18 -0
  458. package/dist/core/interfaces/vertices/teachers.d.mts +41 -0
  459. package/dist/core/interfaces/vertices/threads.d.mts +33 -0
  460. package/dist/core/interfaces/vertices/users.d.mts +11 -0
  461. package/dist/core/interfaces/vertices/util/common.d.mts +28 -0
  462. package/dist/core/interfaces/vertices/util/custom-vertex-export/assert-no-invalid-expand-keys.d.mts +16 -0
  463. package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.mts +34 -0
  464. package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.mts +52 -0
  465. package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.mts +65 -0
  466. package/dist/core/interfaces/vertices/util/edges.d.mts +123 -0
  467. package/dist/core/interfaces/vertices/util/index.d.mts +6 -0
  468. package/dist/core/interfaces/vertices/util/keys-of.d.mts +26 -0
  469. package/dist/core/interfaces/vertices/util/serialized-vertex-export.d.mts +11 -0
  470. package/dist/core/interfaces/vertices/util/util.d.mts +79 -0
  471. package/dist/core/interfaces/vertices/util/vertex-query/index.d.mts +50 -0
  472. package/dist/core/interfaces/vertices/util/vertex-query/util.d.mts +13 -0
  473. package/dist/core/interfaces/vertices/util/vertex.d.mts +69 -0
  474. package/dist/core/interfaces/vertices/vertex-query.d.mts +112 -0
  475. package/dist/core/interfaces/vertices/vertex-query.mjs +114 -0
  476. package/dist/core/interfaces/vertices/vertex-query.mjs.map +1 -0
  477. package/dist/core/to/configurations.mjs +16 -0
  478. package/dist/core/to/configurations.mjs.map +1 -0
  479. package/dist/core/to/courses.mjs +41 -0
  480. package/dist/core/to/courses.mjs.map +1 -0
  481. package/dist/core/to/division.mjs +10 -0
  482. package/dist/core/to/division.mjs.map +1 -0
  483. package/dist/core/to/events.mjs +43 -0
  484. package/dist/core/to/events.mjs.map +1 -0
  485. package/dist/core/to/exceptions.mjs +29 -0
  486. package/dist/core/to/exceptions.mjs.map +1 -0
  487. package/dist/core/to/groups.mjs +25 -0
  488. package/dist/core/to/groups.mjs.map +1 -0
  489. package/dist/core/to/index.d.mts +9 -0
  490. package/dist/core/to/index.mjs +10 -0
  491. package/dist/core/to/index.mjs.map +1 -0
  492. package/dist/core/to/locations.mjs +21 -0
  493. package/dist/core/to/locations.mjs.map +1 -0
  494. package/dist/core/to/locked-times.mjs +20 -0
  495. package/dist/core/to/locked-times.mjs.map +1 -0
  496. package/dist/core/to/overlap-groups.mjs +27 -0
  497. package/dist/core/to/overlap-groups.mjs.map +1 -0
  498. package/dist/core/to/periods.mjs +16 -0
  499. package/dist/core/to/periods.mjs.map +1 -0
  500. package/dist/core/to/persons.mjs +17 -0
  501. package/dist/core/to/persons.mjs.map +1 -0
  502. package/dist/core/to/root-intervals.mjs +16 -0
  503. package/dist/core/to/root-intervals.mjs.map +1 -0
  504. package/dist/core/to/schedules.d.mts +47 -0
  505. package/dist/core/to/schedules.mjs +42 -0
  506. package/dist/core/to/schedules.mjs.map +1 -0
  507. package/dist/core/to/settings.mjs +18 -0
  508. package/dist/core/to/settings.mjs.map +1 -0
  509. package/dist/core/to/syllabuses.mjs +16 -0
  510. package/dist/core/to/syllabuses.mjs.map +1 -0
  511. package/dist/core/to/teachers.mjs +24 -0
  512. package/dist/core/to/teachers.mjs.map +1 -0
  513. package/dist/core/to/util.d.mts +10 -0
  514. package/dist/core/to/util.mjs +24 -0
  515. package/dist/core/to/util.mjs.map +1 -0
  516. package/dist/core/types/common/index.d.mts +8 -0
  517. package/dist/core/types/common/meta.d.mts +15 -0
  518. package/dist/core/types/index.d.mts +137 -0
  519. package/dist/core/util.mjs +46 -0
  520. package/dist/core/util.mjs.map +1 -0
  521. package/dist/identify/constants/index.d.mts +144 -0
  522. package/dist/identify/constants/index.mjs +317 -0
  523. package/dist/identify/constants/index.mjs.map +1 -0
  524. package/dist/identify/index.d.mts +8 -0
  525. package/dist/identify/index.mjs +93 -0
  526. package/dist/identify/index.mjs.map +1 -0
  527. package/dist/identify/types/index.d.mts +15 -0
  528. package/dist/index.d.mts +57 -0
  529. package/dist/index.mjs +22 -0
  530. package/dist/sdui/from/classes.mjs +8 -0
  531. package/dist/sdui/from/classes.mjs.map +1 -0
  532. package/dist/sdui/from/courses.mjs +14 -0
  533. package/dist/sdui/from/courses.mjs.map +1 -0
  534. package/dist/sdui/from/holidays.mjs +8 -0
  535. package/dist/sdui/from/holidays.mjs.map +1 -0
  536. package/dist/sdui/from/hours.mjs +6 -0
  537. package/dist/sdui/from/hours.mjs.map +1 -0
  538. package/dist/sdui/from/index.mjs +30 -0
  539. package/dist/sdui/from/index.mjs.map +1 -0
  540. package/dist/sdui/from/lessons.mjs +23 -0
  541. package/dist/sdui/from/lessons.mjs.map +1 -0
  542. package/dist/sdui/from/rooms.mjs +11 -0
  543. package/dist/sdui/from/rooms.mjs.map +1 -0
  544. package/dist/sdui/from/schedules.d.mts +21 -0
  545. package/dist/sdui/from/schedules.mjs +24 -0
  546. package/dist/sdui/from/schedules.mjs.map +1 -0
  547. package/dist/sdui/from/school-years.mjs +11 -0
  548. package/dist/sdui/from/school-years.mjs.map +1 -0
  549. package/dist/sdui/from/subjects.mjs +6 -0
  550. package/dist/sdui/from/subjects.mjs.map +1 -0
  551. package/dist/sdui/from/substitution-plans.mjs +10 -0
  552. package/dist/sdui/from/substitution-plans.mjs.map +1 -0
  553. package/dist/sdui/from/teachers.mjs +15 -0
  554. package/dist/sdui/from/teachers.mjs.map +1 -0
  555. package/dist/sdui/index.d.mts +32 -0
  556. package/dist/sdui/index.mjs +12 -0
  557. package/dist/sdui/index.mjs.map +1 -0
  558. package/dist/sdui/to/classes.mjs +10 -0
  559. package/dist/sdui/to/classes.mjs.map +1 -0
  560. package/dist/sdui/to/courses.mjs +16 -0
  561. package/dist/sdui/to/courses.mjs.map +1 -0
  562. package/dist/sdui/to/holidays.mjs +16 -0
  563. package/dist/sdui/to/holidays.mjs.map +1 -0
  564. package/dist/sdui/to/hours.mjs +15 -0
  565. package/dist/sdui/to/hours.mjs.map +1 -0
  566. package/dist/sdui/to/index.d.mts +22 -0
  567. package/dist/sdui/to/index.mjs +30 -0
  568. package/dist/sdui/to/index.mjs.map +1 -0
  569. package/dist/sdui/to/lessons.mjs +24 -0
  570. package/dist/sdui/to/lessons.mjs.map +1 -0
  571. package/dist/sdui/to/rooms.mjs +13 -0
  572. package/dist/sdui/to/rooms.mjs.map +1 -0
  573. package/dist/sdui/to/schedules.mjs +26 -0
  574. package/dist/sdui/to/schedules.mjs.map +1 -0
  575. package/dist/sdui/to/school-years.mjs +18 -0
  576. package/dist/sdui/to/school-years.mjs.map +1 -0
  577. package/dist/sdui/to/subjects.mjs +8 -0
  578. package/dist/sdui/to/subjects.mjs.map +1 -0
  579. package/dist/sdui/to/substitution-plans.mjs +46 -0
  580. package/dist/sdui/to/substitution-plans.mjs.map +1 -0
  581. package/dist/sdui/to/teachers.mjs +20 -0
  582. package/dist/sdui/to/teachers.mjs.map +1 -0
  583. package/dist/sdui/types/classes.d.mts +8 -0
  584. package/dist/sdui/types/courses.d.mts +12 -0
  585. package/dist/sdui/types/holidays.d.mts +10 -0
  586. package/dist/sdui/types/hours.d.mts +10 -0
  587. package/dist/sdui/types/index.d.mts +31 -0
  588. package/dist/sdui/types/lessons.d.mts +13 -0
  589. package/dist/sdui/types/rooms.d.mts +9 -0
  590. package/dist/sdui/types/schedules.d.mts +27 -0
  591. package/dist/sdui/types/school-years.d.mts +9 -0
  592. package/dist/sdui/types/subjects.d.mts +9 -0
  593. package/dist/sdui/types/substitution-plans.d.mts +30 -0
  594. package/dist/sdui/types/teachers.d.mts +10 -0
  595. package/dist/vKlass/from/index.mjs +8 -0
  596. package/dist/vKlass/from/index.mjs.map +1 -0
  597. package/dist/vKlass/from/schedule.d.mts +24 -0
  598. package/dist/vKlass/from/schedule.mjs +71 -0
  599. package/dist/vKlass/from/schedule.mjs.map +1 -0
  600. package/dist/vKlass/index.d.mts +13 -0
  601. package/dist/vKlass/index.mjs +12 -0
  602. package/dist/vKlass/index.mjs.map +1 -0
  603. package/dist/vKlass/to/index.d.mts +9 -0
  604. package/dist/vKlass/to/index.mjs +10 -0
  605. package/dist/vKlass/to/index.mjs.map +1 -0
  606. package/dist/vKlass/to/schedules.d.mts +14 -0
  607. package/dist/vKlass/to/schedules.mjs +82 -0
  608. package/dist/vKlass/to/schedules.mjs.map +1 -0
  609. package/dist/vKlass/types/index.d.mts +53 -0
  610. package/package.json +29 -24
  611. package/dist/Additio/from/courses.js +0 -28
  612. package/dist/Additio/from/courses.js.map +0 -1
  613. package/dist/Additio/from/events.js +0 -61
  614. package/dist/Additio/from/events.js.map +0 -1
  615. package/dist/Additio/from/groups.js +0 -14
  616. package/dist/Additio/from/groups.js.map +0 -1
  617. package/dist/Additio/from/index.js +0 -8
  618. package/dist/Additio/from/index.js.map +0 -1
  619. package/dist/Additio/from/locations.js +0 -13
  620. package/dist/Additio/from/locations.js.map +0 -1
  621. package/dist/Additio/from/persons.js +0 -30
  622. package/dist/Additio/from/persons.js.map +0 -1
  623. package/dist/Additio/from/schedules.d.ts +0 -38
  624. package/dist/Additio/from/schedules.js +0 -36
  625. package/dist/Additio/from/schedules.js.map +0 -1
  626. package/dist/Additio/from/teachers.js +0 -25
  627. package/dist/Additio/from/teachers.js.map +0 -1
  628. package/dist/Additio/index.d.ts +0 -14
  629. package/dist/Additio/index.js +0 -12
  630. package/dist/Additio/index.js.map +0 -1
  631. package/dist/Additio/to/index.d.ts +0 -21
  632. package/dist/Additio/to/index.js +0 -10
  633. package/dist/Additio/to/index.js.map +0 -1
  634. package/dist/Additio/to/schedules.js +0 -111
  635. package/dist/Additio/to/schedules.js.map +0 -1
  636. package/dist/Additio/types/course-sections.d.ts +0 -20
  637. package/dist/Additio/types/courses.d.ts +0 -17
  638. package/dist/Additio/types/index.d.ts +0 -27
  639. package/dist/Additio/types/lessons.d.ts +0 -27
  640. package/dist/Additio/types/options.d.ts +0 -16
  641. package/dist/Additio/types/primary-groups.d.ts +0 -30
  642. package/dist/Additio/types/rooms.d.ts +0 -12
  643. package/dist/Additio/types/schedule-groups.d.ts +0 -23
  644. package/dist/Additio/types/schedules.d.ts +0 -27
  645. package/dist/Additio/types/schools.d.ts +0 -11
  646. package/dist/Additio/types/users.d.ts +0 -20
  647. package/dist/Admentum/from/courses.js +0 -32
  648. package/dist/Admentum/from/courses.js.map +0 -1
  649. package/dist/Admentum/from/events.js +0 -62
  650. package/dist/Admentum/from/events.js.map +0 -1
  651. package/dist/Admentum/from/groups.js +0 -14
  652. package/dist/Admentum/from/groups.js.map +0 -1
  653. package/dist/Admentum/from/index.js +0 -8
  654. package/dist/Admentum/from/index.js.map +0 -1
  655. package/dist/Admentum/from/locations.js +0 -13
  656. package/dist/Admentum/from/locations.js.map +0 -1
  657. package/dist/Admentum/from/persons.js +0 -30
  658. package/dist/Admentum/from/persons.js.map +0 -1
  659. package/dist/Admentum/from/schedules.d.ts +0 -38
  660. package/dist/Admentum/from/schedules.js +0 -37
  661. package/dist/Admentum/from/schedules.js.map +0 -1
  662. package/dist/Admentum/from/teachers.js +0 -25
  663. package/dist/Admentum/from/teachers.js.map +0 -1
  664. package/dist/Admentum/index.d.ts +0 -14
  665. package/dist/Admentum/index.js +0 -12
  666. package/dist/Admentum/index.js.map +0 -1
  667. package/dist/Admentum/to/index.d.ts +0 -19
  668. package/dist/Admentum/to/index.js +0 -10
  669. package/dist/Admentum/to/index.js.map +0 -1
  670. package/dist/Admentum/to/schedules.js +0 -94
  671. package/dist/Admentum/to/schedules.js.map +0 -1
  672. package/dist/Admentum/types/course-sections.d.ts +0 -20
  673. package/dist/Admentum/types/courses.d.ts +0 -17
  674. package/dist/Admentum/types/index.d.ts +0 -25
  675. package/dist/Admentum/types/lessons.d.ts +0 -27
  676. package/dist/Admentum/types/primary-groups.d.ts +0 -30
  677. package/dist/Admentum/types/rooms.d.ts +0 -12
  678. package/dist/Admentum/types/schedule-groups.d.ts +0 -23
  679. package/dist/Admentum/types/schedules.d.ts +0 -27
  680. package/dist/Admentum/types/schools.d.ts +0 -11
  681. package/dist/Admentum/types/users.d.ts +0 -20
  682. package/dist/Excel/index.d.ts +0 -305
  683. package/dist/Excel/index.js +0 -13
  684. package/dist/Excel/index.js.map +0 -1
  685. package/dist/Excel/v1/from/index.js +0 -289
  686. package/dist/Excel/v1/from/index.js.map +0 -1
  687. package/dist/Excel/v1/index.d.ts +0 -238
  688. package/dist/Excel/v1/index.js +0 -10
  689. package/dist/Excel/v1/index.js.map +0 -1
  690. package/dist/Excel/v1/types/index.d.ts +0 -44
  691. package/dist/Excel/v2/from/index.js +0 -537
  692. package/dist/Excel/v2/from/index.js.map +0 -1
  693. package/dist/Excel/v2/index.d.ts +0 -300
  694. package/dist/Excel/v2/index.js +0 -10
  695. package/dist/Excel/v2/index.js.map +0 -1
  696. package/dist/Excel/v2/types/index.d.ts +0 -70
  697. package/dist/IdunSoft/from/courses.js +0 -16
  698. package/dist/IdunSoft/from/courses.js.map +0 -1
  699. package/dist/IdunSoft/from/events.js +0 -59
  700. package/dist/IdunSoft/from/events.js.map +0 -1
  701. package/dist/IdunSoft/from/groups.js +0 -17
  702. package/dist/IdunSoft/from/groups.js.map +0 -1
  703. package/dist/IdunSoft/from/index.js +0 -8
  704. package/dist/IdunSoft/from/index.js.map +0 -1
  705. package/dist/IdunSoft/from/locations.js +0 -16
  706. package/dist/IdunSoft/from/locations.js.map +0 -1
  707. package/dist/IdunSoft/from/schedules.d.ts +0 -23
  708. package/dist/IdunSoft/from/schedules.js +0 -20
  709. package/dist/IdunSoft/from/schedules.js.map +0 -1
  710. package/dist/IdunSoft/from/teachers.js +0 -16
  711. package/dist/IdunSoft/from/teachers.js.map +0 -1
  712. package/dist/IdunSoft/index.d.ts +0 -14
  713. package/dist/IdunSoft/index.js +0 -12
  714. package/dist/IdunSoft/index.js.map +0 -1
  715. package/dist/IdunSoft/to/index.d.ts +0 -9
  716. package/dist/IdunSoft/to/index.js +0 -10
  717. package/dist/IdunSoft/to/index.js.map +0 -1
  718. package/dist/IdunSoft/to/schedules.js +0 -58
  719. package/dist/IdunSoft/to/schedules.js.map +0 -1
  720. package/dist/IdunSoft/types/courses.d.ts +0 -8
  721. package/dist/IdunSoft/types/events.d.ts +0 -26
  722. package/dist/IdunSoft/types/groups.d.ts +0 -8
  723. package/dist/IdunSoft/types/index.d.ts +0 -20
  724. package/dist/IdunSoft/types/locations.d.ts +0 -8
  725. package/dist/IdunSoft/types/schedules.d.ts +0 -17
  726. package/dist/IdunSoft/types/teachers.d.ts +0 -8
  727. package/dist/InfoMentor/index.d.ts +0 -10
  728. package/dist/InfoMentor/index.js +0 -10
  729. package/dist/InfoMentor/index.js.map +0 -1
  730. package/dist/InfoMentor/to/index.d.ts +0 -9
  731. package/dist/InfoMentor/to/index.js +0 -10
  732. package/dist/InfoMentor/to/index.js.map +0 -1
  733. package/dist/InfoMentor/to/schedules.js +0 -58
  734. package/dist/InfoMentor/to/schedules.js.map +0 -1
  735. package/dist/InfoMentor/types/events.d.ts +0 -13
  736. package/dist/InfoMentor/types/index.d.ts +0 -9
  737. package/dist/PlanDigital/from/index.js +0 -8
  738. package/dist/PlanDigital/from/index.js.map +0 -1
  739. package/dist/PlanDigital/from/schedules.js +0 -72
  740. package/dist/PlanDigital/from/schedules.js.map +0 -1
  741. package/dist/PlanDigital/index.d.ts +0 -128
  742. package/dist/PlanDigital/index.js +0 -10
  743. package/dist/PlanDigital/index.js.map +0 -1
  744. package/dist/PlanDigital/types/index.d.ts +0 -34
  745. package/dist/Quiculum/file/index.d.ts +0 -9
  746. package/dist/Quiculum/file/index.js +0 -10
  747. package/dist/Quiculum/file/index.js.map +0 -1
  748. package/dist/Quiculum/file/to/index.d.ts +0 -20
  749. package/dist/Quiculum/file/to/index.js +0 -10
  750. package/dist/Quiculum/file/to/index.js.map +0 -1
  751. package/dist/Quiculum/file/to/schedules.js +0 -91
  752. package/dist/Quiculum/file/to/schedules.js.map +0 -1
  753. package/dist/Quiculum/index.d.ts +0 -11
  754. package/dist/Quiculum/index.js +0 -11
  755. package/dist/Quiculum/index.js.map +0 -1
  756. package/dist/RS/from/division.d.ts +0 -7
  757. package/dist/RS/from/division.js +0 -18
  758. package/dist/RS/from/division.js.map +0 -1
  759. package/dist/RS/from/index.js +0 -12
  760. package/dist/RS/from/index.js.map +0 -1
  761. package/dist/RS/from/schedules.d.ts +0 -8
  762. package/dist/RS/from/schedules.js +0 -37
  763. package/dist/RS/from/schedules.js.map +0 -1
  764. package/dist/RS/index.d.ts +0 -18
  765. package/dist/RS/index.js +0 -12
  766. package/dist/RS/index.js.map +0 -1
  767. package/dist/RS/make-connected.d.ts +0 -23
  768. package/dist/RS/make-connected.js +0 -232
  769. package/dist/RS/make-connected.js.map +0 -1
  770. package/dist/RS/to/index.js +0 -8
  771. package/dist/RS/to/index.js.map +0 -1
  772. package/dist/RS/to/initial-configuration.js +0 -43
  773. package/dist/RS/to/initial-configuration.js.map +0 -1
  774. package/dist/RS/to/input/collections.js +0 -58
  775. package/dist/RS/to/input/collections.js.map +0 -1
  776. package/dist/RS/to/input/default.js +0 -35
  777. package/dist/RS/to/input/default.js.map +0 -1
  778. package/dist/RS/to/input/dependencies.js +0 -31
  779. package/dist/RS/to/input/dependencies.js.map +0 -1
  780. package/dist/RS/to/input/dynamic-locked-times.js +0 -70
  781. package/dist/RS/to/input/dynamic-locked-times.js.map +0 -1
  782. package/dist/RS/to/input/events.js +0 -90
  783. package/dist/RS/to/input/events.js.map +0 -1
  784. package/dist/RS/to/input/groups.js +0 -40
  785. package/dist/RS/to/input/groups.js.map +0 -1
  786. package/dist/RS/to/input/individuals.js +0 -49
  787. package/dist/RS/to/input/individuals.js.map +0 -1
  788. package/dist/RS/to/input/input.js +0 -54
  789. package/dist/RS/to/input/input.js.map +0 -1
  790. package/dist/RS/to/input/intervals.js +0 -131
  791. package/dist/RS/to/input/intervals.js.map +0 -1
  792. package/dist/RS/to/input/periods.js +0 -91
  793. package/dist/RS/to/input/periods.js.map +0 -1
  794. package/dist/RS/to/input/settings.js +0 -20
  795. package/dist/RS/to/input/settings.js.map +0 -1
  796. package/dist/RS/to/input/teachers.js +0 -40
  797. package/dist/RS/to/input/teachers.js.map +0 -1
  798. package/dist/RS/to/input/util/attach-locked-times.js +0 -27
  799. package/dist/RS/to/input/util/attach-locked-times.js.map +0 -1
  800. package/dist/RS/to/input/util/parse-days.js +0 -10
  801. package/dist/RS/to/input/util/parse-days.js.map +0 -1
  802. package/dist/RS/to/input/util/parse-group-references.js +0 -58
  803. package/dist/RS/to/input/util/parse-group-references.js.map +0 -1
  804. package/dist/RS/to/input/util/parse-intervals.js +0 -58
  805. package/dist/RS/to/input/util/parse-intervals.js.map +0 -1
  806. package/dist/RS/to/input/util/parse-location-references.js +0 -31
  807. package/dist/RS/to/input/util/parse-location-references.js.map +0 -1
  808. package/dist/RS/to/input/util/parse-max-working-hours.js +0 -17
  809. package/dist/RS/to/input/util/parse-max-working-hours.js.map +0 -1
  810. package/dist/RS/to/input/util/parse-minimum-break-length.js +0 -19
  811. package/dist/RS/to/input/util/parse-minimum-break-length.js.map +0 -1
  812. package/dist/RS/to/input/util/util.js +0 -66
  813. package/dist/RS/to/input/util/util.js.map +0 -1
  814. package/dist/RS/to/schedules.d.ts +0 -7
  815. package/dist/RS/to/schedules.js +0 -51
  816. package/dist/RS/to/schedules.js.map +0 -1
  817. package/dist/RS/types/algorithm-parameters.d.ts +0 -18
  818. package/dist/RS/types/collections.d.ts +0 -33
  819. package/dist/RS/types/configurations.d.ts +0 -10
  820. package/dist/RS/types/default.d.ts +0 -31
  821. package/dist/RS/types/dependencies.d.ts +0 -16
  822. package/dist/RS/types/event-configuration.d.ts +0 -20
  823. package/dist/RS/types/events.d.ts +0 -34
  824. package/dist/RS/types/groups.d.ts +0 -27
  825. package/dist/RS/types/index.d.ts +0 -50
  826. package/dist/RS/types/individuals.d.ts +0 -16
  827. package/dist/RS/types/locked-times.d.ts +0 -12
  828. package/dist/RS/types/period.d.ts +0 -27
  829. package/dist/RS/types/root-intervals.d.ts +0 -10
  830. package/dist/RS/types/schedule-data.d.ts +0 -23
  831. package/dist/RS/types/settings.d.ts +0 -15
  832. package/dist/RS/types/shared.d.ts +0 -27
  833. package/dist/RS/types/to.d.ts +0 -72
  834. package/dist/RS/types/to.js +0 -6
  835. package/dist/RS/types/to.js.map +0 -1
  836. package/dist/SS12000/from/activities.js +0 -36
  837. package/dist/SS12000/from/activities.js.map +0 -1
  838. package/dist/SS12000/from/calendar-events.js +0 -20
  839. package/dist/SS12000/from/calendar-events.js.map +0 -1
  840. package/dist/SS12000/from/duties.js +0 -31
  841. package/dist/SS12000/from/duties.js.map +0 -1
  842. package/dist/SS12000/from/groups.js +0 -23
  843. package/dist/SS12000/from/groups.js.map +0 -1
  844. package/dist/SS12000/from/index.js +0 -24
  845. package/dist/SS12000/from/index.js.map +0 -1
  846. package/dist/SS12000/from/persons.js +0 -43
  847. package/dist/SS12000/from/persons.js.map +0 -1
  848. package/dist/SS12000/from/resources.js +0 -9
  849. package/dist/SS12000/from/resources.js.map +0 -1
  850. package/dist/SS12000/from/rooms.js +0 -18
  851. package/dist/SS12000/from/rooms.js.map +0 -1
  852. package/dist/SS12000/from/syllabuses.js +0 -21
  853. package/dist/SS12000/from/syllabuses.js.map +0 -1
  854. package/dist/SS12000/index.d.ts +0 -12774
  855. package/dist/SS12000/index.js +0 -12
  856. package/dist/SS12000/index.js.map +0 -1
  857. package/dist/SS12000/to/activities.js +0 -63
  858. package/dist/SS12000/to/activities.js.map +0 -1
  859. package/dist/SS12000/to/calendar-events.js +0 -53
  860. package/dist/SS12000/to/calendar-events.js.map +0 -1
  861. package/dist/SS12000/to/common.js +0 -25
  862. package/dist/SS12000/to/common.js.map +0 -1
  863. package/dist/SS12000/to/duties.js +0 -45
  864. package/dist/SS12000/to/duties.js.map +0 -1
  865. package/dist/SS12000/to/groups.js +0 -49
  866. package/dist/SS12000/to/groups.js.map +0 -1
  867. package/dist/SS12000/to/index.d.ts +0 -56
  868. package/dist/SS12000/to/index.js +0 -24
  869. package/dist/SS12000/to/index.js.map +0 -1
  870. package/dist/SS12000/to/persons.js +0 -40
  871. package/dist/SS12000/to/persons.js.map +0 -1
  872. package/dist/SS12000/to/resources.js +0 -27
  873. package/dist/SS12000/to/resources.js.map +0 -1
  874. package/dist/SS12000/to/rooms.js +0 -32
  875. package/dist/SS12000/to/rooms.js.map +0 -1
  876. package/dist/SS12000/to/syllabuses.js +0 -34
  877. package/dist/SS12000/to/syllabuses.js.map +0 -1
  878. package/dist/SS12000/types/activities.d.ts +0 -41
  879. package/dist/SS12000/types/calendar-events.d.ts +0 -23
  880. package/dist/SS12000/types/codes.d.ts +0 -9
  881. package/dist/SS12000/types/duties.d.ts +0 -23
  882. package/dist/SS12000/types/duty-assignments.d.ts +0 -13
  883. package/dist/SS12000/types/groups.d.ts +0 -23
  884. package/dist/SS12000/types/index.d.ts +0 -21
  885. package/dist/SS12000/types/organisation.d.ts +0 -20
  886. package/dist/SS12000/types/persons.d.ts +0 -30
  887. package/dist/SS12000/types/resources.d.ts +0 -13
  888. package/dist/SS12000/types/rooms.d.ts +0 -17
  889. package/dist/SS12000/types/syllabus.d.ts +0 -19
  890. package/dist/SchoolSoft/api/from/index.js +0 -8
  891. package/dist/SchoolSoft/api/from/index.js.map +0 -1
  892. package/dist/SchoolSoft/api/from/schedules.js +0 -167
  893. package/dist/SchoolSoft/api/from/schedules.js.map +0 -1
  894. package/dist/SchoolSoft/api/index.d.ts +0 -461
  895. package/dist/SchoolSoft/api/index.js +0 -10
  896. package/dist/SchoolSoft/api/index.js.map +0 -1
  897. package/dist/SchoolSoft/api/types/group.d.ts +0 -12
  898. package/dist/SchoolSoft/api/types/index.d.ts +0 -19
  899. package/dist/SchoolSoft/api/types/lesson.d.ts +0 -9
  900. package/dist/SchoolSoft/api/types/location.d.ts +0 -8
  901. package/dist/SchoolSoft/api/types/persons.d.ts +0 -31
  902. package/dist/SchoolSoft/api/types/schedule.d.ts +0 -17
  903. package/dist/SchoolSoft/api/types/teacher.d.ts +0 -13
  904. package/dist/SchoolSoft/file/from/index.js +0 -8
  905. package/dist/SchoolSoft/file/from/index.js.map +0 -1
  906. package/dist/SchoolSoft/file/from/schedules.js +0 -134
  907. package/dist/SchoolSoft/file/from/schedules.js.map +0 -1
  908. package/dist/SchoolSoft/file/index.d.ts +0 -15
  909. package/dist/SchoolSoft/file/index.js +0 -12
  910. package/dist/SchoolSoft/file/index.js.map +0 -1
  911. package/dist/SchoolSoft/file/to/index.d.ts +0 -13
  912. package/dist/SchoolSoft/file/to/index.js +0 -10
  913. package/dist/SchoolSoft/file/to/index.js.map +0 -1
  914. package/dist/SchoolSoft/file/to/schedules.js +0 -107
  915. package/dist/SchoolSoft/file/to/schedules.js.map +0 -1
  916. package/dist/SchoolSoft/file/types/events.d.ts +0 -27
  917. package/dist/SchoolSoft/file/types/index.d.ts +0 -17
  918. package/dist/SchoolSoft/file/types/persons.d.ts +0 -31
  919. package/dist/SchoolSoft/index.d.ts +0 -20
  920. package/dist/SchoolSoft/index.js +0 -14
  921. package/dist/SchoolSoft/index.js.map +0 -1
  922. package/dist/Schoolity/index.d.ts +0 -10
  923. package/dist/Schoolity/index.js +0 -10
  924. package/dist/Schoolity/index.js.map +0 -1
  925. package/dist/Schoolity/txt/index.d.ts +0 -10
  926. package/dist/Schoolity/txt/index.js +0 -10
  927. package/dist/Schoolity/txt/index.js.map +0 -1
  928. package/dist/Schoolity/txt/to/index.d.ts +0 -10
  929. package/dist/Schoolity/txt/to/index.js +0 -10
  930. package/dist/Schoolity/txt/to/index.js.map +0 -1
  931. package/dist/Schoolity/txt/to/schedules.js +0 -331
  932. package/dist/Schoolity/txt/to/schedules.js.map +0 -1
  933. package/dist/Schoolity/txt/types/index.d.ts +0 -119
  934. package/dist/Skola24/index.d.ts +0 -13
  935. package/dist/Skola24/index.js +0 -12
  936. package/dist/Skola24/index.js.map +0 -1
  937. package/dist/Skola24/mdb/from/course-and-events.js +0 -241
  938. package/dist/Skola24/mdb/from/course-and-events.js.map +0 -1
  939. package/dist/Skola24/mdb/from/groups.js +0 -12
  940. package/dist/Skola24/mdb/from/groups.js.map +0 -1
  941. package/dist/Skola24/mdb/from/index.js +0 -8
  942. package/dist/Skola24/mdb/from/index.js.map +0 -1
  943. package/dist/Skola24/mdb/from/locations.js +0 -11
  944. package/dist/Skola24/mdb/from/locations.js.map +0 -1
  945. package/dist/Skola24/mdb/from/schedule.d.ts +0 -27
  946. package/dist/Skola24/mdb/from/schedule.js +0 -97
  947. package/dist/Skola24/mdb/from/schedule.js.map +0 -1
  948. package/dist/Skola24/mdb/from/teachers.js +0 -11
  949. package/dist/Skola24/mdb/from/teachers.js.map +0 -1
  950. package/dist/Skola24/mdb/index.d.ts +0 -12
  951. package/dist/Skola24/mdb/index.js +0 -10
  952. package/dist/Skola24/mdb/index.js.map +0 -1
  953. package/dist/Skola24/mdb/types/Course.d.ts +0 -10
  954. package/dist/Skola24/mdb/types/Group-group-link.d.ts +0 -8
  955. package/dist/Skola24/mdb/types/Group.d.ts +0 -9
  956. package/dist/Skola24/mdb/types/Lesson-group-link.d.ts +0 -8
  957. package/dist/Skola24/mdb/types/Lesson-period-link.d.ts +0 -8
  958. package/dist/Skola24/mdb/types/Lesson-room-link.d.ts +0 -8
  959. package/dist/Skola24/mdb/types/Lesson-teacher-link.d.ts +0 -8
  960. package/dist/Skola24/mdb/types/Lesson.d.ts +0 -13
  961. package/dist/Skola24/mdb/types/Options.d.ts +0 -11
  962. package/dist/Skola24/mdb/types/Period.d.ts +0 -9
  963. package/dist/Skola24/mdb/types/Plan-group-link.d.ts +0 -8
  964. package/dist/Skola24/mdb/types/Plan-period-link.d.ts +0 -8
  965. package/dist/Skola24/mdb/types/Plan-teacher-link.d.ts +0 -10
  966. package/dist/Skola24/mdb/types/Plan.d.ts +0 -9
  967. package/dist/Skola24/mdb/types/Room.d.ts +0 -9
  968. package/dist/Skola24/mdb/types/Schedule.d.ts +0 -39
  969. package/dist/Skola24/mdb/types/Subject.d.ts +0 -8
  970. package/dist/Skola24/mdb/types/Teacher.d.ts +0 -10
  971. package/dist/Skola24/mdb/types/index.d.ts +0 -23
  972. package/dist/Skola24/txt/from/calendar-exceptions.js +0 -68
  973. package/dist/Skola24/txt/from/calendar-exceptions.js.map +0 -1
  974. package/dist/Skola24/txt/from/division.js +0 -44
  975. package/dist/Skola24/txt/from/division.js.map +0 -1
  976. package/dist/Skola24/txt/from/index.js +0 -12
  977. package/dist/Skola24/txt/from/index.js.map +0 -1
  978. package/dist/Skola24/txt/from/period.js +0 -98
  979. package/dist/Skola24/txt/from/period.js.map +0 -1
  980. package/dist/Skola24/txt/from/schedules.d.ts +0 -16
  981. package/dist/Skola24/txt/from/schedules.js +0 -277
  982. package/dist/Skola24/txt/from/schedules.js.map +0 -1
  983. package/dist/Skola24/txt/from/util.js +0 -17
  984. package/dist/Skola24/txt/from/util.js.map +0 -1
  985. package/dist/Skola24/txt/index.d.ts +0 -28
  986. package/dist/Skola24/txt/index.js +0 -12
  987. package/dist/Skola24/txt/index.js.map +0 -1
  988. package/dist/Skola24/txt/to/index.d.ts +0 -10
  989. package/dist/Skola24/txt/to/index.js +0 -10
  990. package/dist/Skola24/txt/to/index.js.map +0 -1
  991. package/dist/Skola24/txt/to/schedules.js +0 -297
  992. package/dist/Skola24/txt/to/schedules.js.map +0 -1
  993. package/dist/Skola24/txt/types/index.d.ts +0 -141
  994. package/dist/common/constants.js +0 -8
  995. package/dist/common/constants.js.map +0 -1
  996. package/dist/common/functions.js +0 -61
  997. package/dist/common/functions.js.map +0 -1
  998. package/dist/common/get-date.js +0 -15
  999. package/dist/common/get-date.js.map +0 -1
  1000. package/dist/common/make-chainable/index.js +0 -36
  1001. package/dist/common/make-chainable/index.js.map +0 -1
  1002. package/dist/common/types.d.ts +0 -18
  1003. package/dist/core/from/configurations.js +0 -12
  1004. package/dist/core/from/configurations.js.map +0 -1
  1005. package/dist/core/from/courses.js +0 -12
  1006. package/dist/core/from/courses.js.map +0 -1
  1007. package/dist/core/from/events.js +0 -13
  1008. package/dist/core/from/events.js.map +0 -1
  1009. package/dist/core/from/exceptions.js +0 -12
  1010. package/dist/core/from/exceptions.js.map +0 -1
  1011. package/dist/core/from/groups.js +0 -12
  1012. package/dist/core/from/groups.js.map +0 -1
  1013. package/dist/core/from/index.js +0 -23
  1014. package/dist/core/from/index.js.map +0 -1
  1015. package/dist/core/from/locations.js +0 -12
  1016. package/dist/core/from/locations.js.map +0 -1
  1017. package/dist/core/from/locked-times.js +0 -12
  1018. package/dist/core/from/locked-times.js.map +0 -1
  1019. package/dist/core/from/overlap-groups.js +0 -12
  1020. package/dist/core/from/overlap-groups.js.map +0 -1
  1021. package/dist/core/from/periods.js +0 -12
  1022. package/dist/core/from/periods.js.map +0 -1
  1023. package/dist/core/from/persons.js +0 -12
  1024. package/dist/core/from/persons.js.map +0 -1
  1025. package/dist/core/from/root-intervals.js +0 -12
  1026. package/dist/core/from/root-intervals.js.map +0 -1
  1027. package/dist/core/from/schedules.d.ts +0 -7
  1028. package/dist/core/from/schedules.js +0 -38
  1029. package/dist/core/from/schedules.js.map +0 -1
  1030. package/dist/core/from/settings.js +0 -21
  1031. package/dist/core/from/settings.js.map +0 -1
  1032. package/dist/core/from/syllabuses.js +0 -13
  1033. package/dist/core/from/syllabuses.js.map +0 -1
  1034. package/dist/core/from/teachers.js +0 -12
  1035. package/dist/core/from/teachers.js.map +0 -1
  1036. package/dist/core/index.d.ts +0 -37
  1037. package/dist/core/index.js +0 -16
  1038. package/dist/core/index.js.map +0 -1
  1039. package/dist/core/interfaces/index.js +0 -6
  1040. package/dist/core/interfaces/other/companies.d.ts +0 -132
  1041. package/dist/core/interfaces/other/companies.js +0 -9
  1042. package/dist/core/interfaces/other/companies.js.map +0 -1
  1043. package/dist/core/interfaces/other/etc.d.ts +0 -19
  1044. package/dist/core/interfaces/other/integrations.d.ts +0 -17
  1045. package/dist/core/interfaces/other/operations.d.ts +0 -35
  1046. package/dist/core/interfaces/other/policies.d.ts +0 -31
  1047. package/dist/core/interfaces/other/sync-logs.d.ts +0 -21
  1048. package/dist/core/interfaces/other/users.d.ts +0 -35
  1049. package/dist/core/interfaces/vertices/companies.d.ts +0 -7
  1050. package/dist/core/interfaces/vertices/configurations.d.ts +0 -57
  1051. package/dist/core/interfaces/vertices/courses.d.ts +0 -67
  1052. package/dist/core/interfaces/vertices/division-settings.d.ts +0 -55
  1053. package/dist/core/interfaces/vertices/divisions.d.ts +0 -30
  1054. package/dist/core/interfaces/vertices/events.d.ts +0 -101
  1055. package/dist/core/interfaces/vertices/exceptions.d.ts +0 -73
  1056. package/dist/core/interfaces/vertices/generations.d.ts +0 -21
  1057. package/dist/core/interfaces/vertices/groups.d.ts +0 -52
  1058. package/dist/core/interfaces/vertices/index.d.ts +0 -222
  1059. package/dist/core/interfaces/vertices/index.js +0 -3
  1060. package/dist/core/interfaces/vertices/locations.d.ts +0 -21
  1061. package/dist/core/interfaces/vertices/locked-times.d.ts +0 -35
  1062. package/dist/core/interfaces/vertices/overlap-groups.d.ts +0 -16
  1063. package/dist/core/interfaces/vertices/periods.d.ts +0 -13
  1064. package/dist/core/interfaces/vertices/persons.d.ts +0 -31
  1065. package/dist/core/interfaces/vertices/properties/belongs-to.d.ts +0 -10
  1066. package/dist/core/interfaces/vertices/properties/coalesced.d.ts +0 -7
  1067. package/dist/core/interfaces/vertices/properties/days.d.ts +0 -9
  1068. package/dist/core/interfaces/vertices/properties/index.d.ts +0 -15
  1069. package/dist/core/interfaces/vertices/properties/intervals.d.ts +0 -10
  1070. package/dist/core/interfaces/vertices/properties/maximum-schedule-span.d.ts +0 -19
  1071. package/dist/core/interfaces/vertices/properties/min-break-length.d.ts +0 -5
  1072. package/dist/core/interfaces/vertices/properties/planned-scheduled-duration.d.ts +0 -13
  1073. package/dist/core/interfaces/vertices/properties/species.d.ts +0 -9
  1074. package/dist/core/interfaces/vertices/properties/tags.d.ts +0 -9
  1075. package/dist/core/interfaces/vertices/properties/week.d.ts +0 -22
  1076. package/dist/core/interfaces/vertices/properties/week.js +0 -6
  1077. package/dist/core/interfaces/vertices/properties/week.js.map +0 -1
  1078. package/dist/core/interfaces/vertices/root-intervals.d.ts +0 -12
  1079. package/dist/core/interfaces/vertices/syllabuses.d.ts +0 -17
  1080. package/dist/core/interfaces/vertices/teachers.d.ts +0 -42
  1081. package/dist/core/interfaces/vertices/threads.d.ts +0 -31
  1082. package/dist/core/interfaces/vertices/users.d.ts +0 -10
  1083. package/dist/core/interfaces/vertices/util/common.d.ts +0 -28
  1084. package/dist/core/interfaces/vertices/util/custom-vertex-export/assert-no-invalid-expand-keys.d.ts +0 -16
  1085. package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.ts +0 -34
  1086. package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.ts +0 -53
  1087. package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.ts +0 -65
  1088. package/dist/core/interfaces/vertices/util/edges.d.ts +0 -123
  1089. package/dist/core/interfaces/vertices/util/keys-of.d.ts +0 -27
  1090. package/dist/core/interfaces/vertices/util/serialized-vertex-export.d.ts +0 -12
  1091. package/dist/core/interfaces/vertices/util/util.d.ts +0 -84
  1092. package/dist/core/interfaces/vertices/util/vertex-query/index.d.ts +0 -51
  1093. package/dist/core/interfaces/vertices/util/vertex-query/util.d.ts +0 -13
  1094. package/dist/core/interfaces/vertices/util/vertex.d.ts +0 -70
  1095. package/dist/core/interfaces/vertices/vertex-query.d.ts +0 -108
  1096. package/dist/core/interfaces/vertices/vertex-query.js +0 -110
  1097. package/dist/core/interfaces/vertices/vertex-query.js.map +0 -1
  1098. package/dist/core/to/configurations.js +0 -17
  1099. package/dist/core/to/configurations.js.map +0 -1
  1100. package/dist/core/to/courses.js +0 -42
  1101. package/dist/core/to/courses.js.map +0 -1
  1102. package/dist/core/to/division.js +0 -10
  1103. package/dist/core/to/division.js.map +0 -1
  1104. package/dist/core/to/events.js +0 -43
  1105. package/dist/core/to/events.js.map +0 -1
  1106. package/dist/core/to/exceptions.js +0 -30
  1107. package/dist/core/to/exceptions.js.map +0 -1
  1108. package/dist/core/to/groups.js +0 -26
  1109. package/dist/core/to/groups.js.map +0 -1
  1110. package/dist/core/to/index.d.ts +0 -9
  1111. package/dist/core/to/index.js +0 -10
  1112. package/dist/core/to/index.js.map +0 -1
  1113. package/dist/core/to/locations.js +0 -22
  1114. package/dist/core/to/locations.js.map +0 -1
  1115. package/dist/core/to/locked-times.js +0 -21
  1116. package/dist/core/to/locked-times.js.map +0 -1
  1117. package/dist/core/to/overlap-groups.js +0 -28
  1118. package/dist/core/to/overlap-groups.js.map +0 -1
  1119. package/dist/core/to/periods.js +0 -17
  1120. package/dist/core/to/periods.js.map +0 -1
  1121. package/dist/core/to/persons.js +0 -18
  1122. package/dist/core/to/persons.js.map +0 -1
  1123. package/dist/core/to/root-intervals.js +0 -17
  1124. package/dist/core/to/root-intervals.js.map +0 -1
  1125. package/dist/core/to/schedules.d.ts +0 -46
  1126. package/dist/core/to/schedules.js +0 -42
  1127. package/dist/core/to/schedules.js.map +0 -1
  1128. package/dist/core/to/settings.js +0 -19
  1129. package/dist/core/to/settings.js.map +0 -1
  1130. package/dist/core/to/syllabuses.js +0 -17
  1131. package/dist/core/to/syllabuses.js.map +0 -1
  1132. package/dist/core/to/teachers.js +0 -25
  1133. package/dist/core/to/teachers.js.map +0 -1
  1134. package/dist/core/to/util.d.ts +0 -8
  1135. package/dist/core/to/util.js +0 -25
  1136. package/dist/core/to/util.js.map +0 -1
  1137. package/dist/core/types/common/index.d.ts +0 -8
  1138. package/dist/core/types/common/meta.d.ts +0 -15
  1139. package/dist/core/types/index.d.ts +0 -126
  1140. package/dist/core/util.js +0 -46
  1141. package/dist/core/util.js.map +0 -1
  1142. package/dist/identify/constants/index.d.ts +0 -144
  1143. package/dist/identify/constants/index.js +0 -317
  1144. package/dist/identify/constants/index.js.map +0 -1
  1145. package/dist/identify/index.d.ts +0 -8
  1146. package/dist/identify/index.js +0 -94
  1147. package/dist/identify/index.js.map +0 -1
  1148. package/dist/identify/types/index.d.ts +0 -15
  1149. package/dist/index.d.ts +0 -57
  1150. package/dist/index.js +0 -22
  1151. package/dist/sdui/from/classes.js +0 -8
  1152. package/dist/sdui/from/classes.js.map +0 -1
  1153. package/dist/sdui/from/courses.js +0 -14
  1154. package/dist/sdui/from/courses.js.map +0 -1
  1155. package/dist/sdui/from/holidays.js +0 -8
  1156. package/dist/sdui/from/holidays.js.map +0 -1
  1157. package/dist/sdui/from/hours.js +0 -6
  1158. package/dist/sdui/from/hours.js.map +0 -1
  1159. package/dist/sdui/from/index.js +0 -30
  1160. package/dist/sdui/from/index.js.map +0 -1
  1161. package/dist/sdui/from/lessons.js +0 -23
  1162. package/dist/sdui/from/lessons.js.map +0 -1
  1163. package/dist/sdui/from/rooms.js +0 -11
  1164. package/dist/sdui/from/rooms.js.map +0 -1
  1165. package/dist/sdui/from/schedules.d.ts +0 -19
  1166. package/dist/sdui/from/schedules.js +0 -24
  1167. package/dist/sdui/from/schedules.js.map +0 -1
  1168. package/dist/sdui/from/school-years.js +0 -11
  1169. package/dist/sdui/from/school-years.js.map +0 -1
  1170. package/dist/sdui/from/subjects.js +0 -6
  1171. package/dist/sdui/from/subjects.js.map +0 -1
  1172. package/dist/sdui/from/substitution-plans.js +0 -10
  1173. package/dist/sdui/from/substitution-plans.js.map +0 -1
  1174. package/dist/sdui/from/teachers.js +0 -15
  1175. package/dist/sdui/from/teachers.js.map +0 -1
  1176. package/dist/sdui/index.d.ts +0 -32
  1177. package/dist/sdui/index.js +0 -12
  1178. package/dist/sdui/index.js.map +0 -1
  1179. package/dist/sdui/to/classes.js +0 -10
  1180. package/dist/sdui/to/classes.js.map +0 -1
  1181. package/dist/sdui/to/courses.js +0 -16
  1182. package/dist/sdui/to/courses.js.map +0 -1
  1183. package/dist/sdui/to/holidays.js +0 -16
  1184. package/dist/sdui/to/holidays.js.map +0 -1
  1185. package/dist/sdui/to/hours.js +0 -15
  1186. package/dist/sdui/to/hours.js.map +0 -1
  1187. package/dist/sdui/to/index.d.ts +0 -20
  1188. package/dist/sdui/to/index.js +0 -30
  1189. package/dist/sdui/to/index.js.map +0 -1
  1190. package/dist/sdui/to/lessons.js +0 -24
  1191. package/dist/sdui/to/lessons.js.map +0 -1
  1192. package/dist/sdui/to/rooms.js +0 -13
  1193. package/dist/sdui/to/rooms.js.map +0 -1
  1194. package/dist/sdui/to/schedules.js +0 -26
  1195. package/dist/sdui/to/schedules.js.map +0 -1
  1196. package/dist/sdui/to/school-years.js +0 -18
  1197. package/dist/sdui/to/school-years.js.map +0 -1
  1198. package/dist/sdui/to/subjects.js +0 -8
  1199. package/dist/sdui/to/subjects.js.map +0 -1
  1200. package/dist/sdui/to/substitution-plans.js +0 -49
  1201. package/dist/sdui/to/substitution-plans.js.map +0 -1
  1202. package/dist/sdui/to/teachers.js +0 -20
  1203. package/dist/sdui/to/teachers.js.map +0 -1
  1204. package/dist/sdui/types/classes.d.ts +0 -8
  1205. package/dist/sdui/types/courses.d.ts +0 -12
  1206. package/dist/sdui/types/holidays.d.ts +0 -10
  1207. package/dist/sdui/types/hours.d.ts +0 -10
  1208. package/dist/sdui/types/index.d.ts +0 -31
  1209. package/dist/sdui/types/lessons.d.ts +0 -13
  1210. package/dist/sdui/types/rooms.d.ts +0 -9
  1211. package/dist/sdui/types/schedules.d.ts +0 -27
  1212. package/dist/sdui/types/school-years.d.ts +0 -9
  1213. package/dist/sdui/types/subjects.d.ts +0 -9
  1214. package/dist/sdui/types/substitution-plans.d.ts +0 -30
  1215. package/dist/sdui/types/teachers.d.ts +0 -10
  1216. package/dist/vKlass/from/index.js +0 -8
  1217. package/dist/vKlass/from/index.js.map +0 -1
  1218. package/dist/vKlass/from/schedule.d.ts +0 -23
  1219. package/dist/vKlass/from/schedule.js +0 -71
  1220. package/dist/vKlass/from/schedule.js.map +0 -1
  1221. package/dist/vKlass/index.d.ts +0 -13
  1222. package/dist/vKlass/index.js +0 -12
  1223. package/dist/vKlass/index.js.map +0 -1
  1224. package/dist/vKlass/to/index.d.ts +0 -9
  1225. package/dist/vKlass/to/index.js +0 -10
  1226. package/dist/vKlass/to/index.js.map +0 -1
  1227. package/dist/vKlass/to/schedules.d.ts +0 -14
  1228. package/dist/vKlass/to/schedules.js +0 -93
  1229. package/dist/vKlass/to/schedules.js.map +0 -1
  1230. package/dist/vKlass/types/index.d.ts +0 -53
@@ -0,0 +1,41 @@
1
+ import { getDayIndex, getVertexId } from "../../core/util.mjs";
2
+ import { makeChainable } from "../../common/make-chainable/index.mjs";
3
+ import { idOf } from "./input/util/util.mjs";
4
+ import { omitBy, uniq } from "lodash-es";
5
+ import moment from "moment";
6
+
7
+ //#region src/RS/to/initial-configuration.ts
8
+ function getPosition(start, end) {
9
+ const mmtMidnight = moment.utc(start).clone().startOf("day");
10
+ return {
11
+ day: getDayIndex(start),
12
+ start: moment.utc(start).diff(mmtMidnight, "minutes"),
13
+ end: moment.utc(end).diff(mmtMidnight, "minutes")
14
+ };
15
+ }
16
+ function initialConfiguration(events, lockedTimes, options) {
17
+ const fromEvents = events.map((x) => {
18
+ if (x.parked) return;
19
+ if (!x.start || !x.end) return;
20
+ return omitBy({
21
+ id: idOf.event(x, options),
22
+ ...getPosition(x.start, x.end),
23
+ collection: x.course ? getVertexId(x.course, options) : void 0,
24
+ dependencies: x.inLocations?.map((x) => x ? getVertexId(x, options) : null).filter((x) => x != null)
25
+ }, (x) => x == null);
26
+ }).filter((x) => x != null);
27
+ const fromLockedTimes = lockedTimes.map((x) => {
28
+ if (!x.type || x.type == "ANY") return;
29
+ if (!x.start || !x.end) return;
30
+ return omitBy({
31
+ id: idOf.lockedTime(x, options),
32
+ ...getPosition(x.start, x.end),
33
+ dependencies: makeChainable(x.coalesced ?? []).chain((x) => x.filter((x) => x.toModel == "locations").map((x) => getVertexId(x.to, options)), (x) => uniq(x)).value
34
+ }, (x) => x == null);
35
+ }).filter((x) => x != null);
36
+ return [{ events: fromEvents.concat(fromLockedTimes) }];
37
+ }
38
+
39
+ //#endregion
40
+ export { initialConfiguration };
41
+ //# sourceMappingURL=initial-configuration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initial-configuration.mjs","names":[],"sources":["../../../src/RS/to/initial-configuration.ts"],"sourcesContent":["import moment from 'moment';\nimport { omitBy, uniq } from 'lodash-es';\nimport type { ConnectedTypes } from '../make-connected';\nimport { idOf } from './input/util/util';\nimport { getDayIndex, getVertexId } from '../../core/util';\nimport type { DateType } from '../../common/types';\nimport type { Types } from '../types';\nimport { makeChainable } from '../../common/make-chainable';\n\nfunction getPosition (\n start: DateType,\n end: DateType\n): Pick<Types.eventConfiguration, 'day' | 'start' | 'end'> {\n const mmtMidnight = moment.utc(start).clone().startOf('day');\n return {\n day: getDayIndex(start),\n start: moment.utc(start).diff(mmtMidnight, 'minutes'),\n end: moment.utc(end ).diff(mmtMidnight, 'minutes'),\n };\n}\n\nexport function initialConfiguration (\n events: ConnectedTypes.event[],\n lockedTimes: ConnectedTypes.lockedTime[],\n options: Types.parsedToOptions\n): Types.configuration[] {\n const fromEvents = events\n .map(x => {\n if (x.parked) return;\n if (!x.start || !x.end) return;\n\n const doc: Types.eventConfiguration = {\n id: idOf.event(x, options),\n ...getPosition(x.start, x.end),\n\n collection: x.course ? getVertexId(x.course, options) : undefined,\n dependencies: x.inLocations?.map(x => x ? getVertexId(x, options) : null).filter(x => x != null),\n };\n return omitBy(doc, x => x == null) as Types.eventConfiguration;\n })\n .filter(x => x != null);\n\n const fromLockedTimes = lockedTimes\n .map(x => {\n if (!x.type || x.type == 'ANY') return;\n if (!x.start || !x.end) return;\n\n const doc: Types.eventConfiguration = {\n id: idOf.lockedTime(x, options),\n ...getPosition(x.start, x.end),\n\n dependencies: makeChainable(x.coalesced ?? [])\n .chain(\n x => x\n .filter(x => x.toModel == 'locations')\n .map(x => getVertexId(x.to, options)),\n x => uniq(x)\n )\n .value\n };\n return omitBy(doc, x => x == null) as Types.eventConfiguration;\n })\n .filter(x => x != null);\n\n return [{\n events: fromEvents.concat(fromLockedTimes)\n }];\n};"],"mappings":";;;;;;;AASA,SAAS,YACP,OACA,KACyD;CACzD,MAAM,cAAc,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,MAAM;AAC5D,QAAO;EACL,KAAO,YAAY,MAAM;EACzB,OAAO,OAAO,IAAI,MAAM,CAAC,KAAK,aAAa,UAAU;EACrD,KAAO,OAAO,IAAI,IAAM,CAAC,KAAK,aAAa,UAAU;EACtD;;AAGH,SAAgB,qBACd,QACA,aACA,SACuB;CACvB,MAAM,aAAa,OAChB,KAAI,MAAK;AACR,MAAI,EAAE,OAAQ;AACd,MAAI,CAAC,EAAE,SAAS,CAAC,EAAE,IAAK;AASxB,SAAO,OAP+B;GACpC,IAAI,KAAK,MAAM,GAAG,QAAQ;GAC1B,GAAG,YAAY,EAAE,OAAO,EAAE,IAAI;GAE9B,YAAc,EAAE,SAAS,YAAY,EAAE,QAAQ,QAAQ,GAAG;GAC1D,cAAc,EAAE,aAAa,KAAI,MAAK,IAAI,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC,QAAO,MAAK,KAAK,KAAK;GACjG,GACkB,MAAK,KAAK,KAAK;GAClC,CACD,QAAO,MAAK,KAAK,KAAK;CAEzB,MAAM,kBAAkB,YACrB,KAAI,MAAK;AACR,MAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,MAAO;AAChC,MAAI,CAAC,EAAE,SAAS,CAAC,EAAE,IAAK;AAexB,SAAO,OAb+B;GACpC,IAAI,KAAK,WAAW,GAAG,QAAQ;GAC/B,GAAG,YAAY,EAAE,OAAO,EAAE,IAAI;GAE9B,cAAc,cAAc,EAAE,aAAa,EAAE,CAAC,CAC3C,OACC,MAAK,EACF,QAAO,MAAK,EAAE,WAAW,YAAY,CACrC,KAAI,MAAK,YAAY,EAAE,IAAI,QAAQ,CAAC,GACvC,MAAK,KAAK,EAAE,CACb,CACA;GACJ,GACkB,MAAK,KAAK,KAAK;GAClC,CACD,QAAO,MAAK,KAAK,KAAK;AAEzB,QAAO,CAAC,EACN,QAAQ,WAAW,OAAO,gBAAgB,EAC3C,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { getVertexId } from "../../../core/util.mjs";
2
+ import { min2hrs, toTimeFloat } from "./util/util.mjs";
3
+ import { computesDefaultIntervalId } from "./intervals.mjs";
4
+
5
+ //#region src/RS/to/input/default.ts
6
+ function parseDefault(settings, options) {
7
+ return {
8
+ intervals: computesDefaultIntervalId(settings, options),
9
+ period: settings.period ? getVertexId(settings.period, options) : void 0,
10
+ minGroupBreakDuration: settings.defaultGroupMinimumBreakLength ?? 0,
11
+ minDependencyBreakDuration: settings.defaultDependencyMinimumBreakLength ?? 0,
12
+ minEventBreakDuration: settings.defaultEventMinimumBreakLength ?? 0,
13
+ preferredTime: toTimeFloat(settings.potentialCenter ?? "12:00"),
14
+ eventDensity: settings.defaultEventDensity ?? 1,
15
+ maxEventDurationVariance: settings.defaultEventDurationVariance ?? 0,
16
+ maxNumWorkingHours: min2hrs(settings.defaultMaximumScheduleSpan?.weekly) ?? false,
17
+ maxNumDailyWorkingHours: min2hrs(settings.defaultMaximumScheduleSpan?.daily) ?? false,
18
+ dependencyRank: settings.defaultDependencyRank ?? 0,
19
+ groupRank: settings.defaultGroupRank ?? 0,
20
+ dayRank: settings.defaultDayRank ?? 0,
21
+ groupWeight: settings.defaultGroupWeight ?? 0,
22
+ eventWeight: settings.defaultEventWeight ?? 0
23
+ };
24
+ }
25
+
26
+ //#endregion
27
+ export { parseDefault };
28
+ //# sourceMappingURL=default.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.mjs","names":[],"sources":["../../../../src/RS/to/input/default.ts"],"sourcesContent":["import type { Types } from '../../types';\nimport { computesDefaultIntervalId } from './intervals';\nimport { min2hrs, toTimeFloat } from './util/util';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { getVertexId } from '../../../core/util';\n\nexport function parseDefault (\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions\n): Types.Entities.DefaultValues {\n const res: Types.Entities.DefaultValues = {\n intervals: computesDefaultIntervalId(settings, options),\n period: settings.period ? getVertexId(settings.period, options) : undefined,\n\n minGroupBreakDuration: settings.defaultGroupMinimumBreakLength ?? 0,\n minDependencyBreakDuration: settings.defaultDependencyMinimumBreakLength ?? 0,\n minEventBreakDuration: settings.defaultEventMinimumBreakLength ?? 0,\n\n preferredTime: toTimeFloat(settings.potentialCenter ?? '12:00'),\n eventDensity: settings.defaultEventDensity ?? 1,\n\n maxEventDurationVariance: settings.defaultEventDurationVariance ?? 0,\n\n maxNumWorkingHours: min2hrs(settings.defaultMaximumScheduleSpan?.weekly) ?? false,\n maxNumDailyWorkingHours: min2hrs(settings.defaultMaximumScheduleSpan?.daily ) ?? false,\n\n dependencyRank: settings.defaultDependencyRank ?? 0,\n groupRank: settings.defaultGroupRank ?? 0,\n dayRank: settings.defaultDayRank ?? 0,\n\n groupWeight: settings.defaultGroupWeight ?? 0,\n eventWeight: settings.defaultEventWeight ?? 0,\n };\n\n return res;\n};"],"mappings":";;;;;AAMA,SAAgB,aACd,UACA,SAC8B;AAyB9B,QAxB0C;EACxC,WAAW,0BAA0B,UAAU,QAAQ;EACvD,QAAW,SAAS,SAAS,YAAY,SAAS,QAAQ,QAAQ,GAAG;EAErE,uBAA4B,SAAS,kCAAuC;EAC5E,4BAA4B,SAAS,uCAAuC;EAC5E,uBAA4B,SAAS,kCAAuC;EAE5E,eAAe,YAAY,SAAS,mBAAmB,QAAQ;EAC/D,cAAe,SAAS,uBAAuB;EAE/C,0BAA0B,SAAS,gCAAgC;EAEnE,oBAAyB,QAAQ,SAAS,4BAA4B,OAAO,IAAI;EACjF,yBAAyB,QAAQ,SAAS,4BAA4B,MAAO,IAAI;EAEjF,gBAAgB,SAAS,yBAAyB;EAClD,WAAgB,SAAS,oBAAyB;EAClD,SAAgB,SAAS,kBAAyB;EAElD,aAAa,SAAS,sBAAuB;EAC7C,aAAa,SAAS,sBAAuB;EAC9C"}
@@ -0,0 +1,31 @@
1
+ import { getVertexId } from "../../../core/util.mjs";
2
+ import { idOf } from "./util/util.mjs";
3
+ import { parseDayIndices } from "./util/parse-days.mjs";
4
+ import { omitBy } from "lodash-es";
5
+
6
+ //#region src/RS/to/input/dependencies.ts
7
+ function fromLocations(locations, settings, options) {
8
+ return locations.filter((x) => {
9
+ const id = getVertexId(x, options);
10
+ const includedLocations = options.partialScheduleOptions?.includedLocations;
11
+ if (includedLocations && !includedLocations.has(id)) return false;
12
+ return true;
13
+ }).map((location) => {
14
+ const doc = {
15
+ id: getVertexId(location, options),
16
+ minBreakDuration: location.minBreakLength,
17
+ days: parseDayIndices(location.days, settings),
18
+ intervals: [[{
19
+ start: 0,
20
+ end: 24
21
+ }]],
22
+ blockedTimes: location.lockedTimes?.map((x) => idOf.lockedTime(x, options))
23
+ };
24
+ if (options.includeEntityMeta) doc.name = location.displayName;
25
+ return omitBy(doc, (x) => x == null);
26
+ });
27
+ }
28
+
29
+ //#endregion
30
+ export { fromLocations };
31
+ //# sourceMappingURL=dependencies.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.mjs","names":[],"sources":["../../../../src/RS/to/input/dependencies.ts"],"sourcesContent":["import { omitBy } from 'lodash-es';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { getVertexId } from '../../../core/util';\nimport { parseDayIndices } from './util/parse-days';\nimport type { Types } from '../../types';\nimport { idOf } from './util/util';\n\nexport function fromLocations (\n locations: ConnectedTypes.location[],\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions\n) {\n return locations\n .filter(x => {\n const id = getVertexId(x, options);\n\n // filter location references based on partial schedule options\n const includedLocations = options.partialScheduleOptions?.includedLocations;\n if (includedLocations && !includedLocations.has(id)) return false;\n return true;\n })\n .map(location => {\n const id = getVertexId(location, options);\n\n const doc: Types.Entities.Dependency = {\n id,\n minBreakDuration: location.minBreakLength,\n days: parseDayIndices(location.days, settings),\n intervals: [[{ start: 0, end: 24.00 }]], // as there is currently no way to specify intervals for locations\n blockedTimes: location.lockedTimes?.map(x => idOf.lockedTime(x, options)),\n };\n\n if (options.includeEntityMeta) {\n doc.name = location.displayName;\n }\n\n return omitBy(doc, x => x == null) as Types.Entities.Dependency;\n });\n}"],"mappings":";;;;;;AAOA,SAAgB,cACd,WACA,UACA,SACA;AACA,QAAO,UACJ,QAAO,MAAK;EACX,MAAM,KAAK,YAAY,GAAG,QAAQ;EAGlC,MAAM,oBAAoB,QAAQ,wBAAwB;AAC1D,MAAI,qBAAqB,CAAC,kBAAkB,IAAI,GAAG,CAAE,QAAO;AAC5D,SAAO;GACP,CACD,KAAI,aAAY;EAGf,MAAM,MAAiC;GACrC,IAHS,YAAY,UAAU,QAAQ;GAIvC,kBAAkB,SAAS;GAC3B,MAAkB,gBAAgB,SAAS,MAAM,SAAS;GAC1D,WAAkB,CAAC,CAAC;IAAE,OAAO;IAAG,KAAK;IAAO,CAAC,CAAC;GAC9C,cAAkB,SAAS,aAAa,KAAI,MAAK,KAAK,WAAW,GAAG,QAAQ,CAAC;GAC9E;AAED,MAAI,QAAQ,kBACV,KAAI,OAAO,SAAS;AAGtB,SAAO,OAAO,MAAK,MAAK,KAAK,KAAK;GAClC"}
@@ -0,0 +1,101 @@
1
+ import { getDayIndex, getVertexId } from "../../../core/util.mjs";
2
+ import { makeChainable } from "../../../common/make-chainable/index.mjs";
3
+ import { idOf } from "./util/util.mjs";
4
+ import { parseDayIndices } from "./util/parse-days.mjs";
5
+ import { getDefaultInterval } from "./intervals.mjs";
6
+ import { parseMinimumBreakLength } from "./util/parse-minimum-break-length.mjs";
7
+ import { parseGroupReferences } from "./util/parse-group-references.mjs";
8
+ import { parseLocationReferences } from "./util/parse-location-references.mjs";
9
+ import { groupBy, omit, omitBy } from "lodash-es";
10
+ import moment from "moment";
11
+
12
+ //#region src/RS/to/input/events.ts
13
+ function toDayAndStart(start) {
14
+ return {
15
+ start: parseFloat(moment.utc(start).format("HH.mm")),
16
+ day: getDayIndex(start)
17
+ };
18
+ }
19
+ function fromEvents(_events, settings, options) {
20
+ const defaultInterval = getDefaultInterval(settings);
21
+ const events = (_events ?? []).map((event) => {
22
+ const id = getVertexId(event, options);
23
+ const duration = event.preferredDuration;
24
+ if (!duration) throw new Error(`(RS::To::fromEvents) Event "${id}" has no duration`);
25
+ const maxDurationVariance = event.linkedEventsSet == null ? event.durationVariance ?? event.course?.eventDurationVariance : 0;
26
+ const preferredTime = (() => {
27
+ const centerOfAttraction = event.centerOfAttraction ?? event.course?.centerOfAttraction;
28
+ if (!centerOfAttraction) return;
29
+ return parseFloat(centerOfAttraction.replace(":", "."));
30
+ })();
31
+ const period = (() => {
32
+ const periodId = event.period ?? event.course?.period;
33
+ if (!periodId) return;
34
+ return getVertexId(periodId, options);
35
+ })();
36
+ const intervals = event.intervals ?? event.course?.intervals ?? defaultInterval;
37
+ const doc = {
38
+ id: idOf.event(event, options),
39
+ duration,
40
+ maxDurationVariance,
41
+ weight: event.weight ?? event.course?.weight,
42
+ density: event.density ?? event.course?.density,
43
+ preferredTime,
44
+ period,
45
+ days: parseDayIndices(event.days ?? event.course?.days, settings),
46
+ dependencies: parseLocationReferences(event.locations ?? event.course?.locations, options),
47
+ groups: parseGroupReferences({
48
+ type: "event",
49
+ item: event
50
+ }, options),
51
+ intervals: idOf.intervalPairReference(intervals, void 0, options),
52
+ blockedTimes: (event.lockedTimes ?? event.course?.lockedTimes)?.map((x) => idOf.lockedTime(x, options)),
53
+ minBreakDuration: parseMinimumBreakLength(event.minBreakLength ?? event.course?.minBreakLength),
54
+ distributionKey: event.course?.id,
55
+ course: event.course
56
+ };
57
+ if (event.fixedStart && event.start) Object.assign(doc, toDayAndStart(event.start));
58
+ if (options.includeEntityMeta) doc.name = event.displayName ?? event.course?.displayName;
59
+ if (options.partialScheduleOptions) {
60
+ const { includedEvents, omittedEventsHandling } = options.partialScheduleOptions;
61
+ if (includedEvents && !includedEvents.has(doc.id)) {
62
+ if (omittedEventsHandling == "ignore") return;
63
+ if (omittedEventsHandling == "freeze") {
64
+ if (event.parked || !event.start || !event.duration) return;
65
+ Object.assign(doc, toDayAndStart(event.start));
66
+ doc.duration = event.duration;
67
+ doc.maxDurationVariance = 0;
68
+ const numDays = settings.numDays ?? 5;
69
+ doc.days = Array.from({ length: numDays }, (_, i) => i);
70
+ doc.intervals = Array.from({ length: numDays }, () => [{
71
+ start: 0,
72
+ end: 24
73
+ }]);
74
+ doc.dependencies = (event.inLocations ?? []).filter((x) => !!x).map((x) => {
75
+ const id = getVertexId(x, options);
76
+ const includedLocations = options.partialScheduleOptions?.includedLocations;
77
+ if (includedLocations && !includedLocations.has(id)) return;
78
+ return [{ dependency: id }];
79
+ }).filter((x) => x != null);
80
+ }
81
+ }
82
+ }
83
+ return omitBy(doc, (x) => x == null);
84
+ }).filter((x) => !!x);
85
+ const activities = makeChainable(events).chain((x) => x.filter((x) => !!x.course)).chain((x) => Object.entries(groupBy(x, (x) => getVertexId(x.course, options))).map(([id, events]) => {
86
+ const doc = {
87
+ id,
88
+ events: events.map((x) => x.id)
89
+ };
90
+ if (options.includeEntityMeta) doc.name = events[0].course?.displayName;
91
+ return doc;
92
+ })).value;
93
+ return {
94
+ events: events.map((x) => omit(x, "course")),
95
+ activities
96
+ };
97
+ }
98
+
99
+ //#endregion
100
+ export { fromEvents, toDayAndStart };
101
+ //# sourceMappingURL=events.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.mjs","names":[],"sources":["../../../../src/RS/to/input/events.ts"],"sourcesContent":["import moment from 'moment';\nimport { groupBy, omit, omitBy } from 'lodash-es';\nimport { parseMinimumBreakLength } from './util/parse-minimum-break-length';\nimport type { Types } from '../../types';\nimport { parseGroupReferences } from './util/parse-group-references';\nimport { parseLocationReferences } from './util/parse-location-references';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { getDayIndex, getVertexId } from '../../../core/util';\nimport { idOf } from './util/util';\nimport { parseDayIndices } from './util/parse-days';\nimport type { DateType } from '../../../common/types';\nimport { getDefaultInterval } from './intervals';\nimport { makeChainable } from '../../../common/make-chainable';\n\nexport function toDayAndStart (start: DateType) {\n return {\n start: parseFloat(moment.utc(start).format('HH.mm')),\n day: getDayIndex(start)\n };\n}\n\ntype _Event = Types.Entities.Event & {\n course?: ConnectedTypes.course;\n}\n\n// a type generic that makes certain properties of T required\ntype RequireProperties<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\ntype Out = {\n events: Types.Entities.Event[];\n activities: Types.Entities.Activity[];\n}\nexport function fromEvents (\n _events: ConnectedTypes.event[],\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions\n): Out {\n const defaultInterval = getDefaultInterval(settings);\n\n const events = (_events ?? [])\n .map(event => {\n const id = getVertexId(event, options);\n\n const duration = event.preferredDuration;\n if (!duration) throw new Error(`(RS::To::fromEvents) Event \"${id}\" has no duration`);\n\n // allow duration variance only if the event isn't linked\n const maxDurationVariance = event.linkedEventsSet == null\n ? (event.durationVariance ?? event.course?.eventDurationVariance)\n : 0;\n\n const preferredTime = (() => {\n const centerOfAttraction = event.centerOfAttraction ?? event.course?.centerOfAttraction;\n if (!centerOfAttraction) return;\n return parseFloat(centerOfAttraction.replace(':', '.'));\n })()\n\n const period = (() => {\n const periodId = event.period ?? event.course?.period;\n if (!periodId) return;\n return getVertexId(periodId, options);\n })();\n\n const intervals = event.intervals ?? event.course?.intervals ?? defaultInterval;\n\n const doc: _Event = {\n id: idOf.event(event, options),\n duration: duration,\n maxDurationVariance: maxDurationVariance,\n weight: event.weight ?? event.course?.weight,\n density: event.density ?? event.course?.density,\n preferredTime: preferredTime,\n period: period,\n days: parseDayIndices (event.days ?? event.course?.days, settings),\n dependencies: parseLocationReferences (event.locations ?? event.course?.locations, options),\n groups: parseGroupReferences ({ type: 'event', item: event }, options),\n intervals: idOf.intervalPairReference(intervals, undefined, options),\n blockedTimes: (event.lockedTimes ?? event.course?.lockedTimes)?.map(x => idOf.lockedTime(x, options)),\n minBreakDuration: parseMinimumBreakLength (event.minBreakLength ?? event.course?.minBreakLength),\n distributionKey: event.course?.id,\n\n // temporary data\n course: event.course,\n };\n\n // if the event has a fixed day and start\n if (event.fixedStart && event.start) {\n Object.assign(doc, toDayAndStart(event.start));\n }\n\n if (options.includeEntityMeta) {\n doc.name = event.displayName ?? event.course?.displayName;\n }\n\n ////\n //// filter events based on partialScheduleOptions\n ////\n if (options.partialScheduleOptions) {\n const { includedEvents, omittedEventsHandling } = options.partialScheduleOptions;\n if (includedEvents && !includedEvents.has(doc.id)) { // collection.id => take into account dynamic locked times too!\n\n if (omittedEventsHandling == 'ignore') return;\n\n if (omittedEventsHandling == 'freeze') {\n // must not be parked and have a start and duration to be frozen, otherwise it's ignored\n if (event.parked || !event.start || !event.duration) return;\n\n // fix day, start and end\n Object.assign(doc, toDayAndStart(event.start));\n doc.duration = event.duration;\n doc.maxDurationVariance = 0;\n\n // override intervals and days to not cause conflicts\n const numDays = settings.numDays ?? 5;\n doc.days = Array.from({ length: numDays }, (_, i) => i);\n doc.intervals = Array.from({ length: numDays }, () => [{ start: 0, end: 24.00 }]);\n\n // fix locations\n doc.dependencies = (event.inLocations ?? [])\n .filter((x): x is NonNullable<typeof x> => !!x)\n .map(x => {\n const id = getVertexId(x, options);\n\n // filter location references based on partial schedule options\n const includedLocations = options.partialScheduleOptions?.includedLocations;\n if (includedLocations && !includedLocations.has(id)) return;\n\n return [{ dependency: id }] as Types.Shared.DependencyReference[];\n })\n .filter(x => x != null);\n }\n\n }\n }\n\n return omitBy(doc, x => x == null) as typeof doc;\n })\n .filter((x): x is NonNullable<typeof x> => !!x);\n\n const activities = makeChainable(events)\n .chain(x => x.filter((x): x is RequireProperties<typeof x, 'course'> => !!x.course))\n .chain(x => Object.entries(groupBy(x, x => getVertexId(x.course, options)))\n .map(([id, events]) => {\n const doc: Types.Entities.Activity = {\n id: id,\n events: events.map(x => x.id)\n };\n\n if (options.includeEntityMeta) {\n doc.name = events[0].course?.displayName;\n }\n\n return doc;\n })\n ).value;\n\n // remove temporary data from events\n const outEvents = events.map(x => omit(x, 'course' satisfies keyof typeof x));\n\n return {\n events: outEvents,\n activities\n };\n}"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { idOf } from "./util/util.mjs";
2
+ import { parseDayIndices } from "./util/parse-days.mjs";
3
+ import { parseMaxWorkingHours } from "./util/parse-max-working-hours.mjs";
4
+ import { getDefaultInterval } from "./intervals.mjs";
5
+ import { omitBy } from "lodash-es";
6
+
7
+ //#region src/RS/to/input/groups.ts
8
+ function fromGroups(groups, settings, options) {
9
+ const defaultInterval = getDefaultInterval(settings);
10
+ return groups.filter((group) => group.species == "class").map((group) => {
11
+ const intervals = group.intervals ?? defaultInterval;
12
+ const rootInterval = group.rootInterval ?? settings.defaultRootInterval;
13
+ const doc = {
14
+ id: idOf.group(group, options),
15
+ group_type: "classes",
16
+ weight: group.weight,
17
+ minimizeGaps: true,
18
+ minimizeDependencyAlternation: false,
19
+ intervals: idOf.intervalPairReference(intervals, rootInterval, options),
20
+ days: parseDayIndices(group.days, settings),
21
+ blockedTimes: group.lockedTimes?.map((x) => idOf.lockedTime(x, options)),
22
+ minBreakDuration: group.minBreakLength,
23
+ ...parseMaxWorkingHours(group)
24
+ };
25
+ if (options.includeEntityMeta) doc.name = group.displayName;
26
+ return omitBy(doc, (x) => x == null);
27
+ });
28
+ }
29
+
30
+ //#endregion
31
+ export { fromGroups };
32
+ //# sourceMappingURL=groups.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.mjs","names":[],"sources":["../../../../src/RS/to/input/groups.ts"],"sourcesContent":["import { omitBy } from 'lodash-es';\nimport type { Types } from '../../types';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { parseDayIndices } from './util/parse-days';\nimport { parseMaxWorkingHours } from './util/parse-max-working-hours';\nimport { idOf } from './util/util';\nimport { getDefaultInterval } from './intervals';\n\nexport function fromGroups (\n groups: ConnectedTypes.group[],\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions\n): Types.Entities.Group[] {\n const defaultInterval = getDefaultInterval(settings);\n\n return groups\n .filter(group => group.species == 'class')\n .map(group => {\n const intervals = group.intervals ?? defaultInterval;\n const rootInterval = group.rootInterval ?? settings.defaultRootInterval;\n\n const doc: Types.Entities.Group = {\n id: idOf.group(group, options),\n group_type: 'classes',\n weight: group.weight,\n minimizeGaps: true,\n minimizeDependencyAlternation: false,\n intervals: idOf.intervalPairReference(intervals, rootInterval, options),\n days: parseDayIndices(group.days, settings),\n blockedTimes: group.lockedTimes?.map(x => idOf.lockedTime(x, options)),\n minBreakDuration: group.minBreakLength,\n ...parseMaxWorkingHours(group),\n };\n\n if (options.includeEntityMeta) {\n doc.name = group.displayName;\n }\n\n return omitBy(doc, x => x == null) as Types.Entities.Group;\n });\n};\n"],"mappings":";;;;;;;AAQA,SAAgB,WACd,QACA,UACA,SACwB;CACxB,MAAM,kBAAkB,mBAAmB,SAAS;AAEpD,QAAO,OACJ,QAAO,UAAS,MAAM,WAAW,QAAQ,CACzC,KAAI,UAAS;EACZ,MAAM,YAAe,MAAM,aAAgB;EAC3C,MAAM,eAAe,MAAM,gBAAgB,SAAS;EAEpD,MAAM,MAA4B;GAChC,IAA+B,KAAK,MAAM,OAAO,QAAQ;GACzD,YAA+B;GAC/B,QAA+B,MAAM;GACrC,cAA+B;GAC/B,+BAA+B;GAC/B,WAA+B,KAAK,sBAAsB,WAAW,cAAc,QAAQ;GAC3F,MAA+B,gBAAgB,MAAM,MAAM,SAAS;GACpE,cAA+B,MAAM,aAAa,KAAI,MAAK,KAAK,WAAW,GAAG,QAAQ,CAAC;GACvF,kBAA+B,MAAM;GACrC,GAAG,qBAAqB,MAAM;GAC/B;AAED,MAAI,QAAQ,kBACV,KAAI,OAAO,MAAM;AAGnB,SAAO,OAAO,MAAK,MAAK,KAAK,KAAK;GAClC"}
@@ -0,0 +1,45 @@
1
+ import { getVertexId } from "../../../core/util.mjs";
2
+ import { makeChainable } from "../../../common/make-chainable/index.mjs";
3
+ import { idOf } from "./util/util.mjs";
4
+ import { omitBy, uniqBy } from "lodash-es";
5
+
6
+ //#region src/RS/to/input/individuals.ts
7
+ function fromPersonsToIndividuals(persons, options) {
8
+ return persons.map((person) => {
9
+ const doc = {
10
+ id: idOf.person(person, options),
11
+ group: person.group ? `groups.${getVertexId(person.group, options)}` : void 0
12
+ };
13
+ if (options.includeEntityMeta) doc.name = person.displayName;
14
+ return omitBy(doc, (x) => x == null);
15
+ });
16
+ }
17
+ function fromGroupToIndividualsSet(id, reference, options) {
18
+ const members = new Set(reference.to.members?.map((x) => getVertexId(x, options)));
19
+ const excluded = new Set(reference.exclude?.map((x) => getVertexId(x, options)));
20
+ const doc = {
21
+ id,
22
+ individuals: [...members.difference(excluded)].map((x) => idOf.person(x, options))
23
+ };
24
+ if (options.includeEntityMeta) doc.name = reference.to.displayName + (reference.exclude?.length ? ` (excl. ${reference.exclude.map((x) => x.displayName).join(", ")})` : "");
25
+ return doc;
26
+ }
27
+ function extractUniqueIndividuals(persons, courses, events, lockedTimes, options) {
28
+ const individuals = fromPersonsToIndividuals(persons, options);
29
+ const uniqueIndividualsSetsFromGroupReferences = makeChainable([
30
+ ...courses,
31
+ ...events,
32
+ ...lockedTimes
33
+ ]).chain((x) => x.map((item) => {
34
+ if ("groups" in item) return item.groups;
35
+ if ("coalesced" in item) return item.coalesced?.filter((x) => x.toModel == "groups");
36
+ }).flatMap((references) => (references ?? []).filter((x) => x.to.species != "class" || x.exclude?.length).map((x) => ({
37
+ id: idOf.groupReference(x, options),
38
+ value: x
39
+ }))), (x) => uniqBy(x, (x) => x.id).map((x) => fromGroupToIndividualsSet(x.id, x.value, options))).value;
40
+ return individuals.concat(uniqueIndividualsSetsFromGroupReferences);
41
+ }
42
+
43
+ //#endregion
44
+ export { extractUniqueIndividuals };
45
+ //# sourceMappingURL=individuals.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"individuals.mjs","names":[],"sources":["../../../../src/RS/to/input/individuals.ts"],"sourcesContent":["import { omitBy, uniqBy } from 'lodash-es';\nimport type { Types } from '../../types';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { getVertexId } from '../../../core/util';\nimport { idOf } from './util/util';\nimport { makeChainable } from '../../../common/make-chainable';\nimport type { GroupWithExclude } from '../../../core/interfaces/vertices/util/edges';\n\n\nfunction fromPersonsToIndividuals (\n persons: ConnectedTypes.person[],\n options: Types.parsedToOptions\n): Types.Entities.Individual[] {\n return persons.map(person => {\n const doc: Types.Entities.Individual = {\n id: idOf.person(person, options),\n group: person.group ? `groups.${ getVertexId(person.group, options) }` : undefined,\n };\n\n if (options.includeEntityMeta) {\n doc.name = person.displayName;\n }\n\n return omitBy(doc, x => x == null) as Types.Entities.Individual;\n });\n}\n\nfunction fromGroupToIndividualsSet (\n id: string,\n reference: GroupWithExclude.Util.Value<ConnectedTypes.group, ConnectedTypes.person>,\n options: Types.parsedToOptions\n): Types.Entities.IndividualsSet {\n const members = new Set(reference.to.members?.map(x => getVertexId(x, options)));\n const excluded = new Set(reference.exclude?.map(x => getVertexId(x, options)));\n const remaining = members.difference(excluded);\n\n const doc: Types.Entities.IndividualsSet = {\n id: id,\n individuals: [...remaining].map(x => idOf.person(x, options)),\n };\n\n if (options.includeEntityMeta) {\n doc.name = reference.to.displayName + (reference.exclude?.length ? ` (excl. ${ reference.exclude.map(x => x.displayName).join(', ') })` : '');\n }\n\n return doc;\n}\n\nexport function extractUniqueIndividuals (\n persons: ConnectedTypes.person[],\n courses: ConnectedTypes.course[],\n events: ConnectedTypes.event[],\n lockedTimes: ConnectedTypes.lockedTime[],\n options: Types.parsedToOptions\n): (Types.Entities.Individual | Types.Entities.IndividualsSet)[] {\n const individuals = fromPersonsToIndividuals(persons, options);\n\n const uniqueIndividualsSetsFromGroupReferences = makeChainable([...courses, ...events, ...lockedTimes])\n .chain(\n x => x\n .map((item): GroupWithExclude.Util.Value<ConnectedTypes.group, ConnectedTypes.person>[] | undefined => {\n if ('groups' in item) return item.groups; // we may ignore the parent groups as they are all plain group references\n if ('coalesced' in item) return item.coalesced\n ?.filter(x => x.toModel == 'groups');\n return;\n })\n .flatMap(references => (references ?? [])\n .filter(x => x.to.species != 'class' || x.exclude?.length) // if plain group reference we will use the group directly\n .map(x => ({ id: idOf.groupReference(x, options), value: x }))\n ),\n x => uniqBy(x, x => x.id)\n .map(x => fromGroupToIndividualsSet(x.id, x.value, options))\n )\n .value;\n\n return individuals.concat(uniqueIndividualsSetsFromGroupReferences);\n};\n"],"mappings":";;;;;;AASA,SAAS,yBACP,SACA,SAC6B;AAC7B,QAAO,QAAQ,KAAI,WAAU;EAC3B,MAAM,MAAiC;GACrC,IAAO,KAAK,OAAO,QAAQ,QAAQ;GACnC,OAAO,OAAO,QAAQ,UAAW,YAAY,OAAO,OAAO,QAAQ,KAAM;GAC1E;AAED,MAAI,QAAQ,kBACV,KAAI,OAAO,OAAO;AAGpB,SAAO,OAAO,MAAK,MAAK,KAAK,KAAK;GAClC;;AAGJ,SAAS,0BACP,IACA,WACA,SAC+B;CAC/B,MAAM,UAAY,IAAI,IAAI,UAAU,GAAG,SAAS,KAAI,MAAK,YAAY,GAAG,QAAQ,CAAC,CAAC;CAClF,MAAM,WAAY,IAAI,IAAI,UAAU,SAAS,KAAI,MAAK,YAAY,GAAG,QAAQ,CAAC,CAAC;CAG/E,MAAM,MAAqC;EAC5B;EACb,aAAa,CAAC,GAJE,QAAQ,WAAW,SAAS,CAIjB,CAAC,KAAI,MAAK,KAAK,OAAO,GAAG,QAAQ,CAAC;EAC9D;AAED,KAAI,QAAQ,kBACV,KAAI,OAAO,UAAU,GAAG,eAAe,UAAU,SAAS,SAAS,WAAY,UAAU,QAAQ,KAAI,MAAK,EAAE,YAAY,CAAC,KAAK,KAAK,CAAE,KAAK;AAG5I,QAAO;;AAGT,SAAgB,yBACd,SACA,SACA,QACA,aACA,SAC+D;CAC/D,MAAM,cAAc,yBAAyB,SAAS,QAAQ;CAE9D,MAAM,2CAA2C,cAAc;EAAC,GAAG;EAAS,GAAG;EAAQ,GAAG;EAAY,CAAC,CACpG,OACC,MAAK,EACF,KAAK,SAAiG;AACrG,MAAI,YAAe,KAAM,QAAO,KAAK;AACrC,MAAI,eAAe,KAAM,QAAO,KAAK,WACjC,QAAO,MAAK,EAAE,WAAW,SAAS;GAEtC,CACD,SAAQ,gBAAe,cAAc,EAAE,EACrC,QAAO,MAAK,EAAE,GAAG,WAAW,WAAW,EAAE,SAAS,OAAO,CACzD,KAAI,OAAM;EAAE,IAAI,KAAK,eAAe,GAAG,QAAQ;EAAE,OAAO;EAAG,EAAE,CAC/D,GACH,MAAK,OAAO,IAAG,MAAK,EAAE,GAAG,CACtB,KAAI,MAAK,0BAA0B,EAAE,IAAI,EAAE,OAAO,QAAQ,CAAC,CAC/D,CACA;AAEH,QAAO,YAAY,OAAO,yCAAyC"}
@@ -0,0 +1,59 @@
1
+ import { fromLocations } from "./dependencies.mjs";
2
+ import { extractUniqueIntervals } from "./intervals.mjs";
3
+ import { fromTeachers } from "./teachers.mjs";
4
+ import { fromEvents } from "./events.mjs";
5
+ import { parseSettings } from "./settings.mjs";
6
+ import { parseDefault } from "./default.mjs";
7
+ import { fromLockedTimes } from "./locked-times.mjs";
8
+ import { parsePeriods } from "./periods.mjs";
9
+ import { fromGroups } from "./groups.mjs";
10
+ import { extractUniqueIndividuals } from "./individuals.mjs";
11
+ import { fromLinkedEventsSets } from "./linked-events-sets.mjs";
12
+
13
+ //#region src/RS/to/input/input.ts
14
+ function parseInput(data, options = {}) {
15
+ const _settings = data.settings;
16
+ const _division = data.division;
17
+ const _groups = data.groups ?? [];
18
+ const _teachers = data.teachers ?? [];
19
+ const _locations = data.locations ?? [];
20
+ const _events = data.events ?? [];
21
+ const _lockedTimes = data.lockedTimes ?? [];
22
+ const _courses = data.courses ?? [];
23
+ const _persons = data.persons ?? [];
24
+ const _periods = data.periods ?? [];
25
+ const _linkedEventsSets = data.linkedEventsSets ?? [];
26
+ [
27
+ _groups,
28
+ _teachers,
29
+ _courses,
30
+ _events,
31
+ _lockedTimes
32
+ ].forEach((entities) => {
33
+ entities.forEach((entity) => {
34
+ if (entity.intervals && entity.intervals.length == 0) entity.intervals = void 0;
35
+ else if (entity.intervals === null) entity.intervals = void 0;
36
+ });
37
+ });
38
+ const _fromEvents = fromEvents(_events, _settings, options);
39
+ const _fromLockedTimes = fromLockedTimes(_lockedTimes, _settings, options);
40
+ const linkedEvents = fromLinkedEventsSets(_linkedEventsSets, _settings, new Set(_fromEvents.events.map((x) => x.id)), options);
41
+ return {
42
+ settings: parseSettings(_settings),
43
+ default: parseDefault(_settings, options),
44
+ periods: parsePeriods(_periods, _division, options),
45
+ intervals: extractUniqueIntervals(_settings, _groups, _teachers, _courses, _events, _lockedTimes, options),
46
+ dependencies: fromLocations(_locations, _settings, options),
47
+ groups: [...fromGroups(_groups, _settings, options), ...fromTeachers(_teachers, _settings, options)],
48
+ individuals: extractUniqueIndividuals(_persons, _courses, _events, _lockedTimes, options),
49
+ blockedTimes: _fromLockedTimes.blockedTimes,
50
+ events: [..._fromEvents.events, ..._fromLockedTimes.events],
51
+ activities: [..._fromEvents.activities, ..._fromLockedTimes.activities],
52
+ linkedEvents,
53
+ unitableEvents: []
54
+ };
55
+ }
56
+
57
+ //#endregion
58
+ export { parseInput };
59
+ //# sourceMappingURL=input.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.mjs","names":[],"sources":["../../../../src/RS/to/input/input.ts"],"sourcesContent":["import type { Types } from '../../types';\nimport type { ConnectedScheduleData } from '../../make-connected';\nimport { fromLocations } from './dependencies';\nimport { fromTeachers } from './teachers';\nimport { fromEvents } from './events';\nimport { parseSettings } from './settings';\nimport { parseDefault } from './default';\nimport { fromLockedTimes } from './locked-times';\nimport { parsePeriods } from './periods';\nimport { fromGroups } from './groups';\nimport { extractUniqueIntervals } from './intervals';\nimport { extractUniqueIndividuals } from './individuals';\nimport { fromLinkedEventsSets } from './linked-events-sets';\n\nexport function parseInput (\n data: ConnectedScheduleData,\n options: Types.parsedToOptions = {}\n): Types.scheduleData {\n\n const _settings = data.settings;\n const _division = data.division;\n const _groups = data.groups ?? [];\n const _teachers = data.teachers ?? [];\n const _locations = data.locations ?? [];\n const _events = data.events ?? [];\n const _lockedTimes = data.lockedTimes ?? [];\n const _courses = data.courses ?? [];\n const _persons = data.persons ?? [];\n const _periods = data.periods ?? [];\n const _linkedEventsSets = data.linkedEventsSets ?? [];\n\n\n ////\n //// replace empty/null intervals with undefined\n ////\n [_groups, _teachers, /* _locations, */ _courses, _events, _lockedTimes].forEach(entities => {\n entities.forEach(entity => {\n if (entity.intervals && entity.intervals.length == 0) entity.intervals = undefined;\n else if (entity.intervals === null ) entity.intervals = undefined;\n });\n });\n\n const _fromEvents = fromEvents (_events, _settings, options);\n const _fromLockedTimes = fromLockedTimes(_lockedTimes, _settings, options);\n\n const presentEventIds = new Set(_fromEvents.events.map(x => x.id));\n\n const linkedEvents = fromLinkedEventsSets(_linkedEventsSets, _settings, presentEventIds, options);\n\n const out: Types.scheduleData = {\n settings: parseSettings(_settings),\n default: parseDefault (_settings, options),\n\n periods: parsePeriods(_periods, _division, options),\n intervals: extractUniqueIntervals(_settings, _groups, _teachers, _courses, _events, _lockedTimes, options),\n\n dependencies: fromLocations(_locations, _settings, options),\n\n groups: [\n ...fromGroups (_groups, _settings, options),\n ...fromTeachers(_teachers, _settings, options)\n ],\n\n individuals: extractUniqueIndividuals(_persons, _courses, _events, _lockedTimes, options),\n\n blockedTimes: _fromLockedTimes.blockedTimes,\n\n events: [\n ..._fromEvents.events,\n ..._fromLockedTimes.events\n ],\n\n activities: [\n ..._fromEvents.activities,\n ..._fromLockedTimes.activities\n ],\n\n linkedEvents: linkedEvents,\n\n unitableEvents: [],\n };\n return out;\n};"],"mappings":";;;;;;;;;;;;;AAcA,SAAgB,WACd,MACA,UAAiC,EAAE,EACf;CAEpB,MAAM,YAAoB,KAAK;CAC/B,MAAM,YAAoB,KAAK;CAC/B,MAAM,UAAoB,KAAK,UAAoB,EAAE;CACrD,MAAM,YAAoB,KAAK,YAAoB,EAAE;CACrD,MAAM,aAAoB,KAAK,aAAoB,EAAE;CACrD,MAAM,UAAoB,KAAK,UAAoB,EAAE;CACrD,MAAM,eAAoB,KAAK,eAAoB,EAAE;CACrD,MAAM,WAAoB,KAAK,WAAoB,EAAE;CACrD,MAAM,WAAoB,KAAK,WAAoB,EAAE;CACrD,MAAM,WAAoB,KAAK,WAAoB,EAAE;CACrD,MAAM,oBAAoB,KAAK,oBAAoB,EAAE;AAMrD;EAAC;EAAS;EAA6B;EAAU;EAAS;EAAa,CAAC,SAAQ,aAAY;AAC1F,WAAS,SAAQ,WAAU;AACzB,OAAS,OAAO,aAAa,OAAO,UAAU,UAAU,EAAG,QAAO,YAAY;YACrE,OAAO,cAAc,KAA6B,QAAO,YAAY;IAC9E;GACF;CAEF,MAAM,cAAmB,WAAgB,SAAc,WAAW,QAAQ;CAC1E,MAAM,mBAAmB,gBAAgB,cAAc,WAAW,QAAQ;CAI1E,MAAM,eAAe,qBAAqB,mBAAmB,WAFrC,IAAI,IAAI,YAAY,OAAO,KAAI,MAAK,EAAE,GAAG,CAAC,EAEuB,QAAQ;AAkCjG,QAhCgC;EAC9B,UAAU,cAAc,UAAU;EAClC,SAAU,aAAc,WAAW,QAAQ;EAE3C,SAAW,aAAa,UAAU,WAAW,QAAQ;EACrD,WAAW,uBAAuB,WAAW,SAAS,WAAW,UAAU,SAAS,cAAc,QAAQ;EAE1G,cAAc,cAAc,YAAY,WAAW,QAAQ;EAE3D,QAAQ,CACN,GAAG,WAAa,SAAS,WAAW,QAAQ,EAC5C,GAAG,aAAa,WAAW,WAAW,QAAQ,CAC/C;EAED,aAAa,yBAAyB,UAAU,UAAU,SAAS,cAAc,QAAQ;EAEzF,cAAc,iBAAiB;EAE/B,QAAQ,CACN,GAAG,YAAY,QACf,GAAG,iBAAiB,OACrB;EAED,YAAY,CACV,GAAG,YAAY,YACf,GAAG,iBAAiB,WACrB;EAEa;EAEd,gBAAgB,EAAE;EACnB"}
@@ -0,0 +1,129 @@
1
+ import { getDayIndex } from "../../../core/util.mjs";
2
+ import { makeChainable } from "../../../common/make-chainable/index.mjs";
3
+ import { idOf } from "./util/util.mjs";
4
+ import { groupBy, uniqBy } from "lodash-es";
5
+ import moment from "moment";
6
+
7
+ //#region src/RS/to/input/intervals.ts
8
+ /**
9
+ * Parses a date input into a moment object.
10
+ *
11
+ * Accepts an ISO date string, a string in 'HH:mm' format, or a DateType.
12
+ * - If the input is in 'HH:mm' format, it is parsed as a UTC time on the epoch date.
13
+ * - Otherwise, the input is parsed as a full UTC date.
14
+ *
15
+ * @param date - The date input to parse.
16
+ * @returns A moment object representing the parsed date and time.
17
+ */
18
+ function parseIntervalDate(date) {
19
+ if (typeof date == "string") {
20
+ if (/^\d{1,2}:\d{2}$/.test(date)) return moment.utc(date, "HH:mm");
21
+ return moment.utc(date);
22
+ }
23
+ return moment.utc(date);
24
+ }
25
+ /**
26
+ * Removes the shorthand notation (a single day to represent all days)
27
+ */
28
+ function standardizeIntervals(intervals, settings) {
29
+ if (intervals?.length == 1) {
30
+ const i = intervals[0];
31
+ const start = parseIntervalDate(i.start);
32
+ const end = parseIntervalDate(i.end);
33
+ return Array.from({ length: settings.numDays }, () => ({
34
+ start: start.clone(),
35
+ end: end.clone()
36
+ }));
37
+ }
38
+ return intervals;
39
+ }
40
+ /**
41
+ * Converts the intervals to float type intervals
42
+ */
43
+ function toFloatIntervals(intervals) {
44
+ return intervals?.map((i, day) => {
45
+ if (!i.start || !i.end) throw new Error(`(RS::To::toFloatIntervals) Interval missing start or end for day ${day}: ${JSON.stringify(i)}`);
46
+ return {
47
+ start: parseFloat(parseIntervalDate(i.start).format("HH.mm")),
48
+ end: parseFloat(parseIntervalDate(i.end).format("HH.mm"))
49
+ };
50
+ });
51
+ }
52
+ /**
53
+ * Converts
54
+ */
55
+ function combineAndMapIntervals(_intervals, rootInterval, settings) {
56
+ const intervals = toFloatIntervals(standardizeIntervals(_intervals, settings));
57
+ if (rootInterval) {
58
+ if (!intervals) throw new Error("(RS::To::combineAndMapIntervals) no accompanying intervals for rootInterval");
59
+ return makeChainable(rootInterval.intervals).chain((x) => groupBy(x, (i) => getDayIndex(i.start)), (x) => Object.entries(x).map(([day, is]) => {
60
+ const limits = intervals.at(parseInt(day));
61
+ if (!limits) throw new Error(`(RS::To::combineAndMapIntervals) Day ${day} not found in dayStartAndEnds`);
62
+ return is.map((i) => ({
63
+ start: parseFloat(parseIntervalDate(i.start).format("HH.mm")),
64
+ end: parseFloat(parseIntervalDate(i.end).format("HH.mm")),
65
+ binary: true
66
+ })).filter((i) => i.start >= limits.start && i.end <= limits.end);
67
+ }).reduce((acc, curr, index) => {
68
+ acc[index] = curr;
69
+ return acc;
70
+ }, Array.from({ length: settings.numDays }, () => []))).value;
71
+ }
72
+ if (intervals) return intervals.map((i) => [i]);
73
+ }
74
+ /**
75
+ * extracts the default interval given the division settings
76
+ */
77
+ function getDefaultInterval(settings) {
78
+ const { dayStart, dayEnd } = settings;
79
+ if (!dayStart) throw new Error("(RS::To::getDefaultInterval) \"settings.dayStart\" is falsy");
80
+ if (!dayEnd) throw new Error("(RS::To::getDefaultInterval) \"settings.dayEnd\" is falsy");
81
+ return [{
82
+ start: dayStart,
83
+ end: dayEnd
84
+ }];
85
+ }
86
+ /**
87
+ * Computes the default interval id given the division settings
88
+ */
89
+ function computesDefaultIntervalId(settings, options) {
90
+ return idOf.intervalPairReference(getDefaultInterval(settings), void 0, options);
91
+ }
92
+ /**
93
+ * Extracts all unique intervals and interval-root interval pairs used by the provided entities
94
+ */
95
+ function extractUniqueIntervals(settings, groups, teachers, courses, events, lockedTimes, options) {
96
+ const defaultInterval = getDefaultInterval(settings);
97
+ const withRootIntervals = [...groups, ...teachers].map((item) => {
98
+ const intervals = item.intervals ?? defaultInterval;
99
+ const rootInterval = item.rootInterval ?? settings.defaultRootInterval;
100
+ return {
101
+ id: idOf.intervalPairReference(intervals, rootInterval, options),
102
+ data: [intervals, rootInterval]
103
+ };
104
+ });
105
+ const withoutRootIntervals = [
106
+ { intervals: defaultInterval },
107
+ ...courses,
108
+ ...events,
109
+ ...lockedTimes
110
+ ].map((item) => {
111
+ const interval = item.intervals ?? ("course" in item ? item.course?.intervals : void 0) ?? defaultInterval;
112
+ return {
113
+ id: idOf.intervalPairReference(interval, void 0, options),
114
+ data: [interval, void 0]
115
+ };
116
+ });
117
+ return makeChainable(withRootIntervals).chain((x) => x.concat(withoutRootIntervals), (x) => uniqBy(x, (x) => x.id), (x) => x.map(({ id, data: [_intervals, rootInterval] }) => {
118
+ const value = combineAndMapIntervals(_intervals, rootInterval, settings);
119
+ if (!value) return;
120
+ return {
121
+ id,
122
+ value
123
+ };
124
+ }).filter((x) => x != null)).value;
125
+ }
126
+
127
+ //#endregion
128
+ export { computesDefaultIntervalId, extractUniqueIntervals, getDefaultInterval };
129
+ //# sourceMappingURL=intervals.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intervals.mjs","names":[],"sources":["../../../../src/RS/to/input/intervals.ts"],"sourcesContent":["import moment from 'moment';\nimport { groupBy, uniqBy } from 'lodash-es';\nimport type { Types } from '../../types';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { idOf } from './util/util';\nimport { getDayIndex } from '../../../core/util';\nimport type { DateType } from '../../../common/types';\nimport { makeChainable } from '../../../common/make-chainable';\nimport type { Interval } from '../../../core/interfaces';\n\n/**\n * Parses a date input into a moment object.\n *\n * Accepts an ISO date string, a string in 'HH:mm' format, or a DateType.\n * - If the input is in 'HH:mm' format, it is parsed as a UTC time on the epoch date.\n * - Otherwise, the input is parsed as a full UTC date.\n *\n * @param date - The date input to parse.\n * @returns A moment object representing the parsed date and time.\n */\nexport function parseIntervalDate (date: string | DateType): moment.Moment {\n if (typeof date == 'string') {\n // in case of HH:mm format, parse as UTC time on epoch date\n if (/^\\d{1,2}:\\d{2}$/.test(date)) {\n return moment.utc(date, 'HH:mm');\n }\n\n // otherwise parse as full date\n return moment.utc(date);\n }\n\n return moment.utc(date);\n}\n\n/**\n * Removes the shorthand notation (a single day to represent all days)\n */\nfunction standardizeIntervals (\n intervals: Interval[] | undefined,\n settings: ConnectedTypes.divisionSettings\n): Interval[] | undefined {\n if (intervals?.length == 1) {\n const i = intervals[0];\n const start = parseIntervalDate(i.start);\n const end = parseIntervalDate(i.end );\n return Array.from({ length: settings.numDays }, () => ({ start: start.clone(), end: end.clone() }));\n }\n\n return intervals;\n}\n\n/**\n * Converts the intervals to float type intervals\n */\nfunction toFloatIntervals (\n intervals: Interval[] | undefined\n): { start: number, end: number }[] | undefined {\n return intervals?.map((i, day: number) => {\n if (!i.start || !i.end) throw new Error(`(RS::To::toFloatIntervals) Interval missing start or end for day ${day}: ${JSON.stringify(i)}`);\n const start = parseFloat(parseIntervalDate(i.start).format('HH.mm'));\n const end = parseFloat(parseIntervalDate(i.end ).format('HH.mm'));\n return { start, end };\n });\n}\n\n/**\n * Converts\n */\nfunction combineAndMapIntervals (\n _intervals: Interval[] | undefined,\n rootInterval: ConnectedTypes.rootInterval | undefined,\n settings: ConnectedTypes.divisionSettings\n): Types.Shared.Interval[][] | undefined {\n const intervals = toFloatIntervals(standardizeIntervals(_intervals, settings));\n\n if (rootInterval) {\n if (!intervals) throw new Error('(RS::To::combineAndMapIntervals) no accompanying intervals for rootInterval');\n return makeChainable(rootInterval.intervals)\n .chain(\n x => groupBy(x, i => getDayIndex(i.start)),\n x => Object.entries(x)\n .map(([day, is]) => {\n const limits = intervals.at(parseInt(day));\n if (!limits) throw new Error(`(RS::To::combineAndMapIntervals) Day ${day} not found in dayStartAndEnds`);\n\n // remove all block intervals that lay outside the day start and end\n return is\n .map(i => ({\n start: parseFloat(parseIntervalDate(i.start).format('HH.mm')),\n end: parseFloat(parseIntervalDate(i.end ).format('HH.mm')),\n binary: true\n } satisfies Types.Shared.Interval))\n .filter(i => i.start >= limits.start && i.end <= limits.end);\n })\n // ensure that all days are represented, even if empty\n .reduce<Types.Shared.Interval[][]>((acc, curr, index) => {\n acc[index] = curr;\n return acc;\n }, Array.from({ length: settings.numDays }, () => []))\n )\n .value;\n }\n if (intervals) {\n return intervals.map(i => [i]);\n }\n return;\n};\n\n/**\n * extracts the default interval given the division settings\n */\nexport function getDefaultInterval (settings: ConnectedTypes.divisionSettings): Interval[] {\n const { dayStart, dayEnd } = settings;\n if (!dayStart) throw new Error('(RS::To::getDefaultInterval) \"settings.dayStart\" is falsy');\n if (!dayEnd ) throw new Error('(RS::To::getDefaultInterval) \"settings.dayEnd\" is falsy');\n return [{ start: dayStart, end: dayEnd }];\n}\n\n/**\n * Computes the default interval id given the division settings\n */\nexport function computesDefaultIntervalId (\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions\n): string {\n return idOf.intervalPairReference(getDefaultInterval(settings), undefined, options);\n}\n\n/**\n * Extracts all unique intervals and interval-root interval pairs used by the provided entities\n */\nexport function extractUniqueIntervals (\n settings: ConnectedTypes.divisionSettings,\n groups: ConnectedTypes.group[],\n teachers: ConnectedTypes.teacher[],\n courses: ConnectedTypes.course[],\n events: ConnectedTypes.event[],\n lockedTimes: ConnectedTypes.lockedTime[],\n options: Types.parsedToOptions\n): Types.Entities.Interval[] {\n const defaultInterval = getDefaultInterval(settings);\n\n type InheritedWithId = { id: string, data: [Interval<DateType>[] | undefined, ConnectedTypes.rootInterval | undefined] };\n\n const withRootIntervals = [...groups, ...teachers]\n .map((item): InheritedWithId => {\n const intervals = item.intervals ?? defaultInterval;\n const rootInterval = item.rootInterval ?? settings.defaultRootInterval;\n\n return {\n id: idOf.intervalPairReference(intervals, rootInterval, options),\n data: [intervals, rootInterval]\n };\n });\n\n const withoutRootIntervals = [{ intervals: defaultInterval }, ...courses, ...events, ...lockedTimes]\n .map((item): InheritedWithId => {\n const interval = item.intervals ?? ('course' in item ? item.course?.intervals : undefined) ?? defaultInterval;\n\n return {\n id: idOf.intervalPairReference(interval, undefined, options),\n data: [interval, undefined]\n };\n });\n\n return makeChainable(withRootIntervals)\n .chain(\n x => x.concat(withoutRootIntervals),\n x => uniqBy(x, x => x.id),\n x => x\n .map(({ id, data: [_intervals, rootInterval] }) => {\n // compute the corresponding root interval for each interval pair\n const value = combineAndMapIntervals(_intervals, rootInterval, settings);\n if (!value) return;\n return { id, value } as Required<Types.Entities.Interval>;\n })\n .filter(x => x != null)\n )\n .value;\n};\n"],"mappings":"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"}