@royalschedule/maps 4.1.0-beta.0 → 4.1.2-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 (1218) hide show
  1. package/dist/Additio/from/courses.js +28 -0
  2. package/dist/Additio/from/courses.js.map +1 -0
  3. package/dist/Additio/from/events.js +61 -0
  4. package/dist/Additio/from/events.js.map +1 -0
  5. package/dist/Additio/from/groups.js +14 -0
  6. package/dist/Additio/from/groups.js.map +1 -0
  7. package/dist/Additio/from/index.js +8 -0
  8. package/dist/Additio/from/index.js.map +1 -0
  9. package/dist/Additio/from/locations.js +13 -0
  10. package/dist/Additio/from/locations.js.map +1 -0
  11. package/dist/Additio/from/persons.js +30 -0
  12. package/dist/Additio/from/persons.js.map +1 -0
  13. package/dist/Additio/from/schedules.d.ts +38 -0
  14. package/dist/Additio/from/schedules.js +36 -0
  15. package/dist/Additio/from/schedules.js.map +1 -0
  16. package/dist/Additio/from/teachers.js +25 -0
  17. package/dist/Additio/from/teachers.js.map +1 -0
  18. package/dist/Additio/index.d.ts +14 -0
  19. package/dist/Additio/index.js +12 -0
  20. package/dist/Additio/index.js.map +1 -0
  21. package/dist/Additio/to/index.d.ts +21 -0
  22. package/dist/Additio/to/index.js +10 -0
  23. package/dist/Additio/to/index.js.map +1 -0
  24. package/dist/Additio/to/schedules.js +111 -0
  25. package/dist/Additio/to/schedules.js.map +1 -0
  26. package/dist/Additio/types/course-sections.d.ts +20 -0
  27. package/dist/Additio/types/courses.d.ts +17 -0
  28. package/dist/Additio/types/index.d.ts +27 -0
  29. package/dist/Additio/types/lessons.d.ts +27 -0
  30. package/dist/Additio/types/options.d.ts +16 -0
  31. package/dist/Additio/types/primary-groups.d.ts +30 -0
  32. package/dist/Additio/types/rooms.d.ts +12 -0
  33. package/dist/Additio/types/schedule-groups.d.ts +23 -0
  34. package/dist/Additio/types/schedules.d.ts +27 -0
  35. package/dist/Additio/types/schools.d.ts +11 -0
  36. package/dist/Additio/types/users.d.ts +20 -0
  37. package/dist/Admentum/from/courses.js +32 -0
  38. package/dist/Admentum/from/courses.js.map +1 -0
  39. package/dist/Admentum/from/events.js +62 -0
  40. package/dist/Admentum/from/events.js.map +1 -0
  41. package/dist/Admentum/from/groups.js +14 -0
  42. package/dist/Admentum/from/groups.js.map +1 -0
  43. package/dist/Admentum/from/index.js +8 -0
  44. package/dist/Admentum/from/index.js.map +1 -0
  45. package/dist/Admentum/from/locations.js +13 -0
  46. package/dist/Admentum/from/locations.js.map +1 -0
  47. package/dist/Admentum/from/persons.js +30 -0
  48. package/dist/Admentum/from/persons.js.map +1 -0
  49. package/dist/Admentum/from/schedules.d.ts +38 -0
  50. package/dist/Admentum/from/schedules.js +37 -0
  51. package/dist/Admentum/from/schedules.js.map +1 -0
  52. package/dist/Admentum/from/teachers.js +25 -0
  53. package/dist/Admentum/from/teachers.js.map +1 -0
  54. package/dist/Admentum/index.d.ts +14 -0
  55. package/dist/Admentum/index.js +12 -0
  56. package/dist/Admentum/index.js.map +1 -0
  57. package/dist/Admentum/to/index.d.ts +19 -0
  58. package/dist/Admentum/to/index.js +10 -0
  59. package/dist/Admentum/to/index.js.map +1 -0
  60. package/dist/Admentum/to/schedules.js +94 -0
  61. package/dist/Admentum/to/schedules.js.map +1 -0
  62. package/dist/Admentum/types/course-sections.d.ts +20 -0
  63. package/dist/Admentum/types/courses.d.ts +17 -0
  64. package/dist/Admentum/types/index.d.ts +25 -0
  65. package/dist/Admentum/types/lessons.d.ts +27 -0
  66. package/dist/Admentum/types/primary-groups.d.ts +30 -0
  67. package/dist/Admentum/types/rooms.d.ts +12 -0
  68. package/dist/Admentum/types/schedule-groups.d.ts +23 -0
  69. package/dist/Admentum/types/schedules.d.ts +27 -0
  70. package/dist/Admentum/types/schools.d.ts +11 -0
  71. package/dist/Admentum/types/users.d.ts +20 -0
  72. package/dist/Excel/index.d.ts +306 -0
  73. package/dist/Excel/index.js +13 -0
  74. package/dist/Excel/index.js.map +1 -0
  75. package/dist/Excel/v1/from/index.js +289 -0
  76. package/dist/Excel/v1/from/index.js.map +1 -0
  77. package/dist/Excel/v1/index.d.ts +239 -0
  78. package/dist/Excel/v1/index.js +10 -0
  79. package/dist/Excel/v1/index.js.map +1 -0
  80. package/dist/Excel/v1/types/index.d.ts +44 -0
  81. package/dist/Excel/v2/from/index.js +537 -0
  82. package/dist/Excel/v2/from/index.js.map +1 -0
  83. package/dist/Excel/v2/index.d.ts +301 -0
  84. package/dist/Excel/v2/index.js +10 -0
  85. package/dist/Excel/v2/index.js.map +1 -0
  86. package/dist/Excel/v2/types/index.d.ts +70 -0
  87. package/dist/IdunSoft/from/courses.js +16 -0
  88. package/dist/IdunSoft/from/courses.js.map +1 -0
  89. package/dist/IdunSoft/from/events.js +59 -0
  90. package/dist/IdunSoft/from/events.js.map +1 -0
  91. package/dist/IdunSoft/from/groups.js +17 -0
  92. package/dist/IdunSoft/from/groups.js.map +1 -0
  93. package/dist/IdunSoft/from/index.js +8 -0
  94. package/dist/IdunSoft/from/index.js.map +1 -0
  95. package/dist/IdunSoft/from/locations.js +16 -0
  96. package/dist/IdunSoft/from/locations.js.map +1 -0
  97. package/dist/IdunSoft/from/schedules.d.ts +23 -0
  98. package/dist/IdunSoft/from/schedules.js +20 -0
  99. package/dist/IdunSoft/from/schedules.js.map +1 -0
  100. package/dist/IdunSoft/from/teachers.js +16 -0
  101. package/dist/IdunSoft/from/teachers.js.map +1 -0
  102. package/dist/IdunSoft/index.d.ts +14 -0
  103. package/dist/IdunSoft/index.js +12 -0
  104. package/dist/IdunSoft/index.js.map +1 -0
  105. package/dist/IdunSoft/to/index.d.ts +9 -0
  106. package/dist/IdunSoft/to/index.js +10 -0
  107. package/dist/IdunSoft/to/index.js.map +1 -0
  108. package/dist/IdunSoft/to/schedules.js +58 -0
  109. package/dist/IdunSoft/to/schedules.js.map +1 -0
  110. package/dist/IdunSoft/types/courses.d.ts +8 -0
  111. package/dist/IdunSoft/types/events.d.ts +26 -0
  112. package/dist/IdunSoft/types/groups.d.ts +8 -0
  113. package/dist/IdunSoft/types/index.d.ts +20 -0
  114. package/dist/IdunSoft/types/locations.d.ts +8 -0
  115. package/dist/IdunSoft/types/schedules.d.ts +17 -0
  116. package/dist/IdunSoft/types/teachers.d.ts +8 -0
  117. package/dist/InfoMentor/index.d.ts +10 -0
  118. package/dist/InfoMentor/index.js +10 -0
  119. package/dist/InfoMentor/index.js.map +1 -0
  120. package/dist/InfoMentor/to/index.d.ts +9 -0
  121. package/dist/InfoMentor/to/index.js +10 -0
  122. package/dist/InfoMentor/to/index.js.map +1 -0
  123. package/dist/InfoMentor/to/schedules.js +58 -0
  124. package/dist/InfoMentor/to/schedules.js.map +1 -0
  125. package/dist/InfoMentor/types/events.d.ts +13 -0
  126. package/dist/InfoMentor/types/index.d.ts +9 -0
  127. package/dist/PlanDigital/from/index.js +8 -0
  128. package/dist/PlanDigital/from/index.js.map +1 -0
  129. package/dist/PlanDigital/from/schedules.js +72 -0
  130. package/dist/PlanDigital/from/schedules.js.map +1 -0
  131. package/dist/PlanDigital/index.d.ts +128 -0
  132. package/dist/PlanDigital/index.js +10 -0
  133. package/dist/PlanDigital/index.js.map +1 -0
  134. package/dist/PlanDigital/types/index.d.ts +34 -0
  135. package/dist/Quiculum/file/index.d.ts +9 -0
  136. package/dist/Quiculum/file/index.js +10 -0
  137. package/dist/Quiculum/file/index.js.map +1 -0
  138. package/dist/Quiculum/file/to/index.d.ts +20 -0
  139. package/dist/Quiculum/file/to/index.js +10 -0
  140. package/dist/Quiculum/file/to/index.js.map +1 -0
  141. package/dist/Quiculum/file/to/schedules.js +91 -0
  142. package/dist/Quiculum/file/to/schedules.js.map +1 -0
  143. package/dist/Quiculum/index.d.ts +11 -0
  144. package/dist/Quiculum/index.js +11 -0
  145. package/dist/Quiculum/index.js.map +1 -0
  146. package/dist/RS/from/division.d.ts +7 -0
  147. package/dist/RS/from/division.js +18 -0
  148. package/dist/RS/from/division.js.map +1 -0
  149. package/dist/RS/from/index.js +12 -0
  150. package/dist/RS/from/index.js.map +1 -0
  151. package/dist/RS/from/schedules.d.ts +8 -0
  152. package/dist/RS/from/schedules.js +37 -0
  153. package/dist/RS/from/schedules.js.map +1 -0
  154. package/dist/RS/index.d.ts +18 -0
  155. package/dist/RS/index.js +12 -0
  156. package/dist/RS/index.js.map +1 -0
  157. package/dist/RS/make-connected.d.ts +23 -0
  158. package/dist/RS/make-connected.js +216 -0
  159. package/dist/RS/make-connected.js.map +1 -0
  160. package/dist/RS/to/index.js +8 -0
  161. package/dist/RS/to/index.js.map +1 -0
  162. package/dist/RS/to/initial-configuration.js +43 -0
  163. package/dist/RS/to/initial-configuration.js.map +1 -0
  164. package/dist/RS/to/input/default.js +29 -0
  165. package/dist/RS/to/input/default.js.map +1 -0
  166. package/dist/RS/to/input/dependencies.js +32 -0
  167. package/dist/RS/to/input/dependencies.js.map +1 -0
  168. package/dist/RS/to/input/events.js +102 -0
  169. package/dist/RS/to/input/events.js.map +1 -0
  170. package/dist/RS/to/input/groups.js +32 -0
  171. package/dist/RS/to/input/groups.js.map +1 -0
  172. package/dist/RS/to/input/individuals.js +46 -0
  173. package/dist/RS/to/input/individuals.js.map +1 -0
  174. package/dist/RS/to/input/input.js +61 -0
  175. package/dist/RS/to/input/input.js.map +1 -0
  176. package/dist/RS/to/input/intervals.js +131 -0
  177. package/dist/RS/to/input/intervals.js.map +1 -0
  178. package/dist/RS/to/input/linked-events-sets.js +96 -0
  179. package/dist/RS/to/input/linked-events-sets.js.map +1 -0
  180. package/dist/RS/to/input/locked-times.js +91 -0
  181. package/dist/RS/to/input/locked-times.js.map +1 -0
  182. package/dist/RS/to/input/periods.js +58 -0
  183. package/dist/RS/to/input/periods.js.map +1 -0
  184. package/dist/RS/to/input/settings.js +13 -0
  185. package/dist/RS/to/input/settings.js.map +1 -0
  186. package/dist/RS/to/input/teachers.js +32 -0
  187. package/dist/RS/to/input/teachers.js.map +1 -0
  188. package/dist/RS/to/input/util/parse-days.js +10 -0
  189. package/dist/RS/to/input/util/parse-days.js.map +1 -0
  190. package/dist/RS/to/input/util/parse-group-references.js +50 -0
  191. package/dist/RS/to/input/util/parse-group-references.js.map +1 -0
  192. package/dist/RS/to/input/util/parse-location-references.js +24 -0
  193. package/dist/RS/to/input/util/parse-location-references.js.map +1 -0
  194. package/dist/RS/to/input/util/parse-max-working-hours.js +14 -0
  195. package/dist/RS/to/input/util/parse-max-working-hours.js.map +1 -0
  196. package/dist/RS/to/input/util/parse-minimum-break-length.js +19 -0
  197. package/dist/RS/to/input/util/parse-minimum-break-length.js.map +1 -0
  198. package/dist/RS/to/input/util/util.js +59 -0
  199. package/dist/RS/to/input/util/util.js.map +1 -0
  200. package/dist/RS/to/schedules.d.ts +7 -0
  201. package/dist/RS/to/schedules.js +51 -0
  202. package/dist/RS/to/schedules.js.map +1 -0
  203. package/dist/RS/types/algorithm-parameters.d.ts +17 -0
  204. package/dist/RS/types/configurations.d.ts +10 -0
  205. package/dist/RS/types/event-configuration.d.ts +20 -0
  206. package/dist/RS/types/index.d.ts +21 -0
  207. package/dist/RS/types/schedule-data.d.ts +20 -0
  208. package/dist/RS/types/to.d.ts +65 -0
  209. package/dist/RS/types/to.js +6 -0
  210. package/dist/RS/types/to.js.map +1 -0
  211. package/dist/SS12000/from/activities.js +36 -0
  212. package/dist/SS12000/from/activities.js.map +1 -0
  213. package/dist/SS12000/from/calendar-events.js +20 -0
  214. package/dist/SS12000/from/calendar-events.js.map +1 -0
  215. package/dist/SS12000/from/duties.js +31 -0
  216. package/dist/SS12000/from/duties.js.map +1 -0
  217. package/dist/SS12000/from/groups.js +23 -0
  218. package/dist/SS12000/from/groups.js.map +1 -0
  219. package/dist/SS12000/from/index.js +24 -0
  220. package/dist/SS12000/from/index.js.map +1 -0
  221. package/dist/SS12000/from/persons.js +43 -0
  222. package/dist/SS12000/from/persons.js.map +1 -0
  223. package/dist/SS12000/from/resources.js +9 -0
  224. package/dist/SS12000/from/resources.js.map +1 -0
  225. package/dist/SS12000/from/rooms.js +18 -0
  226. package/dist/SS12000/from/rooms.js.map +1 -0
  227. package/dist/SS12000/from/syllabuses.js +21 -0
  228. package/dist/SS12000/from/syllabuses.js.map +1 -0
  229. package/dist/SS12000/index.d.ts +36 -0
  230. package/dist/SS12000/index.js +12 -0
  231. package/dist/SS12000/index.js.map +1 -0
  232. package/dist/SS12000/to/activities.js +63 -0
  233. package/dist/SS12000/to/activities.js.map +1 -0
  234. package/dist/SS12000/to/calendar-events.js +53 -0
  235. package/dist/SS12000/to/calendar-events.js.map +1 -0
  236. package/dist/SS12000/to/common.js +25 -0
  237. package/dist/SS12000/to/common.js.map +1 -0
  238. package/dist/SS12000/to/duties.js +45 -0
  239. package/dist/SS12000/to/duties.js.map +1 -0
  240. package/dist/SS12000/to/groups.js +49 -0
  241. package/dist/SS12000/to/groups.js.map +1 -0
  242. package/dist/SS12000/to/index.d.ts +56 -0
  243. package/dist/SS12000/to/index.js +24 -0
  244. package/dist/SS12000/to/index.js.map +1 -0
  245. package/dist/SS12000/to/persons.js +40 -0
  246. package/dist/SS12000/to/persons.js.map +1 -0
  247. package/dist/SS12000/to/resources.js +27 -0
  248. package/dist/SS12000/to/resources.js.map +1 -0
  249. package/dist/SS12000/to/rooms.js +32 -0
  250. package/dist/SS12000/to/rooms.js.map +1 -0
  251. package/dist/SS12000/to/syllabuses.js +34 -0
  252. package/dist/SS12000/to/syllabuses.js.map +1 -0
  253. package/dist/SS12000/types/activities.d.ts +41 -0
  254. package/dist/SS12000/types/calendar-events.d.ts +23 -0
  255. package/dist/SS12000/types/codes.d.ts +9 -0
  256. package/dist/SS12000/types/duties.d.ts +23 -0
  257. package/dist/SS12000/types/duty-assignments.d.ts +13 -0
  258. package/dist/SS12000/types/groups.d.ts +23 -0
  259. package/dist/SS12000/types/index.d.ts +21 -0
  260. package/dist/SS12000/types/organisation.d.ts +20 -0
  261. package/dist/SS12000/types/persons.d.ts +30 -0
  262. package/dist/SS12000/types/resources.d.ts +13 -0
  263. package/dist/SS12000/types/rooms.d.ts +17 -0
  264. package/dist/SS12000/types/syllabus.d.ts +19 -0
  265. package/dist/SchoolSoft/api/from/index.js +8 -0
  266. package/dist/SchoolSoft/api/from/index.js.map +1 -0
  267. package/dist/SchoolSoft/api/from/schedules.js +167 -0
  268. package/dist/SchoolSoft/api/from/schedules.js.map +1 -0
  269. package/dist/SchoolSoft/api/index.d.ts +463 -0
  270. package/dist/SchoolSoft/api/index.js +10 -0
  271. package/dist/SchoolSoft/api/index.js.map +1 -0
  272. package/dist/SchoolSoft/api/types/group.d.ts +12 -0
  273. package/dist/SchoolSoft/api/types/index.d.ts +19 -0
  274. package/dist/SchoolSoft/api/types/lesson.d.ts +9 -0
  275. package/dist/SchoolSoft/api/types/location.d.ts +8 -0
  276. package/dist/SchoolSoft/api/types/persons.d.ts +31 -0
  277. package/dist/SchoolSoft/api/types/schedule.d.ts +17 -0
  278. package/dist/SchoolSoft/api/types/teacher.d.ts +13 -0
  279. package/dist/SchoolSoft/file/from/index.js +8 -0
  280. package/dist/SchoolSoft/file/from/index.js.map +1 -0
  281. package/dist/SchoolSoft/file/from/schedules.js +134 -0
  282. package/dist/SchoolSoft/file/from/schedules.js.map +1 -0
  283. package/dist/SchoolSoft/file/index.d.ts +15 -0
  284. package/dist/SchoolSoft/file/index.js +12 -0
  285. package/dist/SchoolSoft/file/index.js.map +1 -0
  286. package/dist/SchoolSoft/file/to/index.d.ts +13 -0
  287. package/dist/SchoolSoft/file/to/index.js +10 -0
  288. package/dist/SchoolSoft/file/to/index.js.map +1 -0
  289. package/dist/SchoolSoft/file/to/schedules.js +107 -0
  290. package/dist/SchoolSoft/file/to/schedules.js.map +1 -0
  291. package/dist/SchoolSoft/file/types/events.d.ts +27 -0
  292. package/dist/SchoolSoft/file/types/index.d.ts +17 -0
  293. package/dist/SchoolSoft/file/types/persons.d.ts +31 -0
  294. package/dist/SchoolSoft/index.d.ts +20 -0
  295. package/dist/SchoolSoft/index.js +14 -0
  296. package/dist/SchoolSoft/index.js.map +1 -0
  297. package/dist/Schoolity/index.d.ts +10 -0
  298. package/dist/Schoolity/index.js +10 -0
  299. package/dist/Schoolity/index.js.map +1 -0
  300. package/dist/Schoolity/txt/index.d.ts +10 -0
  301. package/dist/Schoolity/txt/index.js +10 -0
  302. package/dist/Schoolity/txt/index.js.map +1 -0
  303. package/dist/Schoolity/txt/to/index.d.ts +10 -0
  304. package/dist/Schoolity/txt/to/index.js +10 -0
  305. package/dist/Schoolity/txt/to/index.js.map +1 -0
  306. package/dist/Schoolity/txt/to/schedules.js +331 -0
  307. package/dist/Schoolity/txt/to/schedules.js.map +1 -0
  308. package/dist/Schoolity/txt/types/index.d.ts +119 -0
  309. package/dist/Skola24/index.d.ts +13 -0
  310. package/dist/Skola24/index.js +12 -0
  311. package/dist/Skola24/index.js.map +1 -0
  312. package/dist/Skola24/mdb/from/course-and-events.js +241 -0
  313. package/dist/Skola24/mdb/from/course-and-events.js.map +1 -0
  314. package/dist/Skola24/mdb/from/groups.js +12 -0
  315. package/dist/Skola24/mdb/from/groups.js.map +1 -0
  316. package/dist/Skola24/mdb/from/index.js +8 -0
  317. package/dist/Skola24/mdb/from/index.js.map +1 -0
  318. package/dist/Skola24/mdb/from/locations.js +11 -0
  319. package/dist/Skola24/mdb/from/locations.js.map +1 -0
  320. package/dist/Skola24/mdb/from/schedule.d.ts +27 -0
  321. package/dist/Skola24/mdb/from/schedule.js +97 -0
  322. package/dist/Skola24/mdb/from/schedule.js.map +1 -0
  323. package/dist/Skola24/mdb/from/teachers.js +11 -0
  324. package/dist/Skola24/mdb/from/teachers.js.map +1 -0
  325. package/dist/Skola24/mdb/index.d.ts +12 -0
  326. package/dist/Skola24/mdb/index.js +10 -0
  327. package/dist/Skola24/mdb/index.js.map +1 -0
  328. package/dist/Skola24/mdb/types/Course.d.ts +10 -0
  329. package/dist/Skola24/mdb/types/Group-group-link.d.ts +8 -0
  330. package/dist/Skola24/mdb/types/Group.d.ts +9 -0
  331. package/dist/Skola24/mdb/types/Lesson-group-link.d.ts +8 -0
  332. package/dist/Skola24/mdb/types/Lesson-period-link.d.ts +8 -0
  333. package/dist/Skola24/mdb/types/Lesson-room-link.d.ts +8 -0
  334. package/dist/Skola24/mdb/types/Lesson-teacher-link.d.ts +8 -0
  335. package/dist/Skola24/mdb/types/Lesson.d.ts +13 -0
  336. package/dist/Skola24/mdb/types/Options.d.ts +11 -0
  337. package/dist/Skola24/mdb/types/Period.d.ts +9 -0
  338. package/dist/Skola24/mdb/types/Plan-group-link.d.ts +8 -0
  339. package/dist/Skola24/mdb/types/Plan-period-link.d.ts +8 -0
  340. package/dist/Skola24/mdb/types/Plan-teacher-link.d.ts +10 -0
  341. package/dist/Skola24/mdb/types/Plan.d.ts +9 -0
  342. package/dist/Skola24/mdb/types/Room.d.ts +9 -0
  343. package/dist/Skola24/mdb/types/Schedule.d.ts +39 -0
  344. package/dist/Skola24/mdb/types/Subject.d.ts +8 -0
  345. package/dist/Skola24/mdb/types/Teacher.d.ts +10 -0
  346. package/dist/Skola24/mdb/types/index.d.ts +23 -0
  347. package/dist/Skola24/txt/from/calendar-exceptions.js +68 -0
  348. package/dist/Skola24/txt/from/calendar-exceptions.js.map +1 -0
  349. package/dist/Skola24/txt/from/division.js +44 -0
  350. package/dist/Skola24/txt/from/division.js.map +1 -0
  351. package/dist/Skola24/txt/from/index.js +12 -0
  352. package/dist/Skola24/txt/from/index.js.map +1 -0
  353. package/dist/Skola24/txt/from/period.js +98 -0
  354. package/dist/Skola24/txt/from/period.js.map +1 -0
  355. package/dist/Skola24/txt/from/schedules.d.ts +16 -0
  356. package/dist/Skola24/txt/from/schedules.js +277 -0
  357. package/dist/Skola24/txt/from/schedules.js.map +1 -0
  358. package/dist/Skola24/txt/from/util.js +17 -0
  359. package/dist/Skola24/txt/from/util.js.map +1 -0
  360. package/dist/Skola24/txt/index.d.ts +28 -0
  361. package/dist/Skola24/txt/index.js +12 -0
  362. package/dist/Skola24/txt/index.js.map +1 -0
  363. package/dist/Skola24/txt/to/index.d.ts +10 -0
  364. package/dist/Skola24/txt/to/index.js +10 -0
  365. package/dist/Skola24/txt/to/index.js.map +1 -0
  366. package/dist/Skola24/txt/to/schedules.js +297 -0
  367. package/dist/Skola24/txt/to/schedules.js.map +1 -0
  368. package/dist/Skola24/txt/types/index.d.ts +141 -0
  369. package/dist/common/constants.js +8 -0
  370. package/dist/common/constants.js.map +1 -0
  371. package/dist/common/functions.js +61 -0
  372. package/dist/common/functions.js.map +1 -0
  373. package/dist/common/get-date.js +15 -0
  374. package/dist/common/get-date.js.map +1 -0
  375. package/dist/common/make-chainable/index.js +36 -0
  376. package/dist/common/make-chainable/index.js.map +1 -0
  377. package/dist/common/types.d.ts +42 -0
  378. package/dist/core/from/configurations.js +12 -0
  379. package/dist/core/from/configurations.js.map +1 -0
  380. package/dist/core/from/courses.js +12 -0
  381. package/dist/core/from/courses.js.map +1 -0
  382. package/dist/core/from/events.js +13 -0
  383. package/dist/core/from/events.js.map +1 -0
  384. package/dist/core/from/exceptions.js +12 -0
  385. package/dist/core/from/exceptions.js.map +1 -0
  386. package/dist/core/from/groups.js +12 -0
  387. package/dist/core/from/groups.js.map +1 -0
  388. package/dist/core/from/index.js +23 -0
  389. package/dist/core/from/index.js.map +1 -0
  390. package/dist/core/from/locations.js +12 -0
  391. package/dist/core/from/locations.js.map +1 -0
  392. package/dist/core/from/locked-times.js +12 -0
  393. package/dist/core/from/locked-times.js.map +1 -0
  394. package/dist/core/from/overlap-groups.js +12 -0
  395. package/dist/core/from/overlap-groups.js.map +1 -0
  396. package/dist/core/from/periods.js +12 -0
  397. package/dist/core/from/periods.js.map +1 -0
  398. package/dist/core/from/persons.js +12 -0
  399. package/dist/core/from/persons.js.map +1 -0
  400. package/dist/core/from/root-intervals.js +12 -0
  401. package/dist/core/from/root-intervals.js.map +1 -0
  402. package/dist/core/from/schedules.d.ts +7 -0
  403. package/dist/core/from/schedules.js +38 -0
  404. package/dist/core/from/schedules.js.map +1 -0
  405. package/dist/core/from/settings.js +21 -0
  406. package/dist/core/from/settings.js.map +1 -0
  407. package/dist/core/from/syllabuses.js +13 -0
  408. package/dist/core/from/syllabuses.js.map +1 -0
  409. package/dist/core/from/teachers.js +12 -0
  410. package/dist/core/from/teachers.js.map +1 -0
  411. package/dist/core/index.d.ts +37 -0
  412. package/dist/core/index.js +16 -0
  413. package/dist/core/index.js.map +1 -0
  414. package/dist/core/interfaces/index.js +6 -0
  415. package/dist/core/interfaces/other/companies.d.ts +132 -0
  416. package/dist/core/interfaces/other/companies.js +9 -0
  417. package/dist/core/interfaces/other/companies.js.map +1 -0
  418. package/dist/core/interfaces/other/etc.d.ts +19 -0
  419. package/dist/core/interfaces/other/integrations.d.ts +17 -0
  420. package/dist/core/interfaces/other/operations.d.ts +35 -0
  421. package/dist/core/interfaces/other/policies.d.ts +31 -0
  422. package/dist/core/interfaces/other/sync-logs.d.ts +21 -0
  423. package/dist/core/interfaces/other/users.d.ts +35 -0
  424. package/dist/core/interfaces/vertices/companies.d.ts +7 -0
  425. package/dist/core/interfaces/vertices/configurations.d.ts +57 -0
  426. package/dist/core/interfaces/vertices/courses.d.ts +67 -0
  427. package/dist/core/interfaces/vertices/division-settings.d.ts +56 -0
  428. package/dist/core/interfaces/vertices/divisions.d.ts +30 -0
  429. package/dist/core/interfaces/vertices/events.d.ts +104 -0
  430. package/dist/core/interfaces/vertices/exceptions.d.ts +73 -0
  431. package/dist/core/interfaces/vertices/generations.d.ts +21 -0
  432. package/dist/core/interfaces/vertices/groups.d.ts +52 -0
  433. package/dist/core/interfaces/vertices/index.d.ts +230 -0
  434. package/dist/core/interfaces/vertices/index.js +3 -0
  435. package/dist/core/interfaces/vertices/linked-events-sets.d.ts +18 -0
  436. package/dist/core/interfaces/vertices/locations.d.ts +21 -0
  437. package/dist/core/interfaces/vertices/locked-times.d.ts +35 -0
  438. package/dist/core/interfaces/vertices/overlap-groups.d.ts +16 -0
  439. package/dist/core/interfaces/vertices/periods.d.ts +13 -0
  440. package/dist/core/interfaces/vertices/persons.d.ts +31 -0
  441. package/dist/core/interfaces/vertices/properties/belongs-to.d.ts +10 -0
  442. package/dist/core/interfaces/vertices/properties/coalesced.d.ts +7 -0
  443. package/dist/core/interfaces/vertices/properties/days.d.ts +9 -0
  444. package/dist/core/interfaces/vertices/properties/index.d.ts +15 -0
  445. package/dist/core/interfaces/vertices/properties/intervals.d.ts +10 -0
  446. package/dist/core/interfaces/vertices/properties/maximum-schedule-span.d.ts +19 -0
  447. package/dist/core/interfaces/vertices/properties/min-break-length.d.ts +5 -0
  448. package/dist/core/interfaces/vertices/properties/planned-scheduled-duration.d.ts +13 -0
  449. package/dist/core/interfaces/vertices/properties/species.d.ts +9 -0
  450. package/dist/core/interfaces/vertices/properties/tags.d.ts +9 -0
  451. package/dist/core/interfaces/vertices/properties/week.d.ts +22 -0
  452. package/dist/core/interfaces/vertices/properties/week.js +6 -0
  453. package/dist/core/interfaces/vertices/properties/week.js.map +1 -0
  454. package/dist/core/interfaces/vertices/root-intervals.d.ts +12 -0
  455. package/dist/core/interfaces/vertices/syllabuses.d.ts +17 -0
  456. package/dist/core/interfaces/vertices/teachers.d.ts +42 -0
  457. package/dist/core/interfaces/vertices/threads.d.ts +32 -0
  458. package/dist/core/interfaces/vertices/users.d.ts +10 -0
  459. package/dist/core/interfaces/vertices/util/common.d.ts +28 -0
  460. package/dist/core/interfaces/vertices/util/custom-vertex-export/assert-no-invalid-expand-keys.d.ts +16 -0
  461. package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.ts +34 -0
  462. package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.ts +53 -0
  463. package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.ts +65 -0
  464. package/dist/core/interfaces/vertices/util/edges.d.ts +123 -0
  465. package/dist/core/interfaces/vertices/util/keys-of.d.ts +27 -0
  466. package/dist/core/interfaces/vertices/util/serialized-vertex-export.d.ts +12 -0
  467. package/dist/core/interfaces/vertices/util/util.d.ts +84 -0
  468. package/dist/core/interfaces/vertices/util/vertex-query/index.d.ts +51 -0
  469. package/dist/core/interfaces/vertices/util/vertex-query/util.d.ts +13 -0
  470. package/dist/core/interfaces/vertices/util/vertex.d.ts +71 -0
  471. package/dist/core/interfaces/vertices/vertex-query.d.ts +111 -0
  472. package/dist/core/interfaces/vertices/vertex-query.js +114 -0
  473. package/dist/core/interfaces/vertices/vertex-query.js.map +1 -0
  474. package/dist/core/to/configurations.js +17 -0
  475. package/dist/core/to/configurations.js.map +1 -0
  476. package/dist/core/to/courses.js +42 -0
  477. package/dist/core/to/courses.js.map +1 -0
  478. package/dist/core/to/division.js +10 -0
  479. package/dist/core/to/division.js.map +1 -0
  480. package/dist/core/to/events.js +44 -0
  481. package/dist/core/to/events.js.map +1 -0
  482. package/dist/core/to/exceptions.js +30 -0
  483. package/dist/core/to/exceptions.js.map +1 -0
  484. package/dist/core/to/groups.js +26 -0
  485. package/dist/core/to/groups.js.map +1 -0
  486. package/dist/core/to/index.d.ts +9 -0
  487. package/dist/core/to/index.js +10 -0
  488. package/dist/core/to/index.js.map +1 -0
  489. package/dist/core/to/linked-events-sets.js +18 -0
  490. package/dist/core/to/linked-events-sets.js.map +1 -0
  491. package/dist/core/to/locations.js +22 -0
  492. package/dist/core/to/locations.js.map +1 -0
  493. package/dist/core/to/locked-times.js +21 -0
  494. package/dist/core/to/locked-times.js.map +1 -0
  495. package/dist/core/to/overlap-groups.js +28 -0
  496. package/dist/core/to/overlap-groups.js.map +1 -0
  497. package/dist/core/to/periods.js +17 -0
  498. package/dist/core/to/periods.js.map +1 -0
  499. package/dist/core/to/persons.js +18 -0
  500. package/dist/core/to/persons.js.map +1 -0
  501. package/dist/core/to/root-intervals.js +17 -0
  502. package/dist/core/to/root-intervals.js.map +1 -0
  503. package/dist/core/to/schedules.d.ts +48 -0
  504. package/dist/core/to/schedules.js +44 -0
  505. package/dist/core/to/schedules.js.map +1 -0
  506. package/dist/core/to/settings.js +19 -0
  507. package/dist/core/to/settings.js.map +1 -0
  508. package/dist/core/to/syllabuses.js +17 -0
  509. package/dist/core/to/syllabuses.js.map +1 -0
  510. package/dist/core/to/teachers.js +25 -0
  511. package/dist/core/to/teachers.js.map +1 -0
  512. package/dist/core/to/util.d.ts +8 -0
  513. package/dist/core/to/util.js +25 -0
  514. package/dist/core/to/util.js.map +1 -0
  515. package/dist/core/types/common/index.d.ts +8 -0
  516. package/dist/core/types/common/meta.d.ts +15 -0
  517. package/dist/core/types/index.d.ts +136 -0
  518. package/dist/core/util.js +47 -0
  519. package/dist/core/util.js.map +1 -0
  520. package/dist/identify/constants/index.d.ts +144 -0
  521. package/dist/identify/constants/index.js +317 -0
  522. package/dist/identify/constants/index.js.map +1 -0
  523. package/dist/identify/index.d.ts +8 -0
  524. package/dist/identify/index.js +94 -0
  525. package/dist/identify/index.js.map +1 -0
  526. package/dist/identify/types/index.d.ts +15 -0
  527. package/dist/index.d.ts +57 -0
  528. package/dist/index.js +22 -0
  529. package/dist/sdui/from/classes.js +8 -0
  530. package/dist/sdui/from/classes.js.map +1 -0
  531. package/dist/sdui/from/courses.js +14 -0
  532. package/dist/sdui/from/courses.js.map +1 -0
  533. package/dist/sdui/from/holidays.js +8 -0
  534. package/dist/sdui/from/holidays.js.map +1 -0
  535. package/dist/sdui/from/hours.js +6 -0
  536. package/dist/sdui/from/hours.js.map +1 -0
  537. package/dist/sdui/from/index.js +30 -0
  538. package/dist/sdui/from/index.js.map +1 -0
  539. package/dist/sdui/from/lessons.js +23 -0
  540. package/dist/sdui/from/lessons.js.map +1 -0
  541. package/dist/sdui/from/rooms.js +11 -0
  542. package/dist/sdui/from/rooms.js.map +1 -0
  543. package/dist/sdui/from/schedules.d.ts +19 -0
  544. package/dist/sdui/from/schedules.js +24 -0
  545. package/dist/sdui/from/schedules.js.map +1 -0
  546. package/dist/sdui/from/school-years.js +11 -0
  547. package/dist/sdui/from/school-years.js.map +1 -0
  548. package/dist/sdui/from/subjects.js +6 -0
  549. package/dist/sdui/from/subjects.js.map +1 -0
  550. package/dist/sdui/from/substitution-plans.js +10 -0
  551. package/dist/sdui/from/substitution-plans.js.map +1 -0
  552. package/dist/sdui/from/teachers.js +15 -0
  553. package/dist/sdui/from/teachers.js.map +1 -0
  554. package/dist/sdui/index.d.ts +32 -0
  555. package/dist/sdui/index.js +12 -0
  556. package/dist/sdui/index.js.map +1 -0
  557. package/dist/sdui/to/classes.js +10 -0
  558. package/dist/sdui/to/classes.js.map +1 -0
  559. package/dist/sdui/to/courses.js +16 -0
  560. package/dist/sdui/to/courses.js.map +1 -0
  561. package/dist/sdui/to/holidays.js +16 -0
  562. package/dist/sdui/to/holidays.js.map +1 -0
  563. package/dist/sdui/to/hours.js +15 -0
  564. package/dist/sdui/to/hours.js.map +1 -0
  565. package/dist/sdui/to/index.d.ts +20 -0
  566. package/dist/sdui/to/index.js +30 -0
  567. package/dist/sdui/to/index.js.map +1 -0
  568. package/dist/sdui/to/lessons.js +24 -0
  569. package/dist/sdui/to/lessons.js.map +1 -0
  570. package/dist/sdui/to/rooms.js +13 -0
  571. package/dist/sdui/to/rooms.js.map +1 -0
  572. package/dist/sdui/to/schedules.js +26 -0
  573. package/dist/sdui/to/schedules.js.map +1 -0
  574. package/dist/sdui/to/school-years.js +18 -0
  575. package/dist/sdui/to/school-years.js.map +1 -0
  576. package/dist/sdui/to/subjects.js +8 -0
  577. package/dist/sdui/to/subjects.js.map +1 -0
  578. package/dist/sdui/to/substitution-plans.js +49 -0
  579. package/dist/sdui/to/substitution-plans.js.map +1 -0
  580. package/dist/sdui/to/teachers.js +20 -0
  581. package/dist/sdui/to/teachers.js.map +1 -0
  582. package/dist/sdui/types/classes.d.ts +8 -0
  583. package/dist/sdui/types/courses.d.ts +12 -0
  584. package/dist/sdui/types/holidays.d.ts +10 -0
  585. package/dist/sdui/types/hours.d.ts +10 -0
  586. package/dist/sdui/types/index.d.ts +31 -0
  587. package/dist/sdui/types/lessons.d.ts +13 -0
  588. package/dist/sdui/types/rooms.d.ts +9 -0
  589. package/dist/sdui/types/schedules.d.ts +27 -0
  590. package/dist/sdui/types/school-years.d.ts +9 -0
  591. package/dist/sdui/types/subjects.d.ts +9 -0
  592. package/dist/sdui/types/substitution-plans.d.ts +30 -0
  593. package/dist/sdui/types/teachers.d.ts +10 -0
  594. package/dist/vKlass/from/index.js +8 -0
  595. package/dist/vKlass/from/index.js.map +1 -0
  596. package/dist/vKlass/from/schedule.d.ts +23 -0
  597. package/dist/vKlass/from/schedule.js +71 -0
  598. package/dist/vKlass/from/schedule.js.map +1 -0
  599. package/dist/vKlass/index.d.ts +13 -0
  600. package/dist/vKlass/index.js +12 -0
  601. package/dist/vKlass/index.js.map +1 -0
  602. package/dist/vKlass/to/index.d.ts +9 -0
  603. package/dist/vKlass/to/index.js +10 -0
  604. package/dist/vKlass/to/index.js.map +1 -0
  605. package/dist/vKlass/to/schedules.d.ts +14 -0
  606. package/dist/vKlass/to/schedules.js +93 -0
  607. package/dist/vKlass/to/schedules.js.map +1 -0
  608. package/dist/vKlass/types/index.d.ts +53 -0
  609. package/package.json +3 -3
  610. package/dist/Additio/from/courses.mjs +0 -28
  611. package/dist/Additio/from/courses.mjs.map +0 -1
  612. package/dist/Additio/from/events.mjs +0 -61
  613. package/dist/Additio/from/events.mjs.map +0 -1
  614. package/dist/Additio/from/groups.mjs +0 -14
  615. package/dist/Additio/from/groups.mjs.map +0 -1
  616. package/dist/Additio/from/index.mjs +0 -8
  617. package/dist/Additio/from/index.mjs.map +0 -1
  618. package/dist/Additio/from/locations.mjs +0 -13
  619. package/dist/Additio/from/locations.mjs.map +0 -1
  620. package/dist/Additio/from/persons.mjs +0 -30
  621. package/dist/Additio/from/persons.mjs.map +0 -1
  622. package/dist/Additio/from/schedules.d.mts +0 -39
  623. package/dist/Additio/from/schedules.mjs +0 -34
  624. package/dist/Additio/from/schedules.mjs.map +0 -1
  625. package/dist/Additio/from/teachers.mjs +0 -25
  626. package/dist/Additio/from/teachers.mjs.map +0 -1
  627. package/dist/Additio/index.d.mts +0 -14
  628. package/dist/Additio/index.mjs +0 -12
  629. package/dist/Additio/index.mjs.map +0 -1
  630. package/dist/Additio/to/index.d.mts +0 -23
  631. package/dist/Additio/to/index.mjs +0 -10
  632. package/dist/Additio/to/index.mjs.map +0 -1
  633. package/dist/Additio/to/schedules.mjs +0 -109
  634. package/dist/Additio/to/schedules.mjs.map +0 -1
  635. package/dist/Additio/types/course-sections.d.mts +0 -20
  636. package/dist/Additio/types/courses.d.mts +0 -17
  637. package/dist/Additio/types/index.d.mts +0 -27
  638. package/dist/Additio/types/lessons.d.mts +0 -27
  639. package/dist/Additio/types/options.d.mts +0 -16
  640. package/dist/Additio/types/primary-groups.d.mts +0 -30
  641. package/dist/Additio/types/rooms.d.mts +0 -12
  642. package/dist/Additio/types/schedule-groups.d.mts +0 -23
  643. package/dist/Additio/types/schedules.d.mts +0 -27
  644. package/dist/Additio/types/schools.d.mts +0 -11
  645. package/dist/Additio/types/users.d.mts +0 -20
  646. package/dist/Admentum/from/courses.mjs +0 -32
  647. package/dist/Admentum/from/courses.mjs.map +0 -1
  648. package/dist/Admentum/from/events.mjs +0 -62
  649. package/dist/Admentum/from/events.mjs.map +0 -1
  650. package/dist/Admentum/from/groups.mjs +0 -14
  651. package/dist/Admentum/from/groups.mjs.map +0 -1
  652. package/dist/Admentum/from/index.mjs +0 -8
  653. package/dist/Admentum/from/index.mjs.map +0 -1
  654. package/dist/Admentum/from/locations.mjs +0 -13
  655. package/dist/Admentum/from/locations.mjs.map +0 -1
  656. package/dist/Admentum/from/persons.mjs +0 -30
  657. package/dist/Admentum/from/persons.mjs.map +0 -1
  658. package/dist/Admentum/from/schedules.d.mts +0 -39
  659. package/dist/Admentum/from/schedules.mjs +0 -34
  660. package/dist/Admentum/from/schedules.mjs.map +0 -1
  661. package/dist/Admentum/from/teachers.mjs +0 -25
  662. package/dist/Admentum/from/teachers.mjs.map +0 -1
  663. package/dist/Admentum/index.d.mts +0 -14
  664. package/dist/Admentum/index.mjs +0 -12
  665. package/dist/Admentum/index.mjs.map +0 -1
  666. package/dist/Admentum/to/index.d.mts +0 -20
  667. package/dist/Admentum/to/index.mjs +0 -10
  668. package/dist/Admentum/to/index.mjs.map +0 -1
  669. package/dist/Admentum/to/schedules.mjs +0 -91
  670. package/dist/Admentum/to/schedules.mjs.map +0 -1
  671. package/dist/Admentum/types/course-sections.d.mts +0 -20
  672. package/dist/Admentum/types/courses.d.mts +0 -17
  673. package/dist/Admentum/types/index.d.mts +0 -25
  674. package/dist/Admentum/types/lessons.d.mts +0 -27
  675. package/dist/Admentum/types/primary-groups.d.mts +0 -30
  676. package/dist/Admentum/types/rooms.d.mts +0 -12
  677. package/dist/Admentum/types/schedule-groups.d.mts +0 -23
  678. package/dist/Admentum/types/schedules.d.mts +0 -27
  679. package/dist/Admentum/types/schools.d.mts +0 -11
  680. package/dist/Admentum/types/users.d.mts +0 -20
  681. package/dist/Excel/index.d.mts +0 -307
  682. package/dist/Excel/index.mjs +0 -13
  683. package/dist/Excel/index.mjs.map +0 -1
  684. package/dist/Excel/v1/from/index.mjs +0 -289
  685. package/dist/Excel/v1/from/index.mjs.map +0 -1
  686. package/dist/Excel/v1/index.d.mts +0 -240
  687. package/dist/Excel/v1/index.mjs +0 -10
  688. package/dist/Excel/v1/index.mjs.map +0 -1
  689. package/dist/Excel/v1/types/index.d.mts +0 -44
  690. package/dist/Excel/v2/from/index.mjs +0 -528
  691. package/dist/Excel/v2/from/index.mjs.map +0 -1
  692. package/dist/Excel/v2/index.d.mts +0 -302
  693. package/dist/Excel/v2/index.mjs +0 -10
  694. package/dist/Excel/v2/index.mjs.map +0 -1
  695. package/dist/Excel/v2/types/index.d.mts +0 -70
  696. package/dist/IdunSoft/from/courses.mjs +0 -16
  697. package/dist/IdunSoft/from/courses.mjs.map +0 -1
  698. package/dist/IdunSoft/from/events.mjs +0 -58
  699. package/dist/IdunSoft/from/events.mjs.map +0 -1
  700. package/dist/IdunSoft/from/groups.mjs +0 -17
  701. package/dist/IdunSoft/from/groups.mjs.map +0 -1
  702. package/dist/IdunSoft/from/index.mjs +0 -8
  703. package/dist/IdunSoft/from/index.mjs.map +0 -1
  704. package/dist/IdunSoft/from/locations.mjs +0 -16
  705. package/dist/IdunSoft/from/locations.mjs.map +0 -1
  706. package/dist/IdunSoft/from/schedules.d.mts +0 -24
  707. package/dist/IdunSoft/from/schedules.mjs +0 -20
  708. package/dist/IdunSoft/from/schedules.mjs.map +0 -1
  709. package/dist/IdunSoft/from/teachers.mjs +0 -16
  710. package/dist/IdunSoft/from/teachers.mjs.map +0 -1
  711. package/dist/IdunSoft/index.d.mts +0 -14
  712. package/dist/IdunSoft/index.mjs +0 -12
  713. package/dist/IdunSoft/index.mjs.map +0 -1
  714. package/dist/IdunSoft/to/index.d.mts +0 -10
  715. package/dist/IdunSoft/to/index.mjs +0 -10
  716. package/dist/IdunSoft/to/index.mjs.map +0 -1
  717. package/dist/IdunSoft/to/schedules.mjs +0 -55
  718. package/dist/IdunSoft/to/schedules.mjs.map +0 -1
  719. package/dist/IdunSoft/types/courses.d.mts +0 -8
  720. package/dist/IdunSoft/types/events.d.mts +0 -26
  721. package/dist/IdunSoft/types/groups.d.mts +0 -8
  722. package/dist/IdunSoft/types/index.d.mts +0 -20
  723. package/dist/IdunSoft/types/locations.d.mts +0 -8
  724. package/dist/IdunSoft/types/schedules.d.mts +0 -17
  725. package/dist/IdunSoft/types/teachers.d.mts +0 -8
  726. package/dist/InfoMentor/index.d.mts +0 -10
  727. package/dist/InfoMentor/index.mjs +0 -10
  728. package/dist/InfoMentor/index.mjs.map +0 -1
  729. package/dist/InfoMentor/to/index.d.mts +0 -10
  730. package/dist/InfoMentor/to/index.mjs +0 -10
  731. package/dist/InfoMentor/to/index.mjs.map +0 -1
  732. package/dist/InfoMentor/to/schedules.mjs +0 -57
  733. package/dist/InfoMentor/to/schedules.mjs.map +0 -1
  734. package/dist/InfoMentor/types/events.d.mts +0 -13
  735. package/dist/InfoMentor/types/index.d.mts +0 -9
  736. package/dist/PlanDigital/from/index.mjs +0 -8
  737. package/dist/PlanDigital/from/index.mjs.map +0 -1
  738. package/dist/PlanDigital/from/schedules.mjs +0 -70
  739. package/dist/PlanDigital/from/schedules.mjs.map +0 -1
  740. package/dist/PlanDigital/index.d.mts +0 -129
  741. package/dist/PlanDigital/index.mjs +0 -10
  742. package/dist/PlanDigital/index.mjs.map +0 -1
  743. package/dist/PlanDigital/types/index.d.mts +0 -34
  744. package/dist/Quiculum/file/index.d.mts +0 -9
  745. package/dist/Quiculum/file/index.mjs +0 -10
  746. package/dist/Quiculum/file/index.mjs.map +0 -1
  747. package/dist/Quiculum/file/to/index.d.mts +0 -21
  748. package/dist/Quiculum/file/to/index.mjs +0 -10
  749. package/dist/Quiculum/file/to/index.mjs.map +0 -1
  750. package/dist/Quiculum/file/to/schedules.mjs +0 -87
  751. package/dist/Quiculum/file/to/schedules.mjs.map +0 -1
  752. package/dist/Quiculum/index.d.mts +0 -11
  753. package/dist/Quiculum/index.mjs +0 -11
  754. package/dist/Quiculum/index.mjs.map +0 -1
  755. package/dist/RS/from/division.d.mts +0 -8
  756. package/dist/RS/from/division.mjs +0 -17
  757. package/dist/RS/from/division.mjs.map +0 -1
  758. package/dist/RS/from/index.mjs +0 -12
  759. package/dist/RS/from/index.mjs.map +0 -1
  760. package/dist/RS/from/schedules.d.mts +0 -9
  761. package/dist/RS/from/schedules.mjs +0 -37
  762. package/dist/RS/from/schedules.mjs.map +0 -1
  763. package/dist/RS/index.d.mts +0 -18
  764. package/dist/RS/index.mjs +0 -12
  765. package/dist/RS/index.mjs.map +0 -1
  766. package/dist/RS/make-connected.d.mts +0 -25
  767. package/dist/RS/make-connected.mjs +0 -207
  768. package/dist/RS/make-connected.mjs.map +0 -1
  769. package/dist/RS/to/index.mjs +0 -8
  770. package/dist/RS/to/index.mjs.map +0 -1
  771. package/dist/RS/to/initial-configuration.mjs +0 -41
  772. package/dist/RS/to/initial-configuration.mjs.map +0 -1
  773. package/dist/RS/to/input/default.mjs +0 -28
  774. package/dist/RS/to/input/default.mjs.map +0 -1
  775. package/dist/RS/to/input/dependencies.mjs +0 -31
  776. package/dist/RS/to/input/dependencies.mjs.map +0 -1
  777. package/dist/RS/to/input/events.mjs +0 -101
  778. package/dist/RS/to/input/events.mjs.map +0 -1
  779. package/dist/RS/to/input/groups.mjs +0 -32
  780. package/dist/RS/to/input/groups.mjs.map +0 -1
  781. package/dist/RS/to/input/individuals.mjs +0 -45
  782. package/dist/RS/to/input/individuals.mjs.map +0 -1
  783. package/dist/RS/to/input/input.mjs +0 -59
  784. package/dist/RS/to/input/input.mjs.map +0 -1
  785. package/dist/RS/to/input/intervals.mjs +0 -129
  786. package/dist/RS/to/input/intervals.mjs.map +0 -1
  787. package/dist/RS/to/input/linked-events-sets.mjs +0 -96
  788. package/dist/RS/to/input/linked-events-sets.mjs.map +0 -1
  789. package/dist/RS/to/input/locked-times.mjs +0 -88
  790. package/dist/RS/to/input/locked-times.mjs.map +0 -1
  791. package/dist/RS/to/input/periods.mjs +0 -57
  792. package/dist/RS/to/input/periods.mjs.map +0 -1
  793. package/dist/RS/to/input/settings.mjs +0 -13
  794. package/dist/RS/to/input/settings.mjs.map +0 -1
  795. package/dist/RS/to/input/teachers.mjs +0 -32
  796. package/dist/RS/to/input/teachers.mjs.map +0 -1
  797. package/dist/RS/to/input/util/parse-days.mjs +0 -10
  798. package/dist/RS/to/input/util/parse-days.mjs.map +0 -1
  799. package/dist/RS/to/input/util/parse-group-references.mjs +0 -50
  800. package/dist/RS/to/input/util/parse-group-references.mjs.map +0 -1
  801. package/dist/RS/to/input/util/parse-location-references.mjs +0 -24
  802. package/dist/RS/to/input/util/parse-location-references.mjs.map +0 -1
  803. package/dist/RS/to/input/util/parse-max-working-hours.mjs +0 -14
  804. package/dist/RS/to/input/util/parse-max-working-hours.mjs.map +0 -1
  805. package/dist/RS/to/input/util/parse-minimum-break-length.mjs +0 -19
  806. package/dist/RS/to/input/util/parse-minimum-break-length.mjs.map +0 -1
  807. package/dist/RS/to/input/util/util.mjs +0 -58
  808. package/dist/RS/to/input/util/util.mjs.map +0 -1
  809. package/dist/RS/to/schedules.d.mts +0 -7
  810. package/dist/RS/to/schedules.mjs +0 -51
  811. package/dist/RS/to/schedules.mjs.map +0 -1
  812. package/dist/RS/types/algorithm-parameters.d.mts +0 -17
  813. package/dist/RS/types/configurations.d.mts +0 -10
  814. package/dist/RS/types/event-configuration.d.mts +0 -20
  815. package/dist/RS/types/index.d.mts +0 -21
  816. package/dist/RS/types/schedule-data.d.mts +0 -20
  817. package/dist/RS/types/to.d.mts +0 -64
  818. package/dist/RS/types/to.mjs +0 -6
  819. package/dist/RS/types/to.mjs.map +0 -1
  820. package/dist/SS12000/from/activities.mjs +0 -35
  821. package/dist/SS12000/from/activities.mjs.map +0 -1
  822. package/dist/SS12000/from/calendar-events.mjs +0 -20
  823. package/dist/SS12000/from/calendar-events.mjs.map +0 -1
  824. package/dist/SS12000/from/duties.mjs +0 -31
  825. package/dist/SS12000/from/duties.mjs.map +0 -1
  826. package/dist/SS12000/from/groups.mjs +0 -23
  827. package/dist/SS12000/from/groups.mjs.map +0 -1
  828. package/dist/SS12000/from/index.mjs +0 -24
  829. package/dist/SS12000/from/index.mjs.map +0 -1
  830. package/dist/SS12000/from/persons.mjs +0 -43
  831. package/dist/SS12000/from/persons.mjs.map +0 -1
  832. package/dist/SS12000/from/resources.mjs +0 -9
  833. package/dist/SS12000/from/resources.mjs.map +0 -1
  834. package/dist/SS12000/from/rooms.mjs +0 -18
  835. package/dist/SS12000/from/rooms.mjs.map +0 -1
  836. package/dist/SS12000/from/syllabuses.mjs +0 -21
  837. package/dist/SS12000/from/syllabuses.mjs.map +0 -1
  838. package/dist/SS12000/index.d.mts +0 -37
  839. package/dist/SS12000/index.mjs +0 -12
  840. package/dist/SS12000/index.mjs.map +0 -1
  841. package/dist/SS12000/to/activities.mjs +0 -63
  842. package/dist/SS12000/to/activities.mjs.map +0 -1
  843. package/dist/SS12000/to/calendar-events.mjs +0 -53
  844. package/dist/SS12000/to/calendar-events.mjs.map +0 -1
  845. package/dist/SS12000/to/common.mjs +0 -25
  846. package/dist/SS12000/to/common.mjs.map +0 -1
  847. package/dist/SS12000/to/duties.mjs +0 -45
  848. package/dist/SS12000/to/duties.mjs.map +0 -1
  849. package/dist/SS12000/to/groups.mjs +0 -49
  850. package/dist/SS12000/to/groups.mjs.map +0 -1
  851. package/dist/SS12000/to/index.d.mts +0 -57
  852. package/dist/SS12000/to/index.mjs +0 -24
  853. package/dist/SS12000/to/index.mjs.map +0 -1
  854. package/dist/SS12000/to/persons.mjs +0 -40
  855. package/dist/SS12000/to/persons.mjs.map +0 -1
  856. package/dist/SS12000/to/resources.mjs +0 -27
  857. package/dist/SS12000/to/resources.mjs.map +0 -1
  858. package/dist/SS12000/to/rooms.mjs +0 -32
  859. package/dist/SS12000/to/rooms.mjs.map +0 -1
  860. package/dist/SS12000/to/syllabuses.mjs +0 -34
  861. package/dist/SS12000/to/syllabuses.mjs.map +0 -1
  862. package/dist/SS12000/types/activities.d.mts +0 -41
  863. package/dist/SS12000/types/calendar-events.d.mts +0 -23
  864. package/dist/SS12000/types/codes.d.mts +0 -9
  865. package/dist/SS12000/types/duties.d.mts +0 -23
  866. package/dist/SS12000/types/duty-assignments.d.mts +0 -13
  867. package/dist/SS12000/types/groups.d.mts +0 -23
  868. package/dist/SS12000/types/index.d.mts +0 -21
  869. package/dist/SS12000/types/organisation.d.mts +0 -20
  870. package/dist/SS12000/types/persons.d.mts +0 -30
  871. package/dist/SS12000/types/resources.d.mts +0 -13
  872. package/dist/SS12000/types/rooms.d.mts +0 -17
  873. package/dist/SS12000/types/syllabus.d.mts +0 -19
  874. package/dist/SchoolSoft/api/from/index.mjs +0 -8
  875. package/dist/SchoolSoft/api/from/index.mjs.map +0 -1
  876. package/dist/SchoolSoft/api/from/schedules.mjs +0 -163
  877. package/dist/SchoolSoft/api/from/schedules.mjs.map +0 -1
  878. package/dist/SchoolSoft/api/index.d.mts +0 -464
  879. package/dist/SchoolSoft/api/index.mjs +0 -10
  880. package/dist/SchoolSoft/api/index.mjs.map +0 -1
  881. package/dist/SchoolSoft/api/types/group.d.mts +0 -12
  882. package/dist/SchoolSoft/api/types/index.d.mts +0 -19
  883. package/dist/SchoolSoft/api/types/lesson.d.mts +0 -9
  884. package/dist/SchoolSoft/api/types/location.d.mts +0 -8
  885. package/dist/SchoolSoft/api/types/persons.d.mts +0 -31
  886. package/dist/SchoolSoft/api/types/schedule.d.mts +0 -17
  887. package/dist/SchoolSoft/api/types/teacher.d.mts +0 -13
  888. package/dist/SchoolSoft/file/from/index.mjs +0 -8
  889. package/dist/SchoolSoft/file/from/index.mjs.map +0 -1
  890. package/dist/SchoolSoft/file/from/schedules.mjs +0 -130
  891. package/dist/SchoolSoft/file/from/schedules.mjs.map +0 -1
  892. package/dist/SchoolSoft/file/index.d.mts +0 -16
  893. package/dist/SchoolSoft/file/index.mjs +0 -12
  894. package/dist/SchoolSoft/file/index.mjs.map +0 -1
  895. package/dist/SchoolSoft/file/to/index.d.mts +0 -14
  896. package/dist/SchoolSoft/file/to/index.mjs +0 -10
  897. package/dist/SchoolSoft/file/to/index.mjs.map +0 -1
  898. package/dist/SchoolSoft/file/to/schedules.mjs +0 -106
  899. package/dist/SchoolSoft/file/to/schedules.mjs.map +0 -1
  900. package/dist/SchoolSoft/file/types/events.d.mts +0 -27
  901. package/dist/SchoolSoft/file/types/index.d.mts +0 -17
  902. package/dist/SchoolSoft/file/types/persons.d.mts +0 -31
  903. package/dist/SchoolSoft/index.d.mts +0 -21
  904. package/dist/SchoolSoft/index.mjs +0 -14
  905. package/dist/SchoolSoft/index.mjs.map +0 -1
  906. package/dist/Schoolity/index.d.mts +0 -10
  907. package/dist/Schoolity/index.mjs +0 -10
  908. package/dist/Schoolity/index.mjs.map +0 -1
  909. package/dist/Schoolity/txt/index.d.mts +0 -10
  910. package/dist/Schoolity/txt/index.mjs +0 -10
  911. package/dist/Schoolity/txt/index.mjs.map +0 -1
  912. package/dist/Schoolity/txt/to/index.d.mts +0 -11
  913. package/dist/Schoolity/txt/to/index.mjs +0 -10
  914. package/dist/Schoolity/txt/to/index.mjs.map +0 -1
  915. package/dist/Schoolity/txt/to/schedules.mjs +0 -324
  916. package/dist/Schoolity/txt/to/schedules.mjs.map +0 -1
  917. package/dist/Schoolity/txt/types/index.d.mts +0 -119
  918. package/dist/Skola24/index.d.mts +0 -13
  919. package/dist/Skola24/index.mjs +0 -12
  920. package/dist/Skola24/index.mjs.map +0 -1
  921. package/dist/Skola24/mdb/from/course-and-events.mjs +0 -239
  922. package/dist/Skola24/mdb/from/course-and-events.mjs.map +0 -1
  923. package/dist/Skola24/mdb/from/groups.mjs +0 -12
  924. package/dist/Skola24/mdb/from/groups.mjs.map +0 -1
  925. package/dist/Skola24/mdb/from/index.mjs +0 -8
  926. package/dist/Skola24/mdb/from/index.mjs.map +0 -1
  927. package/dist/Skola24/mdb/from/locations.mjs +0 -11
  928. package/dist/Skola24/mdb/from/locations.mjs.map +0 -1
  929. package/dist/Skola24/mdb/from/schedule.d.mts +0 -28
  930. package/dist/Skola24/mdb/from/schedule.mjs +0 -97
  931. package/dist/Skola24/mdb/from/schedule.mjs.map +0 -1
  932. package/dist/Skola24/mdb/from/teachers.mjs +0 -11
  933. package/dist/Skola24/mdb/from/teachers.mjs.map +0 -1
  934. package/dist/Skola24/mdb/index.d.mts +0 -12
  935. package/dist/Skola24/mdb/index.mjs +0 -10
  936. package/dist/Skola24/mdb/index.mjs.map +0 -1
  937. package/dist/Skola24/mdb/types/Course.d.mts +0 -10
  938. package/dist/Skola24/mdb/types/Group-group-link.d.mts +0 -8
  939. package/dist/Skola24/mdb/types/Group.d.mts +0 -9
  940. package/dist/Skola24/mdb/types/Lesson-group-link.d.mts +0 -8
  941. package/dist/Skola24/mdb/types/Lesson-period-link.d.mts +0 -8
  942. package/dist/Skola24/mdb/types/Lesson-room-link.d.mts +0 -8
  943. package/dist/Skola24/mdb/types/Lesson-teacher-link.d.mts +0 -8
  944. package/dist/Skola24/mdb/types/Lesson.d.mts +0 -13
  945. package/dist/Skola24/mdb/types/Options.d.mts +0 -11
  946. package/dist/Skola24/mdb/types/Period.d.mts +0 -9
  947. package/dist/Skola24/mdb/types/Plan-group-link.d.mts +0 -8
  948. package/dist/Skola24/mdb/types/Plan-period-link.d.mts +0 -8
  949. package/dist/Skola24/mdb/types/Plan-teacher-link.d.mts +0 -10
  950. package/dist/Skola24/mdb/types/Plan.d.mts +0 -9
  951. package/dist/Skola24/mdb/types/Room.d.mts +0 -9
  952. package/dist/Skola24/mdb/types/Schedule.d.mts +0 -39
  953. package/dist/Skola24/mdb/types/Subject.d.mts +0 -8
  954. package/dist/Skola24/mdb/types/Teacher.d.mts +0 -10
  955. package/dist/Skola24/mdb/types/index.d.mts +0 -23
  956. package/dist/Skola24/txt/from/calendar-exceptions.mjs +0 -67
  957. package/dist/Skola24/txt/from/calendar-exceptions.mjs.map +0 -1
  958. package/dist/Skola24/txt/from/division.mjs +0 -44
  959. package/dist/Skola24/txt/from/division.mjs.map +0 -1
  960. package/dist/Skola24/txt/from/index.mjs +0 -12
  961. package/dist/Skola24/txt/from/index.mjs.map +0 -1
  962. package/dist/Skola24/txt/from/period.mjs +0 -95
  963. package/dist/Skola24/txt/from/period.mjs.map +0 -1
  964. package/dist/Skola24/txt/from/schedules.d.mts +0 -17
  965. package/dist/Skola24/txt/from/schedules.mjs +0 -273
  966. package/dist/Skola24/txt/from/schedules.mjs.map +0 -1
  967. package/dist/Skola24/txt/from/util.mjs +0 -17
  968. package/dist/Skola24/txt/from/util.mjs.map +0 -1
  969. package/dist/Skola24/txt/index.d.mts +0 -29
  970. package/dist/Skola24/txt/index.mjs +0 -12
  971. package/dist/Skola24/txt/index.mjs.map +0 -1
  972. package/dist/Skola24/txt/to/index.d.mts +0 -11
  973. package/dist/Skola24/txt/to/index.mjs +0 -10
  974. package/dist/Skola24/txt/to/index.mjs.map +0 -1
  975. package/dist/Skola24/txt/to/schedules.mjs +0 -290
  976. package/dist/Skola24/txt/to/schedules.mjs.map +0 -1
  977. package/dist/Skola24/txt/types/index.d.mts +0 -141
  978. package/dist/common/constants.mjs +0 -8
  979. package/dist/common/constants.mjs.map +0 -1
  980. package/dist/common/functions.mjs +0 -61
  981. package/dist/common/functions.mjs.map +0 -1
  982. package/dist/common/get-date.mjs +0 -15
  983. package/dist/common/get-date.mjs.map +0 -1
  984. package/dist/common/make-chainable/index.mjs +0 -36
  985. package/dist/common/make-chainable/index.mjs.map +0 -1
  986. package/dist/common/types.d.mts +0 -38
  987. package/dist/core/from/configurations.mjs +0 -12
  988. package/dist/core/from/configurations.mjs.map +0 -1
  989. package/dist/core/from/courses.mjs +0 -12
  990. package/dist/core/from/courses.mjs.map +0 -1
  991. package/dist/core/from/events.mjs +0 -13
  992. package/dist/core/from/events.mjs.map +0 -1
  993. package/dist/core/from/exceptions.mjs +0 -12
  994. package/dist/core/from/exceptions.mjs.map +0 -1
  995. package/dist/core/from/groups.mjs +0 -12
  996. package/dist/core/from/groups.mjs.map +0 -1
  997. package/dist/core/from/index.mjs +0 -23
  998. package/dist/core/from/index.mjs.map +0 -1
  999. package/dist/core/from/locations.mjs +0 -12
  1000. package/dist/core/from/locations.mjs.map +0 -1
  1001. package/dist/core/from/locked-times.mjs +0 -12
  1002. package/dist/core/from/locked-times.mjs.map +0 -1
  1003. package/dist/core/from/overlap-groups.mjs +0 -12
  1004. package/dist/core/from/overlap-groups.mjs.map +0 -1
  1005. package/dist/core/from/periods.mjs +0 -12
  1006. package/dist/core/from/periods.mjs.map +0 -1
  1007. package/dist/core/from/persons.mjs +0 -12
  1008. package/dist/core/from/persons.mjs.map +0 -1
  1009. package/dist/core/from/root-intervals.mjs +0 -12
  1010. package/dist/core/from/root-intervals.mjs.map +0 -1
  1011. package/dist/core/from/schedules.d.mts +0 -7
  1012. package/dist/core/from/schedules.mjs +0 -38
  1013. package/dist/core/from/schedules.mjs.map +0 -1
  1014. package/dist/core/from/settings.mjs +0 -21
  1015. package/dist/core/from/settings.mjs.map +0 -1
  1016. package/dist/core/from/syllabuses.mjs +0 -13
  1017. package/dist/core/from/syllabuses.mjs.map +0 -1
  1018. package/dist/core/from/teachers.mjs +0 -12
  1019. package/dist/core/from/teachers.mjs.map +0 -1
  1020. package/dist/core/index.d.mts +0 -38
  1021. package/dist/core/index.mjs +0 -16
  1022. package/dist/core/index.mjs.map +0 -1
  1023. package/dist/core/interfaces/index.d.mts +0 -23
  1024. package/dist/core/interfaces/index.mjs +0 -6
  1025. package/dist/core/interfaces/other/companies.d.mts +0 -132
  1026. package/dist/core/interfaces/other/companies.mjs +0 -9
  1027. package/dist/core/interfaces/other/companies.mjs.map +0 -1
  1028. package/dist/core/interfaces/other/etc.d.mts +0 -19
  1029. package/dist/core/interfaces/other/index.d.mts +0 -6
  1030. package/dist/core/interfaces/other/integrations.d.mts +0 -17
  1031. package/dist/core/interfaces/other/operations.d.mts +0 -36
  1032. package/dist/core/interfaces/other/policies.d.mts +0 -31
  1033. package/dist/core/interfaces/other/sync-logs.d.mts +0 -21
  1034. package/dist/core/interfaces/other/users.d.mts +0 -35
  1035. package/dist/core/interfaces/vertices/companies.d.mts +0 -8
  1036. package/dist/core/interfaces/vertices/configurations.d.mts +0 -58
  1037. package/dist/core/interfaces/vertices/courses.d.mts +0 -66
  1038. package/dist/core/interfaces/vertices/division-settings.d.mts +0 -54
  1039. package/dist/core/interfaces/vertices/divisions.d.mts +0 -31
  1040. package/dist/core/interfaces/vertices/events.d.mts +0 -104
  1041. package/dist/core/interfaces/vertices/exceptions.d.mts +0 -74
  1042. package/dist/core/interfaces/vertices/generations.d.mts +0 -23
  1043. package/dist/core/interfaces/vertices/groups.d.mts +0 -51
  1044. package/dist/core/interfaces/vertices/index.d.mts +0 -231
  1045. package/dist/core/interfaces/vertices/index.mjs +0 -3
  1046. package/dist/core/interfaces/vertices/linked-events-sets.d.mts +0 -19
  1047. package/dist/core/interfaces/vertices/locations.d.mts +0 -22
  1048. package/dist/core/interfaces/vertices/locked-times.d.mts +0 -37
  1049. package/dist/core/interfaces/vertices/overlap-groups.d.mts +0 -17
  1050. package/dist/core/interfaces/vertices/periods.d.mts +0 -15
  1051. package/dist/core/interfaces/vertices/persons.d.mts +0 -32
  1052. package/dist/core/interfaces/vertices/properties/belongs-to.d.mts +0 -11
  1053. package/dist/core/interfaces/vertices/properties/coalesced.d.mts +0 -8
  1054. package/dist/core/interfaces/vertices/properties/days.d.mts +0 -9
  1055. package/dist/core/interfaces/vertices/properties/index.d.mts +0 -15
  1056. package/dist/core/interfaces/vertices/properties/intervals.d.mts +0 -10
  1057. package/dist/core/interfaces/vertices/properties/maximum-schedule-span.d.mts +0 -19
  1058. package/dist/core/interfaces/vertices/properties/min-break-length.d.mts +0 -5
  1059. package/dist/core/interfaces/vertices/properties/planned-scheduled-duration.d.mts +0 -13
  1060. package/dist/core/interfaces/vertices/properties/species.d.mts +0 -9
  1061. package/dist/core/interfaces/vertices/properties/tags.d.mts +0 -9
  1062. package/dist/core/interfaces/vertices/properties/week.d.mts +0 -22
  1063. package/dist/core/interfaces/vertices/properties/week.mjs +0 -6
  1064. package/dist/core/interfaces/vertices/properties/week.mjs.map +0 -1
  1065. package/dist/core/interfaces/vertices/root-intervals.d.mts +0 -14
  1066. package/dist/core/interfaces/vertices/syllabuses.d.mts +0 -18
  1067. package/dist/core/interfaces/vertices/teachers.d.mts +0 -41
  1068. package/dist/core/interfaces/vertices/threads.d.mts +0 -33
  1069. package/dist/core/interfaces/vertices/users.d.mts +0 -11
  1070. package/dist/core/interfaces/vertices/util/common.d.mts +0 -28
  1071. package/dist/core/interfaces/vertices/util/custom-vertex-export/assert-no-invalid-expand-keys.d.mts +0 -16
  1072. package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.mts +0 -34
  1073. package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.mts +0 -52
  1074. package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.mts +0 -65
  1075. package/dist/core/interfaces/vertices/util/edges.d.mts +0 -123
  1076. package/dist/core/interfaces/vertices/util/index.d.mts +0 -6
  1077. package/dist/core/interfaces/vertices/util/keys-of.d.mts +0 -26
  1078. package/dist/core/interfaces/vertices/util/serialized-vertex-export.d.mts +0 -11
  1079. package/dist/core/interfaces/vertices/util/util.d.mts +0 -79
  1080. package/dist/core/interfaces/vertices/util/vertex-query/index.d.mts +0 -50
  1081. package/dist/core/interfaces/vertices/util/vertex-query/util.d.mts +0 -13
  1082. package/dist/core/interfaces/vertices/util/vertex.d.mts +0 -69
  1083. package/dist/core/interfaces/vertices/vertex-query.d.mts +0 -112
  1084. package/dist/core/interfaces/vertices/vertex-query.mjs +0 -114
  1085. package/dist/core/interfaces/vertices/vertex-query.mjs.map +0 -1
  1086. package/dist/core/to/configurations.mjs +0 -16
  1087. package/dist/core/to/configurations.mjs.map +0 -1
  1088. package/dist/core/to/courses.mjs +0 -41
  1089. package/dist/core/to/courses.mjs.map +0 -1
  1090. package/dist/core/to/division.mjs +0 -10
  1091. package/dist/core/to/division.mjs.map +0 -1
  1092. package/dist/core/to/events.mjs +0 -43
  1093. package/dist/core/to/events.mjs.map +0 -1
  1094. package/dist/core/to/exceptions.mjs +0 -29
  1095. package/dist/core/to/exceptions.mjs.map +0 -1
  1096. package/dist/core/to/groups.mjs +0 -25
  1097. package/dist/core/to/groups.mjs.map +0 -1
  1098. package/dist/core/to/index.d.mts +0 -9
  1099. package/dist/core/to/index.mjs +0 -10
  1100. package/dist/core/to/index.mjs.map +0 -1
  1101. package/dist/core/to/locations.mjs +0 -21
  1102. package/dist/core/to/locations.mjs.map +0 -1
  1103. package/dist/core/to/locked-times.mjs +0 -20
  1104. package/dist/core/to/locked-times.mjs.map +0 -1
  1105. package/dist/core/to/overlap-groups.mjs +0 -27
  1106. package/dist/core/to/overlap-groups.mjs.map +0 -1
  1107. package/dist/core/to/periods.mjs +0 -16
  1108. package/dist/core/to/periods.mjs.map +0 -1
  1109. package/dist/core/to/persons.mjs +0 -17
  1110. package/dist/core/to/persons.mjs.map +0 -1
  1111. package/dist/core/to/root-intervals.mjs +0 -16
  1112. package/dist/core/to/root-intervals.mjs.map +0 -1
  1113. package/dist/core/to/schedules.d.mts +0 -47
  1114. package/dist/core/to/schedules.mjs +0 -42
  1115. package/dist/core/to/schedules.mjs.map +0 -1
  1116. package/dist/core/to/settings.mjs +0 -18
  1117. package/dist/core/to/settings.mjs.map +0 -1
  1118. package/dist/core/to/syllabuses.mjs +0 -16
  1119. package/dist/core/to/syllabuses.mjs.map +0 -1
  1120. package/dist/core/to/teachers.mjs +0 -24
  1121. package/dist/core/to/teachers.mjs.map +0 -1
  1122. package/dist/core/to/util.d.mts +0 -10
  1123. package/dist/core/to/util.mjs +0 -24
  1124. package/dist/core/to/util.mjs.map +0 -1
  1125. package/dist/core/types/common/index.d.mts +0 -8
  1126. package/dist/core/types/common/meta.d.mts +0 -15
  1127. package/dist/core/types/index.d.mts +0 -137
  1128. package/dist/core/util.mjs +0 -46
  1129. package/dist/core/util.mjs.map +0 -1
  1130. package/dist/identify/constants/index.d.mts +0 -144
  1131. package/dist/identify/constants/index.mjs +0 -317
  1132. package/dist/identify/constants/index.mjs.map +0 -1
  1133. package/dist/identify/index.d.mts +0 -8
  1134. package/dist/identify/index.mjs +0 -93
  1135. package/dist/identify/index.mjs.map +0 -1
  1136. package/dist/identify/types/index.d.mts +0 -15
  1137. package/dist/index.d.mts +0 -57
  1138. package/dist/index.mjs +0 -22
  1139. package/dist/sdui/from/classes.mjs +0 -8
  1140. package/dist/sdui/from/classes.mjs.map +0 -1
  1141. package/dist/sdui/from/courses.mjs +0 -14
  1142. package/dist/sdui/from/courses.mjs.map +0 -1
  1143. package/dist/sdui/from/holidays.mjs +0 -8
  1144. package/dist/sdui/from/holidays.mjs.map +0 -1
  1145. package/dist/sdui/from/hours.mjs +0 -6
  1146. package/dist/sdui/from/hours.mjs.map +0 -1
  1147. package/dist/sdui/from/index.mjs +0 -30
  1148. package/dist/sdui/from/index.mjs.map +0 -1
  1149. package/dist/sdui/from/lessons.mjs +0 -23
  1150. package/dist/sdui/from/lessons.mjs.map +0 -1
  1151. package/dist/sdui/from/rooms.mjs +0 -11
  1152. package/dist/sdui/from/rooms.mjs.map +0 -1
  1153. package/dist/sdui/from/schedules.d.mts +0 -21
  1154. package/dist/sdui/from/schedules.mjs +0 -24
  1155. package/dist/sdui/from/schedules.mjs.map +0 -1
  1156. package/dist/sdui/from/school-years.mjs +0 -11
  1157. package/dist/sdui/from/school-years.mjs.map +0 -1
  1158. package/dist/sdui/from/subjects.mjs +0 -6
  1159. package/dist/sdui/from/subjects.mjs.map +0 -1
  1160. package/dist/sdui/from/substitution-plans.mjs +0 -10
  1161. package/dist/sdui/from/substitution-plans.mjs.map +0 -1
  1162. package/dist/sdui/from/teachers.mjs +0 -15
  1163. package/dist/sdui/from/teachers.mjs.map +0 -1
  1164. package/dist/sdui/index.d.mts +0 -32
  1165. package/dist/sdui/index.mjs +0 -12
  1166. package/dist/sdui/index.mjs.map +0 -1
  1167. package/dist/sdui/to/classes.mjs +0 -10
  1168. package/dist/sdui/to/classes.mjs.map +0 -1
  1169. package/dist/sdui/to/courses.mjs +0 -16
  1170. package/dist/sdui/to/courses.mjs.map +0 -1
  1171. package/dist/sdui/to/holidays.mjs +0 -16
  1172. package/dist/sdui/to/holidays.mjs.map +0 -1
  1173. package/dist/sdui/to/hours.mjs +0 -15
  1174. package/dist/sdui/to/hours.mjs.map +0 -1
  1175. package/dist/sdui/to/index.d.mts +0 -22
  1176. package/dist/sdui/to/index.mjs +0 -30
  1177. package/dist/sdui/to/index.mjs.map +0 -1
  1178. package/dist/sdui/to/lessons.mjs +0 -24
  1179. package/dist/sdui/to/lessons.mjs.map +0 -1
  1180. package/dist/sdui/to/rooms.mjs +0 -13
  1181. package/dist/sdui/to/rooms.mjs.map +0 -1
  1182. package/dist/sdui/to/schedules.mjs +0 -26
  1183. package/dist/sdui/to/schedules.mjs.map +0 -1
  1184. package/dist/sdui/to/school-years.mjs +0 -18
  1185. package/dist/sdui/to/school-years.mjs.map +0 -1
  1186. package/dist/sdui/to/subjects.mjs +0 -8
  1187. package/dist/sdui/to/subjects.mjs.map +0 -1
  1188. package/dist/sdui/to/substitution-plans.mjs +0 -46
  1189. package/dist/sdui/to/substitution-plans.mjs.map +0 -1
  1190. package/dist/sdui/to/teachers.mjs +0 -20
  1191. package/dist/sdui/to/teachers.mjs.map +0 -1
  1192. package/dist/sdui/types/classes.d.mts +0 -8
  1193. package/dist/sdui/types/courses.d.mts +0 -12
  1194. package/dist/sdui/types/holidays.d.mts +0 -10
  1195. package/dist/sdui/types/hours.d.mts +0 -10
  1196. package/dist/sdui/types/index.d.mts +0 -31
  1197. package/dist/sdui/types/lessons.d.mts +0 -13
  1198. package/dist/sdui/types/rooms.d.mts +0 -9
  1199. package/dist/sdui/types/schedules.d.mts +0 -27
  1200. package/dist/sdui/types/school-years.d.mts +0 -9
  1201. package/dist/sdui/types/subjects.d.mts +0 -9
  1202. package/dist/sdui/types/substitution-plans.d.mts +0 -30
  1203. package/dist/sdui/types/teachers.d.mts +0 -10
  1204. package/dist/vKlass/from/index.mjs +0 -8
  1205. package/dist/vKlass/from/index.mjs.map +0 -1
  1206. package/dist/vKlass/from/schedule.d.mts +0 -24
  1207. package/dist/vKlass/from/schedule.mjs +0 -71
  1208. package/dist/vKlass/from/schedule.mjs.map +0 -1
  1209. package/dist/vKlass/index.d.mts +0 -13
  1210. package/dist/vKlass/index.mjs +0 -12
  1211. package/dist/vKlass/index.mjs.map +0 -1
  1212. package/dist/vKlass/to/index.d.mts +0 -9
  1213. package/dist/vKlass/to/index.mjs +0 -10
  1214. package/dist/vKlass/to/index.mjs.map +0 -1
  1215. package/dist/vKlass/to/schedules.d.mts +0 -14
  1216. package/dist/vKlass/to/schedules.mjs +0 -82
  1217. package/dist/vKlass/to/schedules.mjs.map +0 -1
  1218. package/dist/vKlass/types/index.d.mts +0 -53
