@royalschedule/maps 3.3.17 → 4.0.1

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 (948) hide show
  1. package/README.md +1 -0
  2. package/dist/Additio/from/courses.js.map +1 -1
  3. package/dist/Additio/from/events.js.map +1 -1
  4. package/dist/Additio/from/groups.js.map +1 -1
  5. package/dist/Additio/from/index.js.map +1 -1
  6. package/dist/Additio/from/locations.js.map +1 -1
  7. package/dist/Additio/from/persons.js +1 -1
  8. package/dist/Additio/from/persons.js.map +1 -1
  9. package/dist/Additio/from/schedules.d.ts +32 -2
  10. package/dist/Additio/from/schedules.js.map +1 -1
  11. package/dist/Additio/from/teachers.js.map +1 -1
  12. package/dist/Additio/index.js.map +1 -1
  13. package/dist/Additio/to/index.d.ts +12 -12
  14. package/dist/Additio/to/index.js.map +1 -1
  15. package/dist/Additio/to/schedules.js +44 -46
  16. package/dist/Additio/to/schedules.js.map +1 -1
  17. package/dist/Additio/types/options.d.ts +8 -0
  18. package/dist/Admentum/from/courses.js.map +1 -1
  19. package/dist/Admentum/from/events.js.map +1 -1
  20. package/dist/Admentum/from/groups.js.map +1 -1
  21. package/dist/Admentum/from/index.js.map +1 -1
  22. package/dist/Admentum/from/locations.js.map +1 -1
  23. package/dist/Admentum/from/persons.js +1 -1
  24. package/dist/Admentum/from/persons.js.map +1 -1
  25. package/dist/Admentum/from/schedules.d.ts +32 -2
  26. package/dist/Admentum/from/schedules.js.map +1 -1
  27. package/dist/Admentum/from/teachers.js.map +1 -1
  28. package/dist/Admentum/index.js.map +1 -1
  29. package/dist/Admentum/to/index.d.ts +11 -10
  30. package/dist/Admentum/to/index.js.map +1 -1
  31. package/dist/Admentum/to/schedules.js +22 -25
  32. package/dist/Admentum/to/schedules.js.map +1 -1
  33. package/dist/Excel/index.d.ts +55 -4
  34. package/dist/Excel/index.js.map +1 -1
  35. package/dist/Excel/v1/from/index.js +7 -7
  36. package/dist/Excel/v1/from/index.js.map +1 -1
  37. package/dist/Excel/v1/index.d.ts +30 -2
  38. package/dist/Excel/v1/index.js.map +1 -1
  39. package/dist/Excel/v2/from/index.js +10 -10
  40. package/dist/Excel/v2/from/index.js.map +1 -1
  41. package/dist/Excel/v2/index.d.ts +53 -2
  42. package/dist/Excel/v2/index.js.map +1 -1
  43. package/dist/IdunSoft/from/courses.js +4 -3
  44. package/dist/IdunSoft/from/courses.js.map +1 -1
  45. package/dist/IdunSoft/from/events.js +43 -32
  46. package/dist/IdunSoft/from/events.js.map +1 -1
  47. package/dist/IdunSoft/from/groups.js +5 -4
  48. package/dist/IdunSoft/from/groups.js.map +1 -1
  49. package/dist/IdunSoft/from/index.js.map +1 -1
  50. package/dist/IdunSoft/from/locations.js +4 -3
  51. package/dist/IdunSoft/from/locations.js.map +1 -1
  52. package/dist/IdunSoft/from/schedules.d.ts +18 -3
  53. package/dist/IdunSoft/from/schedules.js +5 -10
  54. package/dist/IdunSoft/from/schedules.js.map +1 -1
  55. package/dist/IdunSoft/from/teachers.js +4 -3
  56. package/dist/IdunSoft/from/teachers.js.map +1 -1
  57. package/dist/IdunSoft/index.js.map +1 -1
  58. package/dist/IdunSoft/to/index.d.ts +2 -3
  59. package/dist/IdunSoft/to/index.js.map +1 -1
  60. package/dist/IdunSoft/to/schedules.js +22 -21
  61. package/dist/IdunSoft/to/schedules.js.map +1 -1
  62. package/dist/InfoMentor/index.js.map +1 -1
  63. package/dist/InfoMentor/to/index.d.ts +2 -2
  64. package/dist/InfoMentor/to/index.js.map +1 -1
  65. package/dist/InfoMentor/to/schedules.js +26 -27
  66. package/dist/InfoMentor/to/schedules.js.map +1 -1
  67. package/dist/PlanDigital/from/index.js.map +1 -1
  68. package/dist/PlanDigital/from/schedules.js +7 -6
  69. package/dist/PlanDigital/from/schedules.js.map +1 -1
  70. package/dist/PlanDigital/index.d.ts +106 -5
  71. package/dist/PlanDigital/index.js +0 -2
  72. package/dist/PlanDigital/index.js.map +1 -1
  73. package/dist/PlanDigital/types/index.d.ts +12 -11
  74. package/dist/Quiculum/file/to/index.d.ts +1 -1
  75. package/dist/Quiculum/file/to/schedules.js +11 -13
  76. package/dist/Quiculum/file/to/schedules.js.map +1 -1
  77. package/dist/RS/from/division.d.ts +7 -0
  78. package/dist/RS/from/division.js +14 -0
  79. package/dist/RS/from/division.js.map +1 -0
  80. package/dist/RS/from/index.js +12 -0
  81. package/dist/RS/from/index.js.map +1 -0
  82. package/dist/RS/from/schedules.d.ts +8 -0
  83. package/dist/RS/from/schedules.js +36 -0
  84. package/dist/RS/from/schedules.js.map +1 -0
  85. package/dist/RS/index.d.ts +11 -12
  86. package/dist/RS/index.js +4 -8
  87. package/dist/RS/index.js.map +1 -1
  88. package/dist/RS/make-connected.d.ts +24 -0
  89. package/dist/RS/make-connected.js +258 -0
  90. package/dist/RS/make-connected.js.map +1 -0
  91. package/dist/RS/to/index.js +8 -0
  92. package/dist/RS/to/index.js.map +1 -0
  93. package/dist/RS/to/initial-configuration.js +43 -0
  94. package/dist/RS/to/initial-configuration.js.map +1 -0
  95. package/dist/RS/to/input/collections.js +57 -0
  96. package/dist/RS/to/input/collections.js.map +1 -0
  97. package/dist/RS/{v3/to → to/input}/default.js +10 -18
  98. package/dist/RS/to/input/default.js.map +1 -0
  99. package/dist/RS/to/input/dependencies.js +32 -0
  100. package/dist/RS/to/input/dependencies.js.map +1 -0
  101. package/dist/RS/to/input/dynamic-locked-times.js +67 -0
  102. package/dist/RS/to/input/dynamic-locked-times.js.map +1 -0
  103. package/dist/RS/to/input/events.js +84 -0
  104. package/dist/RS/to/input/events.js.map +1 -0
  105. package/dist/RS/to/input/groups.js +36 -0
  106. package/dist/RS/to/input/groups.js.map +1 -0
  107. package/dist/RS/to/input/individuals.js +49 -0
  108. package/dist/RS/to/input/individuals.js.map +1 -0
  109. package/dist/RS/to/input/input.js +40 -0
  110. package/dist/RS/to/input/input.js.map +1 -0
  111. package/dist/RS/to/input/intervals.js +99 -0
  112. package/dist/RS/to/input/intervals.js.map +1 -0
  113. package/dist/RS/to/input/periods.js +44 -0
  114. package/dist/RS/to/input/periods.js.map +1 -0
  115. package/dist/RS/to/input/settings.js +17 -0
  116. package/dist/RS/to/input/settings.js.map +1 -0
  117. package/dist/RS/to/input/teachers.js +36 -0
  118. package/dist/RS/to/input/teachers.js.map +1 -0
  119. package/dist/RS/to/input/util/attach-locked-times.js +27 -0
  120. package/dist/RS/to/input/util/attach-locked-times.js.map +1 -0
  121. package/dist/RS/to/input/util/parse-days.js +10 -0
  122. package/dist/RS/to/input/util/parse-days.js.map +1 -0
  123. package/dist/RS/to/input/util/parse-group-references.js +58 -0
  124. package/dist/RS/to/input/util/parse-group-references.js.map +1 -0
  125. package/dist/RS/to/input/util/parse-intervals.js +55 -0
  126. package/dist/RS/to/input/util/parse-intervals.js.map +1 -0
  127. package/dist/RS/to/input/util/parse-location-references.js +31 -0
  128. package/dist/RS/to/input/util/parse-location-references.js.map +1 -0
  129. package/dist/RS/to/input/util/parse-max-working-hours.js +17 -0
  130. package/dist/RS/to/input/util/parse-max-working-hours.js.map +1 -0
  131. package/dist/RS/to/input/util/parse-minimum-break-length.js +19 -0
  132. package/dist/RS/to/input/util/parse-minimum-break-length.js.map +1 -0
  133. package/dist/RS/to/input/util/util.js +61 -0
  134. package/dist/RS/to/input/util/util.js.map +1 -0
  135. package/dist/RS/to/schedules.d.ts +7 -0
  136. package/dist/RS/to/schedules.js +40 -0
  137. package/dist/RS/to/schedules.js.map +1 -0
  138. package/dist/RS/{v3/types → types}/algorithm-parameters.d.ts +1 -1
  139. package/dist/RS/types/collections.d.ts +26 -0
  140. package/dist/RS/types/configurations.d.ts +10 -0
  141. package/dist/RS/{v3/types → types}/default.d.ts +4 -5
  142. package/dist/RS/types/dependencies.d.ts +16 -0
  143. package/dist/RS/types/event-configuration.d.ts +20 -0
  144. package/dist/RS/types/events.d.ts +27 -0
  145. package/dist/RS/{v2/types → types}/groups.d.ts +13 -12
  146. package/dist/RS/types/index.d.ts +45 -0
  147. package/dist/RS/types/individuals.d.ts +16 -0
  148. package/dist/RS/{v2/types → types}/locked-times.d.ts +2 -1
  149. package/dist/RS/types/root-intervals.d.ts +10 -0
  150. package/dist/RS/types/schedule-data.d.ts +16 -0
  151. package/dist/RS/{v2/types → types}/settings.d.ts +1 -1
  152. package/dist/RS/types/shared.d.ts +27 -0
  153. package/dist/RS/types/to.d.ts +59 -0
  154. package/dist/SchoolSoft/api/from/index.js.map +1 -1
  155. package/dist/SchoolSoft/api/from/schedules.js +31 -37
  156. package/dist/SchoolSoft/api/from/schedules.js.map +1 -1
  157. package/dist/SchoolSoft/api/index.d.ts +14 -2
  158. package/dist/SchoolSoft/api/index.js.map +1 -1
  159. package/dist/SchoolSoft/file/from/index.js.map +1 -1
  160. package/dist/SchoolSoft/file/from/schedules.js +36 -46
  161. package/dist/SchoolSoft/file/from/schedules.js.map +1 -1
  162. package/dist/SchoolSoft/file/index.d.ts +2 -3
  163. package/dist/SchoolSoft/file/index.js.map +1 -1
  164. package/dist/SchoolSoft/file/to/index.d.ts +6 -13
  165. package/dist/SchoolSoft/file/to/schedules.js +40 -42
  166. package/dist/SchoolSoft/file/to/schedules.js.map +1 -1
  167. package/dist/SchoolSoft/index.d.ts +2 -3
  168. package/dist/SchoolSoft/index.js.map +1 -1
  169. package/dist/Schoolity/txt/index.js.map +1 -1
  170. package/dist/Schoolity/txt/to/index.d.ts +3 -3
  171. package/dist/Schoolity/txt/to/index.js.map +1 -1
  172. package/dist/Schoolity/txt/to/schedules.js +78 -96
  173. package/dist/Schoolity/txt/to/schedules.js.map +1 -1
  174. package/dist/Skola24/index.js.map +1 -1
  175. package/dist/Skola24/mdb/from/course-and-events.js +36 -29
  176. package/dist/Skola24/mdb/from/course-and-events.js.map +1 -1
  177. package/dist/Skola24/mdb/from/groups.js.map +1 -1
  178. package/dist/Skola24/mdb/from/index.js.map +1 -1
  179. package/dist/Skola24/mdb/from/locations.js.map +1 -1
  180. package/dist/Skola24/mdb/from/schedule.d.ts +21 -3
  181. package/dist/Skola24/mdb/from/schedule.js +15 -17
  182. package/dist/Skola24/mdb/from/schedule.js.map +1 -1
  183. package/dist/Skola24/mdb/from/teachers.js.map +1 -1
  184. package/dist/Skola24/mdb/index.js.map +1 -1
  185. package/dist/Skola24/mdb/types/index.d.ts +7 -0
  186. package/dist/Skola24/txt/from/calendar-exceptions.js.map +1 -1
  187. package/dist/Skola24/txt/from/division.js.map +1 -1
  188. package/dist/Skola24/txt/from/index.js.map +1 -1
  189. package/dist/Skola24/txt/from/period.js.map +1 -1
  190. package/dist/Skola24/txt/from/schedules.d.ts +16 -0
  191. package/dist/Skola24/txt/from/schedules.js +90 -80
  192. package/dist/Skola24/txt/from/schedules.js.map +1 -1
  193. package/dist/Skola24/txt/index.d.ts +17 -5
  194. package/dist/Skola24/txt/index.js.map +1 -1
  195. package/dist/Skola24/txt/to/index.d.ts +3 -3
  196. package/dist/Skola24/txt/to/index.js.map +1 -1
  197. package/dist/Skola24/txt/to/schedules.js +76 -91
  198. package/dist/Skola24/txt/to/schedules.js.map +1 -1
  199. package/dist/Skola24/txt/types/index.d.ts +17 -1
  200. package/dist/common/constants.js +2 -2
  201. package/dist/common/constants.js.map +1 -1
  202. package/dist/common/functions.js +16 -21
  203. package/dist/common/functions.js.map +1 -1
  204. package/dist/common/get-date.js +5 -6
  205. package/dist/common/get-date.js.map +1 -1
  206. package/dist/common/make-chainable/index.js +36 -0
  207. package/dist/common/make-chainable/index.js.map +1 -0
  208. package/dist/common/types.d.ts +19 -0
  209. package/dist/core/from/courses.js +12 -0
  210. package/dist/core/from/courses.js.map +1 -0
  211. package/dist/core/from/events.js +13 -0
  212. package/dist/core/from/events.js.map +1 -0
  213. package/dist/core/from/exceptions.js +12 -0
  214. package/dist/core/from/exceptions.js.map +1 -0
  215. package/dist/core/from/groups.js +12 -0
  216. package/dist/core/from/groups.js.map +1 -0
  217. package/dist/core/{v2/from → from}/index.js +1 -1
  218. package/dist/core/from/index.js.map +1 -0
  219. package/dist/core/from/locations.js +12 -0
  220. package/dist/core/from/locations.js.map +1 -0
  221. package/dist/core/from/locked-times.js +12 -0
  222. package/dist/core/from/locked-times.js.map +1 -0
  223. package/dist/core/from/overlap-groups.js +12 -0
  224. package/dist/core/from/overlap-groups.js.map +1 -0
  225. package/dist/core/from/periods.js +12 -0
  226. package/dist/core/from/periods.js.map +1 -0
  227. package/dist/core/from/persons.js +12 -0
  228. package/dist/core/from/persons.js.map +1 -0
  229. package/dist/core/from/root-intervals.js +12 -0
  230. package/dist/core/from/root-intervals.js.map +1 -0
  231. package/dist/core/from/schedules.d.ts +7 -0
  232. package/dist/core/from/schedules.js +35 -0
  233. package/dist/core/from/schedules.js.map +1 -0
  234. package/dist/core/{v2/from → from}/syllabuses.js +1 -1
  235. package/dist/core/from/syllabuses.js.map +1 -0
  236. package/dist/core/from/teachers.js +12 -0
  237. package/dist/core/from/teachers.js.map +1 -0
  238. package/dist/core/index.d.ts +6 -12
  239. package/dist/core/index.js +4 -6
  240. package/dist/core/index.js.map +1 -1
  241. package/dist/core/to/courses.js +43 -0
  242. package/dist/core/to/courses.js.map +1 -0
  243. package/dist/core/to/division.js +10 -0
  244. package/dist/core/to/division.js.map +1 -0
  245. package/dist/core/to/events.js +43 -0
  246. package/dist/core/to/events.js.map +1 -0
  247. package/dist/core/to/exceptions.js +27 -0
  248. package/dist/core/to/exceptions.js.map +1 -0
  249. package/dist/core/to/groups.js +23 -0
  250. package/dist/core/to/groups.js.map +1 -0
  251. package/dist/core/{v1/to → to}/index.d.ts +1 -1
  252. package/dist/{RS/v3 → core}/to/index.js +1 -1
  253. package/dist/core/to/index.js.map +1 -0
  254. package/dist/core/to/locations.js +19 -0
  255. package/dist/core/to/locations.js.map +1 -0
  256. package/dist/core/to/locked-times.js +21 -0
  257. package/dist/core/to/locked-times.js.map +1 -0
  258. package/dist/core/to/overlap-groups.js +28 -0
  259. package/dist/core/to/overlap-groups.js.map +1 -0
  260. package/dist/core/to/periods.js +17 -0
  261. package/dist/core/to/periods.js.map +1 -0
  262. package/dist/core/to/persons.js +23 -0
  263. package/dist/core/to/persons.js.map +1 -0
  264. package/dist/core/to/root-intervals.js +17 -0
  265. package/dist/core/to/root-intervals.js.map +1 -0
  266. package/dist/core/to/schedules.d.ts +44 -0
  267. package/dist/core/to/schedules.js +40 -0
  268. package/dist/core/to/schedules.js.map +1 -0
  269. package/dist/core/to/settings.js +16 -0
  270. package/dist/core/to/settings.js.map +1 -0
  271. package/dist/core/to/syllabuses.js +17 -0
  272. package/dist/core/to/syllabuses.js.map +1 -0
  273. package/dist/core/to/teachers.js +24 -0
  274. package/dist/core/to/teachers.js.map +1 -0
  275. package/dist/core/to/util.d.ts +14 -0
  276. package/dist/core/to/util.js +22 -0
  277. package/dist/core/to/util.js.map +1 -0
  278. package/dist/core/types/areas.d.ts +10 -0
  279. package/dist/core/types/common/break-lengths.d.ts +5 -0
  280. package/dist/core/types/common/days.d.ts +8 -0
  281. package/dist/core/types/common/index.d.ts +45 -0
  282. package/dist/core/types/common/intervals.d.ts +20 -0
  283. package/dist/core/types/common/maximum-schedule-span.d.ts +19 -0
  284. package/dist/core/{v2/types → types/common}/meta.d.ts +1 -1
  285. package/dist/core/types/common/planned-schedule-duration.d.ts +13 -0
  286. package/dist/core/types/common/tag.d.ts +9 -0
  287. package/dist/core/types/courses.d.ts +58 -0
  288. package/dist/core/{v2/types → types}/division-settings.d.ts +14 -19
  289. package/dist/core/types/divisions.d.ts +24 -0
  290. package/dist/core/types/events.d.ts +54 -0
  291. package/dist/core/{v2/types → types}/exceptions.d.ts +14 -23
  292. package/dist/core/types/groups.d.ts +41 -0
  293. package/dist/core/types/index.d.ts +117 -15
  294. package/dist/core/types/locations.d.ts +27 -0
  295. package/dist/core/types/locked-times.d.ts +33 -0
  296. package/dist/core/types/overlap-groups.d.ts +14 -0
  297. package/dist/core/types/periods.d.ts +14 -0
  298. package/dist/core/{v2/types → types}/persons.d.ts +13 -22
  299. package/dist/core/types/root-intervals.d.ts +13 -0
  300. package/dist/core/types/schedules.d.ts +44 -0
  301. package/dist/core/types/syllabus.d.ts +18 -0
  302. package/dist/core/{v2/types → types}/teachers.d.ts +20 -30
  303. package/dist/core/util.js +46 -0
  304. package/dist/core/util.js.map +1 -0
  305. package/dist/core/vertex-mapping.d.ts +69 -0
  306. package/dist/identify/constants/index.d.ts +14 -58
  307. package/dist/identify/constants/index.js +7 -72
  308. package/dist/identify/constants/index.js.map +1 -1
  309. package/dist/identify/index.d.ts +1 -1
  310. package/dist/identify/index.js +38 -29
  311. package/dist/identify/index.js.map +1 -1
  312. package/dist/index.d.ts +23 -29
  313. package/dist/index.js +6 -7
  314. package/dist/sdui/from/classes.js.map +1 -1
  315. package/dist/sdui/from/courses.js.map +1 -1
  316. package/dist/sdui/from/holidays.js.map +1 -1
  317. package/dist/sdui/from/hours.js.map +1 -1
  318. package/dist/sdui/from/lessons.js.map +1 -1
  319. package/dist/sdui/from/rooms.js.map +1 -1
  320. package/dist/sdui/from/schedules.d.ts +19 -0
  321. package/dist/sdui/from/schedules.js +3 -3
  322. package/dist/sdui/from/schedules.js.map +1 -1
  323. package/dist/sdui/from/school-years.js.map +1 -1
  324. package/dist/sdui/from/subjects.js.map +1 -1
  325. package/dist/sdui/from/substitution-plans.js.map +1 -1
  326. package/dist/sdui/from/teachers.js.map +1 -1
  327. package/dist/sdui/index.d.ts +19 -11
  328. package/dist/sdui/index.js.map +1 -1
  329. package/dist/sdui/to/classes.js +4 -2
  330. package/dist/sdui/to/classes.js.map +1 -1
  331. package/dist/sdui/to/courses.js +5 -5
  332. package/dist/sdui/to/courses.js.map +1 -1
  333. package/dist/sdui/to/holidays.js +3 -2
  334. package/dist/sdui/to/holidays.js.map +1 -1
  335. package/dist/sdui/to/hours.js +4 -2
  336. package/dist/sdui/to/hours.js.map +1 -1
  337. package/dist/sdui/to/index.d.ts +11 -12
  338. package/dist/sdui/to/lessons.js +10 -9
  339. package/dist/sdui/to/lessons.js.map +1 -1
  340. package/dist/sdui/to/rooms.js +4 -2
  341. package/dist/sdui/to/rooms.js.map +1 -1
  342. package/dist/sdui/to/schedules.js +9 -9
  343. package/dist/sdui/to/schedules.js.map +1 -1
  344. package/dist/sdui/to/school-years.js +4 -3
  345. package/dist/sdui/to/school-years.js.map +1 -1
  346. package/dist/sdui/to/subjects.js.map +1 -1
  347. package/dist/sdui/to/substitution-plans.js +12 -11
  348. package/dist/sdui/to/substitution-plans.js.map +1 -1
  349. package/dist/sdui/to/teachers.js +4 -4
  350. package/dist/sdui/to/teachers.js.map +1 -1
  351. package/dist/sdui/types/index.d.ts +2 -0
  352. package/dist/vKlass/from/index.js +1 -3
  353. package/dist/vKlass/from/index.js.map +1 -1
  354. package/dist/vKlass/from/schedule.d.ts +18 -3
  355. package/dist/vKlass/from/schedule.js +16 -19
  356. package/dist/vKlass/from/schedule.js.map +1 -1
  357. package/dist/vKlass/index.d.ts +6 -4
  358. package/dist/vKlass/index.js.map +1 -1
  359. package/dist/vKlass/to/schedules.d.ts +1 -1
  360. package/dist/vKlass/to/schedules.js +5 -12
  361. package/dist/vKlass/to/schedules.js.map +1 -1
  362. package/dist/vKlass/types/index.d.ts +5 -5
  363. package/package.json +38 -29
  364. package/dist/PlanDigital/to/index.d.ts +0 -10
  365. package/dist/PlanDigital/to/index.js +0 -10
  366. package/dist/PlanDigital/to/index.js.map +0 -1
  367. package/dist/PlanDigital/to/schedules.js +0 -15
  368. package/dist/PlanDigital/to/schedules.js.map +0 -1
  369. package/dist/RS/v0/from/available-dependencies.js +0 -38
  370. package/dist/RS/v0/from/available-dependencies.js.map +0 -1
  371. package/dist/RS/v0/from/break-lengths.js +0 -15
  372. package/dist/RS/v0/from/break-lengths.js.map +0 -1
  373. package/dist/RS/v0/from/course-events.js +0 -68
  374. package/dist/RS/v0/from/course-events.js.map +0 -1
  375. package/dist/RS/v0/from/courses.js +0 -53
  376. package/dist/RS/v0/from/courses.js.map +0 -1
  377. package/dist/RS/v0/from/days.js +0 -14
  378. package/dist/RS/v0/from/days.js.map +0 -1
  379. package/dist/RS/v0/from/dependencies.js +0 -29
  380. package/dist/RS/v0/from/dependencies.js.map +0 -1
  381. package/dist/RS/v0/from/groups.js +0 -32
  382. package/dist/RS/v0/from/groups.js.map +0 -1
  383. package/dist/RS/v0/from/index.js +0 -32
  384. package/dist/RS/v0/from/index.js.map +0 -1
  385. package/dist/RS/v0/from/intervals.js +0 -15
  386. package/dist/RS/v0/from/intervals.js.map +0 -1
  387. package/dist/RS/v0/from/locked-times.js +0 -23
  388. package/dist/RS/v0/from/locked-times.js.map +0 -1
  389. package/dist/RS/v0/from/placements.js +0 -20
  390. package/dist/RS/v0/from/placements.js.map +0 -1
  391. package/dist/RS/v0/from/schedules.js +0 -44
  392. package/dist/RS/v0/from/schedules.js.map +0 -1
  393. package/dist/RS/v0/from/settings.js +0 -24
  394. package/dist/RS/v0/from/settings.js.map +0 -1
  395. package/dist/RS/v0/from/teachers.js +0 -31
  396. package/dist/RS/v0/from/teachers.js.map +0 -1
  397. package/dist/RS/v0/index.d.ts +0 -43
  398. package/dist/RS/v0/index.js +0 -12
  399. package/dist/RS/v0/index.js.map +0 -1
  400. package/dist/RS/v0/to/available-dependencies.js +0 -17
  401. package/dist/RS/v0/to/available-dependencies.js.map +0 -1
  402. package/dist/RS/v0/to/configurations.js +0 -22
  403. package/dist/RS/v0/to/configurations.js.map +0 -1
  404. package/dist/RS/v0/to/constraints.js +0 -34
  405. package/dist/RS/v0/to/constraints.js.map +0 -1
  406. package/dist/RS/v0/to/course-events/days.js +0 -13
  407. package/dist/RS/v0/to/course-events/days.js.map +0 -1
  408. package/dist/RS/v0/to/course-events/dependencies.js +0 -18
  409. package/dist/RS/v0/to/course-events/dependencies.js.map +0 -1
  410. package/dist/RS/v0/to/course-events/groups.js +0 -39
  411. package/dist/RS/v0/to/course-events/groups.js.map +0 -1
  412. package/dist/RS/v0/to/course-events/in-locations.js +0 -17
  413. package/dist/RS/v0/to/course-events/in-locations.js.map +0 -1
  414. package/dist/RS/v0/to/course-events/index.js +0 -52
  415. package/dist/RS/v0/to/course-events/index.js.map +0 -1
  416. package/dist/RS/v0/to/course-events/intervals.js +0 -12
  417. package/dist/RS/v0/to/course-events/intervals.js.map +0 -1
  418. package/dist/RS/v0/to/course-events/meta.js +0 -21
  419. package/dist/RS/v0/to/course-events/meta.js.map +0 -1
  420. package/dist/RS/v0/to/courses.js +0 -56
  421. package/dist/RS/v0/to/courses.js.map +0 -1
  422. package/dist/RS/v0/to/days.js +0 -11
  423. package/dist/RS/v0/to/days.js.map +0 -1
  424. package/dist/RS/v0/to/dependencies.js +0 -26
  425. package/dist/RS/v0/to/dependencies.js.map +0 -1
  426. package/dist/RS/v0/to/groups.js +0 -32
  427. package/dist/RS/v0/to/groups.js.map +0 -1
  428. package/dist/RS/v0/to/index.d.ts +0 -46
  429. package/dist/RS/v0/to/index.js +0 -34
  430. package/dist/RS/v0/to/index.js.map +0 -1
  431. package/dist/RS/v0/to/intervals.js +0 -17
  432. package/dist/RS/v0/to/intervals.js.map +0 -1
  433. package/dist/RS/v0/to/locked-times.js +0 -43
  434. package/dist/RS/v0/to/locked-times.js.map +0 -1
  435. package/dist/RS/v0/to/schedules.js +0 -16
  436. package/dist/RS/v0/to/schedules.js.map +0 -1
  437. package/dist/RS/v0/to/settings.js +0 -28
  438. package/dist/RS/v0/to/settings.js.map +0 -1
  439. package/dist/RS/v0/to/teachers.js +0 -30
  440. package/dist/RS/v0/to/teachers.js.map +0 -1
  441. package/dist/RS/v0/types/areas.d.ts +0 -8
  442. package/dist/RS/v0/types/available-dependencies.d.ts +0 -8
  443. package/dist/RS/v0/types/break-lengths.d.ts +0 -9
  444. package/dist/RS/v0/types/configurations.d.ts +0 -7
  445. package/dist/RS/v0/types/constraints.d.ts +0 -17
  446. package/dist/RS/v0/types/course-events.d.ts +0 -26
  447. package/dist/RS/v0/types/courses.d.ts +0 -27
  448. package/dist/RS/v0/types/days.d.ts +0 -8
  449. package/dist/RS/v0/types/dependencies.d.ts +0 -17
  450. package/dist/RS/v0/types/groups.d.ts +0 -25
  451. package/dist/RS/v0/types/index.d.ts +0 -31
  452. package/dist/RS/v0/types/intervals.d.ts +0 -8
  453. package/dist/RS/v0/types/locked-times.d.ts +0 -11
  454. package/dist/RS/v0/types/out-options.d.ts +0 -13
  455. package/dist/RS/v0/types/placements.d.ts +0 -12
  456. package/dist/RS/v0/types/schedules.d.ts +0 -15
  457. package/dist/RS/v0/types/settings.d.ts +0 -26
  458. package/dist/RS/v1/from/available-dependencies.js +0 -38
  459. package/dist/RS/v1/from/available-dependencies.js.map +0 -1
  460. package/dist/RS/v1/from/break-lengths.js +0 -15
  461. package/dist/RS/v1/from/break-lengths.js.map +0 -1
  462. package/dist/RS/v1/from/collections.js +0 -55
  463. package/dist/RS/v1/from/collections.js.map +0 -1
  464. package/dist/RS/v1/from/course-events.js +0 -65
  465. package/dist/RS/v1/from/course-events.js.map +0 -1
  466. package/dist/RS/v1/from/days.js +0 -14
  467. package/dist/RS/v1/from/days.js.map +0 -1
  468. package/dist/RS/v1/from/dependencies.js +0 -31
  469. package/dist/RS/v1/from/dependencies.js.map +0 -1
  470. package/dist/RS/v1/from/groups.js +0 -34
  471. package/dist/RS/v1/from/groups.js.map +0 -1
  472. package/dist/RS/v1/from/index.js +0 -32
  473. package/dist/RS/v1/from/index.js.map +0 -1
  474. package/dist/RS/v1/from/intervals.js +0 -18
  475. package/dist/RS/v1/from/intervals.js.map +0 -1
  476. package/dist/RS/v1/from/locked-times.js +0 -21
  477. package/dist/RS/v1/from/locked-times.js.map +0 -1
  478. package/dist/RS/v1/from/placements.js +0 -21
  479. package/dist/RS/v1/from/placements.js.map +0 -1
  480. package/dist/RS/v1/from/schedules.js +0 -44
  481. package/dist/RS/v1/from/schedules.js.map +0 -1
  482. package/dist/RS/v1/from/settings.js +0 -25
  483. package/dist/RS/v1/from/settings.js.map +0 -1
  484. package/dist/RS/v1/from/teachers.js +0 -33
  485. package/dist/RS/v1/from/teachers.js.map +0 -1
  486. package/dist/RS/v1/index.d.ts +0 -45
  487. package/dist/RS/v1/index.js +0 -12
  488. package/dist/RS/v1/index.js.map +0 -1
  489. package/dist/RS/v1/to/available-dependencies.js +0 -25
  490. package/dist/RS/v1/to/available-dependencies.js.map +0 -1
  491. package/dist/RS/v1/to/break-lengths.js +0 -19
  492. package/dist/RS/v1/to/break-lengths.js.map +0 -1
  493. package/dist/RS/v1/to/collections.js +0 -51
  494. package/dist/RS/v1/to/collections.js.map +0 -1
  495. package/dist/RS/v1/to/configurations.js +0 -22
  496. package/dist/RS/v1/to/configurations.js.map +0 -1
  497. package/dist/RS/v1/to/constraints.js +0 -26
  498. package/dist/RS/v1/to/constraints.js.map +0 -1
  499. package/dist/RS/v1/to/course-events/days.js +0 -12
  500. package/dist/RS/v1/to/course-events/days.js.map +0 -1
  501. package/dist/RS/v1/to/course-events/dependencies.js +0 -15
  502. package/dist/RS/v1/to/course-events/dependencies.js.map +0 -1
  503. package/dist/RS/v1/to/course-events/groups.js +0 -30
  504. package/dist/RS/v1/to/course-events/groups.js.map +0 -1
  505. package/dist/RS/v1/to/course-events/in-locations.js +0 -17
  506. package/dist/RS/v1/to/course-events/in-locations.js.map +0 -1
  507. package/dist/RS/v1/to/course-events/index.js +0 -47
  508. package/dist/RS/v1/to/course-events/index.js.map +0 -1
  509. package/dist/RS/v1/to/course-events/intervals.js +0 -11
  510. package/dist/RS/v1/to/course-events/intervals.js.map +0 -1
  511. package/dist/RS/v1/to/course-events/meta.js +0 -21
  512. package/dist/RS/v1/to/course-events/meta.js.map +0 -1
  513. package/dist/RS/v1/to/days.js +0 -11
  514. package/dist/RS/v1/to/days.js.map +0 -1
  515. package/dist/RS/v1/to/dependencies.js +0 -28
  516. package/dist/RS/v1/to/dependencies.js.map +0 -1
  517. package/dist/RS/v1/to/groups.js +0 -34
  518. package/dist/RS/v1/to/groups.js.map +0 -1
  519. package/dist/RS/v1/to/index.d.ts +0 -46
  520. package/dist/RS/v1/to/index.js +0 -34
  521. package/dist/RS/v1/to/index.js.map +0 -1
  522. package/dist/RS/v1/to/intervals.js +0 -17
  523. package/dist/RS/v1/to/intervals.js.map +0 -1
  524. package/dist/RS/v1/to/locked-times.js +0 -49
  525. package/dist/RS/v1/to/locked-times.js.map +0 -1
  526. package/dist/RS/v1/to/schedules.js +0 -16
  527. package/dist/RS/v1/to/schedules.js.map +0 -1
  528. package/dist/RS/v1/to/settings.js +0 -34
  529. package/dist/RS/v1/to/settings.js.map +0 -1
  530. package/dist/RS/v1/to/teachers.js +0 -34
  531. package/dist/RS/v1/to/teachers.js.map +0 -1
  532. package/dist/RS/v1/types/areas.d.ts +0 -8
  533. package/dist/RS/v1/types/available-dependencies.d.ts +0 -8
  534. package/dist/RS/v1/types/break-lengths.d.ts +0 -9
  535. package/dist/RS/v1/types/collections.d.ts +0 -27
  536. package/dist/RS/v1/types/configurations.d.ts +0 -10
  537. package/dist/RS/v1/types/constraints.d.ts +0 -17
  538. package/dist/RS/v1/types/course-events.d.ts +0 -26
  539. package/dist/RS/v1/types/days.d.ts +0 -8
  540. package/dist/RS/v1/types/dependencies.d.ts +0 -17
  541. package/dist/RS/v1/types/groups.d.ts +0 -25
  542. package/dist/RS/v1/types/index.d.ts +0 -31
  543. package/dist/RS/v1/types/intervals.d.ts +0 -8
  544. package/dist/RS/v1/types/locked-times.d.ts +0 -11
  545. package/dist/RS/v1/types/out-options.d.ts +0 -11
  546. package/dist/RS/v1/types/placements.d.ts +0 -12
  547. package/dist/RS/v1/types/schedules.d.ts +0 -16
  548. package/dist/RS/v1/types/settings.d.ts +0 -31
  549. package/dist/RS/v2/from/available-dependencies.js +0 -38
  550. package/dist/RS/v2/from/available-dependencies.js.map +0 -1
  551. package/dist/RS/v2/from/break-lengths.js +0 -15
  552. package/dist/RS/v2/from/break-lengths.js.map +0 -1
  553. package/dist/RS/v2/from/collections.js +0 -57
  554. package/dist/RS/v2/from/collections.js.map +0 -1
  555. package/dist/RS/v2/from/course-events.d.ts +0 -12
  556. package/dist/RS/v2/from/course-events.js +0 -67
  557. package/dist/RS/v2/from/course-events.js.map +0 -1
  558. package/dist/RS/v2/from/days.js +0 -14
  559. package/dist/RS/v2/from/days.js.map +0 -1
  560. package/dist/RS/v2/from/dependencies.js +0 -31
  561. package/dist/RS/v2/from/dependencies.js.map +0 -1
  562. package/dist/RS/v2/from/groups.js +0 -35
  563. package/dist/RS/v2/from/groups.js.map +0 -1
  564. package/dist/RS/v2/from/index.js +0 -32
  565. package/dist/RS/v2/from/index.js.map +0 -1
  566. package/dist/RS/v2/from/intervals.js +0 -18
  567. package/dist/RS/v2/from/intervals.js.map +0 -1
  568. package/dist/RS/v2/from/locked-times.js +0 -21
  569. package/dist/RS/v2/from/locked-times.js.map +0 -1
  570. package/dist/RS/v2/from/placements.js +0 -32
  571. package/dist/RS/v2/from/placements.js.map +0 -1
  572. package/dist/RS/v2/from/schedules.js +0 -78
  573. package/dist/RS/v2/from/schedules.js.map +0 -1
  574. package/dist/RS/v2/from/settings.js +0 -31
  575. package/dist/RS/v2/from/settings.js.map +0 -1
  576. package/dist/RS/v2/from/teachers.js +0 -33
  577. package/dist/RS/v2/from/teachers.js.map +0 -1
  578. package/dist/RS/v2/index.d.ts +0 -63
  579. package/dist/RS/v2/index.js +0 -12
  580. package/dist/RS/v2/index.js.map +0 -1
  581. package/dist/RS/v2/to/available-dependencies.js +0 -25
  582. package/dist/RS/v2/to/available-dependencies.js.map +0 -1
  583. package/dist/RS/v2/to/break-lengths.js +0 -19
  584. package/dist/RS/v2/to/break-lengths.js.map +0 -1
  585. package/dist/RS/v2/to/collections.js +0 -60
  586. package/dist/RS/v2/to/collections.js.map +0 -1
  587. package/dist/RS/v2/to/configurations.js +0 -23
  588. package/dist/RS/v2/to/configurations.js.map +0 -1
  589. package/dist/RS/v2/to/constraints.js +0 -88
  590. package/dist/RS/v2/to/constraints.js.map +0 -1
  591. package/dist/RS/v2/to/course-events/days.js +0 -12
  592. package/dist/RS/v2/to/course-events/days.js.map +0 -1
  593. package/dist/RS/v2/to/course-events/dependencies.js +0 -14
  594. package/dist/RS/v2/to/course-events/dependencies.js.map +0 -1
  595. package/dist/RS/v2/to/course-events/groups.js +0 -38
  596. package/dist/RS/v2/to/course-events/groups.js.map +0 -1
  597. package/dist/RS/v2/to/course-events/in-locations.js +0 -18
  598. package/dist/RS/v2/to/course-events/in-locations.js.map +0 -1
  599. package/dist/RS/v2/to/course-events/index.js +0 -56
  600. package/dist/RS/v2/to/course-events/index.js.map +0 -1
  601. package/dist/RS/v2/to/course-events/intervals.js +0 -11
  602. package/dist/RS/v2/to/course-events/intervals.js.map +0 -1
  603. package/dist/RS/v2/to/course-events/meta.js +0 -21
  604. package/dist/RS/v2/to/course-events/meta.js.map +0 -1
  605. package/dist/RS/v2/to/days.js +0 -11
  606. package/dist/RS/v2/to/days.js.map +0 -1
  607. package/dist/RS/v2/to/default.js +0 -36
  608. package/dist/RS/v2/to/default.js.map +0 -1
  609. package/dist/RS/v2/to/dependencies.js +0 -28
  610. package/dist/RS/v2/to/dependencies.js.map +0 -1
  611. package/dist/RS/v2/to/destructure.js +0 -40
  612. package/dist/RS/v2/to/destructure.js.map +0 -1
  613. package/dist/RS/v2/to/dynamic-locked-times.js +0 -57
  614. package/dist/RS/v2/to/dynamic-locked-times.js.map +0 -1
  615. package/dist/RS/v2/to/groups.js +0 -37
  616. package/dist/RS/v2/to/groups.js.map +0 -1
  617. package/dist/RS/v2/to/index.d.ts +0 -44
  618. package/dist/RS/v2/to/index.js +0 -36
  619. package/dist/RS/v2/to/index.js.map +0 -1
  620. package/dist/RS/v2/to/intervals.js +0 -32
  621. package/dist/RS/v2/to/intervals.js.map +0 -1
  622. package/dist/RS/v2/to/locked-times.js +0 -49
  623. package/dist/RS/v2/to/locked-times.js.map +0 -1
  624. package/dist/RS/v2/to/periods.js +0 -48
  625. package/dist/RS/v2/to/periods.js.map +0 -1
  626. package/dist/RS/v2/to/persons.js +0 -23
  627. package/dist/RS/v2/to/persons.js.map +0 -1
  628. package/dist/RS/v2/to/schedules.js +0 -19
  629. package/dist/RS/v2/to/schedules.js.map +0 -1
  630. package/dist/RS/v2/to/settings.js +0 -18
  631. package/dist/RS/v2/to/settings.js.map +0 -1
  632. package/dist/RS/v2/to/teachers.js +0 -37
  633. package/dist/RS/v2/to/teachers.js.map +0 -1
  634. package/dist/RS/v2/types/areas.d.ts +0 -8
  635. package/dist/RS/v2/types/available-dependencies.d.ts +0 -8
  636. package/dist/RS/v2/types/break-lengths.d.ts +0 -9
  637. package/dist/RS/v2/types/collections.d.ts +0 -29
  638. package/dist/RS/v2/types/configurations.d.ts +0 -10
  639. package/dist/RS/v2/types/constraints.d.ts +0 -21
  640. package/dist/RS/v2/types/course-events.d.ts +0 -30
  641. package/dist/RS/v2/types/days.d.ts +0 -8
  642. package/dist/RS/v2/types/default.d.ts +0 -25
  643. package/dist/RS/v2/types/dependencies.d.ts +0 -17
  644. package/dist/RS/v2/types/index.d.ts +0 -33
  645. package/dist/RS/v2/types/intervals.d.ts +0 -9
  646. package/dist/RS/v2/types/out-options.d.ts +0 -11
  647. package/dist/RS/v2/types/placements.d.ts +0 -12
  648. package/dist/RS/v2/types/schedules.d.ts +0 -18
  649. package/dist/RS/v3/from/division.js +0 -14
  650. package/dist/RS/v3/from/division.js.map +0 -1
  651. package/dist/RS/v3/from/index.js +0 -12
  652. package/dist/RS/v3/from/index.js.map +0 -1
  653. package/dist/RS/v3/from/schedules.js +0 -34
  654. package/dist/RS/v3/from/schedules.js.map +0 -1
  655. package/dist/RS/v3/index.d.ts +0 -21
  656. package/dist/RS/v3/index.js +0 -12
  657. package/dist/RS/v3/index.js.map +0 -1
  658. package/dist/RS/v3/to/available-dependencies.js +0 -26
  659. package/dist/RS/v3/to/available-dependencies.js.map +0 -1
  660. package/dist/RS/v3/to/break-lengths.js +0 -19
  661. package/dist/RS/v3/to/break-lengths.js.map +0 -1
  662. package/dist/RS/v3/to/collections.js +0 -56
  663. package/dist/RS/v3/to/collections.js.map +0 -1
  664. package/dist/RS/v3/to/configurations.js +0 -23
  665. package/dist/RS/v3/to/configurations.js.map +0 -1
  666. package/dist/RS/v3/to/constraints.js +0 -77
  667. package/dist/RS/v3/to/constraints.js.map +0 -1
  668. package/dist/RS/v3/to/course-events/days.js +0 -12
  669. package/dist/RS/v3/to/course-events/days.js.map +0 -1
  670. package/dist/RS/v3/to/course-events/dependencies.js +0 -14
  671. package/dist/RS/v3/to/course-events/dependencies.js.map +0 -1
  672. package/dist/RS/v3/to/course-events/groups.js +0 -44
  673. package/dist/RS/v3/to/course-events/groups.js.map +0 -1
  674. package/dist/RS/v3/to/course-events/in-locations.js +0 -18
  675. package/dist/RS/v3/to/course-events/in-locations.js.map +0 -1
  676. package/dist/RS/v3/to/course-events/index.js +0 -84
  677. package/dist/RS/v3/to/course-events/index.js.map +0 -1
  678. package/dist/RS/v3/to/course-events/intervals.js +0 -11
  679. package/dist/RS/v3/to/course-events/intervals.js.map +0 -1
  680. package/dist/RS/v3/to/course-events/meta.js +0 -21
  681. package/dist/RS/v3/to/course-events/meta.js.map +0 -1
  682. package/dist/RS/v3/to/days.js +0 -11
  683. package/dist/RS/v3/to/days.js.map +0 -1
  684. package/dist/RS/v3/to/default.js.map +0 -1
  685. package/dist/RS/v3/to/dependencies.js +0 -31
  686. package/dist/RS/v3/to/dependencies.js.map +0 -1
  687. package/dist/RS/v3/to/destructure.js +0 -33
  688. package/dist/RS/v3/to/destructure.js.map +0 -1
  689. package/dist/RS/v3/to/dynamic-locked-times.js +0 -97
  690. package/dist/RS/v3/to/dynamic-locked-times.js.map +0 -1
  691. package/dist/RS/v3/to/groups.js +0 -36
  692. package/dist/RS/v3/to/groups.js.map +0 -1
  693. package/dist/RS/v3/to/index.d.ts +0 -266
  694. package/dist/RS/v3/to/index.js.map +0 -1
  695. package/dist/RS/v3/to/individuals.js +0 -49
  696. package/dist/RS/v3/to/individuals.js.map +0 -1
  697. package/dist/RS/v3/to/intervals.js +0 -32
  698. package/dist/RS/v3/to/intervals.js.map +0 -1
  699. package/dist/RS/v3/to/locked-times.js +0 -49
  700. package/dist/RS/v3/to/locked-times.js.map +0 -1
  701. package/dist/RS/v3/to/periods.js +0 -48
  702. package/dist/RS/v3/to/periods.js.map +0 -1
  703. package/dist/RS/v3/to/schedules.js +0 -39
  704. package/dist/RS/v3/to/schedules.js.map +0 -1
  705. package/dist/RS/v3/to/settings.js +0 -18
  706. package/dist/RS/v3/to/settings.js.map +0 -1
  707. package/dist/RS/v3/to/teachers.js +0 -36
  708. package/dist/RS/v3/to/teachers.js.map +0 -1
  709. package/dist/RS/v3/to/util.js +0 -32
  710. package/dist/RS/v3/to/util.js.map +0 -1
  711. package/dist/RS/v3/types/areas.d.ts +0 -8
  712. package/dist/RS/v3/types/available-dependencies.d.ts +0 -8
  713. package/dist/RS/v3/types/break-lengths.d.ts +0 -9
  714. package/dist/RS/v3/types/collections.d.ts +0 -31
  715. package/dist/RS/v3/types/configurations.d.ts +0 -10
  716. package/dist/RS/v3/types/constraints.d.ts +0 -25
  717. package/dist/RS/v3/types/course-events.d.ts +0 -32
  718. package/dist/RS/v3/types/days.d.ts +0 -8
  719. package/dist/RS/v3/types/dependencies.d.ts +0 -17
  720. package/dist/RS/v3/types/groups.d.ts +0 -25
  721. package/dist/RS/v3/types/index.d.ts +0 -33
  722. package/dist/RS/v3/types/individuals.d.ts +0 -13
  723. package/dist/RS/v3/types/intervals.d.ts +0 -9
  724. package/dist/RS/v3/types/locked-times.d.ts +0 -11
  725. package/dist/RS/v3/types/out-options.d.ts +0 -23
  726. package/dist/RS/v3/types/placements.d.ts +0 -12
  727. package/dist/RS/v3/types/root-intervals.d.ts +0 -10
  728. package/dist/RS/v3/types/schedules.d.ts +0 -24
  729. package/dist/RS/v3/types/settings.d.ts +0 -12
  730. package/dist/SS12000/from/activities.js +0 -35
  731. package/dist/SS12000/from/activities.js.map +0 -1
  732. package/dist/SS12000/from/calendar-events.js +0 -20
  733. package/dist/SS12000/from/calendar-events.js.map +0 -1
  734. package/dist/SS12000/from/duties.js +0 -21
  735. package/dist/SS12000/from/duties.js.map +0 -1
  736. package/dist/SS12000/from/groups.js +0 -23
  737. package/dist/SS12000/from/groups.js.map +0 -1
  738. package/dist/SS12000/from/index.js +0 -24
  739. package/dist/SS12000/from/index.js.map +0 -1
  740. package/dist/SS12000/from/persons.js +0 -43
  741. package/dist/SS12000/from/persons.js.map +0 -1
  742. package/dist/SS12000/from/resources.js +0 -9
  743. package/dist/SS12000/from/resources.js.map +0 -1
  744. package/dist/SS12000/from/rooms.js +0 -18
  745. package/dist/SS12000/from/rooms.js.map +0 -1
  746. package/dist/SS12000/from/syllabuses.js +0 -21
  747. package/dist/SS12000/from/syllabuses.js.map +0 -1
  748. package/dist/SS12000/index.d.ts +0 -73
  749. package/dist/SS12000/index.js +0 -12
  750. package/dist/SS12000/index.js.map +0 -1
  751. package/dist/SS12000/to/activities.js +0 -55
  752. package/dist/SS12000/to/activities.js.map +0 -1
  753. package/dist/SS12000/to/calendar-events.js +0 -47
  754. package/dist/SS12000/to/calendar-events.js.map +0 -1
  755. package/dist/SS12000/to/common.js +0 -16
  756. package/dist/SS12000/to/common.js.map +0 -1
  757. package/dist/SS12000/to/duties.js +0 -36
  758. package/dist/SS12000/to/duties.js.map +0 -1
  759. package/dist/SS12000/to/groups.js +0 -37
  760. package/dist/SS12000/to/groups.js.map +0 -1
  761. package/dist/SS12000/to/index.d.ts +0 -25
  762. package/dist/SS12000/to/index.js +0 -24
  763. package/dist/SS12000/to/index.js.map +0 -1
  764. package/dist/SS12000/to/persons.js +0 -36
  765. package/dist/SS12000/to/persons.js.map +0 -1
  766. package/dist/SS12000/to/resources.js +0 -23
  767. package/dist/SS12000/to/resources.js.map +0 -1
  768. package/dist/SS12000/to/rooms.js +0 -28
  769. package/dist/SS12000/to/rooms.js.map +0 -1
  770. package/dist/SS12000/to/syllabuses.js +0 -30
  771. package/dist/SS12000/to/syllabuses.js.map +0 -1
  772. package/dist/SS12000/types/activities.d.ts +0 -41
  773. package/dist/SS12000/types/calendar-events.d.ts +0 -23
  774. package/dist/SS12000/types/codes.d.ts +0 -9
  775. package/dist/SS12000/types/duties.d.ts +0 -23
  776. package/dist/SS12000/types/duty-assignments.d.ts +0 -13
  777. package/dist/SS12000/types/groups.d.ts +0 -23
  778. package/dist/SS12000/types/index.d.ts +0 -21
  779. package/dist/SS12000/types/organisation.d.ts +0 -20
  780. package/dist/SS12000/types/persons.d.ts +0 -30
  781. package/dist/SS12000/types/resources.d.ts +0 -13
  782. package/dist/SS12000/types/rooms.d.ts +0 -17
  783. package/dist/SS12000/types/syllabus.d.ts +0 -19
  784. package/dist/core/v1/from/courses.js +0 -26
  785. package/dist/core/v1/from/courses.js.map +0 -1
  786. package/dist/core/v1/from/events.js +0 -12
  787. package/dist/core/v1/from/events.js.map +0 -1
  788. package/dist/core/v1/from/groups.js +0 -14
  789. package/dist/core/v1/from/groups.js.map +0 -1
  790. package/dist/core/v1/from/index.js +0 -8
  791. package/dist/core/v1/from/index.js.map +0 -1
  792. package/dist/core/v1/from/locations.js +0 -14
  793. package/dist/core/v1/from/locations.js.map +0 -1
  794. package/dist/core/v1/from/locked-times.js +0 -13
  795. package/dist/core/v1/from/locked-times.js.map +0 -1
  796. package/dist/core/v1/from/overlap-groups.js +0 -13
  797. package/dist/core/v1/from/overlap-groups.js.map +0 -1
  798. package/dist/core/v1/from/periods.js +0 -14
  799. package/dist/core/v1/from/periods.js.map +0 -1
  800. package/dist/core/v1/from/schedules.d.ts +0 -139
  801. package/dist/core/v1/from/schedules.js +0 -36
  802. package/dist/core/v1/from/schedules.js.map +0 -1
  803. package/dist/core/v1/from/teachers.js +0 -14
  804. package/dist/core/v1/from/teachers.js.map +0 -1
  805. package/dist/core/v1/index.d.ts +0 -14
  806. package/dist/core/v1/index.js +0 -12
  807. package/dist/core/v1/index.js.map +0 -1
  808. package/dist/core/v1/to/available-locations.js +0 -11
  809. package/dist/core/v1/to/available-locations.js.map +0 -1
  810. package/dist/core/v1/to/courses.js +0 -33
  811. package/dist/core/v1/to/courses.js.map +0 -1
  812. package/dist/core/v1/to/days.js +0 -13
  813. package/dist/core/v1/to/days.js.map +0 -1
  814. package/dist/core/v1/to/events.js +0 -35
  815. package/dist/core/v1/to/events.js.map +0 -1
  816. package/dist/core/v1/to/groups.js +0 -24
  817. package/dist/core/v1/to/groups.js.map +0 -1
  818. package/dist/core/v1/to/index.js +0 -10
  819. package/dist/core/v1/to/index.js.map +0 -1
  820. package/dist/core/v1/to/intervals.js +0 -14
  821. package/dist/core/v1/to/intervals.js.map +0 -1
  822. package/dist/core/v1/to/locations.js +0 -20
  823. package/dist/core/v1/to/locations.js.map +0 -1
  824. package/dist/core/v1/to/locked-times.js +0 -25
  825. package/dist/core/v1/to/locked-times.js.map +0 -1
  826. package/dist/core/v1/to/overlap-groups.js +0 -30
  827. package/dist/core/v1/to/overlap-groups.js.map +0 -1
  828. package/dist/core/v1/to/periods.js +0 -10
  829. package/dist/core/v1/to/periods.js.map +0 -1
  830. package/dist/core/v1/to/persons.js +0 -22
  831. package/dist/core/v1/to/persons.js.map +0 -1
  832. package/dist/core/v1/to/schedules.d.ts +0 -170
  833. package/dist/core/v1/to/schedules.js +0 -32
  834. package/dist/core/v1/to/schedules.js.map +0 -1
  835. package/dist/core/v1/to/settings.js +0 -13
  836. package/dist/core/v1/to/settings.js.map +0 -1
  837. package/dist/core/v1/to/teachers.js +0 -20
  838. package/dist/core/v1/to/teachers.js.map +0 -1
  839. package/dist/core/v1/types/areas.d.ts +0 -16
  840. package/dist/core/v1/types/available-locations.d.ts +0 -13
  841. package/dist/core/v1/types/break-lengths.d.ts +0 -5
  842. package/dist/core/v1/types/common/coalesced.d.ts +0 -10
  843. package/dist/core/v1/types/courses.d.ts +0 -54
  844. package/dist/core/v1/types/days.d.ts +0 -14
  845. package/dist/core/v1/types/division-settings.d.ts +0 -39
  846. package/dist/core/v1/types/divisions.d.ts +0 -45
  847. package/dist/core/v1/types/events.d.ts +0 -60
  848. package/dist/core/v1/types/groups.d.ts +0 -37
  849. package/dist/core/v1/types/index.d.ts +0 -41
  850. package/dist/core/v1/types/intervals.d.ts +0 -17
  851. package/dist/core/v1/types/locations.d.ts +0 -32
  852. package/dist/core/v1/types/locked-times.d.ts +0 -39
  853. package/dist/core/v1/types/meta.d.ts +0 -9
  854. package/dist/core/v1/types/overlap-groups.d.ts +0 -26
  855. package/dist/core/v1/types/periods.d.ts +0 -22
  856. package/dist/core/v1/types/persons.d.ts +0 -40
  857. package/dist/core/v1/types/teachers.d.ts +0 -34
  858. package/dist/core/v2/from/courses.js +0 -13
  859. package/dist/core/v2/from/courses.js.map +0 -1
  860. package/dist/core/v2/from/events.js +0 -12
  861. package/dist/core/v2/from/events.js.map +0 -1
  862. package/dist/core/v2/from/exceptions.js +0 -13
  863. package/dist/core/v2/from/exceptions.js.map +0 -1
  864. package/dist/core/v2/from/groups.js +0 -13
  865. package/dist/core/v2/from/groups.js.map +0 -1
  866. package/dist/core/v2/from/index.js.map +0 -1
  867. package/dist/core/v2/from/locations.js +0 -13
  868. package/dist/core/v2/from/locations.js.map +0 -1
  869. package/dist/core/v2/from/locked-times.js +0 -13
  870. package/dist/core/v2/from/locked-times.js.map +0 -1
  871. package/dist/core/v2/from/overlap-groups.js +0 -13
  872. package/dist/core/v2/from/overlap-groups.js.map +0 -1
  873. package/dist/core/v2/from/periods.js +0 -13
  874. package/dist/core/v2/from/periods.js.map +0 -1
  875. package/dist/core/v2/from/persons.js +0 -12
  876. package/dist/core/v2/from/persons.js.map +0 -1
  877. package/dist/core/v2/from/root-intervals.js +0 -13
  878. package/dist/core/v2/from/root-intervals.js.map +0 -1
  879. package/dist/core/v2/from/schedules.d.ts +0 -245
  880. package/dist/core/v2/from/schedules.js +0 -48
  881. package/dist/core/v2/from/schedules.js.map +0 -1
  882. package/dist/core/v2/from/syllabuses.js.map +0 -1
  883. package/dist/core/v2/from/teachers.js +0 -13
  884. package/dist/core/v2/from/teachers.js.map +0 -1
  885. package/dist/core/v2/index.d.ts +0 -16
  886. package/dist/core/v2/index.js +0 -12
  887. package/dist/core/v2/index.js.map +0 -1
  888. package/dist/core/v2/to/available-locations.js +0 -11
  889. package/dist/core/v2/to/available-locations.js.map +0 -1
  890. package/dist/core/v2/to/courses.js +0 -44
  891. package/dist/core/v2/to/courses.js.map +0 -1
  892. package/dist/core/v2/to/days.js +0 -13
  893. package/dist/core/v2/to/days.js.map +0 -1
  894. package/dist/core/v2/to/division.js +0 -10
  895. package/dist/core/v2/to/division.js.map +0 -1
  896. package/dist/core/v2/to/events.js +0 -47
  897. package/dist/core/v2/to/events.js.map +0 -1
  898. package/dist/core/v2/to/exceptions.js +0 -29
  899. package/dist/core/v2/to/exceptions.js.map +0 -1
  900. package/dist/core/v2/to/groups.js +0 -34
  901. package/dist/core/v2/to/groups.js.map +0 -1
  902. package/dist/core/v2/to/index.d.ts +0 -9
  903. package/dist/core/v2/to/index.js +0 -10
  904. package/dist/core/v2/to/index.js.map +0 -1
  905. package/dist/core/v2/to/intervals.js +0 -13
  906. package/dist/core/v2/to/intervals.js.map +0 -1
  907. package/dist/core/v2/to/locations.js +0 -35
  908. package/dist/core/v2/to/locations.js.map +0 -1
  909. package/dist/core/v2/to/locked-times.js +0 -25
  910. package/dist/core/v2/to/locked-times.js.map +0 -1
  911. package/dist/core/v2/to/overlap-groups.js +0 -30
  912. package/dist/core/v2/to/overlap-groups.js.map +0 -1
  913. package/dist/core/v2/to/periods.js +0 -10
  914. package/dist/core/v2/to/periods.js.map +0 -1
  915. package/dist/core/v2/to/persons.js +0 -25
  916. package/dist/core/v2/to/persons.js.map +0 -1
  917. package/dist/core/v2/to/root-intervals.js +0 -10
  918. package/dist/core/v2/to/root-intervals.js.map +0 -1
  919. package/dist/core/v2/to/schedules.d.ts +0 -249
  920. package/dist/core/v2/to/schedules.js +0 -40
  921. package/dist/core/v2/to/schedules.js.map +0 -1
  922. package/dist/core/v2/to/settings.js +0 -13
  923. package/dist/core/v2/to/settings.js.map +0 -1
  924. package/dist/core/v2/to/syllabuses.js +0 -16
  925. package/dist/core/v2/to/syllabuses.js.map +0 -1
  926. package/dist/core/v2/to/teachers.js +0 -28
  927. package/dist/core/v2/to/teachers.js.map +0 -1
  928. package/dist/core/v2/types/areas.d.ts +0 -16
  929. package/dist/core/v2/types/available-locations.d.ts +0 -13
  930. package/dist/core/v2/types/break-lengths.d.ts +0 -5
  931. package/dist/core/v2/types/common/coalesced.d.ts +0 -10
  932. package/dist/core/v2/types/common/maximum-schedule-span.d.ts +0 -8
  933. package/dist/core/v2/types/common/planned-schedule-duration.d.ts +0 -7
  934. package/dist/core/v2/types/courses.d.ts +0 -76
  935. package/dist/core/v2/types/days.d.ts +0 -14
  936. package/dist/core/v2/types/divisions.d.ts +0 -54
  937. package/dist/core/v2/types/events.d.ts +0 -76
  938. package/dist/core/v2/types/groups.d.ts +0 -50
  939. package/dist/core/v2/types/index.d.ts +0 -49
  940. package/dist/core/v2/types/intervals.d.ts +0 -17
  941. package/dist/core/v2/types/locations.d.ts +0 -38
  942. package/dist/core/v2/types/locked-times.d.ts +0 -44
  943. package/dist/core/v2/types/overlap-groups.d.ts +0 -26
  944. package/dist/core/v2/types/periods.d.ts +0 -25
  945. package/dist/core/v2/types/root-intervals.d.ts +0 -23
  946. package/dist/core/v2/types/schedules.d.ts +0 -38
  947. package/dist/core/v2/types/syllabus.d.ts +0 -27
  948. package/dist/vKlass/from/index.d.ts +0 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","names":["MongooseTypes"],"sources":["../../src/core/util.ts"],"sourcesContent":["import moment from 'moment';\nimport { Types as MongooseTypes } from 'mongoose';\nimport type { IdKey, InternalIdKey, SerializedVertex, Vertex } from './types/common';\nimport type { Interval } from './types/common/intervals';\nimport type { DateType } from '../common/types';\n\n/**\n * Returns the ID key to use for vertices, which can be either `id`, `_id`, or `ids`.\n */\nexport function getIdKey ({ idKey }: { idKey?: IdKey }) {\n return idKey ?? 'id';\n}\n\n/**\n * Returns the ID of a vertex, which can be either `_id`, `id`, or `ids`.\n */\nexport function getVertexId (\n edge: Vertex | Omit<Vertex, InternalIdKey> | SerializedVertex,\n _idKey: IdKey | { idKey?: IdKey }\n): string {\n if (typeof edge === 'string') return edge;\n if (edge instanceof MongooseTypes.ObjectId) return edge.toString();\n\n const idKey = typeof _idKey === 'string' ? _idKey : getIdKey(_idKey);\n if (idKey == '_id' && idKey in edge) return edge._id.toString();\n if (idKey == 'id' && idKey in edge) return edge.id;\n if (idKey == 'ids' && edge.ids ) return edge.ids;\n\n throw new Error(`Unable to get vertex ID \"${idKey}\" from edge: ${JSON.stringify(edge)}`);\n}\n\n\n/**\n * Returns the day index in the range 0-6, where 0 is Monday and 6 is Sunday.\n */\nexport function getDayIndex (value: DateType | number): number {\n const day = typeof value === 'number' ? value : moment.utc(value).day();\n return (day + 6) % 7;\n}\n\nexport function parseDateInterval (interval: Partial<Interval<DateType>>, type?: string): Interval<moment.Moment> {\n if (!interval.start) throw new Error(`(RS::V3::To::validateInterval) The interval ${type ? `\"${type}\"` : ''} is missing a start time`);\n if (!interval.end ) throw new Error(`(RS::V3::To::validateInterval) The interval ${type ? `\"${type}\"` : ''} is missing an end time`);\n\n const start = moment.utc(interval.start);\n const end = moment.utc(interval.end);\n if (!start.isValid()) throw new Error(`(RS::V3::To::validateInterval) The interval ${type ? `\"${type}\"` : ''} has an invalid start time`);\n if (!end .isValid()) throw new Error(`(RS::V3::To::validateInterval) The interval ${type ? `\"${type}\"` : ''} has an invalid end time`);\n\n if (end.isSameOrBefore(start)) throw new Error(`(RS::V3::To::validateInterval) The interval ${type ? `\"${type}\"` : ''} is invalid: end time is before or equal to start time`);\n\n return { start, end };\n}"],"mappings":";;;;;;;AASA,SAAgB,SAAU,EAAE,SAA4B;AACtD,QAAO,SAAS;;;;;AAMlB,SAAgB,YACd,MACA,QACQ;AACR,KAAI,OAAO,SAAS,SAAU,QAAO;AACrC,KAAI,gBAAgBA,MAAc,SAAU,QAAO,KAAK;CAExD,MAAM,QAAQ,OAAO,WAAW,WAAW,SAAS,SAAS;AAC7D,KAAI,SAAS,SAAS,SAAS,KAAM,QAAO,KAAK,IAAI;AACrD,KAAI,SAAS,QAAS,SAAS,KAAM,QAAO,KAAK;AACjD,KAAI,SAAS,SAAS,KAAK,IAAU,QAAO,KAAK;AAEjD,OAAM,IAAI,MAAM,4BAA4B,MAAM,eAAe,KAAK,UAAU;;;;;AAOlF,SAAgB,YAAa,OAAkC;CAC7D,MAAM,MAAM,OAAO,UAAU,WAAW,QAAQ,OAAO,IAAI,OAAO;AAClE,SAAQ,MAAM,KAAK;;AAGrB,SAAgB,kBAAmB,UAAuC,MAAwC;AAChH,KAAI,CAAC,SAAS,MAAO,OAAM,IAAI,MAAM,+CAA+C,OAAO,IAAI,KAAK,KAAK,GAAG;AAC5G,KAAI,CAAC,SAAS,IAAO,OAAM,IAAI,MAAM,+CAA+C,OAAO,IAAI,KAAK,KAAK,GAAG;CAE5G,MAAM,QAAQ,OAAO,IAAI,SAAS;CAClC,MAAM,MAAQ,OAAO,IAAI,SAAS;AAClC,KAAI,CAAC,MAAM,UAAW,OAAM,IAAI,MAAM,+CAA+C,OAAO,IAAI,KAAK,KAAK,GAAG;AAC7G,KAAI,CAAC,IAAM,UAAW,OAAM,IAAI,MAAM,+CAA+C,OAAO,IAAI,KAAK,KAAK,GAAG;AAE7G,KAAI,IAAI,eAAe,OAAQ,OAAM,IAAI,MAAM,+CAA+C,OAAO,IAAI,KAAK,KAAK,GAAG;AAEtH,QAAO;EAAE;EAAO"}
