@royalschedule/maps 4.0.14 → 4.0.16

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 (348) 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 +11 -9
  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 +49 -57
  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 +74 -59
  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 +2 -1
  62. package/dist/RS/from/schedules.js.map +1 -1
  63. package/dist/RS/make-connected.d.ts +17 -16
  64. package/dist/RS/make-connected.js +63 -96
  65. package/dist/RS/make-connected.js.map +1 -1
  66. package/dist/RS/to/index.js.map +1 -1
  67. package/dist/RS/to/initial-configuration.js +4 -6
  68. package/dist/RS/to/initial-configuration.js.map +1 -1
  69. package/dist/RS/to/input/collections.js.map +1 -1
  70. package/dist/RS/to/input/default.js +1 -2
  71. package/dist/RS/to/input/default.js.map +1 -1
  72. package/dist/RS/to/input/dependencies.js +1 -3
  73. package/dist/RS/to/input/dependencies.js.map +1 -1
  74. package/dist/RS/to/input/dynamic-locked-times.js +1 -2
  75. package/dist/RS/to/input/dynamic-locked-times.js.map +1 -1
  76. package/dist/RS/to/input/events.js +5 -3
  77. package/dist/RS/to/input/events.js.map +1 -1
  78. package/dist/RS/to/input/groups.js.map +1 -1
  79. package/dist/RS/to/input/individuals.js +2 -3
  80. package/dist/RS/to/input/individuals.js.map +1 -1
  81. package/dist/RS/to/input/input.js +1 -3
  82. package/dist/RS/to/input/input.js.map +1 -1
  83. package/dist/RS/to/input/intervals.js +2 -4
  84. package/dist/RS/to/input/intervals.js.map +1 -1
  85. package/dist/RS/to/input/periods.js +6 -8
  86. package/dist/RS/to/input/periods.js.map +1 -1
  87. package/dist/RS/to/input/settings.js.map +1 -1
  88. package/dist/RS/to/input/teachers.js.map +1 -1
  89. package/dist/RS/to/input/util/attach-locked-times.js.map +1 -1
  90. package/dist/RS/to/input/util/parse-days.js.map +1 -1
  91. package/dist/RS/to/input/util/parse-group-references.js.map +1 -1
  92. package/dist/RS/to/input/util/parse-intervals.js +2 -4
  93. package/dist/RS/to/input/util/parse-intervals.js.map +1 -1
  94. package/dist/RS/to/input/util/parse-location-references.js +1 -2
  95. package/dist/RS/to/input/util/parse-location-references.js.map +1 -1
  96. package/dist/RS/to/input/util/parse-max-working-hours.js.map +1 -1
  97. package/dist/RS/to/input/util/parse-minimum-break-length.js.map +1 -1
  98. package/dist/RS/to/input/util/util.js +1 -2
  99. package/dist/RS/to/input/util/util.js.map +1 -1
  100. package/dist/RS/to/schedules.js +3 -2
  101. package/dist/RS/to/schedules.js.map +1 -1
  102. package/dist/RS/types/to.d.ts +13 -3
  103. package/dist/RS/types/to.js +6 -0
  104. package/dist/RS/types/to.js.map +1 -0
  105. package/dist/SS12000/from/activities.js +1 -2
  106. package/dist/SS12000/from/activities.js.map +1 -1
  107. package/dist/SS12000/from/calendar-events.js.map +1 -1
  108. package/dist/SS12000/from/duties.js.map +1 -1
  109. package/dist/SS12000/from/groups.js.map +1 -1
  110. package/dist/SS12000/from/index.js.map +1 -1
  111. package/dist/SS12000/from/persons.js.map +1 -1
  112. package/dist/SS12000/from/resources.js.map +1 -1
  113. package/dist/SS12000/from/rooms.js.map +1 -1
  114. package/dist/SS12000/from/syllabuses.js.map +1 -1
  115. package/dist/SS12000/index.d.ts +12567 -9
  116. package/dist/SS12000/to/activities.js.map +1 -1
  117. package/dist/SS12000/to/calendar-events.js.map +1 -1
  118. package/dist/SS12000/to/common.js.map +1 -1
  119. package/dist/SS12000/to/duties.js.map +1 -1
  120. package/dist/SS12000/to/groups.js.map +1 -1
  121. package/dist/SS12000/to/index.d.ts +17 -16
  122. package/dist/SS12000/to/persons.js.map +1 -1
  123. package/dist/SS12000/to/resources.js.map +1 -1
  124. package/dist/SS12000/to/rooms.js.map +1 -1
  125. package/dist/SS12000/to/syllabuses.js.map +1 -1
  126. package/dist/SchoolSoft/api/from/index.js.map +1 -1
  127. package/dist/SchoolSoft/api/from/schedules.js +8 -12
  128. package/dist/SchoolSoft/api/from/schedules.js.map +1 -1
  129. package/dist/SchoolSoft/api/index.d.ts +444 -9
  130. package/dist/SchoolSoft/file/from/index.js.map +1 -1
  131. package/dist/SchoolSoft/file/from/schedules.js +83 -87
  132. package/dist/SchoolSoft/file/from/schedules.js.map +1 -1
  133. package/dist/SchoolSoft/file/index.d.ts +2 -1
  134. package/dist/SchoolSoft/file/to/index.d.ts +3 -2
  135. package/dist/SchoolSoft/file/to/schedules.js +1 -2
  136. package/dist/SchoolSoft/file/to/schedules.js.map +1 -1
  137. package/dist/SchoolSoft/index.d.ts +2 -1
  138. package/dist/Schoolity/txt/to/index.d.ts +2 -1
  139. package/dist/Schoolity/txt/to/schedules.js +5 -12
  140. package/dist/Schoolity/txt/to/schedules.js.map +1 -1
  141. package/dist/Skola24/mdb/from/course-and-events.js +3 -5
  142. package/dist/Skola24/mdb/from/course-and-events.js.map +1 -1
  143. package/dist/Skola24/mdb/from/groups.js.map +1 -1
  144. package/dist/Skola24/mdb/from/index.js.map +1 -1
  145. package/dist/Skola24/mdb/from/locations.js.map +1 -1
  146. package/dist/Skola24/mdb/from/schedule.d.ts +6 -5
  147. package/dist/Skola24/mdb/from/schedule.js.map +1 -1
  148. package/dist/Skola24/mdb/from/teachers.js.map +1 -1
  149. package/dist/Skola24/txt/from/calendar-exceptions.js +1 -2
  150. package/dist/Skola24/txt/from/calendar-exceptions.js.map +1 -1
  151. package/dist/Skola24/txt/from/division.js.map +1 -1
  152. package/dist/Skola24/txt/from/index.js.map +1 -1
  153. package/dist/Skola24/txt/from/period.js +31 -34
  154. package/dist/Skola24/txt/from/period.js.map +1 -1
  155. package/dist/Skola24/txt/from/schedules.d.ts +9 -8
  156. package/dist/Skola24/txt/from/schedules.js +10 -12
  157. package/dist/Skola24/txt/from/schedules.js.map +1 -1
  158. package/dist/Skola24/txt/from/util.js.map +1 -1
  159. package/dist/Skola24/txt/index.d.ts +2 -1
  160. package/dist/Skola24/txt/to/index.d.ts +2 -1
  161. package/dist/Skola24/txt/to/schedules.js +5 -12
  162. package/dist/Skola24/txt/to/schedules.js.map +1 -1
  163. package/dist/common/constants.js.map +1 -1
  164. package/dist/common/functions.js +46 -10
  165. package/dist/common/functions.js.map +1 -1
  166. package/dist/common/get-date.js.map +1 -1
  167. package/dist/common/make-chainable/index.js.map +1 -1
  168. package/dist/common/types.d.ts +3 -6
  169. package/dist/core/from/configurations.js.map +1 -1
  170. package/dist/core/from/courses.js.map +1 -1
  171. package/dist/core/from/events.js +1 -1
  172. package/dist/core/from/events.js.map +1 -1
  173. package/dist/core/from/exceptions.js.map +1 -1
  174. package/dist/core/from/groups.js.map +1 -1
  175. package/dist/core/from/index.js +9 -6
  176. package/dist/core/from/index.js.map +1 -1
  177. package/dist/core/from/locations.js.map +1 -1
  178. package/dist/core/from/locked-times.js.map +1 -1
  179. package/dist/core/from/overlap-groups.js.map +1 -1
  180. package/dist/core/from/periods.js.map +1 -1
  181. package/dist/core/from/persons.js.map +1 -1
  182. package/dist/core/from/root-intervals.js.map +1 -1
  183. package/dist/core/from/schedules.js.map +1 -1
  184. package/dist/core/from/syllabuses.js.map +1 -1
  185. package/dist/core/from/teachers.js.map +1 -1
  186. package/dist/core/index.d.ts +24 -1
  187. package/dist/core/index.js +4 -0
  188. package/dist/core/index.js.map +1 -1
  189. package/dist/core/interfaces/index.d.ts +23 -0
  190. package/dist/core/interfaces/index.js +6 -0
  191. package/dist/core/interfaces/other/companies.d.ts +132 -0
  192. package/dist/core/interfaces/other/companies.js +9 -0
  193. package/dist/core/interfaces/other/companies.js.map +1 -0
  194. package/dist/core/interfaces/other/etc.d.ts +19 -0
  195. package/dist/core/interfaces/other/index.d.ts +6 -0
  196. package/dist/core/interfaces/other/integrations.d.ts +17 -0
  197. package/dist/core/interfaces/other/operations.d.ts +36 -0
  198. package/dist/core/interfaces/other/policies.d.ts +31 -0
  199. package/dist/core/interfaces/other/sync-logs.d.ts +21 -0
  200. package/dist/core/interfaces/other/users.d.ts +35 -0
  201. package/dist/core/interfaces/vertices/companies.d.ts +8 -0
  202. package/dist/core/interfaces/vertices/configurations.d.ts +58 -0
  203. package/dist/core/interfaces/vertices/courses.d.ts +68 -0
  204. package/dist/core/{types → interfaces/vertices}/division-settings.d.ts +31 -29
  205. package/dist/core/interfaces/vertices/divisions.d.ts +31 -0
  206. package/dist/core/interfaces/vertices/events.d.ts +100 -0
  207. package/dist/core/interfaces/vertices/exceptions.d.ts +74 -0
  208. package/dist/core/interfaces/vertices/generations.d.ts +23 -0
  209. package/dist/core/interfaces/vertices/groups.d.ts +53 -0
  210. package/dist/core/interfaces/vertices/index.d.ts +209 -0
  211. package/dist/core/interfaces/vertices/index.js +3 -0
  212. package/dist/core/interfaces/vertices/locations.d.ts +22 -0
  213. package/dist/core/interfaces/vertices/locked-times.d.ts +37 -0
  214. package/dist/core/interfaces/vertices/overlap-groups.d.ts +17 -0
  215. package/dist/core/interfaces/vertices/periods.d.ts +15 -0
  216. package/dist/core/interfaces/vertices/persons.d.ts +32 -0
  217. package/dist/core/interfaces/vertices/properties/belongs-to.d.ts +11 -0
  218. package/dist/core/interfaces/vertices/properties/coalesced.d.ts +8 -0
  219. package/dist/core/interfaces/vertices/properties/days.d.ts +9 -0
  220. package/dist/core/interfaces/vertices/properties/index.d.ts +15 -0
  221. package/dist/core/interfaces/vertices/properties/intervals.d.ts +10 -0
  222. package/dist/core/{types/common → interfaces/vertices/properties}/maximum-schedule-span.d.ts +1 -1
  223. package/dist/core/interfaces/vertices/properties/min-break-length.d.ts +5 -0
  224. package/dist/core/{types/common/planned-schedule-duration.d.ts → interfaces/vertices/properties/planned-scheduled-duration.d.ts} +2 -2
  225. package/dist/core/interfaces/vertices/properties/species.d.ts +9 -0
  226. package/dist/core/interfaces/vertices/properties/tags.d.ts +9 -0
  227. package/dist/core/interfaces/vertices/properties/week.d.ts +22 -0
  228. package/dist/core/interfaces/vertices/properties/week.js +6 -0
  229. package/dist/core/interfaces/vertices/properties/week.js.map +1 -0
  230. package/dist/core/interfaces/vertices/root-intervals.d.ts +14 -0
  231. package/dist/core/interfaces/vertices/syllabuses.d.ts +18 -0
  232. package/dist/core/interfaces/vertices/teachers.d.ts +43 -0
  233. package/dist/core/interfaces/vertices/users.d.ts +8 -0
  234. package/dist/core/interfaces/vertices/util/common.d.ts +28 -0
  235. package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.ts +31 -0
  236. package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.ts +51 -0
  237. package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.ts +64 -0
  238. package/dist/core/interfaces/vertices/util/edges.d.ts +105 -0
  239. package/dist/core/interfaces/vertices/util/index.d.ts +5 -0
  240. package/dist/core/interfaces/vertices/util/keys-of.d.ts +27 -0
  241. package/dist/core/interfaces/vertices/util/serialized-vertex-export.d.ts +12 -0
  242. package/dist/core/interfaces/vertices/util/util.d.ts +76 -0
  243. package/dist/core/interfaces/vertices/util/vertex-query/index.d.ts +44 -0
  244. package/dist/core/interfaces/vertices/util/vertex-query/util.d.ts +13 -0
  245. package/dist/core/interfaces/vertices/util/vertex.d.ts +70 -0
  246. package/dist/core/interfaces/vertices/vertex-query.d.ts +102 -0
  247. package/dist/core/interfaces/vertices/vertex-query.js +94 -0
  248. package/dist/core/interfaces/vertices/vertex-query.js.map +1 -0
  249. package/dist/core/to/configurations.js +2 -3
  250. package/dist/core/to/configurations.js.map +1 -1
  251. package/dist/core/to/courses.js +2 -3
  252. package/dist/core/to/courses.js.map +1 -1
  253. package/dist/core/to/division.js.map +1 -1
  254. package/dist/core/to/events.js +2 -3
  255. package/dist/core/to/events.js.map +1 -1
  256. package/dist/core/to/exceptions.js +4 -4
  257. package/dist/core/to/exceptions.js.map +1 -1
  258. package/dist/core/to/groups.js +2 -3
  259. package/dist/core/to/groups.js.map +1 -1
  260. package/dist/core/to/locations.js +2 -3
  261. package/dist/core/to/locations.js.map +1 -1
  262. package/dist/core/to/locked-times.js +2 -3
  263. package/dist/core/to/locked-times.js.map +1 -1
  264. package/dist/core/to/overlap-groups.js +2 -3
  265. package/dist/core/to/overlap-groups.js.map +1 -1
  266. package/dist/core/to/periods.js +2 -3
  267. package/dist/core/to/periods.js.map +1 -1
  268. package/dist/core/to/persons.js +3 -9
  269. package/dist/core/to/persons.js.map +1 -1
  270. package/dist/core/to/root-intervals.js +2 -3
  271. package/dist/core/to/root-intervals.js.map +1 -1
  272. package/dist/core/to/schedules.d.ts +17 -18
  273. package/dist/core/to/schedules.js.map +1 -1
  274. package/dist/core/to/settings.js +2 -3
  275. package/dist/core/to/settings.js.map +1 -1
  276. package/dist/core/to/syllabuses.js +2 -3
  277. package/dist/core/to/syllabuses.js.map +1 -1
  278. package/dist/core/to/teachers.js +4 -4
  279. package/dist/core/to/teachers.js.map +1 -1
  280. package/dist/core/to/util.d.ts +4 -8
  281. package/dist/core/to/util.js +7 -5
  282. package/dist/core/to/util.js.map +1 -1
  283. package/dist/core/types/common/index.d.ts +4 -41
  284. package/dist/core/types/index.d.ts +108 -112
  285. package/dist/core/util.js +4 -5
  286. package/dist/core/util.js.map +1 -1
  287. package/dist/identify/constants/index.d.ts +1 -1
  288. package/dist/identify/constants/index.js +2 -1
  289. package/dist/identify/constants/index.js.map +1 -1
  290. package/dist/identify/index.js +9 -3
  291. package/dist/identify/index.js.map +1 -1
  292. package/dist/index.d.ts +23 -1
  293. package/dist/index.js +4 -1
  294. package/dist/sdui/from/classes.js.map +1 -1
  295. package/dist/sdui/from/courses.js.map +1 -1
  296. package/dist/sdui/from/holidays.js.map +1 -1
  297. package/dist/sdui/from/index.js.map +1 -1
  298. package/dist/sdui/from/lessons.js +4 -0
  299. package/dist/sdui/from/lessons.js.map +1 -1
  300. package/dist/sdui/from/rooms.js.map +1 -1
  301. package/dist/sdui/from/schedules.d.ts +10 -8
  302. package/dist/sdui/from/schedules.js.map +1 -1
  303. package/dist/sdui/from/school-years.js +0 -1
  304. package/dist/sdui/from/school-years.js.map +1 -1
  305. package/dist/sdui/from/substitution-plans.js.map +1 -1
  306. package/dist/sdui/from/teachers.js.map +1 -1
  307. package/dist/sdui/index.d.ts +1 -1
  308. package/dist/sdui/to/classes.js.map +1 -1
  309. package/dist/sdui/to/courses.js.map +1 -1
  310. package/dist/sdui/to/holidays.js.map +1 -1
  311. package/dist/sdui/to/hours.js.map +1 -1
  312. package/dist/sdui/to/index.d.ts +12 -10
  313. package/dist/sdui/to/lessons.js.map +1 -1
  314. package/dist/sdui/to/rooms.js.map +1 -1
  315. package/dist/sdui/to/schedules.js.map +1 -1
  316. package/dist/sdui/to/school-years.js.map +1 -1
  317. package/dist/sdui/to/substitution-plans.js +3 -6
  318. package/dist/sdui/to/substitution-plans.js.map +1 -1
  319. package/dist/sdui/to/teachers.js.map +1 -1
  320. package/dist/vKlass/from/index.js.map +1 -1
  321. package/dist/vKlass/from/schedule.d.ts +4 -3
  322. package/dist/vKlass/from/schedule.js +2 -2
  323. package/dist/vKlass/from/schedule.js.map +1 -1
  324. package/dist/vKlass/to/schedules.d.ts +4 -4
  325. package/dist/vKlass/to/schedules.js +6 -17
  326. package/dist/vKlass/to/schedules.js.map +1 -1
  327. package/package.json +24 -22
  328. package/dist/core/types/areas.d.ts +0 -10
  329. package/dist/core/types/common/break-lengths.d.ts +0 -5
  330. package/dist/core/types/common/days.d.ts +0 -8
  331. package/dist/core/types/common/intervals.d.ts +0 -20
  332. package/dist/core/types/common/tag.d.ts +0 -9
  333. package/dist/core/types/configurations.d.ts +0 -31
  334. package/dist/core/types/courses.d.ts +0 -60
  335. package/dist/core/types/divisions.d.ts +0 -24
  336. package/dist/core/types/events.d.ts +0 -56
  337. package/dist/core/types/exceptions.d.ts +0 -35
  338. package/dist/core/types/groups.d.ts +0 -44
  339. package/dist/core/types/locations.d.ts +0 -27
  340. package/dist/core/types/locked-times.d.ts +0 -33
  341. package/dist/core/types/overlap-groups.d.ts +0 -14
  342. package/dist/core/types/periods.d.ts +0 -14
  343. package/dist/core/types/persons.d.ts +0 -38
  344. package/dist/core/types/root-intervals.d.ts +0 -13
  345. package/dist/core/types/schedules.d.ts +0 -44
  346. package/dist/core/types/syllabus.d.ts +0 -18
  347. package/dist/core/types/teachers.d.ts +0 -44
  348. package/dist/core/vertex-mapping.d.ts +0 -69
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@royalschedule/maps",
3
3
  "description": "",
