@royalschedule/maps 4.0.15 → 4.0.17

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 (346) hide show
  1. package/dist/Additio/from/courses.js.map +1 -1
  2. package/dist/Additio/from/events.js.map +1 -1
  3. package/dist/Additio/from/groups.js.map +1 -1
  4. package/dist/Additio/from/index.js.map +1 -1
  5. package/dist/Additio/from/locations.js.map +1 -1
  6. package/dist/Additio/from/persons.js.map +1 -1
  7. package/dist/Additio/from/schedules.d.ts +7 -6
  8. package/dist/Additio/from/schedules.js +2 -4
  9. package/dist/Additio/from/schedules.js.map +1 -1
  10. package/dist/Additio/from/teachers.js.map +1 -1
  11. package/dist/Additio/to/index.d.ts +13 -11
  12. package/dist/Additio/to/schedules.js +2 -4
  13. package/dist/Additio/to/schedules.js.map +1 -1
  14. package/dist/Admentum/from/courses.js.map +1 -1
  15. package/dist/Admentum/from/events.js.map +1 -1
  16. package/dist/Admentum/from/groups.js.map +1 -1
  17. package/dist/Admentum/from/index.js.map +1 -1
  18. package/dist/Admentum/from/locations.js.map +1 -1
  19. package/dist/Admentum/from/persons.js.map +1 -1
  20. package/dist/Admentum/from/schedules.d.ts +7 -6
  21. package/dist/Admentum/from/schedules.js +2 -4
  22. package/dist/Admentum/from/schedules.js.map +1 -1
  23. package/dist/Admentum/from/teachers.js.map +1 -1
  24. package/dist/Admentum/to/index.d.ts +9 -8
  25. package/dist/Admentum/to/schedules.js +4 -7
  26. package/dist/Admentum/to/schedules.js.map +1 -1
  27. package/dist/Excel/index.d.ts +263 -26
  28. package/dist/Excel/v1/from/index.js +2 -1
  29. package/dist/Excel/v1/from/index.js.map +1 -1
  30. package/dist/Excel/v1/index.d.ts +218 -20
  31. package/dist/Excel/v2/from/index.js +99 -94
  32. package/dist/Excel/v2/from/index.js.map +1 -1
  33. package/dist/Excel/v2/index.d.ts +263 -26
  34. package/dist/IdunSoft/from/courses.js.map +1 -1
  35. package/dist/IdunSoft/from/events.js +1 -2
  36. package/dist/IdunSoft/from/events.js.map +1 -1
  37. package/dist/IdunSoft/from/groups.js.map +1 -1
  38. package/dist/IdunSoft/from/index.js.map +1 -1
  39. package/dist/IdunSoft/from/locations.js.map +1 -1
  40. package/dist/IdunSoft/from/schedules.d.ts +6 -5
  41. package/dist/IdunSoft/from/schedules.js.map +1 -1
  42. package/dist/IdunSoft/from/teachers.js.map +1 -1
  43. package/dist/IdunSoft/to/index.d.ts +2 -1
  44. package/dist/IdunSoft/to/schedules.js +5 -8
  45. package/dist/IdunSoft/to/schedules.js.map +1 -1
  46. package/dist/InfoMentor/to/index.d.ts +2 -1
  47. package/dist/InfoMentor/to/schedules.js +3 -4
  48. package/dist/InfoMentor/to/schedules.js.map +1 -1
  49. package/dist/PlanDigital/from/index.js.map +1 -1
  50. package/dist/PlanDigital/from/schedules.js +9 -11
  51. package/dist/PlanDigital/from/schedules.js.map +1 -1
  52. package/dist/PlanDigital/index.d.ts +73 -58
  53. package/dist/Quiculum/file/to/index.d.ts +10 -9
  54. package/dist/Quiculum/file/to/schedules.js +5 -9
  55. package/dist/Quiculum/file/to/schedules.js.map +1 -1
  56. package/dist/RS/from/division.d.ts +2 -1
  57. package/dist/RS/from/division.js +9 -6
  58. package/dist/RS/from/division.js.map +1 -1
  59. package/dist/RS/from/index.js.map +1 -1
  60. package/dist/RS/from/schedules.d.ts +2 -1
  61. package/dist/RS/from/schedules.js.map +1 -1
  62. package/dist/RS/make-connected.d.ts +17 -16
  63. package/dist/RS/make-connected.js +63 -96
  64. package/dist/RS/make-connected.js.map +1 -1
  65. package/dist/RS/to/index.js.map +1 -1
  66. package/dist/RS/to/initial-configuration.js +4 -6
  67. package/dist/RS/to/initial-configuration.js.map +1 -1
  68. package/dist/RS/to/input/collections.js.map +1 -1
  69. package/dist/RS/to/input/default.js +1 -2
  70. package/dist/RS/to/input/default.js.map +1 -1
  71. package/dist/RS/to/input/dependencies.js +1 -3
  72. package/dist/RS/to/input/dependencies.js.map +1 -1
  73. package/dist/RS/to/input/dynamic-locked-times.js +1 -2
  74. package/dist/RS/to/input/dynamic-locked-times.js.map +1 -1
  75. package/dist/RS/to/input/events.js +5 -3
  76. package/dist/RS/to/input/events.js.map +1 -1
  77. package/dist/RS/to/input/groups.js.map +1 -1
  78. package/dist/RS/to/input/individuals.js +2 -3
  79. package/dist/RS/to/input/individuals.js.map +1 -1
  80. package/dist/RS/to/input/input.js +1 -3
  81. package/dist/RS/to/input/input.js.map +1 -1
  82. package/dist/RS/to/input/intervals.js +2 -4
  83. package/dist/RS/to/input/intervals.js.map +1 -1
  84. package/dist/RS/to/input/periods.js +6 -8
  85. package/dist/RS/to/input/periods.js.map +1 -1
  86. package/dist/RS/to/input/settings.js.map +1 -1
  87. package/dist/RS/to/input/teachers.js.map +1 -1
  88. package/dist/RS/to/input/util/attach-locked-times.js.map +1 -1
  89. package/dist/RS/to/input/util/parse-days.js.map +1 -1
  90. package/dist/RS/to/input/util/parse-group-references.js.map +1 -1
  91. package/dist/RS/to/input/util/parse-intervals.js +2 -4
  92. package/dist/RS/to/input/util/parse-intervals.js.map +1 -1
  93. package/dist/RS/to/input/util/parse-location-references.js +1 -2
  94. package/dist/RS/to/input/util/parse-location-references.js.map +1 -1
  95. package/dist/RS/to/input/util/parse-max-working-hours.js.map +1 -1
  96. package/dist/RS/to/input/util/parse-minimum-break-length.js.map +1 -1
  97. package/dist/RS/to/input/util/util.js +1 -2
  98. package/dist/RS/to/input/util/util.js.map +1 -1
  99. package/dist/RS/to/schedules.js +1 -1
  100. package/dist/RS/to/schedules.js.map +1 -1
  101. package/dist/RS/types/to.d.ts +15 -5
  102. package/dist/RS/types/to.js +1 -1
  103. package/dist/RS/types/to.js.map +1 -1
  104. package/dist/SS12000/from/activities.js +1 -2
  105. package/dist/SS12000/from/activities.js.map +1 -1
  106. package/dist/SS12000/from/calendar-events.js.map +1 -1
  107. package/dist/SS12000/from/duties.js.map +1 -1
  108. package/dist/SS12000/from/groups.js.map +1 -1
  109. package/dist/SS12000/from/index.js.map +1 -1
  110. package/dist/SS12000/from/persons.js.map +1 -1
  111. package/dist/SS12000/from/resources.js.map +1 -1
  112. package/dist/SS12000/from/rooms.js.map +1 -1
  113. package/dist/SS12000/from/syllabuses.js.map +1 -1
  114. package/dist/SS12000/index.d.ts +12567 -9
  115. package/dist/SS12000/to/activities.js.map +1 -1
  116. package/dist/SS12000/to/calendar-events.js.map +1 -1
  117. package/dist/SS12000/to/common.js.map +1 -1
  118. package/dist/SS12000/to/duties.js.map +1 -1
  119. package/dist/SS12000/to/groups.js.map +1 -1
  120. package/dist/SS12000/to/index.d.ts +17 -16
  121. package/dist/SS12000/to/persons.js.map +1 -1
  122. package/dist/SS12000/to/resources.js.map +1 -1
  123. package/dist/SS12000/to/rooms.js.map +1 -1
  124. package/dist/SS12000/to/syllabuses.js.map +1 -1
  125. package/dist/SchoolSoft/api/from/index.js.map +1 -1
  126. package/dist/SchoolSoft/api/from/schedules.js +8 -12
  127. package/dist/SchoolSoft/api/from/schedules.js.map +1 -1
  128. package/dist/SchoolSoft/api/index.d.ts +444 -9
  129. package/dist/SchoolSoft/file/from/index.js.map +1 -1
  130. package/dist/SchoolSoft/file/from/schedules.js +83 -87
  131. package/dist/SchoolSoft/file/from/schedules.js.map +1 -1
  132. package/dist/SchoolSoft/file/index.d.ts +2 -1
  133. package/dist/SchoolSoft/file/to/index.d.ts +5 -4
  134. package/dist/SchoolSoft/file/to/schedules.js +1 -2
  135. package/dist/SchoolSoft/file/to/schedules.js.map +1 -1
  136. package/dist/SchoolSoft/index.d.ts +2 -1
  137. package/dist/Schoolity/txt/to/index.d.ts +2 -1
  138. package/dist/Schoolity/txt/to/schedules.js +5 -12
  139. package/dist/Schoolity/txt/to/schedules.js.map +1 -1
  140. package/dist/Skola24/mdb/from/course-and-events.js +3 -5
  141. package/dist/Skola24/mdb/from/course-and-events.js.map +1 -1
  142. package/dist/Skola24/mdb/from/groups.js.map +1 -1
  143. package/dist/Skola24/mdb/from/index.js.map +1 -1
  144. package/dist/Skola24/mdb/from/locations.js.map +1 -1
  145. package/dist/Skola24/mdb/from/schedule.d.ts +6 -5
  146. package/dist/Skola24/mdb/from/schedule.js.map +1 -1
  147. package/dist/Skola24/mdb/from/teachers.js.map +1 -1
  148. package/dist/Skola24/txt/from/calendar-exceptions.js +1 -2
  149. package/dist/Skola24/txt/from/calendar-exceptions.js.map +1 -1
  150. package/dist/Skola24/txt/from/division.js.map +1 -1
  151. package/dist/Skola24/txt/from/index.js.map +1 -1
  152. package/dist/Skola24/txt/from/period.js +31 -34
  153. package/dist/Skola24/txt/from/period.js.map +1 -1
  154. package/dist/Skola24/txt/from/schedules.d.ts +9 -8
  155. package/dist/Skola24/txt/from/schedules.js +10 -12
  156. package/dist/Skola24/txt/from/schedules.js.map +1 -1
  157. package/dist/Skola24/txt/from/util.js.map +1 -1
  158. package/dist/Skola24/txt/index.d.ts +2 -1
  159. package/dist/Skola24/txt/to/index.d.ts +2 -1
  160. package/dist/Skola24/txt/to/schedules.js +5 -12
  161. package/dist/Skola24/txt/to/schedules.js.map +1 -1
  162. package/dist/common/constants.js.map +1 -1
  163. package/dist/common/functions.js +46 -10
  164. package/dist/common/functions.js.map +1 -1
  165. package/dist/common/get-date.js.map +1 -1
  166. package/dist/common/make-chainable/index.js.map +1 -1
  167. package/dist/common/types.d.ts +3 -6
  168. package/dist/core/from/configurations.js.map +1 -1
  169. package/dist/core/from/courses.js.map +1 -1
  170. package/dist/core/from/events.js +1 -1
  171. package/dist/core/from/events.js.map +1 -1
  172. package/dist/core/from/exceptions.js.map +1 -1
  173. package/dist/core/from/groups.js.map +1 -1
  174. package/dist/core/from/index.js +9 -6
  175. package/dist/core/from/index.js.map +1 -1
  176. package/dist/core/from/locations.js.map +1 -1
  177. package/dist/core/from/locked-times.js.map +1 -1
  178. package/dist/core/from/overlap-groups.js.map +1 -1
  179. package/dist/core/from/periods.js.map +1 -1
  180. package/dist/core/from/persons.js.map +1 -1
  181. package/dist/core/from/root-intervals.js.map +1 -1
  182. package/dist/core/from/schedules.js.map +1 -1
  183. package/dist/core/from/syllabuses.js.map +1 -1
  184. package/dist/core/from/teachers.js.map +1 -1
  185. package/dist/core/index.d.ts +24 -1
  186. package/dist/core/index.js +4 -0
  187. package/dist/core/index.js.map +1 -1
  188. package/dist/core/interfaces/index.d.ts +23 -0
  189. package/dist/core/interfaces/index.js +6 -0
  190. package/dist/core/interfaces/other/companies.d.ts +132 -0
  191. package/dist/core/interfaces/other/companies.js +9 -0
  192. package/dist/core/interfaces/other/companies.js.map +1 -0
  193. package/dist/core/interfaces/other/etc.d.ts +19 -0
  194. package/dist/core/interfaces/other/index.d.ts +6 -0
  195. package/dist/core/interfaces/other/integrations.d.ts +17 -0
  196. package/dist/core/interfaces/other/operations.d.ts +36 -0
  197. package/dist/core/interfaces/other/policies.d.ts +31 -0
  198. package/dist/core/interfaces/other/sync-logs.d.ts +21 -0
  199. package/dist/core/interfaces/other/users.d.ts +35 -0
  200. package/dist/core/interfaces/vertices/companies.d.ts +8 -0
  201. package/dist/core/interfaces/vertices/configurations.d.ts +58 -0
  202. package/dist/core/interfaces/vertices/courses.d.ts +68 -0
  203. package/dist/core/{types → interfaces/vertices}/division-settings.d.ts +31 -29
  204. package/dist/core/interfaces/vertices/divisions.d.ts +31 -0
  205. package/dist/core/interfaces/vertices/events.d.ts +100 -0
  206. package/dist/core/interfaces/vertices/exceptions.d.ts +74 -0
  207. package/dist/core/interfaces/vertices/generations.d.ts +23 -0
  208. package/dist/core/interfaces/vertices/groups.d.ts +53 -0
  209. package/dist/core/interfaces/vertices/index.d.ts +209 -0
  210. package/dist/core/interfaces/vertices/index.js +3 -0
  211. package/dist/core/interfaces/vertices/locations.d.ts +22 -0
  212. package/dist/core/interfaces/vertices/locked-times.d.ts +37 -0
  213. package/dist/core/interfaces/vertices/overlap-groups.d.ts +17 -0
  214. package/dist/core/interfaces/vertices/periods.d.ts +15 -0
  215. package/dist/core/interfaces/vertices/persons.d.ts +32 -0
  216. package/dist/core/interfaces/vertices/properties/belongs-to.d.ts +11 -0
  217. package/dist/core/interfaces/vertices/properties/coalesced.d.ts +8 -0
  218. package/dist/core/interfaces/vertices/properties/days.d.ts +9 -0
  219. package/dist/core/interfaces/vertices/properties/index.d.ts +15 -0
  220. package/dist/core/interfaces/vertices/properties/intervals.d.ts +10 -0
  221. package/dist/core/{types/common → interfaces/vertices/properties}/maximum-schedule-span.d.ts +1 -1
  222. package/dist/core/interfaces/vertices/properties/min-break-length.d.ts +5 -0
  223. package/dist/core/{types/common/planned-schedule-duration.d.ts → interfaces/vertices/properties/planned-scheduled-duration.d.ts} +2 -2
  224. package/dist/core/interfaces/vertices/properties/species.d.ts +9 -0
  225. package/dist/core/interfaces/vertices/properties/tags.d.ts +9 -0
  226. package/dist/core/interfaces/vertices/properties/week.d.ts +22 -0
  227. package/dist/core/interfaces/vertices/properties/week.js +6 -0
  228. package/dist/core/interfaces/vertices/properties/week.js.map +1 -0
  229. package/dist/core/interfaces/vertices/root-intervals.d.ts +14 -0
  230. package/dist/core/interfaces/vertices/syllabuses.d.ts +18 -0
  231. package/dist/core/interfaces/vertices/teachers.d.ts +43 -0
  232. package/dist/core/interfaces/vertices/users.d.ts +8 -0
  233. package/dist/core/interfaces/vertices/util/common.d.ts +28 -0
  234. package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.ts +31 -0
  235. package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.ts +51 -0
  236. package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.ts +64 -0
  237. package/dist/core/interfaces/vertices/util/edges.d.ts +105 -0
  238. package/dist/core/interfaces/vertices/util/index.d.ts +5 -0
  239. package/dist/core/interfaces/vertices/util/keys-of.d.ts +27 -0
  240. package/dist/core/interfaces/vertices/util/serialized-vertex-export.d.ts +12 -0
  241. package/dist/core/interfaces/vertices/util/util.d.ts +76 -0
  242. package/dist/core/interfaces/vertices/util/vertex-query/index.d.ts +44 -0
  243. package/dist/core/interfaces/vertices/util/vertex-query/util.d.ts +13 -0
  244. package/dist/core/interfaces/vertices/util/vertex.d.ts +70 -0
  245. package/dist/core/interfaces/vertices/vertex-query.d.ts +102 -0
  246. package/dist/core/interfaces/vertices/vertex-query.js +94 -0
  247. package/dist/core/interfaces/vertices/vertex-query.js.map +1 -0
  248. package/dist/core/to/configurations.js +2 -3
  249. package/dist/core/to/configurations.js.map +1 -1
  250. package/dist/core/to/courses.js +2 -3
  251. package/dist/core/to/courses.js.map +1 -1
  252. package/dist/core/to/division.js.map +1 -1
  253. package/dist/core/to/events.js +2 -3
  254. package/dist/core/to/events.js.map +1 -1
  255. package/dist/core/to/exceptions.js +4 -4
  256. package/dist/core/to/exceptions.js.map +1 -1
  257. package/dist/core/to/groups.js +2 -3
  258. package/dist/core/to/groups.js.map +1 -1
  259. package/dist/core/to/locations.js +2 -3
  260. package/dist/core/to/locations.js.map +1 -1
  261. package/dist/core/to/locked-times.js +2 -3
  262. package/dist/core/to/locked-times.js.map +1 -1
  263. package/dist/core/to/overlap-groups.js +2 -3
  264. package/dist/core/to/overlap-groups.js.map +1 -1
  265. package/dist/core/to/periods.js +2 -3
  266. package/dist/core/to/periods.js.map +1 -1
  267. package/dist/core/to/persons.js +3 -9
  268. package/dist/core/to/persons.js.map +1 -1
  269. package/dist/core/to/root-intervals.js +2 -3
  270. package/dist/core/to/root-intervals.js.map +1 -1
  271. package/dist/core/to/schedules.d.ts +17 -18
  272. package/dist/core/to/schedules.js.map +1 -1
  273. package/dist/core/to/settings.js +2 -3
  274. package/dist/core/to/settings.js.map +1 -1
  275. package/dist/core/to/syllabuses.js +2 -3
  276. package/dist/core/to/syllabuses.js.map +1 -1
  277. package/dist/core/to/teachers.js +4 -4
  278. package/dist/core/to/teachers.js.map +1 -1
  279. package/dist/core/to/util.d.ts +4 -8
  280. package/dist/core/to/util.js +7 -5
  281. package/dist/core/to/util.js.map +1 -1
  282. package/dist/core/types/common/index.d.ts +4 -41
  283. package/dist/core/types/index.d.ts +108 -112
  284. package/dist/core/util.js +4 -5
  285. package/dist/core/util.js.map +1 -1
  286. package/dist/identify/constants/index.d.ts +1 -1
  287. package/dist/identify/constants/index.js.map +1 -1
  288. package/dist/identify/index.js +1 -2
  289. package/dist/identify/index.js.map +1 -1
  290. package/dist/index.d.ts +23 -1
  291. package/dist/index.js +4 -1
  292. package/dist/sdui/from/classes.js.map +1 -1
  293. package/dist/sdui/from/courses.js.map +1 -1
  294. package/dist/sdui/from/holidays.js.map +1 -1
  295. package/dist/sdui/from/index.js.map +1 -1
  296. package/dist/sdui/from/lessons.js +4 -0
  297. package/dist/sdui/from/lessons.js.map +1 -1
  298. package/dist/sdui/from/rooms.js.map +1 -1
  299. package/dist/sdui/from/schedules.d.ts +10 -8
  300. package/dist/sdui/from/schedules.js.map +1 -1
  301. package/dist/sdui/from/school-years.js +0 -1
  302. package/dist/sdui/from/school-years.js.map +1 -1
  303. package/dist/sdui/from/substitution-plans.js.map +1 -1
  304. package/dist/sdui/from/teachers.js.map +1 -1
  305. package/dist/sdui/index.d.ts +1 -1
  306. package/dist/sdui/to/classes.js.map +1 -1
  307. package/dist/sdui/to/courses.js.map +1 -1
  308. package/dist/sdui/to/holidays.js.map +1 -1
  309. package/dist/sdui/to/hours.js.map +1 -1
  310. package/dist/sdui/to/index.d.ts +12 -10
  311. package/dist/sdui/to/lessons.js.map +1 -1
  312. package/dist/sdui/to/rooms.js.map +1 -1
  313. package/dist/sdui/to/schedules.js.map +1 -1
  314. package/dist/sdui/to/school-years.js.map +1 -1
  315. package/dist/sdui/to/substitution-plans.js +3 -6
  316. package/dist/sdui/to/substitution-plans.js.map +1 -1
  317. package/dist/sdui/to/teachers.js.map +1 -1
  318. package/dist/vKlass/from/index.js.map +1 -1
  319. package/dist/vKlass/from/schedule.d.ts +4 -3
  320. package/dist/vKlass/from/schedule.js +2 -2
  321. package/dist/vKlass/from/schedule.js.map +1 -1
  322. package/dist/vKlass/to/schedules.d.ts +4 -4
  323. package/dist/vKlass/to/schedules.js +6 -17
  324. package/dist/vKlass/to/schedules.js.map +1 -1
  325. package/package.json +24 -22
  326. package/dist/core/types/areas.d.ts +0 -10
  327. package/dist/core/types/common/break-lengths.d.ts +0 -5
  328. package/dist/core/types/common/days.d.ts +0 -8
  329. package/dist/core/types/common/intervals.d.ts +0 -20
  330. package/dist/core/types/common/tag.d.ts +0 -9
  331. package/dist/core/types/configurations.d.ts +0 -31
  332. package/dist/core/types/courses.d.ts +0 -60
  333. package/dist/core/types/divisions.d.ts +0 -24
  334. package/dist/core/types/events.d.ts +0 -56
  335. package/dist/core/types/exceptions.d.ts +0 -35
  336. package/dist/core/types/groups.d.ts +0 -44
  337. package/dist/core/types/locations.d.ts +0 -27
  338. package/dist/core/types/locked-times.d.ts +0 -33
  339. package/dist/core/types/overlap-groups.d.ts +0 -14
  340. package/dist/core/types/periods.d.ts +0 -14
  341. package/dist/core/types/persons.d.ts +0 -38
  342. package/dist/core/types/root-intervals.d.ts +0 -13
  343. package/dist/core/types/schedules.d.ts +0 -44
  344. package/dist/core/types/syllabus.d.ts +0 -18
  345. package/dist/core/types/teachers.d.ts +0 -44
  346. package/dist/core/vertex-mapping.d.ts +0 -69