@@ -0,0 +1,69 @@
1
+ import { AvailableLocation, Coalesced, GroupReference, InternalIdKey, PersonReference, SerializedVertex, Species, Vertex } from "./types/common/index.js";
2
+ import { Types } from "mongoose";
3
+
4
+ //#region src/core/vertex-mapping.d.ts
5
+ type MixedTransformType = {
6
+ type: 'mixed';
7
+ depth: SupportedDepths;
8
+ ignoreInternalId?: boolean;
9
+ };
10
+ type SerializedTransformType = {
11
+ type: 'serialized';
12
+ depth: SupportedDepths;
13
+ };
14
+ type TransformType = MixedTransformType | SerializedTransformType;
15
+ type SupportedDepths = 0 | 1 | 2 | 3 | 4;
16
+ type MaxDepth = 4;
17
+ type DecrementedDepths = [never, 0, 1, 2, 3, 4];
18
+ type Decrement<T extends SupportedDepths> = DecrementedDepths[T];
19
+ type __Mixed<T extends Vertex, Depth extends SupportedDepths, IgnoreInternalId extends boolean | undefined = false> = IgnoreInternalId extends true ? Omit<_Mixed<T, Depth, true>, InternalIdKey> | SerializedVertex : _Mixed<T, Depth, false> | SerializedVertex;
20
+ type ResolveVertexTransform<T extends Vertex, Transform extends TransformType> = Transform extends MixedTransformType ? Transform['depth'] extends 0 ? any : __Mixed<T, Decrement<Transform['depth']>, Transform['ignoreInternalId']> : Transform['depth'] extends 0 ? string : Serialized<T, Decrement<Transform['depth']>>;
21
+ type ExtractNullish<T> = Extract<T, null | undefined>;
22
+ type Get<T> = T extends (infer U)[] ? Required<NonNullable<U>>[] : Required<NonNullable<T>>;
23
+ type TransformPlainVertex<T, To extends TransformType> = NonNullable<T> extends (infer U extends Vertex) ? U extends Coalesced<Vertex> ? never : U extends Required<Types.ObjectId> ? never : ResolveVertexTransform<U, To> | ExtractNullish<T> : never;
24
+ type TransformPlainVertexArray<T, To extends TransformType> = NonNullable<T> extends (infer U extends Vertex | undefined | null)[] ? NonNullable<U> extends Species<Vertex> ? never : NonNullable<U> extends Types.ObjectId ? never : (ResolveVertexTransform<NonNullable<U>, To> | ExtractNullish<U>)[] | ExtractNullish<T> : never;
25
+ type TransformCoalesced<T, To extends TransformType> = Get<T> extends Required<Coalesced<infer U extends Vertex, infer M>> ? Required<NonNullable<T>> extends Required<Species<Vertex>> ? never : Coalesced<ResolveVertexTransform<U, To>, M> | ExtractNullish<T> : never;
26
+ type TransformCoalescedArray<T, To extends TransformType> = Get<T> extends Required<Coalesced<infer U extends Vertex, infer M>>[] ? Get<T> extends Required<Species<Vertex>>[] ? never : (Coalesced<ResolveVertexTransform<U, To>, M>)[] | ExtractNullish<T> : never;
27
+ type TransformSpecies<T, To extends TransformType> = Get<T> extends Required<Species<infer U extends Vertex, infer M>> ? Species<ResolveVertexTransform<U, To>, M> | ExtractNullish<T> : never;
28
+ type TransformSpeciesArray<T, To extends TransformType> = Get<T> extends Required<Species<infer U extends Vertex, infer M>>[] ? Species<ResolveVertexTransform<U, To>, M>[] | ExtractNullish<T> : never;
29
+ type TransformAvailableLocation<T, To extends TransformType> = Get<T> extends Required<AvailableLocation<infer U extends Vertex>> ? AvailableLocation<ResolveVertexTransform<U, To>> | ExtractNullish<T> : never;
30
+ type TransformAvailableLocationArray<T, To extends TransformType> = Get<T> extends Required<AvailableLocation<infer U extends Vertex>>[] ? AvailableLocation<ResolveVertexTransform<U, To>>[] | ExtractNullish<T> : never;
31
+ type TransformGroupReference<T, To extends TransformType> = Get<T> extends Required<GroupReference<infer G extends Vertex, infer P extends Vertex>> ? GroupReference<ResolveVertexTransform<G, To>, ResolveVertexTransform<P, To>> | ExtractNullish<T> : never;
32
+ type TransformGroupReferenceArray<T, To extends TransformType> = Get<T> extends Required<GroupReference<infer G extends Vertex, infer P extends Vertex>>[] ? Get<T> extends Required<Coalesced<Vertex>>[] ? never : (GroupReference<ResolveVertexTransform<G, To>, ResolveVertexTransform<P, To>>)[] | ExtractNullish<T> : never;
33
+ type TransformPersonReference<T, To extends TransformType> = Required<NonNullable<T>> extends Required<PersonReference<infer U extends Vertex>> ? Required<NonNullable<T>> extends Required<GroupReference<Vertex, Vertex>> ? never : PersonReference<ResolveVertexTransform<U, To>> | ExtractNullish<T> : never;
34
+ type TransformPersonReferenceArray<T, To extends TransformType> = Get<T> extends Required<PersonReference<infer U extends Vertex>>[] ? Get<T> extends Required<GroupReference<Vertex, Vertex>>[] ? never : (PersonReference<ResolveVertexTransform<U, To>>)[] | ExtractNullish<T> : never;
35
+ type TransformGeneral<T, To extends TransformType> = TransformPlainVertex<T, To> | TransformPlainVertexArray<T, To> | TransformCoalesced<T, To> | TransformCoalescedArray<T, To> | TransformSpecies<T, To> | TransformSpeciesArray<T, To> | TransformAvailableLocation<T, To> | TransformAvailableLocationArray<T, To> | TransformGroupReference<T, To> | TransformGroupReferenceArray<T, To> | TransformPersonReference<T, To> | TransformPersonReferenceArray<T, To>;
36
+ type _Mixed<T extends Vertex, Depth extends SupportedDepths = MaxDepth, IgnoreInternalId extends boolean = false> = Vertex & { [K in keyof T]: TransformGeneral<T[K], {
37
+ type: 'mixed';
38
+ depth: Depth;
39
+ ignoreInternalId: IgnoreInternalId;
40
+ }> extends never ? T[K] : TransformGeneral<T[K], {
41
+ type: 'mixed';
42
+ depth: Depth;
43
+ ignoreInternalId: IgnoreInternalId;
44
+ }> };
45
+ /**
46
+ * Given a vertex type, this will return a new type where all references to other vertices are replaced with their mixed type.
47
+ */
48
+ type Mixed<T extends Vertex> = _Mixed<T>;
49
+ /**
50
+ * Given a vertex type, this will return a new type where all references to other vertices are replaced with their mixed type, but without the internal id (`_id` and `id`)
51
+ */
52
+ type MixedWithoutInternalId<T extends Vertex> = Omit<_Mixed<T, MaxDepth, true>, InternalIdKey>;
53
+ /**
54
+ * Given a vertex type, this will return a new type where all references to other vertices are replaced with their serialized type at the specified depth.
55
+ */
56
+ type Serialized<T extends Vertex, DepthIndex extends SupportedDepths = 0> = Vertex & { [K in keyof T]: TransformGeneral<T[K], {
57
+ type: 'serialized';
58
+ depth: DepthIndex;
59
+ }> extends never ? T[K] : TransformGeneral<T[K], {
60
+ type: 'serialized';
61
+ depth: DepthIndex;
62
+ }> };
63
+ /**
64
+ * Given a object that contains entries of vertices or arrays of vertices, this will return a new type where all references to other vertices are replaced with their serialized type.
65
+ */
66
+
67
+ //#endregion
68
+ export { Mixed, MixedWithoutInternalId, Serialized };
69
+ //# sourceMappingURL=vertex-mapping.d.ts.map
@@ -1,25 +1,21 @@
1
- import { Map } from "../../core/v2/index.js";
2
- import { AdmentumMap } from "../../Admentum/index.js";
3
- import { Map as Map$1 } from "../../core/v1/index.js";
4
- import { Map as Map$2 } from "../../Excel/v2/index.js";
5
- import { Map as Map$3 } from "../../Excel/v1/index.js";
6
- import { Map as Map$4 } from "../../Skola24/txt/index.js";
1
+ import { CoreMap } from "../../core/index.js";
2
+ import { Map } from "../../Skola24/txt/index.js";
7
3
  import { Event } from "../../SchoolSoft/file/types/events.js";