4
- "version": "4.0.14",
4
+ "version": "4.0.16",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -9,9 +9,10 @@
9
9
  "node": "22.14.0"
10
10
  },
11
11
  "scripts": {
12
- "build": "tsdown",
12
+ "build": "tsc --noEmit && tsdown",
13
13
  "check-circular-deps": "madge --circular --extensions ts ./src",
14
14
  "test": "vitest",
15
+ "test:ci": "vitest run --coverage",
15
16
  "lint": "eslint .",
16
17
  "lint:fix": "eslint . --fix",
17
18
  "dev_Admentum": " tsx tests/Admentum/index.ts",
@@ -47,28 +48,29 @@
47
48
  "license": "ISC",
48
49
  "homepage": "https://bitbucket.org/royalschedule/maps#readme",
49
50
  "devDependencies": {
50
- "@eslint/js": "^9.34.0",
51
- "@royalschedule/input-verifier": "^5.0.1",
52
- "@stylistic/eslint-plugin": "^5.2.3",
53
- "@tsconfig/strictest": "^2.0.5",
51
+ "@eslint/js": "^9.39.0",
52
+ "@royalschedule/input-verifier": "^5.0.3",
53
+ "@stylistic/eslint-plugin": "^5.5.0",
54
+ "@tsconfig/strictest": "^2.0.7",
54
55
  "@types/json2csv": "^5.0.7",
55
56
  "@types/lodash-es": "^4.17.12",
56
- "@types/node": "^24.3.0",
57
+ "@types/node": "^24.10.0",
57
58
  "@types/papaparse": "^5.3.16",
58
- "@typescript-eslint/parser": "^8.41.0",
59
- "@typescript-eslint/utils": "^8.41.0",
60
- "eslint": "^9.34.0",
61
- "eslint-plugin-jsdoc": "^54.1.1",
62
- "eslint-plugin-unused-imports": "^4.2.0",
63
- "jiti": "^2.5.1",
59
+ "@typescript-eslint/parser": "^8.46.2",
60
+ "@typescript-eslint/utils": "^8.46.2",
61
+ "@vitest/coverage-v8": "^4.0.6",
62
+ "eslint": "^9.39.0",
63
+ "eslint-plugin-jsdoc": "^61.1.11",
64
+ "eslint-plugin-unused-imports": "^4.3.0",
65
+ "jiti": "^2.6.1",
64
66
  "madge": "^8.0.0",
65
67
  "nodemon": "^3.1.10",
66
- "tsdown": "^0.14.2",
68
+ "tsdown": "^0.15.12",
67
69
  "tslib": "^2.8.1",
68
- "tsx": "^4.20.5",
69
- "typescript": "^5.9.2",
70
- "typescript-eslint": "^8.41.0",
71
- "vitest": "^3.2.4"
70
+ "tsx": "^4.20.6",
71
+ "typescript": "^5.9.3",
72
+ "typescript-eslint": "^8.46.2",
73
+ "vitest": "^4.0.6"
72
74
  },
73
75
  "dependencies": {
74
76
  "@json2csv/plainjs": "^7.0.6",
@@ -76,12 +78,12 @@
76
78
  "iconv-lite": "^0.7.0",
77
79
  "lodash-es": "^4.17.21",
78
80
  "moment": "^2.30.1",
79
- "mongoose": "^8.19.0",
80
- "nanoid": "^5.1.5",
81
+ "mongoose": "^8.19.2",
82
+ "nanoid": "^5.1.6",
81
83
  "papaparse": "^5.5.3",
82
84
  "ts-expect": "^1.3.0",
83
- "uuid": "^11.1.0",
85
+ "uuid": "^13.0.0",
84
86
  "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
85
- "zod": "^4.1.11"
87
+ "zod": "^4.1.12"
86
88
  }
87
89
  }
