@royalschedule/maps 2.7.10 → 2.7.12

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 (287) hide show
  1. package/dist/Admentum/to/index.d.ts +10 -3
  2. package/dist/Admentum/to/schedules.d.ts +10 -4
  3. package/dist/Admentum/to/schedules.js +58 -22
  4. package/dist/Admentum/to/schedules.js.map +1 -1
  5. package/dist/PlanDigital/types/course.d.ts +15 -0
  6. package/dist/{core/types/common.js → PlanDigital/types/course.js} +1 -1
  7. package/dist/PlanDigital/types/course.js.map +1 -0
  8. package/dist/PlanDigital/types/period.d.ts +3 -0
  9. package/dist/PlanDigital/types/period.js +6 -0
  10. package/dist/PlanDigital/types/period.js.map +1 -0
  11. package/dist/RS/index.d.ts +3 -0
  12. package/dist/RS/index.js +2 -0
  13. package/dist/RS/index.js.map +1 -1
  14. package/dist/RS/v2/to/dynamic-locked-times.js +3 -3
  15. package/dist/RS/v2/to/dynamic-locked-times.js.map +1 -1
  16. package/dist/RS/v3/index.d.ts +6 -0
  17. package/dist/RS/v3/index.js +15 -0
  18. package/dist/RS/v3/index.js.map +1 -0
  19. package/dist/RS/v3/to/available-dependencies.d.ts +6 -0
  20. package/dist/RS/v3/to/available-dependencies.js +39 -0
  21. package/dist/RS/v3/to/available-dependencies.js.map +1 -0
  22. package/dist/RS/v3/to/break-lengths.d.ts +4 -0
  23. package/dist/RS/v3/to/break-lengths.js +24 -0
  24. package/dist/RS/v3/to/break-lengths.js.map +1 -0
  25. package/dist/RS/v3/to/collections.d.ts +7 -0
  26. package/dist/RS/v3/to/collections.js +102 -0
  27. package/dist/RS/v3/to/collections.js.map +1 -0
  28. package/dist/RS/v3/to/configurations.d.ts +6 -0
  29. package/dist/RS/v3/to/configurations.js +29 -0
  30. package/dist/RS/v3/to/configurations.js.map +1 -0
  31. package/dist/RS/v3/to/constraints.d.ts +6 -0
  32. package/dist/RS/v3/to/constraints.js +74 -0
  33. package/dist/RS/v3/to/constraints.js.map +1 -0
  34. package/dist/RS/v3/to/course-events/common.d.ts +1 -0
  35. package/dist/RS/v3/to/course-events/common.js +11 -0
  36. package/dist/RS/v3/to/course-events/common.js.map +1 -0
  37. package/dist/RS/v3/to/course-events/days.d.ts +6 -0
  38. package/dist/RS/v3/to/course-events/days.js +19 -0
  39. package/dist/RS/v3/to/course-events/days.js.map +1 -0
  40. package/dist/RS/v3/to/course-events/dependencies.d.ts +6 -0
  41. package/dist/RS/v3/to/course-events/dependencies.js +20 -0
  42. package/dist/RS/v3/to/course-events/dependencies.js.map +1 -0
  43. package/dist/RS/v3/to/course-events/groups.d.ts +12 -0
  44. package/dist/RS/v3/to/course-events/groups.js +66 -0
  45. package/dist/RS/v3/to/course-events/groups.js.map +1 -0
  46. package/dist/RS/v3/to/course-events/in-locations.d.ts +4 -0
  47. package/dist/RS/v3/to/course-events/in-locations.js +29 -0
  48. package/dist/RS/v3/to/course-events/in-locations.js.map +1 -0
  49. package/dist/RS/v3/to/course-events/index.d.ts +7 -0
  50. package/dist/RS/v3/to/course-events/index.js +99 -0
  51. package/dist/RS/v3/to/course-events/index.js.map +1 -0
  52. package/dist/RS/v3/to/course-events/intervals.d.ts +5 -0
  53. package/dist/RS/v3/to/course-events/intervals.js +16 -0
  54. package/dist/RS/v3/to/course-events/intervals.js.map +1 -0
  55. package/dist/RS/v3/to/course-events/meta.d.ts +16 -0
  56. package/dist/RS/v3/to/course-events/meta.js +34 -0
  57. package/dist/RS/v3/to/course-events/meta.js.map +1 -0
  58. package/dist/RS/v3/to/days.d.ts +3 -0
  59. package/dist/RS/v3/to/days.js +17 -0
  60. package/dist/RS/v3/to/days.js.map +1 -0
  61. package/dist/RS/v3/to/default.d.ts +5 -0
  62. package/dist/RS/v3/to/default.js +49 -0
  63. package/dist/RS/v3/to/default.js.map +1 -0
  64. package/dist/RS/v3/to/dependencies.d.ts +6 -0
  65. package/dist/RS/v3/to/dependencies.js +44 -0
  66. package/dist/RS/v3/to/dependencies.js.map +1 -0
  67. package/dist/RS/v3/to/destructure.d.ts +6 -0
  68. package/dist/RS/v3/to/destructure.js +45 -0
  69. package/dist/RS/v3/to/destructure.js.map +1 -0
  70. package/dist/RS/v3/to/dynamic-locked-times.d.ts +7 -0
  71. package/dist/RS/v3/to/dynamic-locked-times.js +110 -0
  72. package/dist/RS/v3/to/dynamic-locked-times.js.map +1 -0
  73. package/dist/RS/v3/to/groups.d.ts +6 -0
  74. package/dist/RS/v3/to/groups.js +57 -0
  75. package/dist/RS/v3/to/groups.js.map +1 -0
  76. package/dist/RS/v3/to/index.d.ts +23 -0
  77. package/dist/RS/v3/to/index.js +41 -0
  78. package/dist/RS/v3/to/index.js.map +1 -0
  79. package/dist/RS/v3/to/individuals.d.ts +11 -0
  80. package/dist/RS/v3/to/individuals.js +66 -0
  81. package/dist/RS/v3/to/individuals.js.map +1 -0
  82. package/dist/RS/v3/to/intervals.d.ts +4 -0
  83. package/dist/RS/v3/to/intervals.js +41 -0
  84. package/dist/RS/v3/to/intervals.js.map +1 -0
  85. package/dist/RS/v3/to/locked-times.d.ts +5 -0
  86. package/dist/RS/v3/to/locked-times.js +67 -0
  87. package/dist/RS/v3/to/locked-times.js.map +1 -0
  88. package/dist/RS/v3/to/periods.d.ts +10 -0
  89. package/dist/RS/v3/to/periods.js +62 -0
  90. package/dist/RS/v3/to/periods.js.map +1 -0
  91. package/dist/RS/v3/to/persons.d.ts +6 -0
  92. package/dist/RS/v3/to/persons.js +33 -0
  93. package/dist/RS/v3/to/persons.js.map +1 -0
  94. package/dist/RS/v3/to/root-intervals.d.ts +4 -0
  95. package/dist/RS/v3/to/root-intervals.js +25 -0
  96. package/dist/RS/v3/to/root-intervals.js.map +1 -0
  97. package/dist/RS/v3/to/schedules.d.ts +12 -0
  98. package/dist/RS/v3/to/schedules.js +28 -0
  99. package/dist/RS/v3/to/schedules.js.map +1 -0
  100. package/dist/RS/v3/to/settings.d.ts +4 -0
  101. package/dist/RS/v3/to/settings.js +24 -0
  102. package/dist/RS/v3/to/settings.js.map +1 -0
  103. package/dist/RS/v3/to/teachers.d.ts +6 -0
  104. package/dist/RS/v3/to/teachers.js +56 -0
  105. package/dist/RS/v3/to/teachers.js.map +1 -0
  106. package/dist/RS/v3/types/areas.d.ts +4 -0
  107. package/dist/RS/v3/types/areas.js +6 -0
  108. package/dist/RS/v3/types/areas.js.map +1 -0
  109. package/dist/RS/v3/types/available-dependencies.d.ts +4 -0
  110. package/dist/RS/v3/types/available-dependencies.js +6 -0
  111. package/dist/RS/v3/types/available-dependencies.js.map +1 -0
  112. package/dist/RS/v3/types/break-lengths.d.ts +6 -0
  113. package/dist/RS/v3/types/break-lengths.js +6 -0
  114. package/dist/RS/v3/types/break-lengths.js.map +1 -0
  115. package/dist/RS/v3/types/collections.d.ts +25 -0
  116. package/dist/RS/v3/types/collections.js +6 -0
  117. package/dist/RS/v3/types/collections.js.map +1 -0
  118. package/dist/RS/v3/types/configurations.d.ts +5 -0
  119. package/dist/RS/v3/types/configurations.js +6 -0
  120. package/dist/RS/v3/types/configurations.js.map +1 -0
  121. package/dist/RS/v3/types/constraints.d.ts +20 -0
  122. package/dist/RS/v3/types/constraints.js +6 -0
  123. package/dist/RS/v3/types/constraints.js.map +1 -0
  124. package/dist/RS/v3/types/course-events.d.ts +26 -0
  125. package/dist/RS/v3/types/course-events.js +6 -0
  126. package/dist/RS/v3/types/course-events.js.map +1 -0
  127. package/dist/RS/v3/types/days.d.ts +4 -0
  128. package/dist/RS/v3/types/days.js +6 -0
  129. package/dist/RS/v3/types/days.js.map +1 -0
  130. package/dist/RS/v3/types/default.d.ts +20 -0
  131. package/dist/RS/v3/types/default.js +6 -0
  132. package/dist/RS/v3/types/default.js.map +1 -0
  133. package/dist/RS/v3/types/dependencies.d.ts +12 -0
  134. package/dist/RS/v3/types/dependencies.js +6 -0
  135. package/dist/RS/v3/types/dependencies.js.map +1 -0
  136. package/dist/RS/v3/types/groups.d.ts +22 -0
  137. package/dist/RS/v3/types/groups.js +6 -0
  138. package/dist/RS/v3/types/groups.js.map +1 -0
  139. package/dist/RS/v3/types/index.d.ts +28 -0
  140. package/dist/RS/v3/types/index.js.map +1 -0
  141. package/dist/RS/v3/types/individuals.d.ts +6 -0
  142. package/dist/RS/v3/types/individuals.js +6 -0
  143. package/dist/RS/v3/types/individuals.js.map +1 -0
  144. package/dist/RS/v3/types/intervals.d.ts +5 -0
  145. package/dist/RS/v3/types/intervals.js +6 -0
  146. package/dist/RS/v3/types/intervals.js.map +1 -0
  147. package/dist/RS/v3/types/locked-times.d.ts +7 -0
  148. package/dist/RS/v3/types/locked-times.js +6 -0
  149. package/dist/RS/v3/types/locked-times.js.map +1 -0
  150. package/dist/RS/v3/types/out-options.d.ts +7 -0
  151. package/dist/RS/v3/types/out-options.js +6 -0
  152. package/dist/RS/v3/types/out-options.js.map +1 -0
  153. package/dist/RS/v3/types/placements.d.ts +8 -0
  154. package/dist/RS/v3/types/placements.js +6 -0
  155. package/dist/RS/v3/types/placements.js.map +1 -0
  156. package/dist/RS/v3/types/root-intervals.d.ts +5 -0
  157. package/dist/RS/v3/types/root-intervals.js +6 -0
  158. package/dist/RS/v3/types/root-intervals.js.map +1 -0
  159. package/dist/RS/v3/types/schedules.d.ts +14 -0
  160. package/dist/RS/v3/types/schedules.js +6 -0
  161. package/dist/RS/v3/types/schedules.js.map +1 -0
  162. package/dist/RS/v3/types/settings.d.ts +8 -0
  163. package/dist/RS/v3/types/settings.js +6 -0
  164. package/dist/RS/v3/types/settings.js.map +1 -0
  165. package/dist/SchoolSoft/file/old_to/index.d.ts +9 -0
  166. package/dist/SchoolSoft/file/old_to/index.js +17 -0
  167. package/dist/SchoolSoft/file/old_to/index.js.map +1 -0
  168. package/dist/SchoolSoft/file/old_to/schedules.d.ts +10 -0
  169. package/dist/SchoolSoft/file/old_to/schedules.js +109 -0
  170. package/dist/SchoolSoft/file/old_to/schedules.js.map +1 -0
  171. package/dist/SchoolSoft/file/to/index.d.ts +1 -0
  172. package/dist/SchoolSoft/file/to/schedules.d.ts +1 -0
  173. package/dist/SchoolSoft/file/to/schedules.js +3 -3
  174. package/dist/SchoolSoft/file/to/schedules.js.map +1 -1
  175. package/dist/SchoolSoft/from/index.d.ts +8 -0
  176. package/dist/SchoolSoft/from/index.js +16 -0
  177. package/dist/SchoolSoft/from/index.js.map +1 -0
  178. package/dist/SchoolSoft/from/schedules.d.ts +9 -0
  179. package/dist/SchoolSoft/from/schedules.js +221 -0
  180. package/dist/SchoolSoft/from/schedules.js.map +1 -0
  181. package/dist/SchoolSoft/to/index.d.ts +3 -0
  182. package/dist/SchoolSoft/to/index.js +16 -0
  183. package/dist/SchoolSoft/to/index.js.map +1 -0
  184. package/dist/SchoolSoft/to/schedules.d.ts +4 -0
  185. package/dist/SchoolSoft/to/schedules.js +36 -0
  186. package/dist/SchoolSoft/to/schedules.js.map +1 -0
  187. package/dist/SchoolSoft/types/events.d.ts +19 -0
  188. package/dist/SchoolSoft/types/events.js +6 -0
  189. package/dist/SchoolSoft/types/events.js.map +1 -0
  190. package/dist/SchoolSoft/types/index.d.ts +4 -0
  191. package/dist/SchoolSoft/types/index.js +6 -0
  192. package/dist/Skola24/types/Meta.d.ts +7 -0
  193. package/dist/Skola24/types/Meta.js +6 -0
  194. package/dist/Skola24/types/Meta.js.map +1 -0
  195. package/dist/core/constants/index.d.ts +71 -0
  196. package/dist/core/constants/index.js +136 -0
  197. package/dist/core/constants/index.js.map +1 -0
  198. package/dist/core/from/courses.js +0 -15
  199. package/dist/core/from/courses.js.map +1 -1
  200. package/dist/core/from/events.js +0 -15
  201. package/dist/core/from/events.js.map +1 -1
  202. package/dist/core/from/groups.js +0 -15
  203. package/dist/core/from/groups.js.map +1 -1
  204. package/dist/core/from/locations.js +0 -15
  205. package/dist/core/from/locations.js.map +1 -1
  206. package/dist/core/from/locked-times.js +0 -15
  207. package/dist/core/from/locked-times.js.map +1 -1
  208. package/dist/core/from/overlap-groups.js +0 -15
  209. package/dist/core/from/overlap-groups.js.map +1 -1
  210. package/dist/core/from/persons.js +0 -15
  211. package/dist/core/from/persons.js.map +1 -1
  212. package/dist/core/from/schedules.js +0 -15
  213. package/dist/core/from/schedules.js.map +1 -1
  214. package/dist/core/from/teachers.js +0 -15
  215. package/dist/core/from/teachers.js.map +1 -1
  216. package/dist/core/identify/index.d.ts +2 -0
  217. package/dist/core/identify/index.js +65 -0
  218. package/dist/core/identify/index.js.map +1 -0
  219. package/dist/core/to/available-locations.js +0 -15
  220. package/dist/core/to/available-locations.js.map +1 -1
  221. package/dist/core/to/courses.d.ts +1 -37
  222. package/dist/core/to/courses.js +10 -43
  223. package/dist/core/to/courses.js.map +1 -1
  224. package/dist/core/to/days.d.ts +1 -4
  225. package/dist/core/to/days.js +0 -15
  226. package/dist/core/to/days.js.map +1 -1
  227. package/dist/core/to/events.d.ts +1 -41
  228. package/dist/core/to/events.js +10 -43
  229. package/dist/core/to/events.js.map +1 -1
  230. package/dist/core/to/groups.d.ts +1 -15
  231. package/dist/core/to/groups.js +0 -15
  232. package/dist/core/to/groups.js.map +1 -1
  233. package/dist/core/to/intervals.d.ts +1 -4
  234. package/dist/core/to/intervals.js.map +1 -1
  235. package/dist/core/to/locations.js +0 -15
  236. package/dist/core/to/locations.js.map +1 -1
  237. package/dist/core/to/locked-times.d.ts +2 -2
  238. package/dist/core/to/locked-times.js +1 -16
  239. package/dist/core/to/locked-times.js.map +1 -1
  240. package/dist/core/to/overlap-groups.js +0 -15
  241. package/dist/core/to/overlap-groups.js.map +1 -1
  242. package/dist/core/to/persons.js +0 -15
  243. package/dist/core/to/persons.js.map +1 -1
  244. package/dist/core/to/schedules.js +1 -16
  245. package/dist/core/to/schedules.js.map +1 -1
  246. package/dist/core/to/settings.js +0 -15
  247. package/dist/core/to/settings.js.map +1 -1
  248. package/dist/core/to/teachers.js +0 -15
  249. package/dist/core/to/teachers.js.map +1 -1
  250. package/dist/core/types/available-locations.d.ts +1 -1
  251. package/dist/core/types/common/index.d.ts +2 -2
  252. package/dist/core/types/common/index.js +1 -0
  253. package/dist/core/types/common/index.js.map +1 -1
  254. package/dist/core/types/course-events.d.ts +4 -14
  255. package/dist/core/types/courses.d.ts +4 -15
  256. package/dist/core/types/division-settings.d.ts +1 -1
  257. package/dist/core/types/divisions.d.ts +1 -1
  258. package/dist/core/types/groups.d.ts +1 -1
  259. package/dist/core/types/identify.d.ts +10 -0
  260. package/dist/core/types/identify.js +6 -0
  261. package/dist/core/types/identify.js.map +1 -0
  262. package/dist/core/types/locations.d.ts +1 -1
  263. package/dist/core/types/locked-times.d.ts +1 -1
  264. package/dist/core/types/meta.d.ts +1 -1
  265. package/dist/core/types/overlap-groups.d.ts +1 -1
  266. package/dist/core/types/periods.d.ts +1 -1
  267. package/dist/core/types/persons.d.ts +1 -1
  268. package/dist/core/types/students.d.ts +8 -0
  269. package/dist/core/types/students.js +6 -0
  270. package/dist/core/types/students.js.map +1 -0
  271. package/dist/core/types/teachers.d.ts +3 -1
  272. package/dist/core/v2/from/calendar-exceptions.d.ts +2 -3
  273. package/dist/core/v2/from/calendar-exceptions.js +15 -15
  274. package/dist/core/v2/from/groups.d.ts +1 -0
  275. package/dist/core/v2/from/schedules.d.ts +1 -0
  276. package/dist/core/v2/to/calendar-exceptions.js +15 -15
  277. package/dist/core/v2/to/calendar-exceptions.js.map +1 -1
  278. package/dist/core/v2/to/groups.d.ts +1 -0
  279. package/dist/core/v2/to/groups.js +5 -1
  280. package/dist/core/v2/to/groups.js.map +1 -1
  281. package/dist/core/v2/to/schedules.d.ts +1 -0
  282. package/package.json +1 -1
  283. package/dist/core/types/common.d.ts +0 -26
  284. package/dist/core/types/common.js.map +0 -1
  285. package/dist/core/v2/types/common/index.d.ts +0 -26
  286. /package/dist/{core/v2/types/common → RS/v3/types}/index.js +0 -0
  287. /package/dist/{core/v2/types/common → SchoolSoft/types}/index.js.map +0 -0