8
- import { Map as Map$5 } from "../../Skola24/mdb/index.js";
9
- import { Map as Map$6 } from "../../RS/v0/index.js";
10
- import { Map as Map$7 } from "../../RS/v1/index.js";
11
- import { Map as Map$8 } from "../../RS/v2/index.js";
12
- import { Map as Map$9 } from "../../RS/v3/index.js";
4
+ import { Map as Map$1 } from "../../Skola24/mdb/index.js";
5
+ import { Map as Map$2 } from "../../Excel/v1/index.js";
6
+ import { Map as Map$3 } from "../../Excel/v2/index.js";
13
7
  import { SchoolSoftMap } from "../../SchoolSoft/index.js";
14
8
  import { PlanDigitalMap } from "../../PlanDigital/index.js";
9
+ import { AdmentumMap } from "../../Admentum/index.js";
15
10
  import { IdunSoftMap } from "../../IdunSoft/index.js";
11
+ import { RSMap } from "../../RS/index.js";
16
12
 
17
13
  //#region src/identify/constants/index.d.ts
18
14
  declare const maps: readonly [{
19
15
  readonly structure: null;
20
16
  readonly matchType: "string";
21
17
  readonly name: "Skola24 (txt)";
22
- readonly map: typeof Map$4;
18
+ readonly map: typeof Map;
23
19
  readonly meta: {
24
20
  readonly structure: "";
25
21
  };
@@ -93,44 +89,16 @@ declare const maps: readonly [{
93
89
  school_tblschedule_room: string[];
94
90
  };
95
91
  readonly name: "Skola24 (mdb)";
96
- readonly map: typeof Map$5;
92
+ readonly map: typeof Map$1;
97
93
  readonly meta: {
98
94
  readonly structure: "";
99
95
  };
100
- }, {
101
- readonly structure: {
102
- input: string[];
103
- output: string[];
104
- };
105
- readonly name: "Royal Schedule Algorithm v0";
106
- readonly map: typeof Map$6;
107
- readonly meta: {
108
- readonly structure: "RS/algorithm-0.1.3";
109
- };
110
96
  }, {
111
97
  readonly structure: {
112
98
  events: string[];
113
99
  };
114
- readonly name: "Royal Schedule Algorithm v1";
115
- readonly map: typeof Map$7;
116
- readonly meta: {
117
- readonly structure: "RS/algorithm-1.0.0";
118
- };
119
- }, {
120
- readonly structure: {
121
- events: string[];
122
- };
123
- readonly name: "Royal Schedule Algorithm v2";
124
- readonly map: typeof Map$8;
125
- readonly meta: {
126
- readonly structure: "RS/algorithm-2.0.0";
127
- };
128
- }, {
129
- readonly structure: {
130
- events: string[];
131
- };
132
- readonly name: "Royal Schedule Algorithm v3";
133
- readonly map: typeof Map$9;
100
+ readonly name: "Royal Schedule Algorithm";
101
+ readonly map: typeof RSMap;
134
102
  readonly meta: {
135
103
  readonly structure: "RS/algorithm-3.0.0";
136
104
  };
@@ -142,19 +110,7 @@ declare const maps: readonly [{
142
110
  courses: string[];
143
111
  };
144
112
  readonly name: "Royal Schedule";
145
- readonly map: typeof Map$1;
146
- readonly meta: {
147
- readonly structure: "RS/core-1.0.0";
148
- };
149
- }, {
150
- readonly structure: {
151
- groups: string[];
152
- locations: string[];
153
- teachers: string[];
154
- courses: string[];
155
- };
156
- readonly name: "Royal Schedule";
157
- readonly map: typeof Map;
113
+ readonly map: typeof CoreMap;
158
114
  readonly meta: {
159
115
  readonly structure: "RS/core-2.0.0";
160
116
  };
@@ -166,7 +122,7 @@ declare const maps: readonly [{
166
122
  locations: never[];
167
123
  };
168
124
  readonly name: "Royal Schedule Excel";
169
- readonly map: typeof Map$3;
125
+ readonly map: typeof Map$2;
170
126
  readonly meta: {
171
127
  readonly structure: "RS/Excel-1.0.0";
172
128
  };
@@ -178,7 +134,7 @@ declare const maps: readonly [{
178
134
  locations: never[];
179
135
  };
180
136
  readonly name: "Royal Schedule Excel";
181
- readonly map: typeof Map$2;
137
+ readonly map: typeof Map$3;
182
138
  readonly meta: {
183
139
  readonly structure: "RS/Excel-2.0.0";
184
140
  };
@@ -1,11 +1,11 @@
1
- import { AdmentumMap } from "../../Admentum/index.js";
2
1
  import { CoreMap } from "../../core/index.js";
3
- import { ExcelMap } from "../../Excel/index.js";
4
2
  import { SchoolSoftMap } from "../../SchoolSoft/index.js";
5
3
  import { PlanDigitalMap } from "../../PlanDigital/index.js";
4
+ import { AdmentumMap } from "../../Admentum/index.js";
6
5
  import { IdunSoftMap } from "../../IdunSoft/index.js";
7
6
  import { Skola24Map } from "../../Skola24/index.js";
8
7
  import { RSMap } from "../../RS/index.js";
8
+ import { ExcelMap } from "../../Excel/index.js";
9
9
 
10
10
  //#region src/identify/constants/index.ts
11
11
  const core_structure = {
@@ -26,40 +26,7 @@ const excel_structure = {
26
26
  groups: [],
27
27
  locations: []
28
28
  };
29
- const RS0_structure = {
30
- input: [
31
- "courses",
32
- "dependencies",
33
- "settings",
34
- "groups",
35
- "teachers"
36
- ],
37
- output: [
38
- "course",
39
- "day",
40
- "dependencies",
41
- "end",
42
- "id",
43
- "start"
44
- ]
45
- };
46
- const RS1_structure = { events: [
47
- "collection",
48
- "day",
49
- "dependencies",
50
- "end",
51
- "id",
52
- "start"
53
- ] };
54
- const RS2_structure = { events: [
55
- "collection",
56
- "day",
57
- "dependencies",
58
- "end",
59
- "id",
60
- "start"
61
- ] };
62
- const RS3_structure = { events: ["output", "coreData"] };
29
+ const RS_structure = { events: ["output", "coreData"] };
63
30
  const Admentum_structure = {
64
31
  schools: [
65
32
  "url",
@@ -319,47 +286,15 @@ const maps = [
319
286
  meta: { structure: "" }
320
287
  },
321
288
  {
322
- structure: RS0_structure,
323
- name: "Royal Schedule Algorithm v0",
324
- get map() {
325
- return RSMap.V0;
326
- },
327
- meta: { structure: "RS/algorithm-0.1.3" }
328
- },
329
- {
330
- structure: RS1_structure,
331
- name: "Royal Schedule Algorithm v1",
332
- get map() {
333
- return RSMap.V1;
334
- },
335
- meta: { structure: "RS/algorithm-1.0.0" }
336
- },
337
- {
338
- structure: RS2_structure,
339
- name: "Royal Schedule Algorithm v2",
340
- get map() {
341
- return RSMap.V2;
342
- },
343
- meta: { structure: "RS/algorithm-2.0.0" }
344
- },
345
- {
346
- structure: RS3_structure,
347
- name: "Royal Schedule Algorithm v3",
348
- get map() {
349
- return RSMap.V3;
350
- },
289
+ structure: RS_structure,
290
+ name: "Royal Schedule Algorithm",
291
+ map: RSMap,
351
292
  meta: { structure: "RS/algorithm-3.0.0" }
352
293
  },
353
294
  {
354
295
  structure: core_structure,
355
296
  name: "Royal Schedule",
356
- map: CoreMap.V1,
357
- meta: { structure: "RS/core-1.0.0" }
358
- },
359
- {
360
- structure: core_structure,
361
- name: "Royal Schedule",
362
- map: CoreMap.V2,
297
+ map: CoreMap,
363
298
  meta: { structure: "RS/core-2.0.0" }
364
299
  },
365
300
  {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["SchoolSoft_structure: (keyof SchoolSoftFileTypes.event)[]"],"sources":["../../../src/identify/constants/index.ts"],"sourcesContent":["import { CoreMap } from '../../core';\nimport { SchoolSoftMap, SchoolSoftFileTypes } from '../../SchoolSoft';\nimport { PlanDigitalMap } from '../../PlanDigital';\nimport { AdmentumMap } from '../../Admentum';\nimport { IdunSoftMap } from '../../IdunSoft';\nimport { Skola24Map } from '../../Skola24';\nimport { RSMap } from '../../RS';\nimport { ExcelMap } from '../../Excel';\n\n\nconst core_structure = {\n groups: ['id'],\n locations: ['id'],\n teachers: ['id'],\n courses: ['id', 'events', 'groups', 'subject', 'teachers'],\n};\n\nconst excel_structure = {\n meta: [['structure']],\n courses: [],\n groups: [],\n locations: [],\n};\n\nconst RS0_structure = {\n input: ['courses', 'dependencies', 'settings', 'groups', 'teachers'],\n output: ['course', 'day', 'dependencies', 'end', 'id', 'start'],\n //settings: ['dependencyIdKey', 'groupIdKey', 'courseIdKey', 'eventIdKey', 'numDays', 'discretization', 'defaultDayStart', 'defaultDayEnd'],\n //groups: ['group_type'],\n //dependencies: ['group_type'],\n //teachers: ['group_type'],\n //courses: ['events'],\n};\n\nconst RS1_structure = {\n events: ['collection', 'day', 'dependencies', 'end', 'id', 'start'],\n};\n\nconst RS2_structure = {\n events: ['collection', 'day', 'dependencies', 'end', 'id', 'start'],\n};\n\nconst RS3_structure = {\n events: ['output', 'coreData'],\n};\n\nconst Admentum_structure = {\n schools: ['url', 'id', 'unit_code', 'school_code', 'school_type', 'name'],\n schedule: ['url', 'id', 'school_id', 'school_year', 'start_date', 'end_date', 'start_time', 'end_time', 'is_active', 'archived_at'],\n rooms: ['url', 'id', 'school_id', 'name', 'category', 'capacity'],\n teachers: ['url', 'id', 'school_id', 'email', 'first_name', 'last_name', 'role', 'current_primary_group', 'account_id'],\n principals: ['url', 'id', 'school_id', 'email', 'first_name', 'last_name', 'role', 'current_primary_group', 'account_id'],\n courses: ['url', 'id', 'school_id', 'schedule_id', 'name', 'subject_code', 'start_date', 'end_date', 'teachers', 'gymnasium_course'],\n schedule_groups: ['url', 'id', 'eid', 'school_id', 'schedule', 'name', 'guid', 'teachers', 'users_primary_groups', 'subjects', 'courses'],\n primary_groups: ['url', 'id', 'eid', 'school_id', 'schedule', 'grade', 'name', 'guid', 'teachers', 'start_date', 'end_date', 'start_date_display', 'end_date_display'],\n schedule_events: ['url', 'id', 'eid', 'school_id', 'schedule_id', 'start_time', 'end_time', 'rooms', 'teachers', 'schedule_groups', 'primary_groups', 'weekly_interval'],\n schedule_event_instances: ['url', 'id', 'school_id', 'start_date', 'end_date', 'schedule_event'],\n lessons: ['url', 'id', 'school_id', 'date', 'info', 'teachers', 'room', 'weekday'],\n lesson_infos: ['url', 'id', 'eid', 'school_id', 'schedule_id', 'start', 'end', 'duration', 'room', 'subject', 'teachers', 'groups', 'weekly_interval'],\n};\n\nconst IdunSoft_structure = {\n Grupp: ['ID', 'Klassnamn'],\n Lärare: ['ID', 'Namn'],\n Rum: ['ID', 'Namn'],\n Ämne: ['Ämne', 'Betygskod'],\n Lektion: ['LektionID', 'Ämne', 'Starttid', 'Sluttid', 'Lektionslängd', 'LärareID', 'GruppID', 'RumID', 'VeckodagID']\n};\n\nconst Skola24_txt_structure = null;\n\nconst Skola24_mdb_structure = {\n unit_tblroom: [ 'PK', 'ID' ],\n school_tblsubject: [ 'PK', 'ID' ],\n school_tblteacher: [ 'PK', 'ID' ],\n school_tblgroup: [ 'PK', 'ID', 'bClass' ],\n school_tblplan: [ 'PK', 'FKSubject' ],\n school_tblcourse: [ ],\n school_tblschedule: [ 'PK', 'Length', 'StartTime', 'DayOfWeek', 'FKSubject', 'CalcActualWeeks' ],\n school_tblgroup_group: [ 'FKGroup', 'FKGroupCon' ],\n school_tblplan_period: [ 'FKPlan', 'FKPeriod' ],\n school_tblplan_teacher: [ 'FKPlan', 'FKTeacher' ],\n school_tblplan_group: [ 'FKPlan', 'FKGroup' ],\n unit_tblperiod_date: [ 'FKPeriod', 'StartDate', 'EndDate' ],\n school_tblschedule_period: [ 'FKSchedule', 'FKPeriod' ],\n school_tblschedule_teacher: [ 'FKSchedule', 'FKTeacher' ],\n school_tblschedule_group: [ 'FKSchedule', 'FKGroup' ],\n school_tblschedule_room: [ 'FKSchedule', 'FKRoom' ]\n};\n\n// this is only temporary\nconst PlanDigital_structure = {\n 'Perioder': [ 'Namn', 'Tidsenhet' ],\n 'Tabell Tjänstefördelning': [ 'Gruppnamn', 'Klass', 'Kurskod', 'Sign', 'Poäng', 'Anteckningar', 'Antal', 'Ämne', 'Kursnamn' ]\n};\n\nconst SchoolSoft_structure: (keyof SchoolSoftFileTypes.event)[] = [\n 'id',\n 'group',\n 'dayid',\n 'day',\n 'starttime',\n 'length',\n 'teacher',\n 'subject',\n 'room',\n 'period',\n 'inweek',\n 'exweek',\n 'exclass',\n 'realweeks'\n];\n\nexport const maps = [\n {\n structure: Skola24_txt_structure,\n matchType: 'string',\n name: 'Skola24 (txt)',\n map: Skola24Map.TXT,\n meta: { structure: '' }\n }, {\n structure: Admentum_structure,\n name: 'Admentum',\n map: AdmentumMap,\n meta: { structure: '' }\n }, {\n structure: SchoolSoft_structure,\n name: 'SchoolSoft',\n map: SchoolSoftMap,\n meta: { structure: '' }\n }, {\n structure: PlanDigital_structure,\n name: 'Plan Digital',\n map: PlanDigitalMap,\n meta: { structure: '' }\n }, {\n structure: IdunSoft_structure,\n name: 'IdunSoft',\n map: IdunSoftMap,\n meta: { structure: '' }\n }, {\n structure: Skola24_mdb_structure,\n name: 'Skola24 (mdb)',\n map: Skola24Map.MDB,\n meta: { structure: '' }\n }, {\n structure: RS0_structure,\n name: 'Royal Schedule Algorithm v0',\n // map: RSMap.V0,\n // lazy to avoid circular init crash\n get map() {\n return RSMap.V0;\n },\n meta: { structure: 'RS/algorithm-0.1.3' }\n }, {\n structure: RS1_structure,\n name: 'Royal Schedule Algorithm v1',\n // map: RSMap.V1,\n // lazy to avoid circular init crash\n get map() {\n return RSMap.V1;\n },\n meta: { structure: 'RS/algorithm-1.0.0' }\n }, {\n structure: RS2_structure,\n name: 'Royal Schedule Algorithm v2',\n // map: RSMap.V2,\n // lazy to avoid circular init crash\n get map() {\n return RSMap.V2;\n },\n meta: { structure: 'RS/algorithm-2.0.0' }\n }, {\n structure: RS3_structure,\n name: 'Royal Schedule Algorithm v3',\n // map: RSMap.V3,\n // lazy to avoid circular init crash\n get map() {\n return RSMap.V3;\n },\n meta: { structure: 'RS/algorithm-3.0.0' }\n }, {\n structure: core_structure,\n name: 'Royal Schedule',\n map: CoreMap.V1,\n meta: { structure: 'RS/core-1.0.0' }\n }, {\n structure: core_structure,\n name: 'Royal Schedule',\n map: CoreMap.V2,\n meta: { structure: 'RS/core-2.0.0' }\n }, {\n structure: excel_structure,\n name: 'Royal Schedule Excel',\n map: ExcelMap.V1,\n meta: { structure: 'RS/Excel-1.0.0' }\n }, {\n structure: excel_structure,\n name: 'Royal Schedule Excel',\n map: ExcelMap.V2,\n meta: { structure: 'RS/Excel-2.0.0' }\n }\n] as const;"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["SchoolSoft_structure: (keyof SchoolSoftFileTypes.event)[]"],"sources":["../../../src/identify/constants/index.ts"],"sourcesContent":["import { CoreMap } from '../../core';\nimport type { SchoolSoftFileTypes } from '../../SchoolSoft';\nimport { SchoolSoftMap } from '../../SchoolSoft';\nimport { PlanDigitalMap } from '../../PlanDigital';\nimport { AdmentumMap } from '../../Admentum';\nimport { IdunSoftMap } from '../../IdunSoft';\nimport { Skola24Map } from '../../Skola24';\nimport { RSMap } from '../../RS';\nimport { ExcelMap } from '../../Excel';\nimport type { Types as RSTypes } from '../../RS/types';\n\n\nconst core_structure = {\n groups: ['id'],\n locations: ['id'],\n teachers: ['id'],\n courses: ['id', 'events', 'groups', 'subject', 'teachers'],\n};\n\nconst excel_structure = {\n meta: [['structure']],\n courses: [],\n groups: [],\n locations: [],\n};\n\nconst RS_structure = {\n events: ['output', 'coreData'],\n};\n\nconst Admentum_structure = {\n schools: ['url', 'id', 'unit_code', 'school_code', 'school_type', 'name'],\n schedule: ['url', 'id', 'school_id', 'school_year', 'start_date', 'end_date', 'start_time', 'end_time', 'is_active', 'archived_at'],\n rooms: ['url', 'id', 'school_id', 'name', 'category', 'capacity'],\n teachers: ['url', 'id', 'school_id', 'email', 'first_name', 'last_name', 'role', 'current_primary_group', 'account_id'],\n principals: ['url', 'id', 'school_id', 'email', 'first_name', 'last_name', 'role', 'current_primary_group', 'account_id'],\n courses: ['url', 'id', 'school_id', 'schedule_id', 'name', 'subject_code', 'start_date', 'end_date', 'teachers', 'gymnasium_course'],\n schedule_groups: ['url', 'id', 'eid', 'school_id', 'schedule', 'name', 'guid', 'teachers', 'users_primary_groups', 'subjects', 'courses'],\n primary_groups: ['url', 'id', 'eid', 'school_id', 'schedule', 'grade', 'name', 'guid', 'teachers', 'start_date', 'end_date', 'start_date_display', 'end_date_display'],\n schedule_events: ['url', 'id', 'eid', 'school_id', 'schedule_id', 'start_time', 'end_time', 'rooms', 'teachers', 'schedule_groups', 'primary_groups', 'weekly_interval'],\n schedule_event_instances: ['url', 'id', 'school_id', 'start_date', 'end_date', 'schedule_event'],\n lessons: ['url', 'id', 'school_id', 'date', 'info', 'teachers', 'room', 'weekday'],\n lesson_infos: ['url', 'id', 'eid', 'school_id', 'schedule_id', 'start', 'end', 'duration', 'room', 'subject', 'teachers', 'groups', 'weekly_interval'],\n};\n\nconst IdunSoft_structure = {\n Grupp: ['ID', 'Klassnamn'],\n Lärare: ['ID', 'Namn'],\n Rum: ['ID', 'Namn'],\n Ämne: ['Ämne', 'Betygskod'],\n Lektion: ['LektionID', 'Ämne', 'Starttid', 'Sluttid', 'Lektionslängd', 'LärareID', 'GruppID', 'RumID', 'VeckodagID']\n};\n\nconst Skola24_txt_structure = null;\n\nconst Skola24_mdb_structure = {\n unit_tblroom: [ 'PK', 'ID' ],\n school_tblsubject: [ 'PK', 'ID' ],\n school_tblteacher: [ 'PK', 'ID' ],\n school_tblgroup: [ 'PK', 'ID', 'bClass' ],\n school_tblplan: [ 'PK', 'FKSubject' ],\n school_tblcourse: [ ],\n school_tblschedule: [ 'PK', 'Length', 'StartTime', 'DayOfWeek', 'FKSubject', 'CalcActualWeeks' ],\n school_tblgroup_group: [ 'FKGroup', 'FKGroupCon' ],\n school_tblplan_period: [ 'FKPlan', 'FKPeriod' ],\n school_tblplan_teacher: [ 'FKPlan', 'FKTeacher' ],\n school_tblplan_group: [ 'FKPlan', 'FKGroup' ],\n unit_tblperiod_date: [ 'FKPeriod', 'StartDate', 'EndDate' ],\n school_tblschedule_period: [ 'FKSchedule', 'FKPeriod' ],\n school_tblschedule_teacher: [ 'FKSchedule', 'FKTeacher' ],\n school_tblschedule_group: [ 'FKSchedule', 'FKGroup' ],\n school_tblschedule_room: [ 'FKSchedule', 'FKRoom' ]\n};\n\n// this is only temporary\nconst PlanDigital_structure = {\n 'Perioder': [ 'Namn', 'Tidsenhet' ],\n 'Tabell Tjänstefördelning': [ 'Gruppnamn', 'Klass', 'Kurskod', 'Sign', 'Poäng', 'Anteckningar', 'Antal', 'Ämne', 'Kursnamn' ]\n};\n\nconst SchoolSoft_structure: (keyof SchoolSoftFileTypes.event)[] = [\n 'id',\n 'group',\n 'dayid',\n 'day',\n 'starttime',\n 'length',\n 'teacher',\n 'subject',\n 'room',\n 'period',\n 'inweek',\n 'exweek',\n 'exclass',\n 'realweeks'\n];\n\nexport const maps = [\n {\n structure: Skola24_txt_structure,\n matchType: 'string',\n name: 'Skola24 (txt)',\n map: Skola24Map.TXT,\n meta: { structure: '' }\n }, {\n structure: Admentum_structure,\n name: 'Admentum',\n map: AdmentumMap,\n meta: { structure: '' }\n }, {\n structure: SchoolSoft_structure,\n name: 'SchoolSoft',\n map: SchoolSoftMap,\n meta: { structure: '' }\n }, {\n structure: PlanDigital_structure,\n name: 'Plan Digital',\n map: PlanDigitalMap,\n meta: { structure: '' }\n }, {\n structure: IdunSoft_structure,\n name: 'IdunSoft',\n map: IdunSoftMap,\n meta: { structure: '' }\n }, {\n structure: Skola24_mdb_structure,\n name: 'Skola24 (mdb)',\n map: Skola24Map.MDB,\n meta: { structure: '' }\n }, {\n structure: RS_structure,\n name: 'Royal Schedule Algorithm',\n map: RSMap,\n meta: { structure: 'RS/algorithm-3.0.0' satisfies RSTypes.structure }\n }, {\n // structure: core_structure,\n // name: 'Royal Schedule',\n // map: CoreMap.V1,\n // meta: { structure: 'RS/core-1.0.0' }\n // }, {\n structure: core_structure,\n name: 'Royal Schedule',\n map: CoreMap,\n meta: { structure: 'RS/core-2.0.0' }\n }, {\n structure: excel_structure,\n name: 'Royal Schedule Excel',\n map: ExcelMap.V1,\n meta: { structure: 'RS/Excel-1.0.0' }\n }, {\n structure: excel_structure,\n name: 'Royal Schedule Excel',\n map: ExcelMap.V2,\n meta: { structure: 'RS/Excel-2.0.0' }\n }\n] as const;"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { maps } from "./constants/index.js";
2
2
  import { IdentifiedMaps, MapInstance, MapName } from "./types/index.js";
3
3
 
4
4
  //#region src/identify/index.d.ts
5
- declare function identify(schedule: any): IdentifiedMaps;
5
+ declare function identify(schedule: unknown): IdentifiedMaps;
6
6
  //#endregion
7
7
  export { identify };
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1,12 +1,11 @@
1
+ import { makeChainable } from "../common/make-chainable/index.js";
1
2
  import { maps } from "./constants/index.js";
2
- import { difference, get, isEqual, sortBy } from "lodash-es";
3
+ import { difference, isEqual, sortBy, uniq } from "lodash-es";
4
+ import * as z from "zod";
3
5
 
4
6
  //#region src/identify/index.ts
5
- function _reduceSchedule(docs) {
6
- const keys = /* @__PURE__ */ new Set();
7
- if (Array.isArray(docs)) docs.flat().forEach((doc) => Object.keys(doc).forEach((key) => keys.add(key)));
8
- else Object.keys(docs).forEach((key) => keys.add(key));
9
- return Array.from(keys);
7
+ function keysOf(docs) {
8
+ return makeChainable(docs).chain((x) => Array.isArray(x) ? x : [x], (x) => x.flatMap((x$1) => x$1 && typeof x$1 === "object" ? Object.keys(x$1) : []), (x) => uniq(x)).value;
10
9
  }
11
10
  function identify(schedule) {
12
11
  const similarities = {
@@ -16,58 +15,68 @@ function identify(schedule) {
16
15
  error: []
17
16
  };
18
17
  if (!schedule) return similarities;
19
- const collections = Array.isArray(schedule) ? _reduceSchedule(schedule) : Object.keys(schedule);
18
+ const MetaStructure = z.object({ meta: z.union([z.object({ structure: z.string() }), z.array(z.unknown()).transform((arr) => arr.at(0)).pipe(z.object({ structure: z.string() }))]) });
19
+ const res = MetaStructure.safeParse(schedule);
20
+ if (res.data) {
21
+ const determined = maps.find((x) => x.meta.structure === res.data.meta.structure);
22
+ if (determined) {
23
+ similarities.determined = determined;
24
+ return similarities;
25
+ }
26
+ }
27
+ const collections = Array.isArray(schedule) ? keysOf(schedule) : Object.keys(schedule);
20
28
  if (!collections.length) return similarities;
21
- maps.forEach((x) => {
22
- const { structure, meta } = x;
29
+ maps.forEach((mapping) => {
30
+ const { structure } = mapping;
23
31
  try {
24
- if ("matchType" in x && typeof schedule === x.matchType) {
25
- similarities.strong.push(x);
32
+ if ("matchType" in mapping && typeof schedule === mapping.matchType) {
33
+ similarities.strong.push(mapping);
26
34
  return;
27
35
  }
28
36
  if (!structure) {
29
- similarities.none.push(x);
37
+ similarities.none.push(mapping);
30
38
  return;
31
39
  }
32
40
  const _collections = Array.isArray(structure) ? structure : Object.keys(structure);
33
41
  if (Array.isArray(schedule)) {
34
42
  if (!Array.isArray(structure)) {
35
- similarities.none.push(x);
43
+ similarities.none.push(mapping);
36
44
  return;
37
45
  }
38
46
  if (isEqual(sortBy(_collections), sortBy(collections))) {
39
- similarities.strong.push(x);
47
+ similarities.strong.push(mapping);
40
48
  return;
41
49
  }
42
50
  if (difference(sortBy(_collections), sortBy(collections)).length < _collections.length) {
43
- similarities.weak.push(x);
51
+ similarities.weak.push(mapping);
44
52
  return;
45
53
  }
46
- similarities.none.push(x);
47
- return;
48
- }
49
- const structureVal = schedule.meta?.structure ?? schedule.meta?.[0].structure;
50
- if (meta.structure && meta.structure == structureVal) {
51
- similarities.determined = x;
54
+ similarities.none.push(mapping);
52
55
  return;
53
56
  }
54
57
  if (_collections.every((collection) => {
55
- if (!(collection in schedule)) return false;
56
- return _reduceSchedule(schedule[collection]).every((key) => get(structure, collection).includes(key));
58
+ if (!(schedule && typeof schedule == "object" && collection in schedule)) return false;
59
+ const scheduleKeys = keysOf(schedule[collection]);
60
+ if (!(collection in structure)) return false;
61
+ const structureKeys = structure[collection];
62
+ return scheduleKeys.every((key) => structureKeys.includes(key));
57
63
  })) {
58
- similarities.strong.push(x);
64
+ similarities.strong.push(mapping);
59
65
  return;
60
66
  }
61
67
  if (_collections.some((collection) => {
62
- if (!(collection in schedule)) return false;
63
- return _reduceSchedule(schedule[collection]).some((key) => get(structure, collection).includes(key));
68
+ if (!(schedule && typeof schedule == "object" && collection in schedule)) return false;
69
+ const scheduleKeys = keysOf(schedule[collection]);
70
+ if (!(collection in structure)) return false;
71
+ const structureKeys = structure[collection];
72
+ return scheduleKeys.some((key) => structureKeys.includes(key));
64
73
  })) {
65
- similarities.weak.push(x);
74
+ similarities.weak.push(mapping);
66
75
  return;
67
76
  }
68
- similarities.none.push(x);
77
+ similarities.none.push(mapping);
69
78
  } catch {
70
- similarities.error.push(x);
79
+ similarities.error.push(mapping);
71
80
  }
72
81
  });
73
82
  return similarities;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["keys: Set<string>","similarities: IdentifiedMaps","collections: string[]"],"sources":["../../src/identify/index.ts"],"sourcesContent":["import { isEqual, sortBy, difference, get } from 'lodash-es';\nimport { IdentifiedMaps, } from './types';\nimport { maps } from './constants';\n\nexport type { MapInstance, MapName, IdentifiedMaps } from './types';\nexport { maps } from './constants';\n\n\nfunction _reduceSchedule (docs: object[] | object): string[] {\n const keys: Set<string> = new Set<string>();\n\n if (Array.isArray(docs)) {\n docs.flat().forEach((doc: any) => Object.keys(doc).forEach((key: string) => keys.add(key)));\n } else {\n Object.keys(docs).forEach((key: string) => keys.add(key));\n }\n\n return Array.from(keys);\n}\n\nexport function identify (schedule: any): IdentifiedMaps {\n const similarities: IdentifiedMaps = {\n none: [],\n weak: [],\n strong: [],\n error: [],\n };\n\n if (!schedule)\n return similarities;\n\n const collections: string[] = Array.isArray(schedule) ? _reduceSchedule(schedule) : Object.keys(schedule);\n\n if (!collections.length)\n return similarities;\n\n maps.forEach(x => {\n const { structure, meta } = x;\n\n try {\n if ('matchType' in x && typeof schedule === x.matchType) {\n similarities.strong.push(x);\n return;\n }\n\n if (!structure) {\n similarities.none.push(x);\n return;\n }\n\n const _collections = Array.isArray(structure) ? structure : Object.keys(structure);\n\n /*\n is shallow structure .\n */\n if (Array.isArray(schedule)) {\n\n if (!Array.isArray(structure)) {\n similarities.none.push(x);\n return;\n }\n\n if (isEqual(sortBy(_collections), sortBy(collections))) {\n similarities.strong.push(x);\n return;\n }\n\n if (difference(sortBy(_collections), sortBy(collections)).length < _collections.length) {\n similarities.weak.push(x);\n return;\n }\n\n similarities.none.push(x);\n return;\n }\n\n /*\n is deep structure .\n */\n\n /*\n Meta tagged file.\n */\n const structureVal = schedule.meta?.structure ?? schedule.meta?.[0].structure;\n if (meta.structure && meta.structure == structureVal) {\n similarities.determined = x;\n return;\n }\n\n /*\n every key is present in file.\n */\n if (_collections.every(collection => {\n if (!(collection in schedule)) return false;\n return _reduceSchedule(schedule[collection]).every((key) => get(structure, collection).includes(key));\n })) {\n similarities.strong.push(x);\n return;\n }\n\n /*\n some keys is present in file.\n */\n if (_collections.some(collection => {\n if (!(collection in schedule)) return false;\n return _reduceSchedule(schedule[collection]).some((key) => get(structure, collection).includes(key));\n })) {\n similarities.weak.push(x);\n return;\n }\n\n similarities.none.push(x);\n } catch {\n similarities.error.push(x);\n }\n });\n\n return similarities;\n}\n"],"mappings":";;;;AAQA,SAAS,gBAAiB,MAAmC;CAC3D,MAAMA,uBAAoB,IAAI;AAE9B,KAAI,MAAM,QAAQ,MAChB,MAAK,OAAO,SAAS,QAAa,OAAO,KAAK,KAAK,SAAS,QAAgB,KAAK,IAAI;KAErF,QAAO,KAAK,MAAM,SAAS,QAAgB,KAAK,IAAI;AAGtD,QAAO,MAAM,KAAK;;AAGpB,SAAgB,SAAU,UAA+B;CACvD,MAAMC,eAA+B;EACnC,MAAQ;EACR,MAAQ;EACR,QAAQ;EACR,OAAQ;;AAGV,KAAI,CAAC,SACH,QAAO;CAET,MAAMC,cAAwB,MAAM,QAAQ,YAAY,gBAAgB,YAAY,OAAO,KAAK;AAEhG,KAAI,CAAC,YAAY,OACf,QAAO;AAET,MAAK,SAAQ,MAAK;EAChB,MAAM,EAAE,WAAW,SAAS;AAE5B,MAAI;AACF,OAAI,eAAe,KAAK,OAAO,aAAa,EAAE,WAAW;AACvD,iBAAa,OAAO,KAAK;AACzB;;AAGF,OAAI,CAAC,WAAW;AACd,iBAAa,KAAK,KAAK;AACvB;;GAGF,MAAM,eAAe,MAAM,QAAQ,aAAa,YAAY,OAAO,KAAK;AAKxE,OAAI,MAAM,QAAQ,WAAW;AAE3B,QAAI,CAAC,MAAM,QAAQ,YAAY;AAC7B,kBAAa,KAAK,KAAK;AACvB;;AAGF,QAAI,QAAQ,OAAO,eAAe,OAAO,eAAe;AACtD,kBAAa,OAAO,KAAK;AACzB;;AAGF,QAAI,WAAW,OAAO,eAAe,OAAO,cAAc,SAAS,aAAa,QAAQ;AACtF,kBAAa,KAAK,KAAK;AACvB;;AAGF,iBAAa,KAAK,KAAK;AACvB;;GAUF,MAAM,eAAe,SAAS,MAAM,aAAa,SAAS,OAAO,GAAG;AACpE,OAAI,KAAK,aAAa,KAAK,aAAa,cAAc;AACpD,iBAAa,aAAa;AAC1B;;AAMF,OAAI,aAAa,OAAM,eAAc;AACnC,QAAI,EAAE,cAAc,UAAW,QAAO;AACtC,WAAO,gBAAgB,SAAS,aAAa,OAAO,QAAQ,IAAI,WAAW,YAAY,SAAS;OAC9F;AACF,iBAAa,OAAO,KAAK;AACzB;;AAMF,OAAI,aAAa,MAAK,eAAc;AAClC,QAAI,EAAE,cAAc,UAAW,QAAO;AACtC,WAAO,gBAAgB,SAAS,aAAa,MAAM,QAAS,IAAI,WAAW,YAAY,SAAS;OAC9F;AACF,iBAAa,KAAK,KAAK;AACvB;;AAGF,gBAAa,KAAK,KAAK;UAChB;AACP,gBAAa,MAAM,KAAK;;;AAI5B,QAAO"}
1
+ {"version":3,"file":"index.js","names":["x","similarities: IdentifiedMaps","collections: string[]","structureKeys: string[]"],"sources":["../../src/identify/index.ts"],"sourcesContent":["import { difference, isEqual, sortBy, uniq } from 'lodash-es';\nimport type { IdentifiedMaps } from './types';\nimport { maps } from './constants';\nimport * as z from 'zod';\nimport { makeChainable } from '../common/make-chainable';\nexport type { MapInstance, MapName, IdentifiedMaps } from './types';\nexport { maps } from './constants';\n\n\nfunction keysOf (docs: unknown): string[] {\n return makeChainable(docs)\n .chain(\n x => Array.isArray(x) ? x as unknown[] : [x],\n x => x.flatMap(x => x && typeof x === 'object' ? Object.keys(x) : []),\n x => uniq(x)\n )\n .value;\n}\n\nexport function identify (schedule: unknown): IdentifiedMaps {\n const similarities: IdentifiedMaps = {\n none: [],\n weak: [],\n strong: [],\n error: [],\n };\n\n if (!schedule) return similarities;\n\n ////\n //// check if the schedule is a meta tagged file and thus identifiable by its structure.\n ////\n const MetaStructure = z.object({\n meta: z.union([\n z.object({\n structure: z.string()\n }),\n z.array(z.unknown())\n .transform(arr => arr.at(0))\n .pipe(z.object({\n structure: z.string()\n }))\n ])\n });\n const res = MetaStructure.safeParse(schedule);\n if (res.data) {\n const determined = maps.find(x => x.meta.structure === res.data.meta.structure);\n if (determined) {\n similarities.determined = determined;\n return similarities;\n }\n }\n\n\n ////\n //// not a meta tagged file, so we check the structure.\n ////\n const collections: string[] = Array.isArray(schedule) ? keysOf(schedule) : Object.keys(schedule);\n if (!collections.length) return similarities;\n\n maps.forEach(mapping => {\n const { structure } = mapping;\n\n try {\n if ('matchType' in mapping && typeof schedule === mapping.matchType) {\n similarities.strong.push(mapping);\n return;\n }\n\n if (!structure) {\n similarities.none.push(mapping);\n return;\n }\n\n const _collections = Array.isArray(structure) ? structure : Object.keys(structure);\n\n /*\n is shallow structure .\n */\n if (Array.isArray(schedule)) {\n\n if (!Array.isArray(structure)) {\n similarities.none.push(mapping);\n return;\n }\n\n if (isEqual(sortBy(_collections), sortBy(collections))) {\n similarities.strong.push(mapping);\n return;\n }\n\n if (difference(sortBy(_collections), sortBy(collections)).length < _collections.length) {\n similarities.weak.push(mapping);\n return;\n }\n\n similarities.none.push(mapping);\n return;\n }\n\n /*\n is deep structure .\n */\n\n\n /*\n every key is present in file.\n */\n if (_collections.every(collection => {\n if (!(schedule && typeof schedule == 'object' && collection in schedule)) return false;\n const scheduleKeys = keysOf(schedule[collection as keyof typeof schedule]);\n\n if (!(collection in structure)) return false;\n const structureKeys: string[] = structure[collection as keyof typeof structure] as string[];\n\n return scheduleKeys.every(key => structureKeys.includes(key));\n })) {\n similarities.strong.push(mapping);\n return;\n }\n\n /*\n some keys is present in file.\n */\n if (_collections.some(collection => {\n if (!(schedule && typeof schedule == 'object' && collection in schedule)) return false;\n const scheduleKeys = keysOf(schedule[collection as keyof typeof schedule]);\n\n if (!(collection in structure)) return false;\n const structureKeys: string[] = structure[collection as keyof typeof structure] as string[];\n\n return scheduleKeys.some(key => structureKeys.includes(key));\n })) {\n similarities.weak.push(mapping);\n return;\n }\n\n similarities.none.push(mapping);\n } catch {\n similarities.error.push(mapping);\n }\n });\n\n return similarities;\n}\n"],"mappings":";;;;;;AASA,SAAS,OAAQ,MAAyB;AACxC,QAAO,cAAc,MAClB,OACC,MAAK,MAAM,QAAQ,KAAK,IAAiB,CAAC,KAC1C,MAAK,EAAE,SAAQ,QAAKA,OAAK,OAAOA,QAAM,WAAW,OAAO,KAAKA,OAAK,MAClE,MAAK,KAAK,IAEX;;AAGL,SAAgB,SAAU,UAAmC;CAC3D,MAAMC,eAA+B;EACnC,MAAQ;EACR,MAAQ;EACR,QAAQ;EACR,OAAQ;;AAGV,KAAI,CAAC,SAAU,QAAO;CAKtB,MAAM,gBAAgB,EAAE,OAAO,EAC7B,MAAM,EAAE,MAAM,CACZ,EAAE,OAAO,EACP,WAAW,EAAE,aAEf,EAAE,MAAM,EAAE,WACP,WAAU,QAAO,IAAI,GAAG,IACxB,KAAK,EAAE,OAAO,EACb,WAAW,EAAE;CAIrB,MAAM,MAAM,cAAc,UAAU;AACpC,KAAI,IAAI,MAAM;EACZ,MAAM,aAAa,KAAK,MAAK,MAAK,EAAE,KAAK,cAAc,IAAI,KAAK,KAAK;AACrE,MAAI,YAAY;AACd,gBAAa,aAAa;AAC1B,UAAO;;;CAQX,MAAMC,cAAwB,MAAM,QAAQ,YAAY,OAAO,YAAY,OAAO,KAAK;AACvF,KAAI,CAAC,YAAY,OAAQ,QAAO;AAEhC,MAAK,SAAQ,YAAW;EACtB,MAAM,EAAE,cAAc;AAEtB,MAAI;AACF,OAAI,eAAe,WAAW,OAAO,aAAa,QAAQ,WAAW;AACnE,iBAAa,OAAO,KAAK;AACzB;;AAGF,OAAI,CAAC,WAAW;AACd,iBAAa,KAAK,KAAK;AACvB;;GAGF,MAAM,eAAe,MAAM,QAAQ,aAAa,YAAY,OAAO,KAAK;AAKxE,OAAI,MAAM,QAAQ,WAAW;AAE3B,QAAI,CAAC,MAAM,QAAQ,YAAY;AAC7B,kBAAa,KAAK,KAAK;AACvB;;AAGF,QAAI,QAAQ,OAAO,eAAe,OAAO,eAAe;AACtD,kBAAa,OAAO,KAAK;AACzB;;AAGF,QAAI,WAAW,OAAO,eAAe,OAAO,cAAc,SAAS,aAAa,QAAQ;AACtF,kBAAa,KAAK,KAAK;AACvB;;AAGF,iBAAa,KAAK,KAAK;AACvB;;AAWF,OAAI,aAAa,OAAM,eAAc;AACnC,QAAI,EAAE,YAAY,OAAO,YAAY,YAAY,cAAc,UAAW,QAAO;IACjF,MAAM,eAAe,OAAO,SAAS;AAErC,QAAI,EAAE,cAAc,WAAY,QAAO;IACvC,MAAMC,gBAA0B,UAAU;AAE1C,WAAO,aAAa,OAAM,QAAO,cAAc,SAAS;OACtD;AACF,iBAAa,OAAO,KAAK;AACzB;;AAMF,OAAI,aAAa,MAAK,eAAc;AAClC,QAAI,EAAE,YAAY,OAAO,YAAY,YAAY,cAAc,UAAW,QAAO;IACjF,MAAM,eAAe,OAAO,SAAS;AAErC,QAAI,EAAE,cAAc,WAAY,QAAO;IACvC,MAAMA,gBAA0B,UAAU;AAE1C,WAAO,aAAa,MAAK,QAAO,cAAc,SAAS;OACrD;AACF,iBAAa,KAAK,KAAK;AACvB;;AAGF,gBAAa,KAAK,KAAK;UAChB;AACP,gBAAa,MAAM,KAAK;;;AAI5B,QAAO"}
package/dist/index.d.ts CHANGED
@@ -1,39 +1,33 @@
1
- import { Types as Types$3 } from "./core/v2/types/index.js";
2
- import { Types as Types$1 } from "./Admentum/types/index.js";
3
- import { AdmentumMap } from "./Admentum/index.js";
4
- import { Types } from "./Additio/types/index.js";
5
- import { AdditioMap } from "./Additio/index.js";
6
- import { Types as Types$2 } from "./core/v1/types/index.js";
1
+ import { Types as Types$14 } from "./Skola24/txt/types/index.js";
2
+ import { Types as Types$2 } from "./core/types/index.js";
7
3
  import { CoreMap } from "./core/index.js";
8
- import { Types as Types$5 } from "./Excel/v2/types/index.js";
9
- import { Types as Types$4 } from "./Excel/v1/types/index.js";
10
- import { ExcelMap } from "./Excel/index.js";
11
- import { Types as Types$19 } from "./Skola24/txt/types/index.js";
12
- import { Types as Types$18 } from "./Skola24/mdb/types/index.js";
13
- import { Types as Types$9 } from "./RS/v0/types/index.js";
14
- import { Types as Types$10 } from "./RS/v1/types/index.js";
15
- import { Types as Types$11 } from "./RS/v2/types/index.js";
16
- import { Types as Types$12 } from "./RS/v3/types/index.js";
17
- import { Types as Types$15 } from "./SchoolSoft/file/types/index.js";
18
- import { Types as Types$14 } from "./SchoolSoft/api/types/index.js";
4
+ import { Types as Types$13 } from "./Skola24/mdb/types/index.js";
5
+ import { Types as Types$3 } from "./Excel/v1/types/index.js";
6
+ import { Types as Types$4 } from "./Excel/v2/types/index.js";
7
+ import { Types as Types$10 } from "./SchoolSoft/file/types/index.js";
8
+ import { Types as Types$9 } from "./SchoolSoft/api/types/index.js";
19
9
  import { SchoolSoftMap } from "./SchoolSoft/index.js";
20
- import { Types as Types$8 } from "./PlanDigital/types/index.js";
10
+ import { Types as Types$7 } from "./PlanDigital/types/index.js";
21
11
  import { PlanDigitalMap } from "./PlanDigital/index.js";
22
- import { Types as Types$6 } from "./IdunSoft/types/index.js";
12
+ import { Types as Types$1 } from "./Admentum/types/index.js";
13
+ import { AdmentumMap } from "./Admentum/index.js";
14
+ import { Types as Types$5 } from "./IdunSoft/types/index.js";
23
15
  import { IdunSoftMap } from "./IdunSoft/index.js";
16
+ import { Types as Types$8 } from "./RS/types/index.js";
17
+ import { RSMap } from "./RS/index.js";
24
18
  import { maps } from "./identify/constants/index.js";
25
19
  import { IdentifiedMaps, MapInstance, MapName } from "./identify/types/index.js";
26
20
  import { identify } from "./identify/index.js";
27
- import { Types as Types$7 } from "./InfoMentor/types/index.js";
21
+ import { Types as Types$6 } from "./InfoMentor/types/index.js";
28
22
  import { InfoMentorMap } from "./InfoMentor/index.js";
29
- import { QuiculumMap } from "./Quiculum/index.js";
30
- import { RSMap } from "./RS/index.js";
31
- import { Types as Types$16 } from "./Schoolity/txt/types/index.js";
32
- import { SchoolityMap } from "./Schoolity/index.js";
33
- import { Types as Types$17 } from "./sdui/types/index.js";
34
- import { SduiMap } from "./sdui/index.js";
35
23
  import { Skola24Map } from "./Skola24/index.js";
36
- import { Types as Types$13 } from "./SS12000/types/index.js";
37
- import { SS12000Map } from "./SS12000/index.js";
24
+ import { Types as Types$12 } from "./sdui/types/index.js";
25
+ import { SduiMap } from "./sdui/index.js";
38
26
  import { vKlassMap } from "./vKlass/index.js";
39
- export { AdditioMap, Types as AdditioTypes, AdmentumMap, Types$1 as AdmentumTypes, CoreMap, Types$2 as CoreV1Types, Types$3 as CoreV2Types, ExcelMap, Types$4 as ExcelV1Types, Types$5 as ExcelV2Types, IdentifiedMaps, IdunSoftMap, Types$6 as IdunSoftTypes, InfoMentorMap, Types$7 as InfoMentorTypes, MapInstance, MapName, PlanDigitalMap, Types$8 as PlanDigitalTypes, QuiculumMap, RSMap, Types$9 as RSV0Types, Types$10 as RSV1Types, Types$11 as RSV2Types, Types$12 as RSV3Types, SS12000Map, Types$13 as SS12000Types, Types$14 as SchoolSoftApiTypes, Types$15 as SchoolSoftFileTypes, SchoolSoftMap, SchoolityMap, Types$16 as SchoolityTXTTypes, SduiMap, Types$17 as SduiTypes, Types$18 as Skola24MDBTypes, Skola24Map, Types$19 as Skola24TXTTypes, identify, maps, vKlassMap };
27
+ import { ExcelMap } from "./Excel/index.js";
28
+ import { Types as Types$11 } from "./Schoolity/txt/types/index.js";
29
+ import { SchoolityMap } from "./Schoolity/index.js";
30
+ import { QuiculumMap } from "./Quiculum/index.js";
31
+ import { Types } from "./Additio/types/index.js";
32
+ import { AdditioMap } from "./Additio/index.js";
33
+ export { AdditioMap, Types as AdditioTypes, AdmentumMap, Types$1 as AdmentumTypes, CoreMap, Types$2 as CoreTypes, ExcelMap, Types$3 as ExcelV1Types, Types$4 as ExcelV2Types, IdentifiedMaps, IdunSoftMap, Types$5 as IdunSoftTypes, InfoMentorMap, Types$6 as InfoMentorTypes, MapInstance, MapName, PlanDigitalMap, Types$7 as PlanDigitalTypes, QuiculumMap, RSMap, Types$8 as RSTypes, Types$9 as SchoolSoftApiTypes, Types$10 as SchoolSoftFileTypes, SchoolSoftMap, SchoolityMap, Types$11 as SchoolityTXTTypes, SduiMap, Types$12 as SduiTypes, Types$13 as Skola24MDBTypes, Skola24Map, Types$14 as Skola24TXTTypes, identify, maps, vKlassMap };
package/dist/index.js CHANGED
@@ -1,19 +1,18 @@
1
- import { AdmentumMap } from "./Admentum/index.js";
2
- import { AdditioMap } from "./Additio/index.js";
3
1
  import { CoreMap } from "./core/index.js";
4
- import { ExcelMap } from "./Excel/index.js";
5
2
  import { SchoolSoftMap } from "./SchoolSoft/index.js";
6
3
  import { PlanDigitalMap } from "./PlanDigital/index.js";
4
+ import { AdmentumMap } from "./Admentum/index.js";
7
5
  import { IdunSoftMap } from "./IdunSoft/index.js";
8
6
  import { Skola24Map } from "./Skola24/index.js";
9
7
  import { RSMap } from "./RS/index.js";
8
+ import { ExcelMap } from "./Excel/index.js";
10
9
  import { maps } from "./identify/constants/index.js";
11
10
  import { identify } from "./identify/index.js";
12
11
  import { InfoMentorMap } from "./InfoMentor/index.js";
13
- import { QuiculumMap } from "./Quiculum/index.js";
14
- import { SchoolityMap } from "./Schoolity/index.js";
15
12
  import { SduiMap } from "./sdui/index.js";
16
- import { SS12000Map } from "./SS12000/index.js";
17
13
  import { vKlassMap } from "./vKlass/index.js";
14
+ import { SchoolityMap } from "./Schoolity/index.js";
15
+ import { QuiculumMap } from "./Quiculum/index.js";
16
+ import { AdditioMap } from "./Additio/index.js";
18
17
 
19
- export { AdditioMap, AdmentumMap, CoreMap, ExcelMap, IdunSoftMap, InfoMentorMap, PlanDigitalMap, QuiculumMap, RSMap, SS12000Map, SchoolSoftMap, SchoolityMap, SduiMap, Skola24Map, identify, maps, vKlassMap };
18
+ export { AdditioMap, AdmentumMap, CoreMap, ExcelMap, IdunSoftMap, InfoMentorMap, PlanDigitalMap, QuiculumMap, RSMap, SchoolSoftMap, SchoolityMap, SduiMap, Skola24Map, identify, maps, vKlassMap };
@@ -1 +1 @@
1
- {"version":3,"file":"classes.js","names":[],"sources":["../../../src/sdui/from/classes.ts"],"sourcesContent":["import { Types } from '../types';\n\nimport { Types as CoreTypes } from '../../core/types';\n\nexport default (\n group: Types.classes\n): CoreTypes.group => {\n return {\n ids: group.id\n };\n};\n"],"mappings":";AAIA,uBACE,UACoB;AACpB,QAAO,EACL,KAAK,MAAM"}
1
+ {"version":3,"file":"classes.js","names":[],"sources":["../../../src/sdui/from/classes.ts"],"sourcesContent":["import type { Types as SduiTypes } from '../types';\nimport type { OutTypes } from './schedules';\n\nexport default (\n group: SduiTypes.classes\n): OutTypes.group => {\n return {\n ids: group.id\n };\n};\n"],"mappings":";AAGA,uBACE,UACmB;AACnB,QAAO,EACL,KAAK,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"courses.js","names":[],"sources":["../../../src/sdui/from/courses.ts"],"sourcesContent":["import { Types } from '../types';\n\nimport { Types as CoreTypes } from '../../core/types';\n\nexport default (\n course: Types.course\n): CoreTypes.course => {\n return {\n ids: course.id,\n displayName: course.name,\n color: course.color,\n teachers: course.teachers.map(to => ({ to })),\n groups: course.classes.map(to => ({ to })),\n };\n};\n"],"mappings":";AAIA,uBACE,WACqB;AACrB,QAAO;EACL,KAAa,OAAO;EACpB,aAAa,OAAO;EACpB,OAAa,OAAO;EACpB,UAAa,OAAO,SAAS,KAAI,QAAO,EAAE;EAC1C,QAAa,OAAO,QAAQ,KAAI,QAAO,EAAE"}
1
+ {"version":3,"file":"courses.js","names":[],"sources":["../../../src/sdui/from/courses.ts"],"sourcesContent":["import type { Types as SduiTypes } from '../types';\nimport type { OutTypes } from './schedules';\n\nexport default (\n course: SduiTypes.course\n): OutTypes.course => {\n return {\n ids: course.id,\n displayName: course.name,\n color: course.color,\n teachers: course.teachers.map(to => ({ to })),\n groups: course.classes .map(to => ({ to })),\n };\n};\n"],"mappings":";AAGA,uBACE,WACoB;AACpB,QAAO;EACL,KAAa,OAAO;EACpB,aAAa,OAAO;EACpB,OAAa,OAAO;EACpB,UAAa,OAAO,SAAS,KAAI,QAAO,EAAE;EAC1C,QAAa,OAAO,QAAS,KAAI,QAAO,EAAE"}