@royalschedule/maps 2.0.4 → 2.0.8

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 (175) hide show
  1. package/dist/RS/index.d.ts +3 -0
  2. package/dist/RS/index.js +3 -0
  3. package/dist/RS/index.js.map +1 -1
  4. package/dist/RS/v2/from/available-dependencies.d.ts +3 -0
  5. package/dist/RS/v2/from/available-dependencies.js +59 -0
  6. package/dist/RS/v2/from/available-dependencies.js.map +1 -0
  7. package/dist/RS/v2/from/break-lengths.d.ts +3 -0
  8. package/dist/RS/v2/from/break-lengths.js +25 -0
  9. package/dist/RS/v2/from/break-lengths.js.map +1 -0
  10. package/dist/RS/v2/from/collections.d.ts +5 -0
  11. package/dist/RS/v2/from/collections.js +94 -0
  12. package/dist/RS/v2/from/collections.js.map +1 -0
  13. package/dist/RS/v2/from/course-events.d.ts +5 -0
  14. package/dist/RS/v2/from/course-events.js +113 -0
  15. package/dist/RS/v2/from/course-events.js.map +1 -0
  16. package/dist/RS/v2/from/days.d.ts +4 -0
  17. package/dist/RS/v2/from/days.js +26 -0
  18. package/dist/RS/v2/from/days.js.map +1 -0
  19. package/dist/RS/v2/from/dependencies.d.ts +4 -0
  20. package/dist/RS/v2/from/dependencies.js +59 -0
  21. package/dist/RS/v2/from/dependencies.js.map +1 -0
  22. package/dist/RS/v2/from/groups.d.ts +5 -0
  23. package/dist/RS/v2/from/groups.js +63 -0
  24. package/dist/RS/v2/from/groups.js.map +1 -0
  25. package/dist/RS/v2/from/index.d.ts +16 -0
  26. package/dist/RS/v2/from/index.js +49 -0
  27. package/dist/RS/v2/from/index.js.map +1 -0
  28. package/dist/RS/v2/from/intervals.d.ts +4 -0
  29. package/dist/RS/v2/from/intervals.js +28 -0
  30. package/dist/RS/v2/from/intervals.js.map +1 -0
  31. package/dist/RS/v2/from/locked-times.d.ts +4 -0
  32. package/dist/RS/v2/from/locked-times.js +28 -0
  33. package/dist/RS/v2/from/locked-times.js.map +1 -0
  34. package/dist/RS/v2/from/placements.d.ts +7 -0
  35. package/dist/RS/v2/from/placements.js +32 -0
  36. package/dist/RS/v2/from/placements.js.map +1 -0
  37. package/dist/RS/v2/from/schedules.d.ts +4 -0
  38. package/dist/RS/v2/from/schedules.js +92 -0
  39. package/dist/RS/v2/from/schedules.js.map +1 -0
  40. package/dist/RS/v2/from/settings.d.ts +5 -0
  41. package/dist/RS/v2/from/settings.js +39 -0
  42. package/dist/RS/v2/from/settings.js.map +1 -0
  43. package/dist/RS/v2/from/teachers.d.ts +4 -0
  44. package/dist/RS/v2/from/teachers.js +62 -0
  45. package/dist/RS/v2/from/teachers.js.map +1 -0
  46. package/dist/RS/v2/index.d.ts +7 -0
  47. package/dist/RS/v2/index.js +36 -0
  48. package/dist/RS/v2/index.js.map +1 -0
  49. package/dist/RS/v2/to/available-dependencies.d.ts +5 -0
  50. package/dist/RS/v2/to/available-dependencies.js +43 -0
  51. package/dist/RS/v2/to/available-dependencies.js.map +1 -0
  52. package/dist/RS/v2/to/break-lengths.d.ts +4 -0
  53. package/dist/RS/v2/to/break-lengths.js +28 -0
  54. package/dist/RS/v2/to/break-lengths.js.map +1 -0
  55. package/dist/RS/v2/to/collections.d.ts +7 -0
  56. package/dist/RS/v2/to/collections.js +105 -0
  57. package/dist/RS/v2/to/collections.js.map +1 -0
  58. package/dist/RS/v2/to/configurations.d.ts +5 -0
  59. package/dist/RS/v2/to/configurations.js +35 -0
  60. package/dist/RS/v2/to/configurations.js.map +1 -0
  61. package/dist/RS/v2/to/constraints.d.ts +5 -0
  62. package/dist/RS/v2/to/constraints.js +60 -0
  63. package/dist/RS/v2/to/constraints.js.map +1 -0
  64. package/dist/RS/v2/to/course-events/common.d.ts +1 -0
  65. package/dist/RS/v2/to/course-events/common.js +12 -0
  66. package/dist/RS/v2/to/course-events/common.js.map +1 -0
  67. package/dist/RS/v2/to/course-events/days.d.ts +8 -0
  68. package/dist/RS/v2/to/course-events/days.js +23 -0
  69. package/dist/RS/v2/to/course-events/days.js.map +1 -0
  70. package/dist/RS/v2/to/course-events/dependencies.d.ts +8 -0
  71. package/dist/RS/v2/to/course-events/dependencies.js +26 -0
  72. package/dist/RS/v2/to/course-events/dependencies.js.map +1 -0
  73. package/dist/RS/v2/to/course-events/groups.d.ts +9 -0
  74. package/dist/RS/v2/to/course-events/groups.js +43 -0
  75. package/dist/RS/v2/to/course-events/groups.js.map +1 -0
  76. package/dist/RS/v2/to/course-events/in-locations.d.ts +3 -0
  77. package/dist/RS/v2/to/course-events/in-locations.js +26 -0
  78. package/dist/RS/v2/to/course-events/in-locations.js.map +1 -0
  79. package/dist/RS/v2/to/course-events/index.d.ts +5 -0
  80. package/dist/RS/v2/to/course-events/index.js +85 -0
  81. package/dist/RS/v2/to/course-events/index.js.map +1 -0
  82. package/dist/RS/v2/to/course-events/intervals.d.ts +8 -0
  83. package/dist/RS/v2/to/course-events/intervals.js +20 -0
  84. package/dist/RS/v2/to/course-events/intervals.js.map +1 -0
  85. package/dist/RS/v2/to/course-events/meta.d.ts +15 -0
  86. package/dist/RS/v2/to/course-events/meta.js +39 -0
  87. package/dist/RS/v2/to/course-events/meta.js.map +1 -0
  88. package/dist/RS/v2/to/days.d.ts +4 -0
  89. package/dist/RS/v2/to/days.js +20 -0
  90. package/dist/RS/v2/to/days.js.map +1 -0
  91. package/dist/RS/v2/to/default.d.ts +4 -0
  92. package/dist/RS/v2/to/default.js +44 -0
  93. package/dist/RS/v2/to/default.js.map +1 -0
  94. package/dist/RS/v2/to/dependencies.d.ts +5 -0
  95. package/dist/RS/v2/to/dependencies.js +55 -0
  96. package/dist/RS/v2/to/dependencies.js.map +1 -0
  97. package/dist/RS/v2/to/groups.d.ts +5 -0
  98. package/dist/RS/v2/to/groups.js +69 -0
  99. package/dist/RS/v2/to/groups.js.map +1 -0
  100. package/dist/RS/v2/to/index.d.ts +15 -0
  101. package/dist/RS/v2/to/index.js +52 -0
  102. package/dist/RS/v2/to/index.js.map +1 -0
  103. package/dist/RS/v2/to/intervals.d.ts +4 -0
  104. package/dist/RS/v2/to/intervals.js +24 -0
  105. package/dist/RS/v2/to/intervals.js.map +1 -0
  106. package/dist/RS/v2/to/locked-times.d.ts +5 -0
  107. package/dist/RS/v2/to/locked-times.js +81 -0
  108. package/dist/RS/v2/to/locked-times.js.map +1 -0
  109. package/dist/RS/v2/to/schedules.d.ts +5 -0
  110. package/dist/RS/v2/to/schedules.js +36 -0
  111. package/dist/RS/v2/to/schedules.js.map +1 -0
  112. package/dist/RS/v2/to/settings.d.ts +4 -0
  113. package/dist/RS/v2/to/settings.js +26 -0
  114. package/dist/RS/v2/to/settings.js.map +1 -0
  115. package/dist/RS/v2/to/teachers.d.ts +5 -0
  116. package/dist/RS/v2/to/teachers.js +69 -0
  117. package/dist/RS/v2/to/teachers.js.map +1 -0
  118. package/dist/RS/v2/types/areas.d.ts +4 -0
  119. package/dist/RS/v2/types/areas.js +6 -0
  120. package/dist/RS/v2/types/areas.js.map +1 -0
  121. package/dist/RS/v2/types/available-dependencies.d.ts +4 -0
  122. package/dist/RS/v2/types/available-dependencies.js +6 -0
  123. package/dist/RS/v2/types/available-dependencies.js.map +1 -0
  124. package/dist/RS/v2/types/break-lengths.d.ts +6 -0
  125. package/dist/RS/v2/types/break-lengths.js +6 -0
  126. package/dist/RS/v2/types/break-lengths.js.map +1 -0
  127. package/dist/RS/v2/types/collections.d.ts +22 -0
  128. package/dist/RS/v2/types/collections.js +6 -0
  129. package/dist/RS/v2/types/collections.js.map +1 -0
  130. package/dist/RS/v2/types/configurations.d.ts +5 -0
  131. package/dist/RS/v2/types/configurations.js +6 -0
  132. package/dist/RS/v2/types/configurations.js.map +1 -0
  133. package/dist/RS/v2/types/constraints.d.ts +14 -0
  134. package/dist/RS/v2/types/constraints.js +6 -0
  135. package/dist/RS/v2/types/constraints.js.map +1 -0
  136. package/dist/RS/v2/types/course-events.d.ts +21 -0
  137. package/dist/RS/v2/types/course-events.js +6 -0
  138. package/dist/RS/v2/types/course-events.js.map +1 -0
  139. package/dist/RS/v2/types/days.d.ts +4 -0
  140. package/dist/RS/v2/types/days.js +6 -0
  141. package/dist/RS/v2/types/days.js.map +1 -0
  142. package/dist/RS/v2/types/default.d.ts +18 -0
  143. package/dist/RS/v2/types/default.js +6 -0
  144. package/dist/RS/v2/types/default.js.map +1 -0
  145. package/dist/RS/v2/types/dependencies.d.ts +12 -0
  146. package/dist/RS/v2/types/dependencies.js +6 -0
  147. package/dist/RS/v2/types/dependencies.js.map +1 -0
  148. package/dist/RS/v2/types/groups.d.ts +22 -0
  149. package/dist/RS/v2/types/groups.js +6 -0
  150. package/dist/RS/v2/types/groups.js.map +1 -0
  151. package/dist/RS/v2/types/index.d.ts +28 -0
  152. package/dist/RS/v2/types/index.js +6 -0
  153. package/dist/RS/v2/types/index.js.map +1 -0
  154. package/dist/RS/v2/types/intervals.d.ts +4 -0
  155. package/dist/RS/v2/types/intervals.js +6 -0
  156. package/dist/RS/v2/types/intervals.js.map +1 -0
  157. package/dist/RS/v2/types/locked-times.d.ts +7 -0
  158. package/dist/RS/v2/types/locked-times.js +6 -0
  159. package/dist/RS/v2/types/locked-times.js.map +1 -0
  160. package/dist/RS/v2/types/out-options.d.ts +7 -0
  161. package/dist/RS/v2/types/out-options.js +6 -0
  162. package/dist/RS/v2/types/out-options.js.map +1 -0
  163. package/dist/RS/v2/types/placements.d.ts +8 -0
  164. package/dist/RS/v2/types/placements.js +6 -0
  165. package/dist/RS/v2/types/placements.js.map +1 -0
  166. package/dist/RS/v2/types/schedules.d.ts +12 -0
  167. package/dist/RS/v2/types/schedules.js +6 -0
  168. package/dist/RS/v2/types/schedules.js.map +1 -0
  169. package/dist/RS/v2/types/settings.d.ts +12 -0
  170. package/dist/RS/v2/types/settings.js +6 -0
  171. package/dist/RS/v2/types/settings.js.map +1 -0
  172. package/dist/core/identify/index.js +9 -0
  173. package/dist/core/identify/index.js.map +1 -1
  174. package/dist/core/types/division-settings.d.ts +7 -6
  175. package/package.json +1 -1