@@ -0,0 +1,5 @@
1
+ import { Default } from '../types/default';
2
+ import { Types as CoreTypes } from '../../../core/types';
3
+ import { Deserialized } from '../../../core/types';
4
+ declare const _default: (settings: Deserialized<CoreTypes.divisionSettings>, periodMap: Map<string | undefined, number>) => Default;
5
+ export default _default;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
11
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
12
+ function toTime(str) {
13
+ return parseFloat(str.replace(':', '.'));
14
+ }
15
+ var _default = (settings, periodMap) => {
16
+ var _settings$period, _settings$defaultGrou, _settings$defaultDepe, _settings$defaultEven, _settings$potentialCe, _settings$defaultEven2, _settings$defaultEven3, _settings$defaultMaxN, _settings$defaultMaxN2, _settings$defaultDepe2, _settings$defaultGrou2, _settings$defaultDayR, _settings$defaultGrou3, _settings$defaultCour, _settings$defaultEven4, _settings$period2;
17
+ var {
18
+ dayStart,
19
+ dayEnd
20
+ } = settings;
21
+ if (!dayStart) throw new Error('(RS::V3::To::Default) "dayStart" is falsy');
22
+ if (!dayEnd) throw new Error('(RS::V3::To::Default) "dayEnd" is falsy');
23
+ if (periodMap.size && !periodMap.has((_settings$period = settings.period) === null || _settings$period === void 0 ? void 0 : _settings$period.id)) throw new Error('(RS::V3::To::Default) "period" is not in periodMap');
24
+ var res = _objectSpread({
25
+ intervals: [[{
26
+ beg: toTime(dayStart),
27
+ end: toTime(dayEnd)
28
+ }]],
29
+ groupMinBreakLength: (_settings$defaultGrou = settings.defaultGroupMinimumBreakLength) !== null && _settings$defaultGrou !== void 0 ? _settings$defaultGrou : 0,
30
+ dependencyMinBreakLength: (_settings$defaultDepe = settings.defaultDependencyMinimumBreakLength) !== null && _settings$defaultDepe !== void 0 ? _settings$defaultDepe : 0,
31
+ eventMinBreakLength: (_settings$defaultEven = settings.defaultEventMinimumBreakLength) !== null && _settings$defaultEven !== void 0 ? _settings$defaultEven : 0,
32
+ potentialCenter: toTime((_settings$potentialCe = settings.potentialCenter) !== null && _settings$potentialCe !== void 0 ? _settings$potentialCe : '12:00'),
33
+ eventDensity: (_settings$defaultEven2 = settings.defaultEventDensity) !== null && _settings$defaultEven2 !== void 0 ? _settings$defaultEven2 : 0,
34
+ maxEventLengthVariance: (_settings$defaultEven3 = settings.defaultEventDurationVariance) !== null && _settings$defaultEven3 !== void 0 ? _settings$defaultEven3 : 0,
35
+ maxNumWorkingHours: (_settings$defaultMaxN = settings.defaultMaxNumWorkingHours) !== null && _settings$defaultMaxN !== void 0 ? _settings$defaultMaxN : 40,
36
+ maxNumDailyWorkingHours: (_settings$defaultMaxN2 = settings.defaultMaxNumDailyWorkingHours) !== null && _settings$defaultMaxN2 !== void 0 ? _settings$defaultMaxN2 : 8,
37
+ dependencyRank: (_settings$defaultDepe2 = settings.defaultDependencyRank) !== null && _settings$defaultDepe2 !== void 0 ? _settings$defaultDepe2 : 0,
38
+ groupRank: (_settings$defaultGrou2 = settings.defaultGroupRank) !== null && _settings$defaultGrou2 !== void 0 ? _settings$defaultGrou2 : 0,
39
+ dayRank: (_settings$defaultDayR = settings.defaultDayRank) !== null && _settings$defaultDayR !== void 0 ? _settings$defaultDayR : 0,
40
+ groupWeight: (_settings$defaultGrou3 = settings.defaultGroupWeight) !== null && _settings$defaultGrou3 !== void 0 ? _settings$defaultGrou3 : 0,
41
+ collectionWeight: (_settings$defaultCour = settings.defaultCourseWeight) !== null && _settings$defaultCour !== void 0 ? _settings$defaultCour : 0,
42
+ eventWeight: (_settings$defaultEven4 = settings.defaultEventWeight) !== null && _settings$defaultEven4 !== void 0 ? _settings$defaultEven4 : 0
43
+ }, periodMap.size && {
44
+ period: periodMap.get((_settings$period2 = settings.period) === null || _settings$period2 === void 0 ? void 0 : _settings$period2.id)
45
+ });
46
+ return res;
47
+ };
48
+ exports.default = _default;
49
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","names":["toTime","str","parseFloat","replace","_default","settings","periodMap","_settings$period","_settings$defaultGrou","_settings$defaultDepe","_settings$defaultEven","_settings$potentialCe","_settings$defaultEven2","_settings$defaultEven3","_settings$defaultMaxN","_settings$defaultMaxN2","_settings$defaultDepe2","_settings$defaultGrou2","_settings$defaultDayR","_settings$defaultGrou3","_settings$defaultCour","_settings$defaultEven4","_settings$period2","dayStart","dayEnd","Error","size","has","period","id","res","_objectSpread","intervals","beg","end","groupMinBreakLength","defaultGroupMinimumBreakLength","dependencyMinBreakLength","defaultDependencyMinimumBreakLength","eventMinBreakLength","defaultEventMinimumBreakLength","potentialCenter","eventDensity","defaultEventDensity","maxEventLengthVariance","defaultEventDurationVariance","maxNumWorkingHours","defaultMaxNumWorkingHours","maxNumDailyWorkingHours","defaultMaxNumDailyWorkingHours","dependencyRank","defaultDependencyRank","groupRank","defaultGroupRank","dayRank","defaultDayRank","groupWeight","defaultGroupWeight","collectionWeight","defaultCourseWeight","eventWeight","defaultEventWeight","get","exports","default"],"sources":["../../../../src/RS/v3/to/default.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Dependency } from '../types/dependencies';
2
+ import { OutOptions } from '../types/out-options';
3
+ import { Types as CoreTypes } from '../../../core/types';
4
+ import { Deserialized } from '../../../core/types';
5
+ declare const _default: (locations: Deserialized<CoreTypes.location>[], settings: CoreTypes.divisionSettings, options: OutOptions) => Dependency[];
6
+ export default _default;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _days = _interopRequireDefault(require("./days"));
8
+ var _lockedTimes = _interopRequireDefault(require("./locked-times"));
9
+ var _breakLengths = _interopRequireDefault(require("./break-lengths"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
15
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
16
+ var _default = (locations, settings, options) => {
17
+ var idKey = options.idKey || 'id';
18
+ if (locations == null) return [];
19
+ return (Array.isArray(locations) ? locations : [locations]).map((location, index) => {
20
+ var _location$days, _location$lockedTimes;
21
+ if (location[idKey] == undefined) throw new Error("(RS::V3::To::Dependencies) A location must have an id, index: ".concat(index));
22
+ var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread({
23
+ id: location[idKey].toString()
24
+ }, location.area && {
25
+ area: location.area
26
+ }), ((_location$days = location.days) === null || _location$days === void 0 ? void 0 : _location$days.length) && {
27
+ days: (0, _days.default)(location.days, settings.numDays)
28
+ }), location.minBreakLength != null && {
29
+ minBreakLength: (0, _breakLengths.default)(location.minBreakLength)
30
+ }), ((_location$lockedTimes = location.lockedTimes) === null || _location$lockedTimes === void 0 ? void 0 : _location$lockedTimes.length) && {
31
+ lockedTimes: (0, _lockedTimes.default)(location.lockedTimes, options)
32
+ });
33
+ if (options.meta) {
34
+ Object.assign(doc, _objectSpread(_objectSpread({}, location.ids && {
35
+ ids: location.ids
36
+ }), location.displayName && {
37
+ name: location.displayName
38
+ }));
39
+ }
40
+ return doc;
41
+ });
42
+ };
43
+ exports.default = _default;
44
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.js","names":["_days","_interopRequireDefault","require","_lockedTimes","_breakLengths","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_default","locations","settings","options","idKey","Array","isArray","map","location","index","_location$days","_location$lockedTimes","Error","concat","doc","id","toString","area","days","numDays","minBreakLength","breakLengths","lockedTimes","meta","assign","ids","displayName","name","exports"],"sources":["../../../../src/RS/v3/to/dependencies.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { OutOptions } from '../types/out-options';
2
+ import { Types as CoreTypes } from '../../../core/types';
3
+ import { Deserialized } from '../../../core/types';
4
+ import { Individual } from '../types/individuals';
5
+ declare const _default: (courses: Deserialized<CoreTypes.course> | Deserialized<CoreTypes.course>[], events: Deserialized<import("../../../core/v2/types/events").Event> | Deserialized<import("../../../core/v2/types/events").Event>[] | undefined, groups: Deserialized<import("../../../core/v2/types/groups").Group>[] | undefined, settings: CoreTypes.divisionSettings, options: OutOptions) => Map<string | null, Individual>;
6
+ export default _default;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _individuals = require("./individuals");
8
+ var _default = exports.default = function _default(courses) {
9
+ var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
10
+ var groups = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
11
+ var settings = arguments.length > 3 ? arguments[3] : undefined;
12
+ var options = arguments.length > 4 ? arguments[4] : undefined;
13
+ var groupMembersMap = new Map();
14
+ groups.forEach(group => groupMembersMap.set(group.id, new Set(group.members)));
15
+ var destructMap = new Map();
16
+ var idKey = options.idKey || 'id';
17
+ courses = Array.isArray(courses) ? courses : [courses];
18
+ events = Array.isArray(events) ? events : [events];
19
+ courses.concat(events).forEach(source => {
20
+ if (!source[idKey]) throw new Error('(RS::V3::To::Destructure) A course/event does not have a unique key');
21
+ if (source.groups) {
22
+ source.groups.forEach(x => {
23
+ var _x$exclude, _x$to$idKey;
24
+ if (!((_x$exclude = x.exclude) !== null && _x$exclude !== void 0 && _x$exclude.length)) return;
25
+ var arr = [(_x$to$idKey = x.to[idKey]) === null || _x$to$idKey === void 0 ? void 0 : _x$to$idKey.toString()].concat(x.exclude.map(y => {
26
+ var _y$idKey;
27
+ return (_y$idKey = y[idKey]) === null || _y$idKey === void 0 ? void 0 : _y$idKey.toString();
28
+ }));
29
+ var key = arr.sort().join('.');
30
+ if (!destructMap.has(key)) {
31
+ var group = (0, _individuals.groupsToIndividuals)({
32
+ [idKey]: key,
33
+ members: Array.from(groupMembersMap.get(x.to.id)).filter(y => {
34
+ var _x$exclude2;
35
+ return !((_x$exclude2 = x.exclude) !== null && _x$exclude2 !== void 0 && _x$exclude2.some(z => z[idKey] == y[idKey]));
36
+ })
37
+ }, settings, options)[0];
38
+ destructMap.set(key, group);
39
+ }
40
+ });
41
+ }
42
+ });
43
+ return destructMap;
44
+ };
45
+ //# sourceMappingURL=destructure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destructure.js","names":["_individuals","require","_default","exports","default","courses","events","arguments","length","undefined","groups","settings","options","groupMembersMap","Map","forEach","group","set","id","Set","members","destructMap","idKey","Array","isArray","concat","source","Error","x","_x$exclude","_x$to$idKey","exclude","arr","to","toString","map","y","_y$idKey","key","sort","join","has","groupsToIndividuals","from","get","filter","_x$exclude2","some","z"],"sources":["../../../../src/RS/v3/to/destructure.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { OutOptions } from '../types/out-options';
2
+ import { CourseEvent } from '../types/course-events';
3
+ import { Individual } from '../types/individuals';
4
+ import { Types as CoreTypes } from '../../../core/types';
5
+ import { Deserialized } from '../../../core/types';
6
+ declare const _default: (docs: (Deserialized<CoreTypes.group> | Deserialized<CoreTypes.teacher>)[], settings: Deserialized<CoreTypes.divisionSettings>, options: OutOptions, set: Set<string>, destructMap?: Map<string | null, Individual>) => CourseEvent[];
7
+ export default _default;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _moment = _interopRequireDefault(require("moment"));
8
+ var _nanoid = require("nanoid");
9
+ var _lodash = _interopRequireDefault(require("lodash"));
10
+ var _intervals2 = _interopRequireDefault(require("./intervals"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
16
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
+ function mapCoalescedReferences(coalesced, options, destructMap) {
18
+ var idKey = options.idKey || 'id';
19
+ if (!coalesced) return [];
20
+ var teachers = coalesced.filter(x => x.toModel == 'teachers');
21
+ var groups = coalesced.filter(x => x.toModel == 'groups');
22
+ var participants = coalesced.filter(x => x.toModel == 'persons');
23
+ var teacherIds = teachers.map(_ref => {
24
+ var {
25
+ to
26
+ } = _ref;
27
+ return to[idKey];
28
+ }).filter(x => !!x).map(x => ({
29
+ individuals: ['teachers.individuals.' + x.toString()]
30
+ }));
31
+ var groupIds = groups.map(_ref2 => {
32
+ var {
33
+ to
34
+ } = _ref2;
35
+ return to[idKey];
36
+ }).filter(x => !!x).map(x => 'groups.' + x.toString());
37
+ var participantIds = participants.map(_ref3 => {
38
+ var {
39
+ to
40
+ } = _ref3;
41
+ return to[idKey];
42
+ }).filter(x => !!x).map(x => ({
43
+ individuals: ['persons.' + x.toString()]
44
+ }));
45
+ var out = [...new Set(teacherIds), ...new Set(groupIds), ...new Set(participantIds)].map(x => [x]);
46
+ return out;
47
+ }
48
+ var _default = (docs, settings, options, set, destructMap) => {
49
+ var _options$idKey;
50
+ var idKey = (_options$idKey = options.idKey) !== null && _options$idKey !== void 0 ? _options$idKey : 'id';
51
+ return docs.filter(x => !!x).reduce((acc, group) => {
52
+ var lunch = group.lunch;
53
+ if (lunch == null) {
54
+ var _settings$defaultLunc;
55
+ lunch = (_settings$defaultLunc = settings.defaultLunch) === null || _settings$defaultLunc === void 0 ? void 0 : _settings$defaultLunc.map(lunch => _objectSpread(_objectSpread({}, lunch), {}, {
56
+ coalesced: [{
57
+ to: _lodash.default.pick(group, idKey),
58
+ toModel: ''
59
+ }]
60
+ }));
61
+ }
62
+ if (lunch == null) return acc;
63
+ return acc.concat(lunch.reduce((acc, lockedTime) => {
64
+ var _toString, _ref4;
65
+ var {
66
+ _id,
67
+ intervals,
68
+ duration,
69
+ durationVariance,
70
+ coalesced
71
+ } = lockedTime;
72
+ var id = (_toString = (_ref4 = lockedTime[idKey] || _id) === null || _ref4 === void 0 ? void 0 : _ref4.toString()) !== null && _toString !== void 0 ? _toString : (0, _nanoid.nanoid)();
73
+ if (set.has(id)) return acc;
74
+ set.add(id);
75
+ if (duration == null) throw new Error('(RS::V3::To::DynamicLockedTimes) Length of a locked time is null');
76
+ if (duration < 5) throw new Error('(RS::V3::To::DynamicLockedTimes) Length of a locked time is less than 5 min');
77
+ if (!coalesced) throw new Error('(RS::V3::To::DynamicLockedTimes) Length of a locked time is less than 5 min');
78
+ var days = intervals === null || intervals === void 0 ? void 0 : intervals.map(_ref5 => {
79
+ var {
80
+ start
81
+ } = _ref5;
82
+ return ((0, _moment.default)(start).day() + 6) % 7;
83
+ });
84
+ if (days) days = [...new Set(days)];
85
+ var groups = mapCoalescedReferences(coalesced, options, destructMap);
86
+ return acc.concat(_objectSpread(_objectSpread({
87
+ id: "".concat(group.lunch == null ? 'virtual' : 'lockedtimes', ".").concat(id),
88
+ groups: [...new Set(groups.filter(Boolean))],
89
+ dependencies: [...new Set(coalesced.filter(x => x.toModel == 'locations').map(_ref6 => {
90
+ var _to$idKey;
91
+ var {
92
+ to
93
+ } = _ref6;
94
+ return (_to$idKey = to[idKey]) === null || _to$idKey === void 0 ? void 0 : _to$idKey.toString();
95
+ }).filter(Boolean))].map(x => [x]),
96
+ length: duration,
97
+ minBreakLength: false,
98
+ intervals: (0, _intervals2.default)(intervals, settings)
99
+ }, days && (days.length == 1 ? {
100
+ day: days[0]
101
+ } : {
102
+ days
103
+ })), durationVariance != null && {
104
+ maxLengthVariance: durationVariance
105
+ }));
106
+ }, []));
107
+ }, []).flat().filter(Boolean);
108
+ };
109
+ exports.default = _default;
110
+ //# sourceMappingURL=dynamic-locked-times.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-locked-times.js","names":["_moment","_interopRequireDefault","require","_nanoid","_lodash","_intervals2","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","mapCoalescedReferences","coalesced","options","destructMap","idKey","teachers","x","toModel","groups","participants","teacherIds","map","_ref","to","individuals","toString","groupIds","_ref2","participantIds","_ref3","out","Set","_default","docs","settings","set","_options$idKey","reduce","acc","group","lunch","_settings$defaultLunc","defaultLunch","_","pick","concat","lockedTime","_toString","_ref4","_id","intervals","duration","durationVariance","id","nanoid","has","add","Error","days","_ref5","start","moment","day","Boolean","dependencies","_ref6","_to$idKey","minBreakLength","_intervals","maxLengthVariance","flat","exports"],"sources":["../../../../src/RS/v3/to/dynamic-locked-times.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Group } from '../types/groups';
2
+ import { OutOptions } from '../types/out-options';
3
+ import { Types as CoreTypes } from '../../../core/types';
4
+ import { Deserialized } from '../../../core/types';
5
+ declare const _default: (groups: Deserialized<CoreTypes.group>[] | Deserialized<CoreTypes.group>, settings: CoreTypes.divisionSettings, options: OutOptions) => Group[];
6
+ export default _default;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _breakLengths = _interopRequireDefault(require("./break-lengths"));
8
+ var _days = _interopRequireDefault(require("./days"));
9
+ var _lockedTimes = _interopRequireDefault(require("./locked-times"));
10
+ var _intervals = _interopRequireDefault(require("./intervals"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
16
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
+ var _default = (groups, settings, options) => {
18
+ if (groups == null) return [];
19
+ var idKey = options.idKey || 'id';
20
+ return (Array.isArray(groups) ? groups : [groups]).filter(group => group.species == 'class').map((group, index) => {
21
+ var _group$intervals, _group$days, _group$lockedTimes;
22
+ if (group[idKey] == undefined) throw new Error("(RS::V3::To::Groups) A group must have an id, index: ".concat(index));
23
+ var hasIntervals = Boolean(((_group$intervals = group.intervals) === null || _group$intervals === void 0 ? void 0 : _group$intervals.length) || group.rootInterval);
24
+ var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
25
+ id: "groups.".concat(group[idKey].toString()),
26
+ group_type: 'classes'
27
+ }, 'maxNumWorkingHours' in group && {
28
+ maxNumWorkingHours: group.maxNumWorkingHours
29
+ }), 'disableDayLengthPunishment' in group && {
30
+ disableDayLengthPunishment: group.disableDayLengthPunishment
31
+ }), {}, {
32
+ minimizeDependencyAlternation: false
33
+ }, 'maxNumDailyWorkingHours' in group && {
34
+ maxNumDailyWorkingHours: group.maxNumDailyWorkingHours
35
+ }), 'weight' in group && {
36
+ weight: group.weight
37
+ }), hasIntervals && {
38
+ intervals: (0, _intervals.default)(group.intervals, settings, group.rootInterval)
39
+ }), ((_group$days = group.days) === null || _group$days === void 0 ? void 0 : _group$days.length) && {
40
+ days: (0, _days.default)(group.days, settings.numDays)
41
+ }), ((_group$lockedTimes = group.lockedTimes) === null || _group$lockedTimes === void 0 ? void 0 : _group$lockedTimes.length) && {
42
+ lockedTimes: (0, _lockedTimes.default)(group.lockedTimes, options)
43
+ }), group.minBreakLength != null && {
44
+ minBreakLength: (0, _breakLengths.default)(group.minBreakLength)
45
+ });
46
+ if (options.meta) {
47
+ Object.assign(doc, _objectSpread(_objectSpread({}, group.ids && {
48
+ ids: group.ids
49
+ }), group.displayName && {
50
+ name: group.displayName
51
+ }));
52
+ }
53
+ return doc;
54
+ }, []);
55
+ };
56
+ exports.default = _default;
57
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","names":["_breakLengths","_interopRequireDefault","require","_days","_lockedTimes","_intervals","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_default","groups","settings","options","idKey","Array","isArray","group","species","map","index","_group$intervals","_group$days","_group$lockedTimes","Error","concat","hasIntervals","Boolean","intervals","rootInterval","doc","id","toString","group_type","maxNumWorkingHours","disableDayLengthPunishment","minimizeDependencyAlternation","maxNumDailyWorkingHours","weight","days","numDays","lockedTimes","minBreakLength","breakLengths","meta","assign","ids","displayName","name","exports"],"sources":["../../../../src/RS/v3/to/groups.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export default class {
2
+ static availableDependency: (availableLocations: import("../../../core/types").Deserialized<import("../../../core/v2/types/available-locations").AvailableLocationBare>[], options: import("../types/out-options").OutOptions) => import("../types/available-dependencies").AvailableDependency[][];
3
+ static configuration: (events: import("../../../core/types").Deserialized<import("../../../core/v2/types/events").Event>[], options: import("../types/out-options").OutOptions) => import("../types/configurations").Configuration[];
4
+ static constraints: (schedule: import("../../../core/types").Deserialized<import("../../../core/v2/types/schedules").Schedule>, options?: import("../types/out-options").OutOptions) => import("../types/constraints").Constraint;
5
+ static courseEvent: (courseEvents: import("../../../core/types").Deserialized<import("../../../core/v2/types/events").Event> | import("../../../core/types").Deserialized<import("../../../core/v2/types/events").Event>[], overlapGroups: import("../../../core/types").Deserialized<import("../../../core/v2/types/overlap-groups").OverlapGroup>[] | undefined, settings: import("../../../core/v2/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions, periodsMap: Map<string | undefined, number>, destructMap?: Map<string | null, import("../types/individuals").Individual>) => import("../types/course-events").CourseEvent[];
6
+ static course: (courses: import("../../../core/types").Deserialized<import("../../../core/v2/types/courses").Course> | import("../../../core/types").Deserialized<import("../../../core/v2/types/courses").Course>[], events: import("../../../core/types").Deserialized<import("../../../core/v2/types/events").Event>[] | undefined, overlapGroups: import("../../../core/types").Deserialized<import("../../../core/v2/types/overlap-groups").OverlapGroup>[] | undefined, settings: import("../../../core/v2/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions, periodsMap: Map<string | undefined, number>, destructMap?: Map<string | null, import("../types/individuals").Individual>) => (import("../types/collections").Collection | import("../types/collections").Collection[])[];
7
+ static day: (days: import("../../../core/v2/types/days").Day[], numDays: number) => number[];
8
+ static dependency: (locations: import("../../../core/types").Deserialized<import("../../../core/v2/types/locations").Location>[], settings: import("../../../core/v2/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions) => import("../types/dependencies").Dependency[];
9
+ static group: (groups: import("../../../core/types").Deserialized<import("../../../core/v2/types/groups").Group> | import("../../../core/types").Deserialized<import("../../../core/v2/types/groups").Group>[], settings: import("../../../core/v2/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions) => import("../types/groups").Group[];
10
+ static interval: (intervals: import("../../../core/v2/types/intervals").Interval[] | undefined, settings: import("../../../core/v2/types/division-settings").DivisionSettings, rootInterval?: import("../../../core/v2/types/root-intervals").RootInterval | undefined) => import("../types/intervals").Interval[][];
11
+ static lockedTime: (lockedTimes: import("../../../core/v2/types/locked-times").LockedTime | import("../../../core/v2/types/locked-times").LockedTime[], options: import("../types/out-options").OutOptions) => import("../types/locked-times").LockedTime[];
12
+ static persons: (persons: import("../../../core/types").Deserialized<import("../../../core/v2/types/persons").Person> | import("../../../core/types").Deserialized<import("../../../core/v2/types/persons").Person>[], settings: import("../../../core/v2/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions) => import("../types/groups").Group[];
13
+ static schedules: (schedule: import("../../../core/types").Deserialized<import("../../../core/v2/types/schedules").Schedule>, options?: import("../types/out-options").OutOptions) => {
14
+ output: import("../types/configurations").Configuration[];
15
+ meta: {
16
+ structure: "RS/algorithm-3.0.0";
17
+ division: Pick<import("../../../core/types").Deserialized<import("../../../core/v2/types/divisions").Division>, "end" | "start" | "displayName">;
18
+ };
19
+ input: import("../types/constraints").Constraint;
20
+ };
21
+ static setting: (settings: import("../../../core/v2/types/division-settings").DivisionSettings) => import("../types/settings").Settings;
22
+ static teacher: (teachers: import("../../../core/types").Deserialized<import("../../../core/v2/types/teachers").Teacher> | import("../../../core/types").Deserialized<import("../../../core/v2/types/teachers").Teacher>[], settings: import("../../../core/v2/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions) => import("../types/groups").Group[];
23
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _availableDependencies = _interopRequireDefault(require("./available-dependencies"));
8
+ var _configurations = _interopRequireDefault(require("./configurations"));
9
+ var _constraints2 = _interopRequireDefault(require("./constraints"));
10
+ var _courseEvents = _interopRequireDefault(require("./course-events"));
11
+ var _collections = _interopRequireDefault(require("./collections"));
12
+ var _days = _interopRequireDefault(require("./days"));
13
+ var _dependencies = _interopRequireDefault(require("./dependencies"));
14
+ var _groups = _interopRequireDefault(require("./groups"));
15
+ var _intervals = _interopRequireDefault(require("./intervals"));
16
+ var _lockedTimes = _interopRequireDefault(require("./locked-times"));
17
+ var _persons2 = _interopRequireDefault(require("./persons"));
18
+ var _schedules2 = _interopRequireDefault(require("./schedules"));
19
+ var _settings = _interopRequireDefault(require("./settings"));
20
+ var _teachers = _interopRequireDefault(require("./teachers"));
21
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
24
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
25
+ class default_1 {}
26
+ exports.default = default_1;
27
+ _defineProperty(default_1, "availableDependency", _availableDependencies.default);
28
+ _defineProperty(default_1, "configuration", _configurations.default);
29
+ _defineProperty(default_1, "constraints", _constraints2.default);
30
+ _defineProperty(default_1, "courseEvent", _courseEvents.default);
31
+ _defineProperty(default_1, "course", _collections.default);
32
+ _defineProperty(default_1, "day", _days.default);
33
+ _defineProperty(default_1, "dependency", _dependencies.default);
34
+ _defineProperty(default_1, "group", _groups.default);
35
+ _defineProperty(default_1, "interval", _intervals.default);
36
+ _defineProperty(default_1, "lockedTime", _lockedTimes.default);
37
+ _defineProperty(default_1, "persons", _persons2.default);
38
+ _defineProperty(default_1, "schedules", _schedules2.default);
39
+ _defineProperty(default_1, "setting", _settings.default);
40
+ _defineProperty(default_1, "teacher", _teachers.default);
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_availableDependencies","_interopRequireDefault","require","_configurations","_constraints2","_courseEvents","_collections","_days","_dependencies","_groups","_intervals","_lockedTimes","_persons2","_schedules2","_settings","_teachers","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","default_1","_availableDependency","_configuration","_constraints","_courseEvent","_collection","_day","_dependency","_group","_interval","_lockedTime","_persons","_schedules","_setting","_teacher"],"sources":["../../../../src/RS/v3/to/index.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,KAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,OAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,UAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,YAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,SAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,WAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,SAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,SAAA,GAAAd,sBAAA,CAAAC,OAAA;AAA6D,SAAAD,uBAAAe,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAE/C,MAAAU,SAAA;;gBAAAA,SAAA,yBACiBC,8BAAoB;AAAAvB,eAAA,CADrCsB,SAAA,mBAEiBE,uBAAc;AAAAxB,eAAA,CAF/BsB,SAAA,iBAGiBG,qBAAY;AAAAzB,eAAA,CAH7BsB,SAAA,iBAIiBI,qBAAY;AAAA1B,eAAA,CAJ7BsB,SAAA,YAKiBK,oBAAW;AAAA3B,eAAA,CAL5BsB,SAAA,SAMiBM,aAAI;AAAA5B,eAAA,CANrBsB,SAAA,gBAOiBO,qBAAW;AAAA7B,eAAA,CAP5BsB,SAAA,WAQiBQ,eAAM;AAAA9B,eAAA,CARvBsB,SAAA,cASiBS,kBAAS;AAAA/B,eAAA,CAT1BsB,SAAA,gBAUiBU,oBAAW;AAAAhC,eAAA,CAV5BsB,SAAA,aAWiBW,iBAAQ;AAAAjC,eAAA,CAXzBsB,SAAA,eAYiBY,mBAAU;AAAAlC,eAAA,CAZ3BsB,SAAA,aAaiBa,iBAAQ;AAAAnC,eAAA,CAbzBsB,SAAA,aAciBc,iBAAQ"}
@@ -0,0 +1,11 @@
1
+ import { OutOptions } from '../types/out-options';
2
+ import { Types as CoreTypes } from '../../../core/types';
3
+ import { Deserialized } from '../../../core/types';
4
+ import { Individual } from '../types/individuals';
5
+ type GroupType = Exclude<Deserialized<CoreTypes.group>, {
6
+ species: string;
7
+ }>;
8
+ export declare function groupsToIndividuals(groups: GroupType[] | GroupType, settings: CoreTypes.divisionSettings, options: OutOptions): Individual[];
9
+ export declare function personsToIndividuals(persons: Deserialized<CoreTypes.person>[] | Deserialized<CoreTypes.person>, settings: CoreTypes.divisionSettings, options: OutOptions): Individual[];
10
+ export declare function teachersToIndividuals(teachers: Deserialized<CoreTypes.teacher>[] | Deserialized<CoreTypes.teacher>, settings: CoreTypes.divisionSettings, options: OutOptions): Individual[];
11
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.groupsToIndividuals = groupsToIndividuals;
7
+ exports.personsToIndividuals = personsToIndividuals;
8
+ exports.teachersToIndividuals = teachersToIndividuals;
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
13
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
14
+ function groupsToIndividuals(groups, settings, options) {
15
+ if (groups == null) return [];
16
+ var idKey = options.idKey || 'id';
17
+ return (Array.isArray(groups) ? groups : [groups]).filter(group => group.species == null).map((group, index) => {
18
+ var _group$members;
19
+ if (group[idKey] == undefined) throw new Error("(RS::V3::To::Individuals) A group must have an id, index: ".concat(index));
20
+ var doc = {
21
+ id: "groups.".concat(group[idKey].toString()),
22
+ individuals: ((_group$members = group.members) === null || _group$members === void 0 ? void 0 : _group$members.map(member => "persons.".concat(member[idKey]))) || []
23
+ };
24
+ if (options.meta) {
25
+ Object.assign(doc, _objectSpread(_objectSpread({}, group.ids && {
26
+ ids: group.ids
27
+ }), group.displayName && {
28
+ name: group.displayName
29
+ }));
30
+ }
31
+ return doc;
32
+ }, []);
33
+ }
34
+ function personsToIndividuals(persons, settings, options) {
35
+ if (persons == null) return [];
36
+ var idKey = options.idKey || 'id';
37
+ return (Array.isArray(persons) ? persons : [persons]).map((person, index) => {
38
+ if (person[idKey] == undefined) throw new Error("(RS::V3::To::Individuals) A person must have an id, index: ".concat(index));
39
+ var doc = _objectSpread({
40
+ id: "persons.".concat(person[idKey].toString())
41
+ }, person.group && {
42
+ group: "groups.".concat(person.group[idKey].toString())
43
+ });
44
+ if (options.meta) {
45
+ Object.assign(doc, _objectSpread(_objectSpread({}, person.ids && {
46
+ ids: person.ids
47
+ }), person.displayName && {
48
+ name: person.displayName
49
+ }));
50
+ }
51
+ return doc;
52
+ }, []);
53
+ }
54
+ function teachersToIndividuals(teachers, settings, options) {
55
+ if (teachers == null) return [];
56
+ var idKey = options.idKey || 'id';
57
+ return (Array.isArray(teachers) ? teachers : [teachers]).map((person, index) => {
58
+ if (person[idKey] == undefined) throw new Error("(RS::V3::To::Individuals) A teacher must have an id, index: ".concat(index));
59
+ var doc = {
60
+ id: "teachers.individuals.".concat(person[idKey].toString()),
61
+ group: "teachers.".concat(person[idKey].toString())
62
+ };
63
+ return doc;
64
+ }, []);
65
+ }
66
+ //# sourceMappingURL=individuals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"individuals.js","names":["groupsToIndividuals","groups","settings","options","idKey","Array","isArray","filter","group","species","map","index","_group$members","undefined","Error","concat","doc","id","toString","individuals","members","member","meta","Object","assign","_objectSpread","ids","displayName","name","personsToIndividuals","persons","person","teachersToIndividuals","teachers"],"sources":["../../../../src/RS/v3/to/individuals.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Interval } from '../types/intervals';
2
+ import { Types as CoreTypes } from '../../../core/types';
3
+ declare const _default: (intervals: CoreTypes.interval[] | undefined, settings: CoreTypes.divisionSettings, rootInterval?: import("../../../core/v2/types/root-intervals").RootInterval | undefined) => Interval[][];
4
+ export default _default;