@@ -1,34 +1,232 @@
1
- import { Types as Types$1 } from "../../core/types/index.js";
1
+ import { IDType } from "../../core/interfaces/vertices/util/vertex.js";
2
+ import { Day } from "../../core/interfaces/vertices/properties/days.js";
3
+ import { Interval } from "../../core/interfaces/vertices/properties/intervals.js";
4
+ import { Tag } from "../../core/interfaces/vertices/properties/tags.js";
5
+ import { MaximumScheduleSpan } from "../../core/interfaces/vertices/properties/maximum-schedule-span.js";
6
+ import { PlannedScheduledDuration } from "../../core/interfaces/vertices/properties/planned-scheduled-duration.js";
7
+ import { MinBreakLength } from "../../core/interfaces/vertices/properties/min-break-length.js";
2
8
  import { Types } from "./types/index.js";
9
+ import "../../index.js";
10
+ import * as moment199 from "moment";
3
11
 
4
12
  //#region src/Excel/v1/index.d.ts
5
13
  declare class Map {
6
14
  static from: {
7
15
  schedules: (source: Types.Source) => {
8
16
  settings: {
9
- discretization: number;
10
17
  numDays: number;
11
18
  dayStart: string;
12
19
  dayEnd: string;
20
+ discretization: number;
13
21
  };
14
- locations: (Types$1.serialized.location & {
15
- id: string;
16
- })[];
17
- teachers: (Types$1.serialized.teacher & {
18
- id: string;
19
- })[];
20
- persons: (Types$1.serialized.person & {
21
- id: string;
22
- })[];
23
- groups: (Types$1.serialized.group & {
24
- id: string;
25
- })[];
26
- courses: (Types$1.serialized.course & {
27
- id: string;
28
- })[];
29
- events: (Types$1.serialized.event & {
30
- id: string;
31
- })[];
22
+ locations: {
23
+ id: IDType;
24
+ ids?: string | undefined;
25
+ exceptions?: string[] | undefined;
26
+ lockedTimes?: string[] | undefined;
27
+ is?: "location" | undefined;
28
+ displayName?: string | undefined;
29
+ createdAt?: string | undefined;
30
+ updatedAt?: string | undefined;
31
+ lastModifiedBy?: string | undefined;
32
+ belongsTo?: string | undefined;
33
+ tags?: Tag[] | undefined;
34
+ minBreakLength?: number | undefined;
35
+ days?: Day[] | undefined;
36
+ lunch?: string[] | undefined;
37
+ maximumCapacity?: number | undefined;
38
+ }[];
39
+ teachers: {
40
+ id: IDType;
41
+ ids?: string | undefined;
42
+ exceptions?: string[] | undefined;
43
+ lockedTimes?: string[] | undefined;
44
+ is?: "teacher" | undefined;
45
+ displayName?: string | undefined;
46
+ createdAt?: string | undefined;
47
+ updatedAt?: string | undefined;
48
+ lastModifiedBy?: string | undefined;
49
+ rootInterval?: string | undefined;
50
+ person?: string | undefined;
51
+ belongsTo?: string | undefined;
52
+ tags?: Tag[] | undefined;
53
+ minBreakLength?: number | undefined;
54
+ maxNumWorkingHours?: number | false | undefined;
55
+ maxNumDailyWorkingHours?: number | number[] | false | undefined;
56
+ maximumScheduleSpan?: MaximumScheduleSpan | undefined;
57
+ forbidOverlappingEvents?: boolean | undefined;
58
+ disableDayLengthPunishment?: boolean | undefined;
59
+ weight?: number | undefined;
60
+ intervals?: Interval[] | undefined;
61
+ days?: Day[] | undefined;
62
+ lunch?: string[] | undefined;
63
+ signature?: string | undefined;
64
+ plannedScheduledDuration?: PlannedScheduledDuration | undefined;
65
+ complementaryTimes?: string[] | undefined;
66
+ }[];
67
+ persons: {
68
+ id: IDType;
69
+ ids?: string | undefined;
70
+ is?: "person" | undefined;
71
+ displayName?: string | undefined;
72
+ createdAt?: string | undefined;
73
+ updatedAt?: string | undefined;
74
+ lastModifiedBy?: string | undefined;
75
+ group?: string | undefined;
76
+ belongsTo?: string | undefined;
77
+ type?: "Student" | "Teacher" | "Other" | undefined;
78
+ tags?: Tag[] | undefined;
79
+ lastName?: string | undefined;
80
+ firstName?: string | undefined;
81
+ birthDate?: Date | undefined;
82
+ sex?: "Man" | "Woman" | undefined;
83
+ SSN?: {
84
+ value: string;
85
+ nationality?: string;
86
+ } | undefined;
87
+ emails?: {
88
+ value: string;
89
+ type?: string;
90
+ }[] | undefined;
91
+ phoneNumbers?: {
92
+ value: string;
93
+ type: string;
94
+ }[] | undefined;
95
+ }[];
96
+ groups: {
97
+ id: IDType;
98
+ ids?: string | undefined;
99
+ exceptions?: string[] | undefined;
100
+ lockedTimes?: string[] | undefined;
101
+ is?: "group" | undefined;
102
+ displayName?: string | undefined;
103
+ createdAt?: string | undefined;
104
+ updatedAt?: string | undefined;
105
+ lastModifiedBy?: string | undefined;
106
+ rootInterval?: string | undefined;
107
+ belongsTo?: string | undefined;
108
+ tags?: Tag[] | undefined;
109
+ minBreakLength?: number | undefined;
110
+ maxNumWorkingHours?: number | false | undefined;
111
+ maxNumDailyWorkingHours?: number | number[] | false | undefined;
112
+ maximumScheduleSpan?: MaximumScheduleSpan | undefined;
113
+ forbidOverlappingEvents?: boolean | undefined;
114
+ disableDayLengthPunishment?: boolean | undefined;
115
+ weight?: number | undefined;
116
+ species?: "class" | undefined;
117
+ intervals?: Interval[] | undefined;
118
+ days?: Day[] | undefined;
119
+ parentGroups?: string[] | undefined;
120
+ subGroups?: string[] | undefined;
121
+ lunch?: string[] | undefined;
122
+ members?: string[] | undefined;
123
+ derivedParentGroups?: {
124
+ implicit?: boolean | undefined;
125
+ explicit?: boolean | undefined;
126
+ group: string;
127
+ }[] | undefined;
128
+ }[];
129
+ courses: {
130
+ id: IDType;
131
+ ids?: string | undefined;
132
+ exceptions?: string[] | undefined;
133
+ groups?: {
134
+ groupIndex?: number | undefined;
135
+ to: string;
136
+ exclude?: string[] | undefined;
137
+ }[] | undefined;
138
+ teachers?: {
139
+ groupIndex?: number | undefined;
140
+ to: string;
141
+ }[] | undefined;
142
+ locations?: {
143
+ groupIndex?: number | undefined;
144
+ rank?: number | undefined;
145
+ locations: [string];
146
+ }[] | undefined;
147
+ events?: string[] | undefined;
148
+ lockedTimes?: string[] | undefined;
149
+ is?: "course" | undefined;
150
+ displayName?: string | undefined;
151
+ createdAt?: string | undefined;
152
+ updatedAt?: string | undefined;
153
+ lastModifiedBy?: string | undefined;
154
+ overlapGroup?: string | undefined;
155
+ period?: string | undefined;
156
+ syllabus?: string | undefined;
157
+ belongsTo?: string | undefined;
158
+ type?: string | undefined;
159
+ tags?: Tag[] | undefined;
160
+ minBreakLength?: MinBreakLength | undefined;
161
+ weight?: number | undefined;
162
+ intervals?: Interval[] | undefined;
163
+ days?: Day[] | undefined;
164
+ subject?: string | undefined;
165
+ color?: string | undefined;
166
+ eventDurationVariance?: number | undefined;
167
+ centerOfAttraction?: string | null | undefined;
168
+ density?: number | undefined;
169
+ plannedDuration?: string | undefined;
170
+ minutesPerWeek?: number | undefined;
171
+ expectedTotalHours?: number | undefined;
172
+ participants?: {
173
+ groupIndex?: number | undefined;
174
+ to: string;
175
+ }[] | undefined;
176
+ }[];
177
+ events: {
178
+ id: IDType;
179
+ ids?: string | undefined;
180
+ exceptions?: string[] | undefined;
181
+ groups?: {
182
+ groupIndex?: number | undefined;
183
+ to: string;
184
+ exclude?: string[] | undefined;
185
+ }[] | undefined;
186
+ teachers?: {
187
+ groupIndex?: number | undefined;
188
+ to: string;
189
+ }[] | undefined;
190
+ locations?: {
191
+ groupIndex?: number | undefined;
192
+ rank?: number | undefined;
193
+ locations: [string];
194
+ }[] | undefined;
195
+ lockedTimes?: string[] | undefined;
196
+ is?: "event" | undefined;
197
+ displayName?: string | undefined;
198
+ createdAt?: string | undefined;
199
+ updatedAt?: string | undefined;
200
+ lastModifiedBy?: string | undefined;
201
+ course?: string | undefined;
202
+ period?: string | undefined;
203
+ start?: (moment199.Moment | string) | undefined;
204
+ end?: (moment199.Moment | string) | undefined;
205
+ belongsTo?: string | undefined;
206
+ potentialCenter?: string | undefined;
207
+ type?: string | undefined;
208
+ tags?: Tag[] | undefined;
209
+ minBreakLength?: (MinBreakLength | null) | undefined;
210
+ weight?: number | undefined;
211
+ intervals?: Interval[] | null | undefined;
212
+ days?: Day[] | null | undefined;
213
+ color?: string | null | undefined;
214
+ centerOfAttraction?: string | null | undefined;
215
+ density?: number | undefined;
216
+ participants?: {
217
+ groupIndex?: number | undefined;
218
+ to: string;
219
+ }[] | undefined;
220
+ fixedStart?: boolean | undefined;
221
+ visible?: boolean | undefined;
222
+ parked?: boolean | undefined;
223
+ preferredDuration: number;
224
+ durationVariance?: number | undefined;
225
+ duration?: number | undefined;
226
+ weeks?: number[] | undefined;
227
+ overlapSpecies?: string | undefined;
228
+ inLocations?: (string | null)[] | undefined;
229
+ }[];
32
230
  meta?: {
33
231
  warnings?: string[];
34
232
  };
@@ -1,4 +1,5 @@
1
- import { chain, isNumber, isString } from "lodash-es";
1
+ import { makeChainable } from "../../../common/make-chainable/index.js";
2
+ import { countBy, isNumber, isString } from "lodash-es";
2
3
  import { nanoid } from "nanoid";
3
4
 
4
5
  //#region src/Excel/v2/from/index.ts
@@ -22,15 +23,23 @@ function toPositiveInteger(val) {
22
23
  if (num <= 0) throw new Error(`toInteger: te result ${num} is not positive`);
23
24
  return num;
24
25
  }
26
+ /**
27
+ * Converts a string/number to a trimmed string
28
+ */
25
29
  function toString(x) {
26
- if (x == void 0) return void 0;
27
- if (typeof x == "string" && !x.length) return void 0;
28
- if (isNumber(x)) return x.toString();
29
- return x.trim();
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);
30
38
  }
31
39
  function extractLocations(course, locationsNameMap, warnings) {
40
+ if (course.locations == null) return;
32
41
  const locationsStr = toString(course.locations);
33
- if (!locationsStr) return void 0;
42
+ if (!locationsStr) return;
34
43
  const locationReferences = [];
35
44
  locationsStr.split("+").flatMap((x, i) => x.split(",").map((x$1) => [i, x$1.trim()])).forEach(([i, x]) => {
36
45
  const key = x.toLowerCase();
@@ -57,8 +66,9 @@ function extractLocations(course, locationsNameMap, warnings) {
57
66
  return locationReferences;
58
67
  }
59
68
  function extractGroups(course, groupsNameMap, warnings) {
69
+ if (course.groups == null) return;
60
70
  const groupsStr = toString(course.groups);
61
- if (!groupsStr) return void 0;
71
+ if (!groupsStr) return;
62
72
  const groupReferences = [];
63
73
  groupsStr.split(",").map((x) => x.trim()).forEach((x) => {
64
74
  const key = x.toLowerCase();
@@ -82,6 +92,7 @@ function extractGroups(course, groupsNameMap, warnings) {
82
92
  return groupReferences;
83
93
  }
84
94
  function extractTeachers(course, teachersNameMap, warnings) {
95
+ if (course.teachers == null) return;
85
96
  const teachersStr = toString(course.teachers);
86
97
  if (!teachersStr) return void 0;
87
98
  const teacherReferences = [];
@@ -107,6 +118,7 @@ function extractTeachers(course, teachersNameMap, warnings) {
107
118
  return teacherReferences;
108
119
  }
109
120
  function extractSyllabus(course, syllabusesCodeMap, syllabusesNameMap, warnings) {
121
+ if (course.syllabus == null) return void 0;
110
122
  const syllabusValue = toString(course.syllabus);
111
123
  if (!syllabusValue) return void 0;
112
124
  const syllabus = syllabusesCodeMap.get(syllabusValue) || syllabusesNameMap.get(syllabusValue.toLowerCase());
@@ -115,18 +127,18 @@ function extractSyllabus(course, syllabusesCodeMap, syllabusesNameMap, warnings)
115
127
  code: "invalid_syllabus_reference",
116
128
  context: syllabusValue
117
129
  });
118
- return void 0;
130
+ return;
119
131
  }
120
132
  return syllabus.id;
121
133
  }
122
134
  function _schedules(source) {
123
135
  const warnings = [];
124
- source.settings = source.settings?.filter((x) => Object.values(x).some((y) => y.toString().trim().length > 0));
125
- source.locations = source.locations?.filter((x) => Object.values(x).some((y) => y.toString().trim().length > 0));
126
- source.teachers = source.teachers?.filter((x) => Object.values(x).some((y) => y.toString().trim().length > 0));
127
- source.groups = source.groups?.filter((x) => Object.values(x).some((y) => y.toString().trim().length > 0));
128
- source.persons = source.persons?.filter((x) => Object.values(x).some((y) => y.toString().trim().length > 0));
129
- source.courses = source.courses?.filter((x) => Object.values(x).some((y) => y.toString().trim().length > 0));
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));
130
142
  const settings = {
131
143
  discretization: 5,
132
144
  numDays: 5,
@@ -157,13 +169,13 @@ function _schedules(source) {
157
169
  const syllabusesCodeMap = /* @__PURE__ */ new Map();
158
170
  if (!source.syllabuses) {}
159
171
  source.syllabuses?.forEach((x) => {
160
- const ids = toString(x.foreign_ID);
161
- const subjectCode = toString(x.subject_code);
162
- const subjectName = toString(x.subject_name);
163
- const courseCode = toString(x.course_code);
164
- const courseName = toString(x.course_name);
165
- const schoolType = toString(x.school_type);
166
- const id = x.ID?.toString() ?? generateId(syllabusesIdMap);
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);
167
179
  if (syllabusesIdMap.has(id)) {
168
180
  warnings.push({
169
181
  code: "ignoring_duplicate_syllabus",
@@ -225,9 +237,9 @@ function _schedules(source) {
225
237
  }].forEach(({ name, data, idMap, nameMap }) => {
226
238
  if (!data) warnings.push({ code: `missing_${name.plural}_sheet` });
227
239
  data?.forEach((x) => {
228
- const ids = toString(x.foreign_ID);
229
- const displayName = toString(x.name);
230
- const id = x.ID?.toString() ?? generateId(idMap);
240
+ const ids = toStringIfExists(x.foreign_ID);
241
+ const displayName = toStringIfExists(x.name);
242
+ const id = toStringIfExists(x.ID) ?? generateId(idMap);
231
243
  if (idMap.has(id)) {
232
244
  warnings.push({
233
245
  code: `ignoring_duplicate_${name.singular}`,
@@ -249,9 +261,9 @@ function _schedules(source) {
249
261
  const groupsNameMap = /* @__PURE__ */ new Map();
250
262
  if (!source.groups) warnings.push({ code: "missing_groups_sheet" });
251
263
  source.groups?.forEach((x) => {
252
- const ids = toString(x.foreign_ID);
253
- const displayName = toString(x.name);
254
- const id = x.ID?.toString() ?? generateId(groupsIdMap);
264
+ const ids = toStringIfExists(x.foreign_ID);
265
+ const displayName = toStringIfExists(x.name);
266
+ const id = toStringIfExists(x.ID) ?? generateId(groupsIdMap);
255
267
  if (groupsIdMap.has(id)) {
256
268
  warnings.push({
257
269
  code: "ignoring_duplicate_group",
@@ -259,7 +271,7 @@ function _schedules(source) {
259
271
  });
260
272
  return;
261
273
  }
262
- const species = toString(x.is_class) == "1" ? "class" : void 0;
274
+ const species = toStringIfExists(x.is_class) == "1" ? "class" : void 0;
263
275
  const y = {
264
276
  id,
265
277
  ...ids && { ids },
@@ -274,11 +286,11 @@ function _schedules(source) {
274
286
  const personsSsnMap = /* @__PURE__ */ new Map();
275
287
  if (!source.persons) warnings.push({ code: "missing_persons_sheet" });
276
288
  source.persons?.forEach((x) => {
277
- const ids = toString(x.foreign_ID);
278
- const firstName = toString(x.first_name);
279
- const lastName = toString(x.last_name);
280
- const SSN = toString(x.SSN);
281
- const id = x.ID?.toString() ?? generateId(personsIdMap);
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);
282
294
  if (personsIdMap.has(id)) {
283
295
  warnings.push({
284
296
  code: "ignoring_duplicate_person",
@@ -322,7 +334,9 @@ function _schedules(source) {
322
334
  });
323
335
  groupsNameMap.forEach((x) => {
324
336
  let duplicateReported = false;
325
- x.members = chain(toString(x.__raw.members)).split(",").map((x$1) => x$1.trim()).filter(Boolean).countBy().map((count, ssn) => {
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;
326
340
  if (!duplicateReported && count > 1) {
327
341
  warnings.push({
328
342
  code: "duplicate_group_member",
@@ -349,19 +363,18 @@ function _schedules(source) {
349
363
  }
350
364
  }
351
365
  return person.id;
352
- }).filter((x$1) => !!x$1).value();
366
+ }).filter((x$1) => x$1 != null)).value;
353
367
  });
354
368
  const coursesIdMap = /* @__PURE__ */ new Map();
355
369
  const eventsIdMap = /* @__PURE__ */ new Map();
356
370
  const overlapGroupsKeyMap = /* @__PURE__ */ new Map();
357
371
  if (!source.courses) warnings.push({ code: "missing_courses_sheet" });
358
372
  source.courses?.forEach((x) => {
359
- const mergeWith = toString(x.merge_with);
360
- if (mergeWith) return;
361
- const ids = toString(x.foreign_ID);
362
- const displayName = toString(x.name)?.trim();
363
- const subject = toString(x.subject);
364
- const courseId = x.ID?.toString() ?? generateId(coursesIdMap);
373
+ if (toStringIfExists(x.merge_with)) return;
374
+ const ids = toStringIfExists(x.foreign_ID);
375
+ const displayName = toStringIfExists(x.name);
376
+ const subject = toStringIfExists(x.subject);
377
+ const courseId = toStringIfExists(x.ID) ?? generateId(coursesIdMap);
365
378
  if (coursesIdMap.has(courseId)) {
366
379
  warnings.push({
367
380
  code: "ignoring_duplicate_course",
@@ -392,29 +405,25 @@ function _schedules(source) {
392
405
  context: `${minutesPerWeek} min/week OR ${expectedTotalHours} hrs`
393
406
  });
394
407
  const plannedDuration = expectedTotalHours ? `${expectedTotalHours} hrs` : minutesPerWeek ? `${minutesPerWeek} min/week` : void 0;
395
- if (x.lesson_durations) {
396
- const _durations = typeof x.lesson_durations === "string" ? x.lesson_durations.split(",").map((x$1) => x$1.trim()) : [x.lesson_durations];
397
- const durations = _durations.map((e) => {
398
- try {
399
- return toPositiveMultipleOf5(e);
400
- } catch {
401
- warnings.push({
402
- code: "invalid_lesson_durations",
403
- context: x.lesson_durations
404
- });
405
- return void 0;
406
- }
407
- }).filter((x$1) => x$1 !== void 0);
408
- durations.forEach((x$1) => {
409
- const id = generateId(eventsIdMap);
410
- const event = {
411
- id,
412
- course: courseId,
413
- preferredDuration: x$1
414
- };
415
- eventsIdMap.set(id, event);
416
- });
417
- }
408
+ if (x.lesson_durations) (typeof x.lesson_durations === "string" ? x.lesson_durations.split(",").map((x$1) => x$1.trim()) : [x.lesson_durations]).map((e) => {
409
+ try {
410
+ return toPositiveMultipleOf5(e);
411
+ } catch {
412
+ warnings.push({
413
+ code: "invalid_lesson_durations",
414
+ context: x.lesson_durations
415
+ });
416
+ return;
417
+ }
418
+ }).filter((x$1) => x$1 !== void 0).forEach((x$1) => {
419
+ const id = generateId(eventsIdMap);
420
+ const event = {
421
+ id,
422
+ course: courseId,
423
+ preferredDuration: x$1
424
+ };
425
+ eventsIdMap.set(id, event);
426
+ });
418
427
  if (x.overlap_group && toString(x.overlap_group)) {
419
428
  const key = toString(x.overlap_group).toLowerCase();
420
429
  const og = overlapGroupsKeyMap.get(key);
@@ -458,7 +467,7 @@ function _schedules(source) {
458
467
  coursesIdMap.set(courseId, course);
459
468
  });
460
469
  source.courses?.forEach((x) => {
461
- const mergeWith = toString(x.merge_with);
470
+ const mergeWith = toStringIfExists(x.merge_with);
462
471
  if (!mergeWith) return;
463
472
  if (!coursesIdMap.has(mergeWith)) {
464
473
  warnings.push({
@@ -467,41 +476,37 @@ function _schedules(source) {
467
476
  });
468
477
  return;
469
478
  }
470
- const displayName = toString(x.name)?.trim();
479
+ const displayName = toStringIfExists(x.name);
471
480
  const locations = extractLocations(x, locationsNameMap, warnings)?.map((x$1) => ({
472
481
  groupIndex: x$1.groupIndex,
473
482
  locations: [x$1.to]
474
483
  }));
475
484
  const groups = extractGroups(x, groupsNameMap, warnings);
476
485
  const teachers = extractTeachers(x, teachersNameMap, warnings);
477
- if (x.lesson_durations) {
478
- const _durations = typeof x.lesson_durations === "string" ? x.lesson_durations.split(",").map((x$1) => x$1.trim()) : [x.lesson_durations];
479
- const durations = _durations.map((e) => {
480
- try {
481
- return toPositiveMultipleOf5(e);
482
- } catch {
483
- warnings.push({
484
- code: "invalid_lesson_durations",
485
- context: x.lesson_durations
486
- });
487
- return void 0;
488
- }
489
- }).filter((x$1) => x$1 !== void 0);
490
- durations.forEach((preferredDuration) => {
491
- const id = generateId(eventsIdMap);
492
- const event = {
493
- id,
494
- course: mergeWith,
495
- preferredDuration,
496
- ...displayName && { displayName },
497
- ...groups && { groups },
498
- ...teachers && { teachers },
499
- ...locations && { locations },
500
- __raw: x
501
- };
502
- eventsIdMap.set(id, event);
503
- });
504
- }
486
+ if (x.lesson_durations) (typeof x.lesson_durations === "string" ? x.lesson_durations.split(",").map((x$1) => x$1.trim()) : [x.lesson_durations]).map((e) => {
487
+ try {
488
+ return toPositiveMultipleOf5(e);
489
+ } catch {
490
+ warnings.push({
491
+ code: "invalid_lesson_durations",
492
+ context: x.lesson_durations
493
+ });
494
+ return;
495
+ }
496
+ }).filter((x$1) => x$1 !== void 0).forEach((preferredDuration) => {
497
+ const id = generateId(eventsIdMap);
498
+ const event = {
499
+ id,
500
+ course: mergeWith,
501
+ preferredDuration,
502
+ ...displayName && { displayName },
503
+ ...groups && { groups },
504
+ ...teachers && { teachers },
505
+ ...locations && { locations },
506
+ __raw: x
507
+ };
508
+ eventsIdMap.set(id, event);
509
+ });
505
510
  });
506
511
  return {
507
512
  settings,