@@ -0,0 +1,4 @@
1
+ import { Interval } from '../types/intervals';
2
+ import { Interval as SourceInterval } from '../../../core/types/intervals';
3
+ declare const _default: (intervals: Interval[]) => SourceInterval[];
4
+ export default _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _getDate = _interopRequireDefault(require("../../../common/get-date"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var _default = intervals => {
13
+ return intervals.map(interval => {
14
+ var {
15
+ beg,
16
+ end
17
+ } = interval;
18
+ if (beg == null) throw new Error('Interval beg is undefined');
19
+ if (end == null) throw new Error('Interval end is undefined');
20
+ return {
21
+ start: (0, _getDate.default)(0, beg.toFixed(2).replace('.', ':')),
22
+ end: (0, _getDate.default)(0, end.toFixed(2).replace('.', ':'))
23
+ };
24
+ });
25
+ };
26
+
27
+ exports.default = _default;
28
+ //# sourceMappingURL=intervals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/intervals.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;eAKgB,SAAD,IAA4C;AACzD,SAAO,SAAS,CAAC,GAAV,CAAe,QAAD,IAAuB;AAC1C,QAAM;AAAE,MAAA,GAAF;AAAO,MAAA;AAAP,QAAe,QAArB;AAEA,QAAI,GAAG,IAAI,IAAX,EAAiB,MAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACjB,QAAI,GAAG,IAAI,IAAX,EAAiB,MAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AAEjB,WAAO;AACL,MAAA,KAAK,EAAE,sBAAQ,CAAR,EAAW,GAAG,CAAC,OAAJ,CAAY,CAAZ,EAAe,OAAf,CAAuB,GAAvB,EAA4B,GAA5B,CAAX,CADF;AAEL,MAAA,GAAG,EAAI,sBAAQ,CAAR,EAAW,GAAG,CAAC,OAAJ,CAAY,CAAZ,EAAe,OAAf,CAAuB,GAAvB,EAA4B,GAA5B,CAAX;AAFF,KAAP;AAID,GAVM,CAAP;AAWD,C","sourceRoot":"","file":"intervals.js"}
@@ -0,0 +1,4 @@
1
+ import { LockedTime } from '../types/locked-times';
2
+ import { LockedTime as SourceLockedTime } from '../../../core/types/locked-times';
3
+ declare const _default: (lockedTimes: LockedTime[]) => SourceLockedTime[];
4
+ export default _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _getDate = _interopRequireDefault(require("../../../common/get-date"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var _default = lockedTimes => {
13
+ return lockedTimes.reduce((acc, lockedTime) => {
14
+ if (lockedTime.day == null) throw new Error('A locked time missing days field');
15
+ if (lockedTime.start == null) throw new Error('A locked time missing start field');
16
+ if (!lockedTime.length) throw new Error('A locked time missing length field');
17
+ var start = (0, _getDate.default)(lockedTime.day, lockedTime.start.toFixed(2).replace('.', ':'));
18
+ var end = start.clone().add(lockedTime.length, 'minutes');
19
+ return acc.concat({
20
+ displayName: lockedTime.name,
21
+ start: start,
22
+ end: end
23
+ });
24
+ }, []);
25
+ };
26
+
27
+ exports.default = _default;
28
+ //# sourceMappingURL=locked-times.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/locked-times.ts"],"names":[],"mappings":";;;;;;;AAEA;;;;eAMgB,WAAD,IAAkD;AAC/D,SAAO,WAAW,CAAC,MAAZ,CAAmB,CAAC,GAAD,EAAW,UAAX,KAAqC;AAE7D,QAAI,UAAU,CAAC,GAAX,IAAkB,IAAtB,EACE,MAAM,IAAI,KAAJ,CAAU,kCAAV,CAAN;AAEF,QAAI,UAAU,CAAC,KAAX,IAAoB,IAAxB,EACE,MAAM,IAAI,KAAJ,CAAU,mCAAV,CAAN;AAEF,QAAI,CAAE,UAAU,CAAC,MAAjB,EACE,MAAM,IAAI,KAAJ,CAAU,oCAAV,CAAN;AAEF,QAAM,KAAK,GAAG,sBAAQ,UAAU,CAAC,GAAnB,EAAwB,UAAU,CAAC,KAAX,CAAkB,OAAlB,CAA0B,CAA1B,EAA6B,OAA7B,CAAqC,GAArC,EAA0C,GAA1C,CAAxB,CAAd;AACA,QAAM,GAAG,GAAK,KAAK,CAAC,KAAN,GAAc,GAAd,CAAkB,UAAU,CAAC,MAA7B,EAAqC,SAArC,CAAd;AAEA,WAAO,GAAG,CAAC,MAAJ,CAAW;AAChB,MAAA,WAAW,EAAE,UAAU,CAAC,IADR;AAEhB,MAAA,KAAK,EAAQ,KAFG;AAGhB,MAAA,GAAG,EAAU;AAHG,KAAX,CAAP;AAKD,GAnBM,EAmBJ,EAnBI,CAAP;AAoBD,C","sourceRoot":"","file":"locked-times.js"}
@@ -0,0 +1,7 @@
1
+ import { Configuration } from '../types/configurations';
2
+ import { CourseEvent } from '../../../core/types/course-events';
3
+ declare type Options = {
4
+ idKey?: '_id' | 'id' | 'ids';
5
+ };
6
+ declare const _default: (configuration: Configuration, options?: Options) => CourseEvent[];
7
+ export default _default;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _moment = _interopRequireDefault(require("moment"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var _default = function _default(configuration) {
13
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
14
+ var idKey = options.idKey || 'id';
15
+ var {
16
+ events
17
+ } = configuration !== null && configuration !== void 0 ? configuration : {};
18
+ return events === null || events === void 0 ? void 0 : events.map(event => {
19
+ var _event$dependencies;
20
+
21
+ return {
22
+ [idKey]: event.id,
23
+ parked: false,
24
+ inLocations: (_event$dependencies = event.dependencies) !== null && _event$dependencies !== void 0 ? _event$dependencies : [],
25
+ start: _moment.default.utc('1970-01-05T00:00').add(event.day, 'days').add(event.start, 'minutes').toISOString(),
26
+ end: _moment.default.utc('1970-01-05T00:00').add(event.day, 'days').add(event.end, 'minutes').toISOString()
27
+ };
28
+ });
29
+ };
30
+
31
+ exports.default = _default;
32
+ //# sourceMappingURL=placements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/placements.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;eAYe,kBAAC,aAAD,EAAuE;AAAA,MAAxC,OAAwC,uEAArB,EAAqB;AAEpF,MAAM,KAAK,GAAsB,OAAO,CAAC,KAAR,IAAiB,IAAlD;AAEA,MAAM;AAAE,IAAA;AAAF,MAAa,aAAb,aAAa,aAAb,cAAa,aAAb,GAA8B,EAApC;AAEA,SAAO,MAAP,aAAO,MAAP,uBAAO,MAAM,CAAE,GAAR,CAAa,KAAD,IAAqB;AAAA;;AACtC,WAAO;AACL,OAAC,KAAD,GAAc,KAAK,CAAC,EADf;AAEL,MAAA,MAAM,EAAQ,KAFT;AAGL,MAAA,WAAW,yBAAG,KAAK,CAAC,YAAT,qEAAyB,EAH/B;AAIL,MAAA,KAAK,EAAS,gBAAO,GAAP,CAAW,kBAAX,EAA+B,GAA/B,CAAmC,KAAK,CAAC,GAAzC,EAA8C,MAA9C,EAAsD,GAAtD,CAA0D,KAAK,CAAC,KAAhE,EAAuE,SAAvE,EAAkF,WAAlF,EAJT;AAKL,MAAA,GAAG,EAAW,gBAAO,GAAP,CAAW,kBAAX,EAA+B,GAA/B,CAAmC,KAAK,CAAC,GAAzC,EAA8C,MAA9C,EAAsD,GAAtD,CAA0D,KAAK,CAAC,GAAhE,EAAqE,SAArE,EAAgF,WAAhF;AALT,KAAP;AAOD,GARM,CAAP;AASD,C","sourceRoot":"","file":"placements.js"}
@@ -0,0 +1,4 @@
1
+ import { Division } from '../../../core/types/divisions';
2
+ import { Schedule } from '../types/schedules';
3
+ declare const _default_1: (schedule: Schedule) => Division;
4
+ export default _default_1;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _dependencies = _interopRequireDefault(require("./dependencies"));
9
+
10
+ var _teachers = _interopRequireDefault(require("./teachers"));
11
+
12
+ var _groups = _interopRequireDefault(require("./groups"));
13
+
14
+ var _collections = _interopRequireDefault(require("./collections"));
15
+
16
+ var _settings = _interopRequireDefault(require("./settings"));
17
+
18
+ var _placements2 = _interopRequireDefault(require("./placements"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
+
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+
26
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
+
28
+ var _default2 = schedule => {
29
+ var {
30
+ input: {
31
+ settings,
32
+ default: _default,
33
+ dependencies,
34
+ groups,
35
+ events,
36
+ areas
37
+ }
38
+ } = schedule;
39
+ var [configuration, ..._] = schedule.output || [];
40
+ var teachers;
41
+ var locations;
42
+ if (!settings) throw new Error("Settings cannot be undefined");
43
+ if (dependencies) locations = (0, _dependencies.default)(dependencies, settings);
44
+ if (groups) teachers = (0, _teachers.default)(groups, settings);
45
+ if (groups) groups = (0, _groups.default)(groups, settings);
46
+ if (events) events = (0, _collections.default)(events, (teachers || []).map(x => x.ids), (groups || []).map(x => x.ids), settings);
47
+ settings = (0, _settings.default)(settings, _default);
48
+
49
+ if (configuration) {
50
+ var _events;
51
+
52
+ var _placements = (0, _placements2.default)(configuration, {
53
+ idKey: 'ids'
54
+ });
55
+
56
+ var i = -1;
57
+ (_events = events) === null || _events === void 0 ? void 0 : _events.forEach(collection => {
58
+ var _collection$events;
59
+
60
+ (_collection$events = collection.events) === null || _collection$events === void 0 ? void 0 : _collection$events.forEach(event => {
61
+ i++;
62
+
63
+ var _placedEvent = _placements.find(_ref => {
64
+ var {
65
+ ids
66
+ } = _ref;
67
+ return ids == event.ids;
68
+ });
69
+
70
+ if (_placedEvent) return Object.assign(event, _placedEvent);
71
+ return Object.assign(event, _placements[i]);
72
+ });
73
+ });
74
+ }
75
+
76
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, locations && {
77
+ locations
78
+ }), teachers && {
79
+ teachers
80
+ }), groups && {
81
+ groups
82
+ }), events && {
83
+ courses: events
84
+ }), areas && {
85
+ area: areas
86
+ }), settings && {
87
+ settings
88
+ });
89
+ };
90
+
91
+ exports.default = _default2;
92
+ //# sourceMappingURL=schedules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/schedules.ts"],"names":[],"mappings":";;;;;;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;gBAEgB,QAAD,IAAiC;AAE9C,MAAI;AACF,IAAA,KAAK,EAAE;AACL,MAAA,QADK;AAEL,MAAA,OAAO,EAAE,QAFJ;AAGL,MAAA,YAHK;AAIL,MAAA,MAJK;AAKL,MAAA,MALK;AAML,MAAA;AANK;AADL,MASK,QATT;AAWA,MAAM,CAAC,aAAD,EAAgB,GAAG,CAAnB,IAAwB,QAAQ,CAAC,MAAT,IAAmB,EAAjD;AAEA,MAAI,QAAJ;AACA,MAAI,SAAJ;AAEA,MAAI,CAAE,QAAN,EACE,MAAM,IAAI,KAAJ,gCAAN;AAEF,MAAI,YAAJ,EACE,SAAS,GAAM,2BAAgB,YAAhB,EAA8B,QAA9B,CAAf;AACF,MAAI,MAAJ,EACE,QAAQ,GAAO,uBAAY,MAAZ,EAAoB,QAApB,CAAf;AACF,MAAI,MAAJ,EACE,MAAM,GAAS,qBAAU,MAAV,EAAkB,QAAlB,CAAf;AACF,MAAI,MAAJ,EACE,MAAM,GAAS,0BAAe,MAAf,EACe,CAAC,QAAQ,IAAI,EAAb,EAAiB,GAAjB,CAAsB,CAAD,IAAY,CAAC,CAAC,GAAnC,CADf,EAEe,CAAC,MAAM,IAAI,EAAX,EAAe,GAAf,CAAoB,CAAD,IAAY,CAAC,CAAC,GAAjC,CAFf,EAGe,QAHf,CAAf;AAIF,EAAA,QAAQ,GAAS,uBAAY,QAAZ,EAAsB,QAAtB,CAAjB;;AAEA,MAAI,aAAJ,EAAmB;AAAA;;AACjB,QAAM,WAAW,GAAG,0BAAc,aAAd,EAA6B;AAAE,MAAA,KAAK,EAAE;AAAT,KAA7B,CAApB;;AAEA,QAAI,CAAC,GAAW,CAAC,CAAjB;AAEA,eAAA,MAAM,UAAN,0CAAQ,OAAR,CAAiB,UAAD,IAAoB;AAAA;;AAClC,4BAAA,UAAU,CAAC,MAAX,0EAAmB,OAAnB,CAA4B,KAAD,IAAe;AACxC,QAAA,CAAC;;AACD,YAAM,YAAY,GAAQ,WAAW,CAAC,IAAZ,CAAiB;AAAA,cAAC;AAAE,YAAA;AAAF,WAAD;AAAA,iBAAa,GAAG,IAAI,KAAK,CAAC,GAA1B;AAAA,SAAjB,CAA1B;;AAEA,YAAI,YAAJ,EACE,OAAO,MAAM,CAAC,MAAP,CAAc,KAAd,EAAqB,YAArB,CAAP;AAEF,eAAO,MAAM,CAAC,MAAP,CAAc,KAAd,EAAqB,WAAW,CAAC,CAAD,CAAhC,CAAP;AACD,OARD;AASD,KAVD;AAWD;;AAED,iGACK,SAAS,IAAI;AAAE,IAAA;AAAF,GADlB,GAEK,QAAQ,IAAK;AAAE,IAAA;AAAF,GAFlB,GAGK,MAAM,IAAO;AAAE,IAAA;AAAF,GAHlB,GAIK,MAAM,IAAO;AAAE,IAAA,OAAO,EAAE;AAAX,GAJlB,GAKK,KAAK,IAAQ;AAAE,IAAA,IAAI,EAAE;AAAR,GALlB,GAMK,QAAQ,IAAK;AAAE,IAAA;AAAF,GANlB;AAQD,C","sourceRoot":"","file":"schedules.js"}
@@ -0,0 +1,5 @@
1
+ import { Settings } from '../types/settings';
2
+ import { Default } from '../types/default';
3
+ import { DivisionSettings } from '../../../core/types/division-settings';
4
+ declare const _default_1: (settings: Settings, _default: Default) => DivisionSettings;
5
+ export default _default_1;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _lodash = _interopRequireDefault(require("lodash"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var _default2 = (settings, _default) => {
13
+ var _default$intervals$0$, _default$intervals$0$2, _default$potentialCen;
14
+
15
+ var EMBL = _default.eventMinBreakLength;
16
+ var MNDWH = _default.maxNumDailyWorkingHours;
17
+ return {
18
+ numDays: settings.numDays,
19
+ discretization: settings.discretization,
20
+ dayStart: (_default$intervals$0$ = _default.intervals[0].beg) === null || _default$intervals$0$ === void 0 ? void 0 : _default$intervals$0$.toFixed(2).replace('.', ':'),
21
+ dayEnd: (_default$intervals$0$2 = _default.intervals[0].end) === null || _default$intervals$0$2 === void 0 ? void 0 : _default$intervals$0$2.toFixed(2).replace('.', ':'),
22
+ defaultDependencyMinimumBreakLength: _default.dependencyMinBreakLength,
23
+ defaultGroupMinimumBreakLength: _default.groupMinBreakLength,
24
+ defaultEventMinimumBreakLength: _lodash.default.isObject(EMBL) ? 0.5 * (EMBL.bef + EMBL.aft) : _lodash.default.isNumber(EMBL) ? EMBL : 0,
25
+ potentialCenter: (_default$potentialCen = _default.potentialCenter) === null || _default$potentialCen === void 0 ? void 0 : _default$potentialCen.toFixed(2).replace('.', ':'),
26
+ defaultEventDensity: _default.eventDensity,
27
+ defaultMaxNumWorkingHours: _default.maxNumWorkingHours,
28
+ defaultMaxNumDailyWorkingHours: _lodash.default.isArray(MNDWH) ? MNDWH[0] : MNDWH,
29
+ defaultDependencyRank: _default.dependencyRank,
30
+ defaultGroupRank: _default.groupRank,
31
+ defaultDayRank: _default.dayRank,
32
+ defaultEventWeight: _default.eventWeight,
33
+ defaultGroupWeight: _default.groupWeight,
34
+ defaultCourseWeight: _default.collectionWeight
35
+ };
36
+ };
37
+
38
+ exports.default = _default2;
39
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/settings.ts"],"names":[],"mappings":";;;;;;;AAIA;;;;gBAEe,CAAC,QAAD,EAAqB,QAArB,KAA4D;AAAA;;AAEzE,MAAI,IAAI,GAAI,QAAQ,CAAC,mBAArB;AACA,MAAI,KAAK,GAAG,QAAQ,CAAC,uBAArB;AAEA,SAAO;AACL,IAAA,OAAO,EAA8B,QAAQ,CAAC,OADzC;AAEL,IAAA,cAAc,EAAuB,QAAQ,CAAC,cAFzC;AAIL,IAAA,QAAQ,2BAA6B,QAAQ,CAAC,SAAT,CAAmB,CAAnB,EAAsB,GAAnD,0DAA6B,sBAA2B,OAA3B,CAAmC,CAAnC,EAAsC,OAAtC,CAA8C,GAA9C,EAAmD,GAAnD,CAJhC;AAKL,IAAA,MAAM,4BAA+B,QAAQ,CAAC,SAAT,CAAmB,CAAnB,EAAsB,GAArD,2DAA+B,uBAA2B,OAA3B,CAAmC,CAAnC,EAAsC,OAAtC,CAA8C,GAA9C,EAAmD,GAAnD,CALhC;AAOL,IAAA,mCAAmC,EAAE,QAAQ,CAAC,wBAPzC;AAQL,IAAA,8BAA8B,EAAO,QAAQ,CAAC,mBARzC;AASL,IAAA,8BAA8B,EAAO,gBAAE,QAAF,CAAW,IAAX,IAAmB,OAAK,IAAI,CAAC,GAAL,GAAW,IAAI,CAAC,GAArB,CAAnB,GAA+C,gBAAE,QAAF,CAAW,IAAX,IAAmB,IAAnB,GAA0B,CATzG;AAWL,IAAA,eAAe,2BAAsB,QAAQ,CAAC,eAA/B,0DAAsB,sBAA0B,OAA1B,CAAkC,CAAlC,EAAqC,OAArC,CAA6C,GAA7C,EAAkD,GAAlD,CAXhC;AAYL,IAAA,mBAAmB,EAAkB,QAAQ,CAAC,YAZzC;AAcL,IAAA,yBAAyB,EAAY,QAAQ,CAAC,kBAdzC;AAeL,IAAA,8BAA8B,EAAO,gBAAE,OAAF,CAAU,KAAV,IAAmB,KAAK,CAAC,CAAD,CAAxB,GAA8B,KAf9D;AAiBL,IAAA,qBAAqB,EAAgB,QAAQ,CAAC,cAjBzC;AAkBL,IAAA,gBAAgB,EAAqB,QAAQ,CAAC,SAlBzC;AAmBL,IAAA,cAAc,EAAuB,QAAQ,CAAC,OAnBzC;AAqBL,IAAA,kBAAkB,EAAmB,QAAQ,CAAC,WArBzC;AAsBL,IAAA,kBAAkB,EAAmB,QAAQ,CAAC,WAtBzC;AAuBL,IAAA,mBAAmB,EAAkB,QAAQ,CAAC;AAvBzC,GAAP;AAyBD,C","sourceRoot":"","file":"settings.js"}
@@ -0,0 +1,4 @@
1
+ import { Group } from '../types/groups';
2
+ import { Teacher as SourceTeacher } from '../../../core/types/teachers';
3
+ declare const _default: (teachers: Group[], settings: any) => SourceTeacher[];
4
+ export default _default;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _breakLengths = _interopRequireDefault(require("./break-lengths"));
9
+
10
+ var _days = _interopRequireDefault(require("./days"));
11
+
12
+ var _lockedTimes = _interopRequireDefault(require("./locked-times"));
13
+
14
+ var _intervals = _interopRequireDefault(require("./intervals"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
+
22
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+
24
+ var _default = (teachers, settings) => {
25
+ var idKey = settings.groupIdKey;
26
+ if (!idKey) throw new Error('property "groupIdKey" in settings is undefined');
27
+ return teachers.reduce((acc, teacher) => {
28
+ var _teacher$days, _teacher$intervals, _teacher$lockedTimes;
29
+
30
+ if (!['personal', 'classes'].includes(teacher.group_type)) throw new Error('property "group_type" must exist on all entries in "groups" array');
31
+ if (!teacher[idKey]) throw new Error('A teacher does not have a unique key');
32
+ if (teacher.group_type != 'personal') return acc;
33
+ return acc.concat(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
34
+ ids: teacher[idKey]
35
+ }, teacher.name && {
36
+ displayName: teacher.name
37
+ }), 'forbidOverlappingEvents' in teacher && {
38
+ forbidOverlappingEvents: teacher.forbidOverlappingEvents
39
+ }), 'maxNumWorkingHours' in teacher && {
40
+ maxNumWorkingHours: teacher.maxNumWorkingHours
41
+ }), 'maxNumDailyWorkingHours' in teacher && {
42
+ maxNumDailyWorkingHours: teacher.maxNumDailyWorkingHours
43
+ }), 'minBreakLength' in teacher && {
44
+ minBreakLength: (0, _breakLengths.default)(teacher.minBreakLength)
45
+ }), 'disableDayLengthPunishment' in teacher && {
46
+ disableDayLengthPunishment: teacher.disableDayLengthPunishment
47
+ }), 'weight' in teacher && {
48
+ weight: teacher.weight
49
+ }), 'rank' in teacher && {
50
+ rank: teacher.rank
51
+ }), ((_teacher$days = teacher.days) === null || _teacher$days === void 0 ? void 0 : _teacher$days.length) && {
52
+ days: (0, _days.default)(teacher.days, settings)
53
+ }), ((_teacher$intervals = teacher.intervals) === null || _teacher$intervals === void 0 ? void 0 : _teacher$intervals.length) && {
54
+ intervals: (0, _intervals.default)(teacher.intervals)
55
+ }), ((_teacher$lockedTimes = teacher.lockedTimes) === null || _teacher$lockedTimes === void 0 ? void 0 : _teacher$lockedTimes.length) && {
56
+ lockedTimes: (0, _lockedTimes.default)(teacher.lockedTimes)
57
+ }));
58
+ }, []);
59
+ };
60
+
61
+ exports.default = _default;
62
+ //# sourceMappingURL=teachers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/teachers.ts"],"names":[],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;eAMe,CAAC,QAAD,EACC,QADD,KACqC;AAElD,MAAM,KAAK,GAAgB,QAAQ,CAAC,UAApC;AAEA,MAAI,CAAE,KAAN,EACE,MAAM,IAAI,KAAJ,CAAU,gDAAV,CAAN;AAEF,SAAO,QAAQ,CAAC,MAAT,CAAgB,CAAC,GAAD,EAAa,OAAb,KAA+B;AAAA;;AAEpD,QAAI,CAAE,CAAC,UAAD,EAAa,SAAb,EAAwB,QAAxB,CAAiC,OAAO,CAAC,UAAzC,CAAN,EACE,MAAM,IAAI,KAAJ,CAAU,mEAAV,CAAN;AAEF,QAAI,CAAE,OAAO,CAAC,KAAD,CAAb,EACE,MAAM,IAAI,KAAJ,CAAU,sCAAV,CAAN;AAEF,QAAI,OAAO,CAAC,UAAR,IAAsB,UAA1B,EACE,OAAO,GAAP;AAEF,WAAO,GAAG,CAAC,MAAJ;AACL,MAAA,GAAG,EAAyE,OAAO,CAAC,KAAD;AAD9E,OAEF,OAAO,CAAC,IAAR,IAA2C;AAAE,MAAA,WAAW,EAAiB,OAAO,CAAC;AAAtC,KAFzC,GAGF,6BAAgC,OAAhC,IAA2C;AAAE,MAAA,uBAAuB,EAAK,OAAO,CAAC;AAAtC,KAHzC,GAIF,wBAAgC,OAAhC,IAA2C;AAAE,MAAA,kBAAkB,EAAU,OAAO,CAAC;AAAtC,KAJzC,GAKF,6BAAgC,OAAhC,IAA2C;AAAE,MAAA,uBAAuB,EAAK,OAAO,CAAC;AAAtC,KALzC,GAMF,oBAAgC,OAAhC,IAA2C;AAAE,MAAA,cAAc,EAAc,2BAAY,OAAO,CAAC,cAApB;AAA9B,KANzC,GAOF,gCAAgC,OAAhC,IAA2C;AAAE,MAAA,0BAA0B,EAAE,OAAO,CAAC;AAAtC,KAPzC,GAQF,YAAgC,OAAhC,IAA2C;AAAE,MAAA,MAAM,EAAsB,OAAO,CAAC;AAAtC,KARzC,GASF,UAAgC,OAAhC,IAA2C;AAAE,MAAA,IAAI,EAAwB,OAAO,CAAC;AAAtC,KATzC,GAUF,kBAAC,OAAO,CAAC,IAAT,kDAAC,cAAc,MAAf,KAA2C;AAAE,MAAA,IAAI,EAAwB,mBAAK,OAAO,CAAC,IAAb,EAAmB,QAAnB;AAA9B,KAVzC,GAWF,uBAAC,OAAO,CAAC,SAAT,uDAAC,mBAAmB,MAApB,KAA2C;AAAE,MAAA,SAAS,EAAmB,wBAAU,OAAO,CAAC,SAAlB;AAA9B,KAXzC,GAYF,yBAAC,OAAO,CAAC,WAAT,yDAAC,qBAAqB,MAAtB,KAA2C;AAAE,MAAA,WAAW,EAAiB,0BAAW,OAAO,CAAC,WAAnB;AAA9B,KAZzC,EAAP;AAcD,GAzBM,EAyBJ,EAzBI,CAAP;AA0BD,C","sourceRoot":"","file":"teachers.js"}
@@ -0,0 +1,7 @@
1
+ import _from from './from';
2
+ import _to from './to';
3
+ export * from './types';
4
+ export declare class V2 {
5
+ static to: typeof _to;
6
+ static from: typeof _from;
7
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ V2: true
8
+ };
9
+ exports.V2 = void 0;
10
+
11
+ var _from2 = _interopRequireDefault(require("./from"));
12
+
13
+ var _to2 = _interopRequireDefault(require("./to"));
14
+
15
+ var _types = require("./types");
16
+
17
+ Object.keys(_types).forEach(function (key) {
18
+ if (key === "default" || key === "__esModule") return;
19
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
+ if (key in exports && exports[key] === _types[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function get() {
24
+ return _types[key];
25
+ }
26
+ });
27
+ });
28
+
29
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
+
31
+ class V2 {}
32
+
33
+ exports.V2 = V2;
34
+ V2.to = _to2.default;
35
+ V2.from = _from2.default;
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/RS/v2/index.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;AAEM,MAAO,EAAP,CAAS;;;AACN,EAAA,CAAA,EAAA,GAAO,YAAP;AACA,EAAA,CAAA,IAAA,GAAO,cAAP","sourceRoot":"","file":"index.js"}
@@ -0,0 +1,5 @@
1
+ import { OutOptions } from '../types/out-options';
2
+ import { AvailableDependency } from '../types/available-dependencies';
3
+ import { AvailableLocation as Source } from '../../../core/types/available-locations';
4
+ declare const _default: (availableLocations: Source[], options: OutOptions) => AvailableDependency[][];
5
+ export default _default;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
+
10
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
+
12
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+
14
+ var _default = (availableLocations, options) => {
15
+ var idKey = options.idKey || 'id';
16
+ if (!idKey) throw new Error('property "idKey" in options is undefined');
17
+ return (availableLocations || []).reduce((acc, locationSet) => {
18
+ var _locationSet$location, _locationSet$location2, _location$idKey, _location$idKey$toStr;
19
+
20
+ if (!(locationSet !== null && locationSet !== void 0 && (_locationSet$location = locationSet.locations) !== null && _locationSet$location !== void 0 && _locationSet$location.length)) return acc;
21
+ if (locationSet.groupIndex == null) return acc;
22
+ var {
23
+ groupIndex
24
+ } = locationSet;
25
+ if (!acc[groupIndex]) acc[groupIndex] = [];
26
+ var location = (_locationSet$location2 = locationSet.locations) === null || _locationSet$location2 === void 0 ? void 0 : _locationSet$location2[0];
27
+ if (!location) return acc;
28
+ var dependency = location === null || location === void 0 ? void 0 : (_location$idKey = location[idKey]) === null || _location$idKey === void 0 ? void 0 : (_location$idKey$toStr = _location$idKey.toString) === null || _location$idKey$toStr === void 0 ? void 0 : _location$idKey$toStr.call(_location$idKey);
29
+ if (!dependency) return acc;
30
+ var {
31
+ rank
32
+ } = locationSet;
33
+ acc[groupIndex].push(_objectSpread({
34
+ dependency
35
+ }, rank != null && {
36
+ rank
37
+ }));
38
+ return acc;
39
+ }, []).filter(arr => !!(arr !== null && arr !== void 0 && arr.length));
40
+ };
41
+
42
+ exports.default = _default;
43
+ //# sourceMappingURL=available-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/to/available-dependencies.ts"],"names":[],"mappings":";;;;;;;;;;;;;eAMe,CAAC,kBAAD,EACC,OADD,KAC4D;AAEzE,MAAM,KAAK,GAAyB,OAAO,CAAC,KAAR,IAAiB,IAArD;AAEA,MAAI,CAAE,KAAN,EACE,MAAM,IAAI,KAAJ,CAAU,0CAAV,CAAN;AAEF,SAAO,CAAC,kBAAkB,IAAI,EAAvB,EACJ,MADI,CACG,CAAC,GAAD,EAA+B,WAA/B,KAAsD;AAAA;;AAC9D,QAAI,EAAE,WAAF,aAAE,WAAF,wCAAE,WAAW,CAAE,SAAf,kDAAE,sBAAwB,MAA1B,CAAJ,EAAsC,OAAO,GAAP;AAEtC,QAAI,WAAW,CAAC,UAAZ,IAA0B,IAA9B,EAAoC,OAAO,GAAP;AAEpC,QAAM;AAAE,MAAA;AAAF,QAAiB,WAAvB;AAEA,QAAI,CAAE,GAAG,CAAC,UAAD,CAAT,EAAuB,GAAG,CAAC,UAAD,CAAH,GAAkB,EAAlB;AAEvB,QAAM,QAAQ,6BAAmB,WAAW,CAAC,SAA/B,2DAAmB,uBAAwB,CAAxB,CAAjC;AAEA,QAAI,CAAE,QAAN,EAAgB,OAAO,GAAP;AAEhB,QAAM,UAAU,GAAG,QAAH,aAAG,QAAH,0CAAG,QAAQ,CAAG,KAAH,CAAX,6EAAG,gBAAmB,QAAtB,0DAAG,2CAAnB;AAEA,QAAI,CAAE,UAAN,EAAkB,OAAO,GAAP;AAElB,QAAM;AAAE,MAAA;AAAF,QAAW,WAAjB;AAEA,IAAA,GAAG,CAAC,UAAD,CAAH,CAAgB,IAAhB;AACE,MAAA;AADF,OAEK,IAAI,IAAI,IAAR,IAAgB;AAAE,MAAA;AAAF,KAFrB;AAIA,WAAO,GAAP;AACD,GAzBM,EAyBJ,EAzBI,EAyBA,MAzBA,CAyBQ,GAAD,IAAuC,CAAC,EAAC,GAAD,aAAC,GAAD,eAAC,GAAG,CAAE,MAAN,CAzB/C,CAAP;AA0BD,C","sourceRoot":"","file":"available-dependencies.js"}
@@ -0,0 +1,4 @@
1
+ import { BreakLength } from '../types/break-lengths';
2
+ import { BreakLength as Source } from '../../../core/types/break-lengths';
3
+ declare const _default: (breakLength: Source) => BreakLength;
4
+ export default _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _default = breakLength => {
9
+ switch (typeof breakLength) {
10
+ case 'boolean':
11
+ case 'number':
12
+ return breakLength;
13
+
14
+ case 'object':
15
+ if (!Array.isArray(breakLength)) throw new Error('breakLength is object but not an array');
16
+ var [bef, aft] = breakLength;
17
+ return {
18
+ bef,
19
+ aft
20
+ };
21
+
22
+ default:
23
+ throw new Error('breakLength is neither boolan, number or number array');
24
+ }
25
+ };
26
+
27
+ exports.default = _default;
28
+ //# sourceMappingURL=break-lengths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/to/break-lengths.ts"],"names":[],"mappings":";;;;;;;eAKgB,WAAD,IAAqC;AAClD,UAAQ,OAAO,WAAf;AACE,SAAK,SAAL;AACA,SAAK,QAAL;AACE,aAAO,WAAP;;AACF,SAAK,QAAL;AACE,UAAI,CAAE,KAAK,CAAC,OAAN,CAAc,WAAd,CAAN,EACE,MAAM,IAAI,KAAJ,CAAU,wCAAV,CAAN;AACF,UAAM,CAAC,GAAD,EAAM,GAAN,IAAa,WAAnB;AACA,aAAO;AAAE,QAAA,GAAF;AAAO,QAAA;AAAP,OAAP;;AACF;AACE,YAAM,IAAI,KAAJ,CAAU,uDAAV,CAAN;AAVJ;AAYD,C","sourceRoot":"","file":"break-lengths.js"}
@@ -0,0 +1,7 @@
1
+ import { Collection } from '../types/collections';
2
+ import { OutOptions } from '../types/out-options';
3
+ import { Course as SourceCourse } from '../../../core/types/courses';
4
+ import { CourseEvent } from '../../../core/types/course-events';
5
+ import { OverlapGroup } from '../../../core/types/overlap-groups';
6
+ declare const _default: (courses: SourceCourse | SourceCourse[], events: CourseEvent | CourseEvent[] | undefined, overlapGroups: OverlapGroup[] | undefined, options: OutOptions) => (Collection[] | Collection)[];
7
+ export default _default;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _days = _interopRequireDefault(require("./days"));
9
+
10
+ var _lockedTimes = _interopRequireDefault(require("./locked-times"));
11
+
12
+ var _intervals = _interopRequireDefault(require("./intervals"));
13
+
14
+ var _availableDependencies = _interopRequireDefault(require("./available-dependencies"));
15
+
16
+ var _courseEvents = _interopRequireDefault(require("./course-events"));
17
+
18
+ var _breakLengths = _interopRequireDefault(require("./break-lengths"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
+
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+
26
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
+
28
+ var _default = function _default(courses) {
29
+ var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
30
+ var overlapGroups = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
31
+ var options = arguments.length > 3 ? arguments[3] : undefined;
32
+ var idKey = options.idKey || 'id';
33
+ courses = Array.isArray(courses) ? courses : [courses];
34
+ events = Array.isArray(events) ? events : [events];
35
+ return courses.reduce((acc, course) => {
36
+ var _course$idKey, _course$locations, _course$intervals, _course$days, _course$lockedTimes, _course$teachers, _course$groups;
37
+
38
+ if (!course[idKey]) throw new Error('A course does not have a unique key');
39
+ if (course.events) course.events = course.events.map(event => {
40
+ var _event = events.find(_ref => {
41
+ var {
42
+ id
43
+ } = _ref;
44
+ return event.id == id;
45
+ });
46
+
47
+ if (_event) Object.assign(event, _event);
48
+ event.course = course;
49
+ return event;
50
+ });
51
+
52
+ var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
53
+ id: (_course$idKey = course[idKey]) === null || _course$idKey === void 0 ? void 0 : _course$idKey.toString()
54
+ }, 'weight' in course && {
55
+ weight: course.weight
56
+ }), 'density' in course && {
57
+ density: course.density
58
+ }), course.potentialCenter && {
59
+ potentialCenter: parseFloat(course.potentialCenter)
60
+ }), ((_course$locations = course.locations) === null || _course$locations === void 0 ? void 0 : _course$locations.length) && {
61
+ dependencies: (0, _availableDependencies.default)(course.locations, options)
62
+ }), ((_course$intervals = course.intervals) === null || _course$intervals === void 0 ? void 0 : _course$intervals.length) && {
63
+ intervals: (0, _intervals.default)(course.intervals)
64
+ }), ((_course$days = course.days) === null || _course$days === void 0 ? void 0 : _course$days.length) && {
65
+ days: (0, _days.default)(course.days)
66
+ }), course.events && {
67
+ events: (0, _courseEvents.default)(course.events, options)
68
+ }), course.minBreakLength != null && {
69
+ minBreakLength: (0, _breakLengths.default)(course.minBreakLength)
70
+ }), ((_course$lockedTimes = course.lockedTimes) === null || _course$lockedTimes === void 0 ? void 0 : _course$lockedTimes.length) && {
71
+ lockedTimes: (0, _lockedTimes.default)(course.lockedTimes, options)
72
+ });
73
+
74
+ if (course.teachers || course.groups) Object.assign(doc, {
75
+ groups: [...new Set(((_course$teachers = course.teachers) !== null && _course$teachers !== void 0 ? _course$teachers : []).concat((_course$groups = course.groups) !== null && _course$groups !== void 0 ? _course$groups : []).map(x => [x[idKey].toString()]))]
76
+ });
77
+
78
+ if (options.meta) {
79
+ Object.assign(doc, _objectSpread(_objectSpread(_objectSpread({}, 'color' in course && {
80
+ color: course.color
81
+ }), 'ids' in course && {
82
+ ids: course.ids
83
+ }), course.displayName && {
84
+ name: course.displayName
85
+ }));
86
+ }
87
+
88
+ if (course.overlapGroup) {
89
+ var overlapGroup = course.overlapGroup.id.toString();
90
+ var index = overlapGroups.map(_ref2 => {
91
+ var {
92
+ id
93
+ } = _ref2;
94
+ return id;
95
+ }).indexOf(overlapGroup);
96
+ acc[index] = acc[index].concat(doc);
97
+ return acc;
98
+ }
99
+
100
+ return acc.concat(doc);
101
+ }, Array(overlapGroups.length).fill([]));
102
+ };
103
+
104
+ exports.default = _default;
105
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/to/collections.ts"],"names":[],"mappings":"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","sourceRoot":"","file":"collections.js"}
@@ -0,0 +1,5 @@
1
+ import { CourseEvent } from '../../../core/types/course-events';
2
+ import { OutOptions } from '../types/out-options';
3
+ import { Configuration } from '../types/configurations';
4
+ declare const _default: (events: CourseEvent[], options: OutOptions) => Configuration[];
5
+ export default _default;