@@ -0,0 +1,537 @@
1
+ import { makeChainable } from "../../../common/make-chainable/index.js";
2
+ import { countBy, isNumber, isString } from "lodash-es";
3
+ import { nanoid } from "nanoid";
4
+
5
+ //#region src/Excel/v2/from/index.ts
6
+ function generateId(map$1) {
7
+ let id;
8
+ do
9
+ id = nanoid(8);
10
+ while (map$1.has(id));
11
+ return id;
12
+ }
13
+ function toPositiveMultipleOf5(val) {
14
+ const num = isString(val) ? parseInt(val) : val;
15
+ if (isNaN(num)) throw new Error(`toMultipleOf5: ${val} is not a number`);
16
+ const res = Math.floor(num / 5) * 5;
17
+ if (res <= 0) throw new Error(`toMultipleOf5: the result ${res} is not positive`);
18
+ return res;
19
+ }
20
+ function toPositiveInteger(val) {
21
+ const num = isString(val) ? parseInt(val) : val;
22
+ if (isNaN(num)) throw new Error(`toInteger: ${val} is not a number`);
23
+ if (num <= 0) throw new Error(`toInteger: te result ${num} is not positive`);
24
+ return num;
25
+ }
26
+ /**
27
+ * Converts a string/number to a trimmed string
28
+ */
29
+ function toString(x) {
30
+ return isNumber(x) ? x.toString() : x.trim();
31
+ }
32
+ /**
33
+ * Converts a possible nullish string/number to a trimmed string or undefined
34
+ */
35
+ function toStringIfExists(x) {
36
+ if (x == null) return void 0;
37
+ return toString(x);
38
+ }
39
+ function extractLocations(course, locationsNameMap, warnings) {
40
+ if (course.locations == null) return;
41
+ const locationsStr = toString(course.locations);
42
+ if (!locationsStr) return;
43
+ const locationReferences = [];
44
+ locationsStr.split("+").flatMap((x, i) => x.split(",").map((x$1) => [i, x$1.trim()])).forEach(([i, x]) => {
45
+ const key = x.toLowerCase();
46
+ const ref = locationsNameMap.get(key);
47
+ if (!ref) {
48
+ warnings.push({
49
+ code: "invalid_location_reference",
50
+ context: x
51
+ });
52
+ return;
53
+ }
54
+ if (locationReferences.some((y) => y.to == ref.id)) {
55
+ warnings.push({
56
+ code: "location_referenced_multiple_times",
57
+ context: x
58
+ });
59
+ return;
60
+ }
61
+ locationReferences.push({
62
+ groupIndex: i,
63
+ to: ref.id
64
+ });
65
+ });
66
+ return locationReferences;
67
+ }
68
+ function extractGroups(course, groupsNameMap, warnings) {
69
+ if (course.groups == null) return;
70
+ const groupsStr = toString(course.groups);
71
+ if (!groupsStr) return;
72
+ const groupReferences = [];
73
+ groupsStr.split(",").map((x) => x.trim()).forEach((x) => {
74
+ const key = x.toLowerCase();
75
+ const ref = groupsNameMap.get(key);
76
+ if (!ref) {
77
+ warnings.push({
78
+ code: "invalid_group_reference",
79
+ context: x
80
+ });
81
+ return;
82
+ }
83
+ if (groupReferences.some((y) => y.to == ref.id)) {
84
+ warnings.push({
85
+ code: "group_referenced_multiple_times",
86
+ context: x
87
+ });
88
+ return;
89
+ }
90
+ groupReferences.push({ to: ref.id });
91
+ });
92
+ return groupReferences;
93
+ }
94
+ function extractTeachers(course, teachersNameMap, warnings) {
95
+ if (course.teachers == null) return;
96
+ const teachersStr = toString(course.teachers);
97
+ if (!teachersStr) return void 0;
98
+ const teacherReferences = [];
99
+ teachersStr.split(",").map((x) => x.trim()).forEach((x) => {
100
+ const key = x.toLowerCase();
101
+ const ref = teachersNameMap.get(key);
102
+ if (!ref) {
103
+ warnings.push({
104
+ code: "invalid_teacher_reference",
105
+ context: x
106
+ });
107
+ return;
108
+ }
109
+ if (teacherReferences.some((y) => y.to == ref.id)) {
110
+ warnings.push({
111
+ code: "teacher_referenced_multiple_times",
112
+ context: x
113
+ });
114
+ return;
115
+ }
116
+ teacherReferences.push({ to: ref.id });
117
+ });
118
+ return teacherReferences;
119
+ }
120
+ function extractSyllabus(course, syllabusesCodeMap, syllabusesNameMap, warnings) {
121
+ if (course.syllabus == null) return void 0;
122
+ const syllabusValue = toString(course.syllabus);
123
+ if (!syllabusValue) return void 0;
124
+ const syllabus = syllabusesCodeMap.get(syllabusValue) || syllabusesNameMap.get(syllabusValue.toLowerCase());
125
+ if (!syllabus) {
126
+ warnings.push({
127
+ code: "invalid_syllabus_reference",
128
+ context: syllabusValue
129
+ });
130
+ return void 0;
131
+ }
132
+ return syllabus.id;
133
+ }
134
+ function _schedules(source) {
135
+ const warnings = [];
136
+ source.settings = source.settings?.filter((x) => Object.values(x).some((y) => toString(y).length > 0));
137
+ source.locations = source.locations?.filter((x) => Object.values(x).some((y) => toString(y).length > 0));
138
+ source.teachers = source.teachers?.filter((x) => Object.values(x).some((y) => toString(y).length > 0));
139
+ source.groups = source.groups?.filter((x) => Object.values(x).some((y) => toString(y).length > 0));
140
+ source.persons = source.persons?.filter((x) => Object.values(x).some((y) => toString(y).length > 0));
141
+ source.courses = source.courses?.filter((x) => Object.values(x).some((y) => toString(y).length > 0));
142
+ const settings = {
143
+ discretization: 5,
144
+ numDays: 5,
145
+ dayStart: "08:00",
146
+ dayEnd: "17:00"
147
+ };
148
+ if (!source.settings) warnings.push({ code: "missing_settings_sheet" });
149
+ if (source.settings?.[0]?.number_of_days) {
150
+ const numDays = source.settings?.[0]?.number_of_days;
151
+ try {
152
+ settings.numDays = toPositiveInteger(numDays);
153
+ if (settings.numDays !== 5 && settings.numDays !== 7) {
154
+ warnings.push({
155
+ code: "invalid_number_of_days",
156
+ context: numDays
157
+ });
158
+ settings.numDays = 5;
159
+ }
160
+ } catch {
161
+ warnings.push({
162
+ code: "invalid_number_of_days",
163
+ context: numDays
164
+ });
165
+ }
166
+ }
167
+ const syllabusesIdMap = /* @__PURE__ */ new Map();
168
+ const syllabusesNameMap = /* @__PURE__ */ new Map();
169
+ const syllabusesCodeMap = /* @__PURE__ */ new Map();
170
+ if (!source.syllabuses) {}
171
+ source.syllabuses?.forEach((x) => {
172
+ const ids = toStringIfExists(x.foreign_ID);
173
+ const subjectCode = toStringIfExists(x.subject_code);
174
+ const subjectName = toStringIfExists(x.subject_name);
175
+ const courseCode = toStringIfExists(x.course_code);
176
+ const courseName = toStringIfExists(x.course_name);
177
+ const schoolType = toStringIfExists(x.school_type);
178
+ const id = toStringIfExists(x.ID) ?? generateId(syllabusesIdMap);
179
+ if (syllabusesIdMap.has(id)) {
180
+ warnings.push({
181
+ code: "ignoring_duplicate_syllabus",
182
+ context: `${subjectName} (${courseName})`
183
+ });
184
+ return;
185
+ }
186
+ if (!subjectName) {
187
+ warnings.push({
188
+ code: "missing_subject_name",
189
+ context: x
190
+ });
191
+ return;
192
+ }
193
+ if (!schoolType) {
194
+ warnings.push({
195
+ code: "missing_school_type",
196
+ context: x
197
+ });
198
+ return;
199
+ }
200
+ const y = {
201
+ id,
202
+ ...ids && { ids },
203
+ ...subjectCode && { subjectCode },
204
+ subjectName,
205
+ ...courseCode && { courseCode },
206
+ ...courseName && { courseName },
207
+ schoolType,
208
+ official: true,
209
+ __raw: x
210
+ };
211
+ syllabusesIdMap.set(id, y);
212
+ const code = courseCode || subjectCode;
213
+ const name = courseName || subjectName;
214
+ if (code) syllabusesCodeMap.set(code, y);
215
+ if (name) syllabusesNameMap.set(name.toLowerCase(), y);
216
+ });
217
+ const locationsIdMap = /* @__PURE__ */ new Map();
218
+ const locationsNameMap = /* @__PURE__ */ new Map();
219
+ const teachersIdMap = /* @__PURE__ */ new Map();
220
+ const teachersNameMap = /* @__PURE__ */ new Map();
221
+ [{
222
+ name: {
223
+ singular: "location",
224
+ plural: "locations"
225
+ },
226
+ data: source.locations,
227
+ idMap: locationsIdMap,
228
+ nameMap: locationsNameMap
229
+ }, {
230
+ name: {
231
+ singular: "teacher",
232
+ plural: "teachers"
233
+ },
234
+ data: source.teachers,
235
+ idMap: teachersIdMap,
236
+ nameMap: teachersNameMap
237
+ }].forEach(({ name, data, idMap, nameMap }) => {
238
+ if (!data) warnings.push({ code: `missing_${name.plural}_sheet` });
239
+ data?.forEach((x) => {
240
+ const ids = toStringIfExists(x.foreign_ID);
241
+ const displayName = toStringIfExists(x.name);
242
+ const id = toStringIfExists(x.ID) ?? generateId(idMap);
243
+ if (idMap.has(id)) {
244
+ warnings.push({
245
+ code: `ignoring_duplicate_${name.singular}`,
246
+ context: displayName
247
+ });
248
+ return;
249
+ }
250
+ const y = {
251
+ id,
252
+ ...ids && { ids },
253
+ ...displayName && { displayName },
254
+ __raw: x
255
+ };
256
+ idMap.set(id, y);
257
+ if (displayName) nameMap.set(displayName.toLowerCase(), y);
258
+ });
259
+ });
260
+ const groupsIdMap = /* @__PURE__ */ new Map();
261
+ const groupsNameMap = /* @__PURE__ */ new Map();
262
+ if (!source.groups) warnings.push({ code: "missing_groups_sheet" });
263
+ source.groups?.forEach((x) => {
264
+ const ids = toStringIfExists(x.foreign_ID);
265
+ const displayName = toStringIfExists(x.name);
266
+ const id = toStringIfExists(x.ID) ?? generateId(groupsIdMap);
267
+ if (groupsIdMap.has(id)) {
268
+ warnings.push({
269
+ code: "ignoring_duplicate_group",
270
+ context: displayName
271
+ });
272
+ return;
273
+ }
274
+ const species = toStringIfExists(x.is_class) == "1" ? "class" : void 0;
275
+ const y = {
276
+ id,
277
+ ...ids && { ids },
278
+ ...displayName && { displayName },
279
+ ...species && { species },
280
+ __raw: x
281
+ };
282
+ groupsIdMap.set(id, y);
283
+ if (displayName) groupsNameMap.set(displayName.toLowerCase(), y);
284
+ });
285
+ const personsIdMap = /* @__PURE__ */ new Map();
286
+ const personsSsnMap = /* @__PURE__ */ new Map();
287
+ if (!source.persons) warnings.push({ code: "missing_persons_sheet" });
288
+ source.persons?.forEach((x) => {
289
+ const ids = toStringIfExists(x.foreign_ID);
290
+ const firstName = toStringIfExists(x.first_name);
291
+ const lastName = toStringIfExists(x.last_name);
292
+ const SSN = toStringIfExists(x.SSN);
293
+ const id = toStringIfExists(x.ID) ?? generateId(personsIdMap);
294
+ if (personsIdMap.has(id)) {
295
+ warnings.push({
296
+ code: "ignoring_duplicate_person",
297
+ context: `${firstName} ${lastName}`
298
+ });
299
+ return;
300
+ }
301
+ let group = void 0;
302
+ if (x.group) {
303
+ const key = toString(x.group).toLowerCase();
304
+ const ref = groupsNameMap.get(key);
305
+ if (!ref) warnings.push({
306
+ code: "invalid_group_reference",
307
+ context: x.group
308
+ });
309
+ else if (ref.species !== "class") warnings.push({
310
+ code: "forbidden_group_reference",
311
+ context: x.group
312
+ });
313
+ else group = ref.id;
314
+ }
315
+ let sex;
316
+ if (x.sex) if (isString(x.sex) && x.sex.toLowerCase() == "man") sex = "Man";
317
+ else if (isString(x.sex) && x.sex.toLowerCase() == "woman") sex = "Woman";
318
+ else warnings.push({
319
+ code: "invalid_sex",
320
+ context: x.sex
321
+ });
322
+ const person = {
323
+ id,
324
+ ...ids && { ids },
325
+ ...firstName && { firstName },
326
+ ...lastName && { lastName },
327
+ ...sex && { sex },
328
+ ...group && { group },
329
+ ...SSN && { SSN: { value: SSN } },
330
+ __raw: x
331
+ };
332
+ personsIdMap.set(id, person);
333
+ if (SSN) personsSsnMap.set(SSN, person);
334
+ });
335
+ groupsNameMap.forEach((x) => {
336
+ let duplicateReported = false;
337
+ if (!x.__raw.members) return;
338
+ x.members = makeChainable(x.__raw.members).chain((x$1) => toString(x$1).split(",").map((x$2) => x$2.trim()).filter((x$2) => x$2 != null)).chain((x$1) => countBy(x$1)).chain((y) => Object.entries(y).map(([ssn, count]) => {
339
+ if (!ssn) return;
340
+ if (!duplicateReported && count > 1) {
341
+ warnings.push({
342
+ code: "duplicate_group_member",
343
+ context: x.displayName
344
+ });
345
+ duplicateReported = true;
346
+ }
347
+ const person = personsSsnMap.get(ssn);
348
+ if (!person) {
349
+ warnings.push({
350
+ code: "invalid_person_reference",
351
+ context: ssn
352
+ });
353
+ return;
354
+ }
355
+ if (x.species == "class") {
356
+ if (!person.group) person.group = x.id;
357
+ else if (person.group != x.id) {
358
+ warnings.push({
359
+ code: "person_in_multiple_classes",
360
+ context: ssn
361
+ });
362
+ return;
363
+ }
364
+ }
365
+ return person.id;
366
+ }).filter((x$1) => x$1 != null)).value;
367
+ });
368
+ const coursesIdMap = /* @__PURE__ */ new Map();
369
+ const eventsIdMap = /* @__PURE__ */ new Map();
370
+ const overlapGroupsKeyMap = /* @__PURE__ */ new Map();
371
+ if (!source.courses) warnings.push({ code: "missing_courses_sheet" });
372
+ source.courses?.forEach((x) => {
373
+ const mergeWith = toStringIfExists(x.merge_with);
374
+ if (mergeWith) return;
375
+ const ids = toStringIfExists(x.foreign_ID);
376
+ const displayName = toStringIfExists(x.name);
377
+ const subject = toStringIfExists(x.subject);
378
+ const courseId = toStringIfExists(x.ID) ?? generateId(coursesIdMap);
379
+ if (coursesIdMap.has(courseId)) {
380
+ warnings.push({
381
+ code: "ignoring_duplicate_course",
382
+ context: displayName + (subject ? ` (${subject})` : "")
383
+ });
384
+ return;
385
+ }
386
+ let expectedTotalHours = void 0;
387
+ if (x.total_hours) try {
388
+ expectedTotalHours = toPositiveInteger(x.total_hours);
389
+ } catch {
390
+ warnings.push({
391
+ code: "invalid_total_hours",
392
+ context: x.total_hours
393
+ });
394
+ }
395
+ let minutesPerWeek = void 0;
396
+ if (x.minutes_per_week) try {
397
+ minutesPerWeek = toPositiveMultipleOf5(x.minutes_per_week);
398
+ } catch {
399
+ warnings.push({
400
+ code: "invalid_minutes_per_week",
401
+ context: x.minutes_per_week
402
+ });
403
+ }
404
+ if (minutesPerWeek != null && expectedTotalHours != null) warnings.push({
405
+ code: "ambiguous_planned_duration",
406
+ context: `${minutesPerWeek} min/week OR ${expectedTotalHours} hrs`
407
+ });
408
+ const plannedDuration = expectedTotalHours ? `${expectedTotalHours} hrs` : minutesPerWeek ? `${minutesPerWeek} min/week` : void 0;
409
+ if (x.lesson_durations) {
410
+ const _durations = typeof x.lesson_durations === "string" ? x.lesson_durations.split(",").map((x$1) => x$1.trim()) : [x.lesson_durations];
411
+ const durations = _durations.map((e) => {
412
+ try {
413
+ return toPositiveMultipleOf5(e);
414
+ } catch {
415
+ warnings.push({
416
+ code: "invalid_lesson_durations",
417
+ context: x.lesson_durations
418
+ });
419
+ return void 0;
420
+ }
421
+ }).filter((x$1) => x$1 !== void 0);
422
+ durations.forEach((x$1) => {
423
+ const id = generateId(eventsIdMap);
424
+ const event = {
425
+ id,
426
+ course: courseId,
427
+ preferredDuration: x$1
428
+ };
429
+ eventsIdMap.set(id, event);
430
+ });
431
+ }
432
+ if (x.overlap_group && toString(x.overlap_group)) {
433
+ const key = toString(x.overlap_group).toLowerCase();
434
+ const og = overlapGroupsKeyMap.get(key);
435
+ if (og) og.coalesced?.push({
436
+ toModel: "courses",
437
+ to: courseId
438
+ });
439
+ else {
440
+ const id = generateId(overlapGroupsKeyMap);
441
+ const coalesced = [{
442
+ toModel: "courses",
443
+ to: courseId
444
+ }];
445
+ overlapGroupsKeyMap.set(key, {
446
+ id,
447
+ coalesced
448
+ });
449
+ }
450
+ }
451
+ const locations = extractLocations(x, locationsNameMap, warnings)?.map((x$1) => ({
452
+ groupIndex: x$1.groupIndex,
453
+ locations: [x$1.to]
454
+ }));
455
+ const groups = extractGroups(x, groupsNameMap, warnings);
456
+ const teachers = extractTeachers(x, teachersNameMap, warnings);
457
+ const syllabus = extractSyllabus(x, syllabusesCodeMap, syllabusesNameMap, warnings);
458
+ const course = {
459
+ id: courseId,
460
+ ...ids && { ids },
461
+ ...displayName && { displayName },
462
+ ...subject && { subject },
463
+ ...expectedTotalHours && { expectedTotalHours },
464
+ ...minutesPerWeek && { minutesPerWeek },
465
+ ...plannedDuration && { plannedDuration },
466
+ ...groups && { groups },
467
+ ...teachers && { teachers },
468
+ ...locations && { locations },
469
+ ...syllabus && { syllabus },
470
+ __raw: x
471
+ };
472
+ coursesIdMap.set(courseId, course);
473
+ });
474
+ source.courses?.forEach((x) => {
475
+ const mergeWith = toStringIfExists(x.merge_with);
476
+ if (!mergeWith) return;
477
+ if (!coursesIdMap.has(mergeWith)) {
478
+ warnings.push({
479
+ code: "invalid_course_reference",
480
+ context: mergeWith
481
+ });
482
+ return;
483
+ }
484
+ const displayName = toStringIfExists(x.name);
485
+ const locations = extractLocations(x, locationsNameMap, warnings)?.map((x$1) => ({
486
+ groupIndex: x$1.groupIndex,
487
+ locations: [x$1.to]
488
+ }));
489
+ const groups = extractGroups(x, groupsNameMap, warnings);
490
+ const teachers = extractTeachers(x, teachersNameMap, warnings);
491
+ if (x.lesson_durations) {
492
+ const _durations = typeof x.lesson_durations === "string" ? x.lesson_durations.split(",").map((x$1) => x$1.trim()) : [x.lesson_durations];
493
+ const durations = _durations.map((e) => {
494
+ try {
495
+ return toPositiveMultipleOf5(e);
496
+ } catch {
497
+ warnings.push({
498
+ code: "invalid_lesson_durations",
499
+ context: x.lesson_durations
500
+ });
501
+ return void 0;
502
+ }
503
+ }).filter((x$1) => x$1 !== void 0);
504
+ durations.forEach((preferredDuration) => {
505
+ const id = generateId(eventsIdMap);
506
+ const event = {
507
+ id,
508
+ course: mergeWith,
509
+ preferredDuration,
510
+ ...displayName && { displayName },
511
+ ...groups && { groups },
512
+ ...teachers && { teachers },
513
+ ...locations && { locations },
514
+ __raw: x
515
+ };
516
+ eventsIdMap.set(id, event);
517
+ });
518
+ }
519
+ });
520
+ return {
521
+ settings,
522
+ locations: [...locationsIdMap.values()],
523
+ teachers: [...teachersIdMap.values()],
524
+ persons: [...personsIdMap.values()],
525
+ groups: [...groupsIdMap.values()],
526
+ courses: [...coursesIdMap.values()],
527
+ events: [...eventsIdMap.values()],
528
+ overlapGroups: [...overlapGroupsKeyMap.values()],
529
+ syllabuses: [...syllabusesIdMap.values()],
530
+ meta: { ...warnings.length && { warnings } }
531
+ };
532
+ }
533
+ var from_default = { schedules: _schedules };
534
+
535
+ //#endregion
536
+ export { from_default as default };
537
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["id: string","map","locationReferences: { groupIndex: number; to: string }[]","x","groupReferences: { to: string }[]","teacherReferences: { to: string }[]","warnings: { code: Types.ErrorCode, context?: unknown }[]","settings: C_Settings","y: C_Syllabus","group: string | undefined","sex: C_Person['sex']","person: C_Person","expectedTotalHours: number | undefined","minutesPerWeek: number | undefined","event: C_Event","course: C_Course"],"sources":["../../../../src/Excel/v2/from/index.ts"],"sourcesContent":["import { isString, isNumber, countBy } from 'lodash-es';\nimport { nanoid } from 'nanoid';\nimport type { CoreTypes } from '../../../core';\nimport type { Types } from '../types';\nimport type { FromInterface } from '../../../common/types';\nimport { makeChainable } from '../../../common/make-chainable';\n\ntype C_Settings = Pick<CoreTypes.Serialized.Settings, 'discretization' | 'numDays' | 'dayStart' | 'dayEnd'>;\ntype C_Location = Omit<CoreTypes.Serialized.Location, '_id'> & { __raw: Types.Location };\ntype C_Group = Omit<CoreTypes.Serialized.Group, '_id'> & { __raw: Types.Group };\ntype C_Teacher = Omit<CoreTypes.Serialized.Teacher, '_id'> & { __raw: Types.Teacher };\ntype C_Course = Omit<CoreTypes.Serialized.Course, '_id'> & { __raw: Types.Course };\ntype C_Person = Omit<CoreTypes.Serialized.Person, '_id'> & { __raw: Types.Person };\ntype C_Event = Omit<CoreTypes.Serialized.Event, '_id'> & { __raw?: Types.Course };\ntype C_OverlapGroup = Omit<CoreTypes.Serialized.OverlapGroup, '_id'> & { /* raw: Types.OverlapGroup */ };\ntype C_Syllabus = Omit<CoreTypes.Serialized.Syllabus, '_id'> & { __raw?: Types.Syllabus };\n\ntype Out = {\n settings: C_Settings;\n locations: C_Location[];\n teachers: C_Teacher[];\n persons: C_Person[];\n groups: C_Group[];\n courses: C_Course[];\n events: C_Event[];\n overlapGroups: C_OverlapGroup[];\n syllabuses: C_Syllabus[];\n meta: {\n // errors?: string[];\n warnings?: { code: Types.ErrorCode, context?: unknown }[];\n };\n};\n\n\nfunction generateId (map: Map<string, unknown>) {\n // generate a unique id\n let id: string;\n do {\n id = nanoid(8);\n } while (map.has(id));\n\n return id;\n}\n\nfunction toPositiveMultipleOf5 (val: number | string) {\n const num = isString(val) ? parseInt(val) : val;\n\n // throw error if nan\n if (isNaN(num)) throw new Error(`toMultipleOf5: ${val} is not a number`);\n\n const res = Math.floor(num / 5) * 5;\n\n if (res <= 0) throw new Error(`toMultipleOf5: the result ${res} is not positive`);\n\n return res;\n}\n\nfunction toPositiveInteger (val: number | string) {\n const num = isString(val) ? parseInt(val) : val;\n\n // throw error if nan\n if (isNaN(num)) throw new Error(`toInteger: ${val} is not a number`);\n if (num <= 0) throw new Error(`toInteger: te result ${num} is not positive`);\n\n return num;\n}\n\n/**\n * Converts a string/number to a trimmed string\n */\nfunction toString (x: string | number): string {\n return isNumber(x)\n ? x.toString()\n : x.trim();\n}\n\n/**\n * Converts a possible nullish string/number to a trimmed string or undefined\n */\nfunction toStringIfExists (x: string | number | undefined | null): string | undefined {\n if (x == null) return undefined;\n return toString(x);\n}\n\nfunction extractLocations (\n course: Types.Course,\n locationsNameMap: Map<string, C_Location>,\n warnings: { code: Types.ErrorCode, context?: unknown }[],\n) {\n if (course.locations == null) return;\n const locationsStr = toString(course.locations);\n if (!locationsStr) return;\n\n const locationReferences: { groupIndex: number; to: string }[] = [];\n\n locationsStr.split('+')\n .flatMap((x, i) => x.split(',').map(x => [i, x.trim()] as [number, string]))\n .forEach(([i, x]) => {\n const key = x.toLowerCase();\n const ref = locationsNameMap.get(key);\n if (!ref) {\n warnings.push({ code: 'invalid_location_reference', context: x });\n return;\n }\n\n if (locationReferences.some(y => y.to == ref.id)) {\n warnings.push({ code: 'location_referenced_multiple_times', context: x });\n return;\n }\n\n locationReferences.push({ groupIndex: i, to: ref.id });\n });\n\n return locationReferences;\n}\n\nfunction extractGroups (\n course: Types.Course,\n groupsNameMap: Map<string, C_Group>,\n warnings: { code: Types.ErrorCode, context?: unknown }[],\n) {\n if (course.groups == null) return;\n const groupsStr = toString(course.groups);\n if (!groupsStr) return;\n\n const groupReferences: { to: string }[] = [];\n groupsStr.split(',').map(x => x.trim())\n .forEach(x => {\n const key = x.toLowerCase();\n const ref = groupsNameMap.get(key);\n if (!ref) {\n warnings.push({ code: 'invalid_group_reference', context: x });\n return;\n }\n\n if (groupReferences.some(y => y.to == ref.id)) {\n warnings.push({ code: 'group_referenced_multiple_times', context: x });\n return;\n }\n\n groupReferences.push({ to: ref.id });\n });\n\n return groupReferences;\n}\n\nfunction extractTeachers (\n course: Types.Course,\n teachersNameMap: Map<string, C_Teacher>,\n warnings: { code: Types.ErrorCode, context?: unknown }[],\n) {\n if (course.teachers == null) return;\n const teachersStr = toString(course.teachers);\n if (!teachersStr) return undefined;\n\n const teacherReferences: { to: string }[] = [];\n teachersStr.split(',').map(x => x.trim())\n .forEach(x => {\n const key = x.toLowerCase();\n const ref = teachersNameMap.get(key);\n if (!ref) {\n warnings.push({ code: 'invalid_teacher_reference', context: x });\n return;\n }\n\n if (teacherReferences.some(y => y.to == ref.id)) {\n warnings.push({ code: 'teacher_referenced_multiple_times', context: x });\n return;\n }\n\n teacherReferences.push({ to: ref.id });\n });\n\n return teacherReferences;\n}\n\nfunction extractSyllabus (\n course: Types.Course,\n syllabusesCodeMap: Map<string, C_Syllabus>,\n syllabusesNameMap: Map<string, C_Syllabus>,\n warnings: { code: Types.ErrorCode, context?: unknown }[],\n): string | undefined {\n if (course.syllabus == null) return undefined;\n const syllabusValue = toString(course.syllabus);\n if (!syllabusValue) return undefined;\n\n const syllabus = syllabusesCodeMap.get(syllabusValue) || syllabusesNameMap.get(syllabusValue.toLowerCase());\n\n if (!syllabus) {\n warnings.push({ code: 'invalid_syllabus_reference', context: syllabusValue });\n return undefined;\n }\n\n return syllabus.id;\n}\n\n\nfunction _schedules (\n source: Types.Source\n): Out {\n // gather all import related warnings/errors\n const warnings: { code: Types.ErrorCode, context?: unknown }[] = [];\n // let errors: string[] = [];\n\n source.settings = source.settings ?.filter(x => Object.values(x).some(y => toString(y).length > 0));\n source.locations = source.locations?.filter(x => Object.values(x).some(y => toString(y).length > 0));\n source.teachers = source.teachers ?.filter(x => Object.values(x).some(y => toString(y).length > 0));\n source.groups = source.groups ?.filter(x => Object.values(x).some(y => toString(y).length > 0));\n source.persons = source.persons ?.filter(x => Object.values(x).some(y => toString(y).length > 0));\n source.courses = source.courses ?.filter(x => Object.values(x).some(y => toString(y).length > 0));\n\n\n ////\n //// settings\n ////\n const settings: C_Settings = {\n discretization: 5,\n numDays: 5,\n dayStart: '08:00',\n dayEnd: '17:00',\n };\n if (!source.settings) {\n warnings.push({ code: 'missing_settings_sheet' });\n }\n if (source.settings?.[0]?.number_of_days) {\n const numDays = source.settings?.[0]?.number_of_days;\n try {\n settings.numDays = toPositiveInteger(numDays);\n\n // must be 5 or 7\n if (settings.numDays !== 5 && settings.numDays !== 7) {\n warnings.push({ code: 'invalid_number_of_days', context: numDays });\n settings.numDays = 5;\n }\n } catch {\n warnings.push({ code: 'invalid_number_of_days', context: numDays });\n }\n }\n\n ////\n //// syllabuses\n ////\n const syllabusesIdMap = new Map<string, C_Syllabus>();\n const syllabusesNameMap = new Map<string, C_Syllabus>();\n const syllabusesCodeMap = new Map<string, C_Syllabus>();\n if (!source.syllabuses) {\n // warnings.push({ code: 'missing_syllabus_sheet' });\n }\n source.syllabuses?.forEach(x => {\n const ids = toStringIfExists(x.foreign_ID );\n const subjectCode = toStringIfExists(x.subject_code);\n const subjectName = toStringIfExists(x.subject_name);\n const courseCode = toStringIfExists(x.course_code );\n const courseName = toStringIfExists(x.course_name );\n const schoolType = toStringIfExists(x.school_type );\n\n const id = toStringIfExists(x.ID) ?? generateId(syllabusesIdMap);\n if (syllabusesIdMap.has(id)) {\n warnings.push({ code: 'ignoring_duplicate_syllabus', context: `${subjectName} (${courseName})` });\n return;\n }\n\n if (!subjectName) {\n warnings.push({ code: 'missing_subject_name', context: x });\n return;\n }\n\n if (!schoolType) {\n warnings.push({ code: 'missing_school_type', context: x });\n return;\n }\n\n // create the syllabus object\n const y: C_Syllabus = {\n id,\n ...ids && { ids },\n ...subjectCode && { subjectCode },\n subjectName,\n ...courseCode && { courseCode },\n ...courseName && { courseName },\n schoolType,\n official: true, // always true for imported syllabuses\n __raw: x\n };\n syllabusesIdMap.set(id, y);\n const code = courseCode || subjectCode;\n const name = courseName || subjectName;\n if (code) syllabusesCodeMap.set(code, y);\n if (name) syllabusesNameMap.set(name.toLowerCase(), y);\n });\n\n\n ////\n //// locations, teachers\n ////\n const locationsIdMap = new Map<string, C_Location>();\n const locationsNameMap = new Map<string, C_Location>();\n const teachersIdMap = new Map<string, C_Teacher>();\n const teachersNameMap = new Map<string, C_Teacher>();\n [\n {\n name: { singular: 'location', plural: 'locations' } as const,\n data: source.locations,\n idMap: locationsIdMap,\n nameMap: locationsNameMap,\n },\n {\n name: { singular: 'teacher', plural: 'teachers' } as const,\n data: source.teachers,\n idMap: teachersIdMap,\n nameMap: teachersNameMap,\n }\n ].forEach(({ name, data, idMap, nameMap }) => {\n if (!data) {\n warnings.push({ code: `missing_${name.plural}_sheet` });\n }\n data?.forEach(x => {\n const ids = toStringIfExists(x.foreign_ID);\n const displayName = toStringIfExists(x.name );\n\n const id = toStringIfExists(x.ID) ?? generateId(idMap);\n if (idMap.has(id)) {\n warnings.push({ code: `ignoring_duplicate_${name.singular}`, context: displayName });\n return;\n }\n\n const y = {\n id,\n ...ids && { ids },\n ...displayName && { displayName },\n __raw: x\n };\n idMap.set(id, y);\n if (displayName) nameMap.set(displayName.toLowerCase(), y);\n });\n });\n\n\n ////\n //// groups\n ////\n const groupsIdMap = new Map<string, C_Group>();\n const groupsNameMap = new Map<string, C_Group>();\n if (!source.groups) {\n warnings.push({ code: 'missing_groups_sheet' });\n }\n source.groups?.forEach(x => {\n const ids = toStringIfExists(x.foreign_ID);\n const displayName = toStringIfExists(x.name );\n\n const id = toStringIfExists(x.ID) ?? generateId(groupsIdMap);\n if (groupsIdMap.has(id)) {\n warnings.push({ code: 'ignoring_duplicate_group', context: displayName });\n return;\n }\n\n // parent groups determine the species of the group\n const species = toStringIfExists(x.is_class) == '1' ? 'class' as const : undefined;\n\n const y = {\n id,\n ...ids && { ids },\n ...displayName && { displayName },\n ...species && { species },\n __raw: x\n } as C_Group;\n groupsIdMap.set(id, y);\n if (displayName) groupsNameMap.set(displayName.toLowerCase(), y);\n });\n\n\n ////\n //// persons\n ////\n const personsIdMap = new Map<string, C_Person>();\n const personsSsnMap = new Map<string, C_Person>();\n if (!source.persons) {\n warnings.push({ code: 'missing_persons_sheet' });\n }\n source.persons?.forEach(x => {\n const ids = toStringIfExists(x.foreign_ID);\n const firstName = toStringIfExists(x.first_name);\n const lastName = toStringIfExists(x.last_name );\n const SSN = toStringIfExists(x.SSN );\n\n const id = toStringIfExists(x.ID) ?? generateId(personsIdMap);\n if (personsIdMap.has(id)) {\n warnings.push({ code: 'ignoring_duplicate_person', context: `${firstName} ${lastName}` });\n return;\n }\n\n let group: string | undefined = undefined;\n if (x.group) {\n const key = toString(x.group).toLowerCase();\n const ref = groupsNameMap.get(key);\n if (!ref) {\n warnings.push({ code: 'invalid_group_reference', context: x.group });\n } else if (ref.species !== 'class') {\n warnings.push({ code: 'forbidden_group_reference', context: x.group });\n } else {\n group = ref.id;\n }\n }\n\n let sex: C_Person['sex'];\n if (x.sex) {\n if (isString(x.sex) && x.sex.toLowerCase() == 'man') sex = 'Man';\n else if (isString(x.sex) && x.sex.toLowerCase() == 'woman') sex = 'Woman';\n else {\n warnings.push({ code: 'invalid_sex', context: x.sex });\n }\n }\n\n const person: C_Person = {\n id,\n ...ids && { ids },\n ...firstName && { firstName },\n ...lastName && { lastName },\n ...sex && { sex },\n ...group && { group },\n ...SSN && { SSN: { value: SSN } },\n __raw: x\n };\n personsIdMap.set(id, person);\n if (SSN) personsSsnMap.set(SSN, person);\n });\n\n ////\n //// group.members (need to wait for persons to be parsed)\n ////\n groupsNameMap.forEach(x => {\n let duplicateReported = false;\n\n // ignore if no members\n if (!x.__raw.members) return;\n\n // parse and replace SSN by person id\n x.members = makeChainable(x.__raw.members)\n .chain(x => toString(x)\n .split(',')\n .map(x => x.trim())\n .filter(x => x != null)\n )\n .chain(x => countBy(x))\n .chain(y => Object.entries(y)\n .map(([ssn, count]) => {\n // ignore empty ssn\n if (!ssn) return;\n\n // warn if duplicate member\n if (!duplicateReported && count > 1) {\n warnings.push({ code: 'duplicate_group_member', context: x.displayName });\n duplicateReported = true;\n }\n\n // fetch person and warn if not found\n const person = personsSsnMap.get(ssn);\n if (!person) {\n warnings.push({ code: 'invalid_person_reference', context: ssn });\n return;\n }\n\n // warn if the group is a class and the person is already in a different class\n // (we also need to set the group of the person if it is empty)\n if (x.species == 'class') {\n if (!person.group) {\n person.group = x.id;\n }\n else if (person.group != x.id) {\n warnings.push({ code: 'person_in_multiple_classes', context: ssn });\n return;\n }\n }\n\n return person.id;\n })\n .filter(x => x != null)\n )\n .value;\n });\n\n\n ////\n //// courses\n ////\n const coursesIdMap = new Map<string, C_Course >();\n const eventsIdMap = new Map<string, C_Event >();\n const overlapGroupsKeyMap = new Map<string, C_OverlapGroup>();\n if (!source.courses) {\n warnings.push({ code: 'missing_courses_sheet' });\n }\n source.courses?.forEach(x => {\n // await loading events until courses are created\n const mergeWith = toStringIfExists(x.merge_with);\n if (mergeWith) return;\n\n const ids = toStringIfExists(x.foreign_ID);\n const displayName = toStringIfExists(x.name );\n const subject = toStringIfExists(x.subject );\n\n const courseId = toStringIfExists(x.ID) ?? generateId(coursesIdMap);\n if (coursesIdMap.has(courseId)) {\n warnings.push({ code: 'ignoring_duplicate_course', context: displayName + (subject ? ` (${subject})` : '') });\n return;\n }\n\n // try to parse the total hours as an integer\n let expectedTotalHours: number | undefined = undefined;\n if (x.total_hours) {\n try {\n expectedTotalHours = toPositiveInteger(x.total_hours);\n } catch {\n warnings.push({ code: 'invalid_total_hours', context: x.total_hours });\n }\n }\n\n // try to parse the minutes per week as an multiple of 5\n let minutesPerWeek: number | undefined = undefined;\n if (x.minutes_per_week) {\n try {\n minutesPerWeek = toPositiveMultipleOf5(x.minutes_per_week);\n } catch {\n warnings.push({ code: 'invalid_minutes_per_week', context: x.minutes_per_week });\n }\n }\n\n // only one of minutes_per_week or total_hours should be defined\n if (minutesPerWeek != null && expectedTotalHours != null) {\n warnings.push({ code: 'ambiguous_planned_duration', context: `${minutesPerWeek} min/week OR ${expectedTotalHours} hrs` });\n }\n const plannedDuration =\n expectedTotalHours\n ? `${expectedTotalHours} hrs` :\n minutesPerWeek\n ? `${minutesPerWeek} min/week` :\n undefined;\n\n\n // try to parse the lesson durations as an array of integers from which we will generate events\n if (x.lesson_durations) {\n const _durations = typeof x.lesson_durations === 'string'\n ? x.lesson_durations.split(',').map(x => x.trim())\n : [x.lesson_durations];\n\n // truncate to multiple of 5 and filter out zero duration events\n const durations = _durations\n .map(e => {\n try {\n return toPositiveMultipleOf5(e);\n } catch {\n warnings.push({ code: 'invalid_lesson_durations', context: x.lesson_durations });\n return undefined;\n }\n })\n .filter((x): x is number => x !== undefined);\n\n durations.forEach(x => {\n const id = generateId(eventsIdMap);\n const event: C_Event = { id, course: courseId, preferredDuration: x };\n eventsIdMap.set(id, event);\n });\n }\n\n // overlap group\n if (x.overlap_group && toString(x.overlap_group)) {\n const key = toString(x.overlap_group).toLowerCase();\n\n const og = overlapGroupsKeyMap.get(key);\n if (og) og.coalesced?.push({ toModel: 'courses', to: courseId });\n else {\n const id = generateId(overlapGroupsKeyMap);\n const coalesced = [{ toModel: 'courses' as const, to: courseId }];\n overlapGroupsKeyMap.set(key, { id, coalesced });\n }\n }\n\n const locations = extractLocations(x, locationsNameMap, warnings)?.map(x => ({ groupIndex: x.groupIndex, locations: [x.to] as [string] }));\n const groups = extractGroups (x, groupsNameMap, warnings);\n const teachers = extractTeachers (x, teachersNameMap, warnings);\n const syllabus = extractSyllabus(x, syllabusesCodeMap, syllabusesNameMap, warnings);\n\n const course: C_Course = {\n id: courseId,\n ...ids && { ids },\n ...displayName && { displayName },\n ...subject && { subject },\n /* TO BE DEPRECATED */ ...expectedTotalHours && { expectedTotalHours },\n /* TO BE DEPRECATED */ ...minutesPerWeek && { minutesPerWeek },\n ...plannedDuration && { plannedDuration },\n ...groups && { groups },\n ...teachers && { teachers },\n ...locations && { locations },\n ...syllabus && { syllabus },\n __raw: x\n };\n coursesIdMap.set(courseId, course);\n });\n\n\n ////\n //// events\n ////\n source.courses?.forEach(x => {\n // load courses\n const mergeWith = toStringIfExists(x.merge_with);\n if (!mergeWith) return;\n\n // ensure that the course to merge with exists\n if (!coursesIdMap.has(mergeWith)) {\n warnings.push({ code: 'invalid_course_reference', context: mergeWith });\n return;\n }\n\n const displayName = toStringIfExists(x.name);\n const locations = extractLocations(x, locationsNameMap, warnings)?.map(x => ({ groupIndex: x.groupIndex, locations: [x.to] as [string] }));\n const groups = extractGroups (x, groupsNameMap, warnings);\n const teachers = extractTeachers (x, teachersNameMap, warnings);\n\n // try to parse the lesson durations as an array of integers from which we will generate events\n if (x.lesson_durations) {\n const _durations = typeof x.lesson_durations === 'string'\n ? x.lesson_durations.split(',').map(x => x.trim())\n : [x.lesson_durations];\n\n // truncate to multiple of 5 and filter out zero duration events\n const durations = _durations\n .map(e => {\n try {\n return toPositiveMultipleOf5(e);\n } catch {\n warnings.push({ code: 'invalid_lesson_durations', context: x.lesson_durations });\n return undefined;\n }\n })\n .filter((x): x is number => x !== undefined);\n\n durations.forEach(preferredDuration => {\n const id = generateId(eventsIdMap);\n const event: C_Event = {\n id,\n course: mergeWith,\n preferredDuration: preferredDuration,\n ...displayName && { displayName },\n ...groups && { groups },\n ...teachers && { teachers },\n ...locations && { locations },\n __raw: x\n };\n eventsIdMap.set(id, event);\n });\n }\n });\n\n\n ////\n //// return\n ////\n return {\n settings,\n locations: [...locationsIdMap .values()],\n teachers: [...teachersIdMap .values()],\n persons: [...personsIdMap .values()],\n groups: [...groupsIdMap .values()],\n courses: [...coursesIdMap .values()],\n events: [...eventsIdMap .values()],\n overlapGroups: [...overlapGroupsKeyMap.values()],\n syllabuses: [...syllabusesIdMap .values()],\n meta: {\n // ...errors .length && { errors: errors },\n ...warnings.length && { warnings: warnings }\n }\n };\n}\n\n\nexport default {\n schedules: _schedules\n} satisfies FromInterface;"],"mappings":"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"}