@@ -1,10 +0,0 @@
1
- import { Vertex } from "./common/index.js";
2
- import { Division } from "./divisions.js";
3
-
4
- //#region src/core/types/areas.d.ts
5
- type Area = Vertex & {
6
- belongsTo?: Division;
7
- };
8
- //#endregion
9
- export { Area };
10
- //# sourceMappingURL=areas.d.ts.map
@@ -1,5 +0,0 @@
1
- //#region src/core/types/common/break-lengths.d.ts
2
- type BreakLength = boolean | number | number[];
3
- //#endregion
4
- export { BreakLength };
5
- //# sourceMappingURL=break-lengths.d.ts.map
@@ -1,8 +0,0 @@
1
- //#region src/core/types/common/days.d.ts
2
- interface Day {
3
- day: number;
4
- rank?: number;
5
- }
6
- //#endregion
7
- export { Day };
8
- //# sourceMappingURL=days.d.ts.map
@@ -1,20 +0,0 @@
1
- import { DateType } from "../../../common/types.js";
2
-
3
- //#region src/core/types/common/intervals.d.ts
4
- type Interval<T = DateType> = {
5
- start: T;
6
- end: T;
7
- };
8
- interface AllowedInterval<T = DateType> extends Interval<T> {
9
- /**
10
- * @deprecated IS THIS REALLY OPTIONAL? ALSO, IS THIS USED ANYWHERE?
11
- */
12
- day?: number;
13
- /**
14
- * @deprecated WHAT IS THE VALUE OF THE STRING!?
15
- */
16
- type?: string;
17
- }
18
- //#endregion
19
- export { AllowedInterval, Interval };
20
- //# sourceMappingURL=intervals.d.ts.map
@@ -1,9 +0,0 @@
1
- //#region src/core/types/common/tag.d.ts
2
- type Type = 'COMPLEMENTARY_TIME' | 'category';
3
- type Tag = {
4
- type?: Type;
5
- value: string;
6
- };
7
- //#endregion
8
- export { Tag };
9
- //# sourceMappingURL=tag.d.ts.map
@@ -1,31 +0,0 @@
1
- import { Vertex } from "./common/index.js";
2
- import { Division } from "./divisions.js";
3
-
4
- //#region src/core/types/configurations.d.ts
5
- type ConfigurationType = 'filter' | 'template' | 'rule';
6
- interface ConfigurationDomain {
7
- to: Division | Vertex;
8
- toModel: 'companies' | 'divisions';
9
- }
10
- interface ConfigurationMetadata {
11
- active: boolean;
12
- version: string;
13
- tags: {
14
- value: string;
15
- type?: string;
16
- }[];
17
- }
18
- type Configuration = Vertex & {
19
- domain: ConfigurationDomain[];
20
- type: ConfigurationType;
21
- metadata: ConfigurationMetadata;
22
- lastModifiedBy?: Vertex;
23
- data?: any;
24
- displayName?: string;
25
- description?: string;
26
- category?: string;
27
- enabled?: boolean;
28
- };
29
- //#endregion
30
- export { Configuration };
31
- //# sourceMappingURL=configurations.d.ts.map
@@ -1,60 +0,0 @@
1
- import { DateType } from "../../common/types.js";
2
- import { AvailableLocation, GroupReference, PersonReference, Vertex } from "./common/index.js";
3
- import { BreakLength } from "./common/break-lengths.js";
4
- import { AllowedInterval } from "./common/intervals.js";
5
- import { Day } from "./common/days.js";
6
- import { Tag } from "./common/tag.js";
7
- import { Group } from "./groups.js";
8
- import { Person } from "./persons.js";
9
- import { Teacher } from "./teachers.js";
10
- import { Location } from "./locations.js";
11
- import { LockedTime } from "./locked-times.js";
12
- import { OverlapGroup } from "./overlap-groups.js";
13
- import { Period } from "./periods.js";
14
- import { Event } from "./events.js";
15
- import { Exception } from "./exceptions.js";
16
- import { Syllabus } from "./syllabus.js";
17
- import { Division } from "./divisions.js";
18
-
19
- //#region src/core/types/courses.d.ts
20
- type Course = Vertex & {
21
- belongsTo?: Division;
22
- events?: Event[];
23
- period?: Period;
24
- groups?: GroupReference<Group, Person>[];
25
- teachers?: PersonReference<Teacher>[];
26
- participants?: PersonReference<Person>[];
27
- locations?: AvailableLocation<Location>[];
28
- density?: number;
29
- weight?: number;
30
- subject?: string;
31
- minBreakLength?: BreakLength;
32
- weeks?: number[];
33
- displayName?: string;
34
- color?: string;
35
- eventDurationVariance?: number;
36
- totalTime?: string;
37
- type?: string;
38
- comment?: string;
39
- startDate?: DateType;
40
- endDate?: DateType;
41
- exceptions?: Exception[];
42
- lockedTimes?: LockedTime[];
43
- /**
44
- * @note an empty array is the same as undefined
45
- */
46
- intervals?: AllowedInterval[];
47
- centerOfAttraction?: string | null;
48
- syllabus?: Syllabus;
49
- days?: Day[];
50
- overlapGroup?: OverlapGroup | null;
51
- plannedDuration?: string;
52
- tags?: Tag[];
53
- /** @deprecated replaced by plannedDuration? */
54
- minutesPerWeek?: number;
55
- /** @deprecated replaced by plannedDuration? */
56
- expectedTotalHours?: number;
57
- };
58
- //#endregion
59
- export { Course };
60
- //# sourceMappingURL=courses.d.ts.map
@@ -1,24 +0,0 @@
1
- import { DateType } from "../../common/types.js";
2
- import { Vertex } from "./common/index.js";
3
- import { DivisionSettings } from "./division-settings.js";
4
- import { Meta } from "./common/meta.js";
5
-
6
- //#region src/core/types/divisions.d.ts
7
-
8
- type StepGuideProgress = {
9
- checked: string[];
10
- completed: boolean;
11
- updatedAt?: DateType;
12
- };
13
- type Division = Vertex & {
14
- settings?: DivisionSettings;
15
- stepGuideProgress?: StepGuideProgress;
16
- displayName?: string;
17
- start?: DateType;
18
- end?: DateType;
19
- editedAt?: DateType;
20
- meta?: Meta;
21
- };
22
- //#endregion
23
- export { Division };
24
- //# sourceMappingURL=divisions.d.ts.map
@@ -1,56 +0,0 @@
1
- import { DateType } from "../../common/types.js";
2
- import { AvailableLocation, GroupReference, PersonReference, Vertex } from "./common/index.js";
3
- import { BreakLength } from "./common/break-lengths.js";
4
- import { AllowedInterval } from "./common/intervals.js";
5
- import { Day } from "./common/days.js";
6
- import { Tag } from "./common/tag.js";
7
- import { Group } from "./groups.js";
8
- import { Person } from "./persons.js";
9
- import { Teacher } from "./teachers.js";
10
- import { Location } from "./locations.js";
11
- import { LockedTime } from "./locked-times.js";
12
- import { OverlapGroup } from "./overlap-groups.js";
13
- import { Period } from "./periods.js";
14
- import { Exception } from "./exceptions.js";
15
- import { Course } from "./courses.js";
16
- import { Division } from "./divisions.js";
17
-
18
- //#region src/core/types/events.d.ts
19
- type Event = Vertex & {
20
- belongsTo?: Division;
21
- course?: Course;
22
- period?: Period | null;
23
- groups?: GroupReference<Group, Person>[] | null;
24
- teachers?: PersonReference<Teacher>[] | null;
25
- participants?: PersonReference<Person>[] | null;
26
- locations?: AvailableLocation<Location>[] | null;
27
- inLocations?: (Location | null)[];
28
- exceptions?: Exception[];
29
- density?: number;
30
- weight?: number;
31
- parked?: boolean;
32
- color?: string;
33
- fixedStart?: boolean;
34
- start?: DateType;
35
- end?: DateType;
36
- minBreakLength?: BreakLength;
37
- weeks?: number[];
38
- type?: string;
39
- displayName?: string;
40
- visible?: boolean;
41
- duration?: number;
42
- preferredDuration?: number;
43
- durationVariance?: number;
44
- lockedTimes?: LockedTime[] | null;
45
- /**
46
- * @note an empty array is the same as undefined
47
- */
48
- intervals?: AllowedInterval[];
49
- centerOfAttraction?: string | null;
50
- days?: Day[] | null;
51
- overlapSpecies?: OverlapGroup | null;
52
- tags?: Tag[];
53
- };
54
- //#endregion
55
- export { Event };
56
- //# sourceMappingURL=events.d.ts.map
@@ -1,35 +0,0 @@
1
- import { DateType } from "../../common/types.js";
2
- import { Coalesced, Vertex } from "./common/index.js";
3
- import { Group } from "./groups.js";
4
- import { Person } from "./persons.js";
5
- import { Teacher } from "./teachers.js";
6
- import { Location } from "./locations.js";
7
- import { Event } from "./events.js";
8
- import { Course } from "./courses.js";
9
- import { Division } from "./divisions.js";
10
-
11
- //#region src/core/types/exceptions.d.ts
12
- declare const exceptionStatus: readonly ["pending", "failed", "completed", "rejected", "approved"];
13
- type ExceptionStatus = typeof exceptionStatus[number];
14
- type _Exception = Coalesced<Group, 'groups'> | Coalesced<Course, 'courses'> | Coalesced<Teacher, 'teachers'> | Coalesced<Location, 'locations'> | Coalesced<Person, 'persons'>;
15
- type Exception = Vertex & {
16
- belongsTo?: Division;
17
- reason?: string;
18
- description?: string;
19
- sources?: Coalesced<Event | Course | Group | Teacher | Location | Person>[];
20
- exceptions?: Exception[];
21
- parentExceptions?: Exception[];
22
- start?: DateType;
23
- end?: DateType;
24
- type?: 'absence' | 'calendar';
25
- action?: 'cancel' | 'remove' | 'reschedule' | 'add' | 'substitute';
26
- handleStatus?: ExceptionStatus;
27
- exception?: Partial<_Exception> & {
28
- include?: boolean;
29
- start?: DateType;
30
- end?: DateType;
31
- };
32
- };
33
- //#endregion
34
- export { Exception };
35
- //# sourceMappingURL=exceptions.d.ts.map
@@ -1,44 +0,0 @@
1
- import { Vertex } from "./common/index.js";
2
- import { BreakLength } from "./common/break-lengths.js";
3
- import { AllowedInterval } from "./common/intervals.js";
4
- import { Day } from "./common/days.js";
5
- import { RootInterval } from "./root-intervals.js";
6
- import { MaximumScheduleSpan } from "./common/maximum-schedule-span.js";
7
- import { Tag } from "./common/tag.js";
8
- import { Person } from "./persons.js";
9
- import { LockedTime } from "./locked-times.js";
10
- import { Exception } from "./exceptions.js";
11
- import { Division } from "./divisions.js";
12
-
13
- //#region src/core/types/groups.d.ts
14
- type Group = Vertex & {
15
- belongsTo?: Division;
16
- displayName?: string;
17
- minBreakLength?: BreakLength;
18
- maximumScheduleSpan?: MaximumScheduleSpan;
19
- forbidOverlappingEvents?: boolean;
20
- disableDayLengthPunishment?: boolean;
21
- weight?: number;
22
- rank?: number;
23
- species?: 'class';
24
- exceptions?: Exception[];
25
- parentGroups?: Group[];
26
- subGroups?: Group[];
27
- lockedTimes?: LockedTime[];
28
- lunch?: LockedTime[];
29
- members?: Person[];
30
- /**
31
- * @note an empty array is the same as undefined
32
- */
33
- intervals?: AllowedInterval[];
34
- rootInterval?: RootInterval;
35
- days?: Day[];
36
- tags?: Tag[];
37
- /** @deprecated replaced by maximumScheduleSpan */
38
- maxNumWorkingHours?: number | boolean;
39
- /** @deprecated replaced by maximumScheduleSpan */
40
- maxNumDailyWorkingHours?: number | number[] | boolean;
41
- };
42
- //#endregion
43
- export { Group };
44
- //# sourceMappingURL=groups.d.ts.map
@@ -1,27 +0,0 @@
1
- import { Vertex } from "./common/index.js";
2
- import { AllowedInterval } from "./common/intervals.js";
3
- import { Day } from "./common/days.js";
4
- import { Tag } from "./common/tag.js";
5
- import { LockedTime } from "./locked-times.js";
6
- import { Exception } from "./exceptions.js";
7
- import { Division } from "./divisions.js";
8
-
9
- //#region src/core/types/locations.d.ts
10
- type Location = Vertex & {
11
- belongsTo?: Division;
12
- rank?: number;
13
- maximumCapacity?: number;
14
- displayName?: string;
15
- text?: string;
16
- exceptions?: Exception[];
17
- lockedTimes?: LockedTime[];
18
- lunch?: LockedTime[];
19
- intervals?: AllowedInterval[];
20
- days?: Day[];
21
- area?: string;
22
- minBreakLength?: number;
23
- tags?: Tag[];
24
- };
25
- //#endregion
26
- export { Location };
27
- //# sourceMappingURL=locations.d.ts.map
@@ -1,33 +0,0 @@
1
- import { DateType } from "../../common/types.js";
2
- import { Coalesced, Vertex } from "./common/index.js";
3
- import { AllowedInterval } from "./common/intervals.js";
4
- import { Day } from "./common/days.js";
5
- import { Tag } from "./common/tag.js";
6
- import { Group } from "./groups.js";
7
- import { Teacher } from "./teachers.js";
8
- import { Location } from "./locations.js";
9
- import { Event } from "./events.js";
10
- import { Course } from "./courses.js";
11
- import { Division } from "./divisions.js";
12
-
13
- //#region src/core/types/locked-times.d.ts
14
- type Type = /* 'ANY' | */'LUNCH' | 'COMPLEMENTARY_TIME';
15
- type LockedTime = Vertex & {
16
- belongsTo?: Division;
17
- displayName?: string;
18
- color?: string;
19
- type?: Type;
20
- start?: DateType;
21
- end?: DateType;
22
- visible?: boolean;
23
- parked?: boolean;
24
- duration?: number;
25
- durationVariance?: number;
26
- coalesced?: (Coalesced<Group, 'groups'> | Coalesced<Teacher, 'teachers'> | Coalesced<Course, 'courses'> | Coalesced<Event, 'events'> | Coalesced<Event, 'courseevents'> | Coalesced<Location, 'locations'>)[];
27
- intervals?: AllowedInterval[];
28
- days?: Day[];
29
- tags?: Tag[];
30
- };
31
- //#endregion
32
- export { LockedTime };
33
- //# sourceMappingURL=locked-times.d.ts.map
@@ -1,14 +0,0 @@
1
- import { Coalesced, Species, Vertex } from "./common/index.js";
2
- import { Event } from "./events.js";
3
- import { Course } from "./courses.js";
4
- import { Division } from "./divisions.js";
5
-
6
- //#region src/core/types/overlap-groups.d.ts
7
- type OverlapGroup = Vertex & {
8
- belongsTo?: Division;
9
- coalesced?: Coalesced<Course, 'courses'>[];
10
- species?: Species<Event, 'events' | 'courseevents'>[];
11
- };
12
- //#endregion
13
- export { OverlapGroup };
14
- //# sourceMappingURL=overlap-groups.d.ts.map
@@ -1,14 +0,0 @@
1
- import { Vertex } from "./common/index.js";
2
- import { Interval } from "./common/intervals.js";
3
- import { Division } from "./divisions.js";
4
-
5
- //#region src/core/types/periods.d.ts
6
- type Period = Vertex & {
7
- belongsTo?: Division;
8
- displayIndex?: number;
9
- displayName?: string;
10
- ranges: Partial<Interval>[];
11
- };
12
- //#endregion
13
- export { Period };
14
- //# sourceMappingURL=periods.d.ts.map
@@ -1,38 +0,0 @@
1
- import { DateType } from "../../common/types.js";
2
- import { Vertex } from "./common/index.js";
3
- import { Tag } from "./common/tag.js";
4
- import { Group } from "./groups.js";
5
- import { LockedTime } from "./locked-times.js";
6
- import { Exception } from "./exceptions.js";
7
- import { Division } from "./divisions.js";
8
-
9
- //#region src/core/types/persons.d.ts
10
- type Person = Vertex & {
11
- belongsTo?: Division;
12
- displayName?: string;
13
- lastName?: string;
14
- firstName?: string;
15
- birthDate?: DateType;
16
- sex?: 'Man' | 'Woman';
17
- type?: 'Student' | 'Teacher' | 'Other';
18
- SSN?: {
19
- value: string;
20
- nationality?: string;
21
- };
22
- emails?: {
23
- value: string;
24
- type: 'private' | 'organization';
25
- }[];
26
- phoneNumbers?: {
27
- value: string;
28
- type: 'private' | 'organization';
29
- }[];
30
- tags?: Tag[];
31
- exceptions?: Exception[];
32
- lockedTimes?: LockedTime[];
33
- lunch?: LockedTime[];
34
- group?: Group;
35
- };
36
- //#endregion
37
- export { Person };
38
- //# sourceMappingURL=persons.d.ts.map
@@ -1,13 +0,0 @@
1
- import { Vertex } from "./common/index.js";
2
- import { Interval } from "./common/intervals.js";
3
- import { Division } from "./divisions.js";
4
-
5
- //#region src/core/types/root-intervals.d.ts
6
- type RootInterval = Vertex & {
7
- belongsTo?: Division;
8
- displayName?: string;
9
- intervals: Interval[];
10
- };
11
- //#endregion
12
- export { RootInterval };
13
- //# sourceMappingURL=root-intervals.d.ts.map
@@ -1,44 +0,0 @@
1
- import { InternalIdKey, Vertex } from "./common/index.js";
2
- import { Mixed, MixedWithoutInternalId, Serialized } from "../vertex-mapping.js";
3
- import { RootInterval } from "./root-intervals.js";
4
- import { Group } from "./groups.js";
5
- import { Person } from "./persons.js";
6
- import { Teacher } from "./teachers.js";
7
- import { Location } from "./locations.js";
8
- import { LockedTime } from "./locked-times.js";
9
- import { OverlapGroup } from "./overlap-groups.js";
10
- import { Period } from "./periods.js";
11
- import { Event } from "./events.js";
12
- import { Exception } from "./exceptions.js";
13
- import { Syllabus } from "./syllabus.js";
14
- import { Course } from "./courses.js";
15
- import { DivisionSettings } from "./division-settings.js";
16
- import { Division } from "./divisions.js";
17
- import { Area } from "./areas.js";
18
-
19
- //#region src/core/types/schedules.d.ts
20
- type ScheduleShape = {
21
- divisions: Division;
22
- exceptions: Exception[];
23
- settings: DivisionSettings;
24
- groups: Group[];
25
- teachers: Teacher[];
26
- locations: Location[];
27
- courses: Course[];
28
- events: Event[];
29
- overlapGroups: OverlapGroup[];
30
- periods: Period[];
31
- persons: Person[];
32
- lockedTimes: LockedTime[];
33
- rootIntervals: RootInterval[];
34
- areas: Area[];
35
- syllabuses: Syllabus[];
36
- };
37
- type Schedule = ScheduleShape;
38
- type SerializedSchedule = { [K in keyof ScheduleShape]: ScheduleShape[K] extends Array<infer U extends Vertex> ? Serialized<U>[] : ScheduleShape[K] extends Vertex ? Serialized<ScheduleShape[K]> : never };
39
- type MixedSchedule = { [K in keyof ScheduleShape]: ScheduleShape[K] extends Array<infer U extends Vertex> ? Mixed<U>[] : ScheduleShape[K] extends Vertex ? Mixed<ScheduleShape[K]> : never };
40
- type MixedScheduleWithoutInternalId = { [K in keyof ScheduleShape]: ScheduleShape[K] extends Array<infer U extends Vertex> ? MixedWithoutInternalId<U>[] : ScheduleShape[K] extends Vertex ? MixedWithoutInternalId<ScheduleShape[K]> : never };
41
- type SerializedScheduleWithoutInternalId = { [K in keyof ScheduleShape]: ScheduleShape[K] extends Array<infer U extends Vertex> ? Omit<Serialized<U>, InternalIdKey>[] : ScheduleShape[K] extends Vertex ? Omit<Serialized<ScheduleShape[K]>, InternalIdKey> : never };
42
- //#endregion
43
- export { MixedSchedule, MixedScheduleWithoutInternalId, Schedule, SerializedSchedule, SerializedScheduleWithoutInternalId };
44
- //# sourceMappingURL=schedules.d.ts.map
@@ -1,18 +0,0 @@
1
- import { Vertex } from "./common/index.js";
2
- import { Division } from "./divisions.js";
3
-
4
- //#region src/core/types/syllabus.d.ts
5
- type Syllabus = Vertex & {
6
- belongsTo?: Division;
7
- schoolType: string;
8
- subjectCode?: string;
9
- subjectName: string;
10
- subjectDesignation?: string;
11
- courseCode?: string;
12
- courseName?: string;
13
- points?: number;
14
- official: boolean;
15
- };
16
- //#endregion
17
- export { Syllabus };
18
- //# sourceMappingURL=syllabus.d.ts.map
@@ -1,44 +0,0 @@
1
- import { Vertex } from "./common/index.js";
2
- import { BreakLength } from "./common/break-lengths.js";
3
- import { AllowedInterval } from "./common/intervals.js";
4
- import { Day } from "./common/days.js";
5
- import { RootInterval } from "./root-intervals.js";
6
- import { MaximumScheduleSpan } from "./common/maximum-schedule-span.js";
7
- import { Tag } from "./common/tag.js";
8
- import { Person } from "./persons.js";
9
- import { PlannedScheduledDuration } from "./common/planned-schedule-duration.js";
10
- import { LockedTime } from "./locked-times.js";
11
- import { Exception } from "./exceptions.js";
12
- import { Division } from "./divisions.js";
13
-
14
- //#region src/core/types/teachers.d.ts
15
- type Teacher = Vertex & {
16
- belongsTo?: Division;
17
- displayName?: string;
18
- minBreakLength?: BreakLength;
19
- plannedScheduledDuration?: PlannedScheduledDuration;
20
- maximumScheduleSpan?: MaximumScheduleSpan;
21
- forbidOverlappingEvents?: boolean;
22
- disableDayLengthPunishment?: boolean;
23
- weight?: number;
24
- person?: Person;
25
- exceptions?: Exception[];
26
- lockedTimes?: LockedTime[];
27
- lunch?: LockedTime[];
28
- /**
29
- * @note an empty array is the same as undefined
30
- */
31
- intervals?: AllowedInterval[];
32
- rootInterval?: RootInterval;
33
- days?: Day[];
34
- signature?: string;
35
- rank?: number;
36
- tags?: Tag[];
37
- /** @deprecated replaced by maximumScheduleSpan */
38
- maxNumWorkingHours?: number | boolean;
39
- /** @deprecated replaced by maximumScheduleSpan */
40
- maxNumDailyWorkingHours?: number | number[] | boolean;
41
- };
42
- //#endregion
43
- export { Teacher };
44
- //# sourceMappingURL=teachers.d.ts.map