@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,55 @@
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 _breakLengths = _interopRequireDefault(require("./break-lengths"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ 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; }
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ var _default = (locations, options) => {
23
+ var idKey = options.idKey || 'id';
24
+ if (locations == null) return [];
25
+ return (Array.isArray(locations) ? locations : [locations]).map((location, index) => {
26
+ var _location$days, _location$lockedTimes;
27
+
28
+ if (location[idKey] == undefined) throw new Error("A location must have an id, index: ".concat(index));
29
+
30
+ var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread({
31
+ id: location[idKey].toString()
32
+ }, location.area && {
33
+ area: location.area
34
+ }), ((_location$days = location.days) === null || _location$days === void 0 ? void 0 : _location$days.length) && {
35
+ days: (0, _days.default)(location.days)
36
+ }), location.minBreakLength != null && {
37
+ minBreakLength: (0, _breakLengths.default)(location.minBreakLength)
38
+ }), ((_location$lockedTimes = location.lockedTimes) === null || _location$lockedTimes === void 0 ? void 0 : _location$lockedTimes.length) && {
39
+ lockedTimes: (0, _lockedTimes.default)(location.lockedTimes, options)
40
+ });
41
+
42
+ if (options.meta) {
43
+ Object.assign(doc, _objectSpread(_objectSpread({}, location.ids && {
44
+ ids: location.ids
45
+ }), location.displayName && {
46
+ name: location.displayName
47
+ }));
48
+ }
49
+
50
+ return doc;
51
+ });
52
+ };
53
+
54
+ exports.default = _default;
55
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/to/dependencies.ts"],"names":[],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;eAOe,CAAC,SAAD,EACC,OADD,KAC2C;AAExD,MAAM,KAAK,GAAyB,OAAO,CAAC,KAAR,IAAiB,IAArD;AAEA,MAAI,SAAS,IAAI,IAAjB,EACE,OAAO,EAAP;AAEF,SAAO,CAAC,KAAK,CAAC,OAAN,CAAc,SAAd,IAA2B,SAA3B,GAAuC,CAAC,SAAD,CAAxC,EAAqD,GAArD,CAAyD,CAAC,QAAD,EAA2B,KAA3B,KAA4C;AAAA;;AAE1G,QAAI,QAAQ,CAAC,KAAD,CAAR,IAAmB,SAAvB,EAAkC,MAAM,IAAI,KAAJ,8CAAiD,KAAjD,EAAN;;AAElC,QAAI,GAAG;AACL,MAAA,EAAE,EAAwD,QAAQ,CAAC,KAAD,CAAR,CAAiB,QAAjB;AADrD,OAEF,QAAQ,CAAC,IAAT,IAAqC;AAAE,MAAA,IAAI,EAAY,QAAQ,CAAC;AAA3B,KAFnC,GAGF,mBAAA,QAAQ,CAAC,IAAT,kEAAe,MAAf,KAAqC;AAAE,MAAA,IAAI,EAAY,mBAAK,QAAQ,CAAC,IAAd;AAAlB,KAHnC,GAID,QAAQ,CAAC,cAAT,IAA2B,IAA5B,IAAqC;AAAE,MAAA,cAAc,EAAE,2BAAa,QAAQ,CAAC,cAAtB;AAAlB,KAJnC,GAKF,0BAAA,QAAQ,CAAC,WAAT,gFAAsB,MAAtB,KAAqC;AAAE,MAAA,WAAW,EAAK,0BAAY,QAAQ,CAAC,WAArB,EAAyC,OAAzC;AAAlB,KALnC,CAAP;;AAQA,QAAI,OAAO,CAAC,IAAZ,EAAkB;AAChB,MAAA,MAAM,CAAC,MAAP,CAAc,GAAd,kCACK,QAAQ,CAAC,GAAT,IAAmC;AAAE,QAAA,GAAG,EAAa,QAAQ,CAAC;AAA3B,OADxC,GAEK,QAAQ,CAAC,WAAT,IAAmC;AAAE,QAAA,IAAI,EAAY,QAAQ,CAAC;AAA3B,OAFxC;AAID;;AAED,WAAO,GAAP;AACD,GApBM,CAAP;AAqBD,C","sourceRoot":"","file":"dependencies.js"}
@@ -0,0 +1,5 @@
1
+ import { Group } from '../types/groups';
2
+ import { OutOptions } from '../types/out-options';
3
+ import { Group as SourceGroup } from '../../../core/types/groups';
4
+ declare const _default: (groups: SourceGroup[] | SourceGroup, options: OutOptions) => Group[];
5
+ export default _default;
@@ -0,0 +1,69 @@
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 = (groups, options) => {
25
+ var idKey = options.idKey || 'id';
26
+ return (Array.isArray(groups) ? groups : [groups]).map((group, index) => {
27
+ var _group$intervals, _group$days, _group$lockedTimes;
28
+
29
+ if (group[idKey] == undefined) throw new Error("A group must have an id, index: ".concat(index));
30
+
31
+ var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
32
+ id: group[idKey].toString(),
33
+ group_type: 'classes'
34
+ }, 'forbidOverlappingEvents' in group && {
35
+ forbidOverlappingEvents: group.forbidOverlappingEvents
36
+ }), 'maxNumWorkingHours' in group && {
37
+ maxNumWorkingHours: group.maxNumWorkingHours
38
+ }), 'disableDayLengthPunishment' in group && {
39
+ disableDayLengthPunishment: group.disableDayLengthPunishment
40
+ }), {}, {
41
+ minimizeDependencyAlternation: false
42
+ }, 'maxNumDailyWorkingHours' in group && {
43
+ maxNumDailyWorkingHours: group.maxNumDailyWorkingHours
44
+ }), 'weight' in group && {
45
+ weight: group.weight
46
+ }), ((_group$intervals = group.intervals) === null || _group$intervals === void 0 ? void 0 : _group$intervals.length) && {
47
+ intervals: (0, _intervals.default)(group.intervals)
48
+ }), ((_group$days = group.days) === null || _group$days === void 0 ? void 0 : _group$days.length) && {
49
+ days: (0, _days.default)(group.days)
50
+ }), ((_group$lockedTimes = group.lockedTimes) === null || _group$lockedTimes === void 0 ? void 0 : _group$lockedTimes.length) && {
51
+ lockedTimes: (0, _lockedTimes.default)(group.lockedTimes, options)
52
+ }), group.minBreakLength != null && {
53
+ minBreakLength: (0, _breakLengths.default)(group.minBreakLength)
54
+ });
55
+
56
+ if (options.meta) {
57
+ Object.assign(doc, _objectSpread(_objectSpread({}, group.ids && {
58
+ ids: group.ids
59
+ }), group.displayName && {
60
+ name: group.displayName
61
+ }));
62
+ }
63
+
64
+ return doc;
65
+ }, []);
66
+ };
67
+
68
+ exports.default = _default;
69
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/to/groups.ts"],"names":[],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;eAOe,CAAC,MAAD,EACC,OADD,KACiC;AAE9C,MAAM,KAAK,GAAsB,OAAO,CAAC,KAAR,IAAiB,IAAlD;AAEA,SAAO,CAAC,KAAK,CAAC,OAAN,CAAc,MAAd,IAAwB,MAAxB,GAAiC,CAAC,MAAD,CAAlC,EAA4C,GAA5C,CAAgD,CAAC,KAAD,EAAqB,KAArB,KAAsC;AAAA;;AAE3F,QAAI,KAAK,CAAC,KAAD,CAAL,IAAgB,SAApB,EAA+B,MAAM,IAAI,KAAJ,2CAA8C,KAA9C,EAAN;;AAE/B,QAAI,GAAG;AACL,MAAA,EAAE,EAAwE,KAAK,CAAC,KAAD,CAAL,CAAc,QAAd,EADrE;AAEL,MAAA,UAAU,EAAgE;AAFrE,OAGF,6BAAgC,KAAhC,IAAyC;AAAE,MAAA,uBAAuB,EAAK,KAAK,CAAC;AAApC,KAHvC,GAIF,wBAAgC,KAAhC,IAAyC;AAAE,MAAA,kBAAkB,EAAU,KAAK,CAAC;AAApC,KAJvC,GAKF,gCAAgC,KAAhC,IAAyC;AAAE,MAAA,0BAA0B,EAAE,KAAK,CAAC;AAApC,KALvC;AAML,MAAA,6BAA6B,EAAE;AAN1B,OAOF,6BAAgC,KAAhC,IAAyC;AAAE,MAAA,uBAAuB,EAAK,KAAK,CAAC;AAApC,KAPvC,GAQF,YAAgC,KAAhC,IAAyC;AAAE,MAAA,MAAM,EAAsB,KAAK,CAAC;AAApC,KARvC,GASF,qBAAC,KAAK,CAAC,SAAP,qDAAC,iBAAiB,MAAlB,KAAyC;AAAE,MAAA,SAAS,EAAmB,wBAAU,KAAK,CAAC,SAAhB;AAA9B,KATvC,GAUF,gBAAC,KAAK,CAAC,IAAP,gDAAC,YAAY,MAAb,KAAyC;AAAE,MAAA,IAAI,EAAwB,mBAAK,KAAK,CAAC,IAAX;AAA9B,KAVvC,GAWF,uBAAC,KAAK,CAAC,WAAP,uDAAC,mBAAmB,MAApB,KAAyC;AAAE,MAAA,WAAW,EAAiB,0BAAY,KAAK,CAAC,WAAlB,EAAsC,OAAtC;AAA9B,KAXvC,GAYD,KAAK,CAAC,cAAN,IAAwB,IAAzB,IAAyC;AAAE,MAAA,cAAc,EAAc,2BAAa,KAAK,CAAC,cAAnB;AAA9B,KAZvC,CAAP;;AAeA,QAAI,OAAO,CAAC,IAAZ,EAAkB;AAChB,MAAA,MAAM,CAAC,MAAP,CAAc,GAAd,kCACK,KAAK,CAAC,GAAN,IAAuC;AAAE,QAAA,GAAG,EAAyB,KAAK,CAAC;AAApC,OAD5C,GAEK,KAAK,CAAC,WAAN,IAAuC;AAAE,QAAA,IAAI,EAAwB,KAAK,CAAC;AAApC,OAF5C;AAID;;AAED,WAAO,GAAP;AACD,GA3BM,EA2BJ,EA3BI,CAAP;AA4BD,C","sourceRoot":"","file":"groups.js"}
@@ -0,0 +1,15 @@
1
+ export default class {
2
+ static availableDependency: (availableLocations: import("../../../core/types/available-locations").AvailableLocation[], options: import("../types/out-options").OutOptions) => import("../types/available-dependencies").AvailableDependency[][];
3
+ static configuration: (events: import("../../../core/types/course-events").CourseEvent[], options: import("../types/out-options").OutOptions) => import("../types/configurations").Configuration[];
4
+ static constraints: (schedule: import("../../../core/types/divisions").Division, options?: import("../types/out-options").OutOptions) => import("../types/constraints").Constraint;
5
+ static courseEvent: (courseEvents: import("../../../core/types/course-events").CourseEvent | import("../../../core/types/course-events").CourseEvent[], options: import("../types/out-options").OutOptions) => import("../types/course-events").CourseEvent[];
6
+ static course: (courses: import("../../../core/types/courses").Course | import("../../../core/types/courses").Course[], events: import("../../../core/types/course-events").CourseEvent | import("../../../core/types/course-events").CourseEvent[] | undefined, overlapGroups: import("../../../core/types/overlap-groups").OverlapGroup[] | undefined, options: import("../types/out-options").OutOptions) => (import("../types/collections").Collection | import("../types/collections").Collection[])[];
7
+ static day: (days: import("../../../core/types/days").Day[]) => (number | import("../types/days").Day)[];
8
+ static dependency: (locations: import("../../../core/types/locations").Location[], options: import("../types/out-options").OutOptions) => import("../types/dependencies").Dependency[];
9
+ static group: (groups: import("../../../core/types/groups").Group | import("../../../core/types/groups").Group[], options: import("../types/out-options").OutOptions) => import("../types/groups").Group[];
10
+ static interval: (intervals: import("../../../core/types/intervals").Interval[]) => import("../types/intervals").Interval[];
11
+ static lockedTime: (lockedTimes: import("../../../core/types/locked-times").LockedTime | import("../../../core/types/locked-times").LockedTime[], options: import("../types/out-options").OutOptions) => import("../types/locked-times").LockedTime[];
12
+ static schedules: (schedule: import("../../../core/types/divisions").Division, options?: import("../types/out-options").OutOptions) => import("../types/schedules").Schedule;
13
+ static setting: (settings: import("../../../core/types/division-settings").DivisionSettings) => import("../types/settings").Settings;
14
+ static teacher: (teachers: import("../../../core/types/teachers").Teacher | import("../../../core/types/teachers").Teacher[], options: import("../types/out-options").OutOptions) => import("../types/groups").Group[];
15
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _availableDependencies = _interopRequireDefault(require("./available-dependencies"));
9
+
10
+ var _configurations = _interopRequireDefault(require("./configurations"));
11
+
12
+ var _constraints2 = _interopRequireDefault(require("./constraints"));
13
+
14
+ var _courseEvents = _interopRequireDefault(require("./course-events"));
15
+
16
+ var _collections = _interopRequireDefault(require("./collections"));
17
+
18
+ var _days = _interopRequireDefault(require("./days"));
19
+
20
+ var _dependencies = _interopRequireDefault(require("./dependencies"));
21
+
22
+ var _groups = _interopRequireDefault(require("./groups"));
23
+
24
+ var _intervals = _interopRequireDefault(require("./intervals"));
25
+
26
+ var _lockedTimes = _interopRequireDefault(require("./locked-times"));
27
+
28
+ var _schedules2 = _interopRequireDefault(require("./schedules"));
29
+
30
+ var _settings = _interopRequireDefault(require("./settings"));
31
+
32
+ var _teachers = _interopRequireDefault(require("./teachers"));
33
+
34
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
+
36
+ class default_1 {}
37
+
38
+ exports.default = default_1;
39
+ default_1.availableDependency = _availableDependencies.default;
40
+ default_1.configuration = _configurations.default;
41
+ default_1.constraints = _constraints2.default;
42
+ default_1.courseEvent = _courseEvents.default;
43
+ default_1.course = _collections.default;
44
+ default_1.day = _days.default;
45
+ default_1.dependency = _dependencies.default;
46
+ default_1.group = _groups.default;
47
+ default_1.interval = _intervals.default;
48
+ default_1.lockedTime = _lockedTimes.default;
49
+ default_1.schedules = _schedules2.default;
50
+ default_1.setting = _settings.default;
51
+ default_1.teacher = _teachers.default;
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/to/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEc,MAAA,SAAA,CAAA;;;AACL,SAAA,CAAA,mBAAA,GAAsB,8BAAtB;AACA,SAAA,CAAA,aAAA,GAAsB,uBAAtB;AACA,SAAA,CAAA,WAAA,GAAsB,qBAAtB;AACA,SAAA,CAAA,WAAA,GAAsB,qBAAtB;AACA,SAAA,CAAA,MAAA,GAAsB,oBAAtB;AACA,SAAA,CAAA,GAAA,GAAsB,aAAtB;AACA,SAAA,CAAA,UAAA,GAAsB,qBAAtB;AACA,SAAA,CAAA,KAAA,GAAsB,eAAtB;AACA,SAAA,CAAA,QAAA,GAAsB,kBAAtB;AACA,SAAA,CAAA,UAAA,GAAsB,oBAAtB;AACA,SAAA,CAAA,SAAA,GAAsB,mBAAtB;AACA,SAAA,CAAA,OAAA,GAAsB,iBAAtB;AACA,SAAA,CAAA,OAAA,GAAsB,iBAAtB","sourceRoot":"","file":"index.js"}
@@ -0,0 +1,4 @@
1
+ import { Interval } from '../types/intervals';
2
+ import { Interval as SourceInterval } from '../../../core/types/intervals';
3
+ declare const _default: (intervals: SourceInterval[]) => Interval[];
4
+ export default _default;
@@ -0,0 +1,24 @@
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 = intervals => {
13
+ return intervals.map(interval => {
14
+ if (!interval.start) throw new Error('Interval missing start');
15
+ if (!interval.end) throw new Error('Interval missing end');
16
+ return {
17
+ beg: parseFloat(_moment.default.utc(interval.start).format('HH.mm')),
18
+ end: parseFloat(_moment.default.utc(interval.end).format('HH.mm'))
19
+ };
20
+ });
21
+ };
22
+
23
+ exports.default = _default;
24
+ //# sourceMappingURL=intervals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/to/intervals.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;eAMgB,SAAD,IAA4C;AACzD,SAAO,SAAS,CAAC,GAAV,CAAe,QAAD,IAA6B;AAEhD,QAAI,CAAE,QAAQ,CAAC,KAAf,EACE,MAAM,IAAI,KAAJ,CAAU,wBAAV,CAAN;AAEF,QAAI,CAAE,QAAQ,CAAC,GAAf,EACE,MAAM,IAAI,KAAJ,CAAU,sBAAV,CAAN;AAEF,WAAO;AACL,MAAA,GAAG,EAAE,UAAU,CAAC,gBAAO,GAAP,CAAW,QAAQ,CAAC,KAApB,EAA2B,MAA3B,CAAkC,OAAlC,CAAD,CADV;AAEL,MAAA,GAAG,EAAE,UAAU,CAAC,gBAAO,GAAP,CAAW,QAAQ,CAAC,GAApB,EAAyB,MAAzB,CAAgC,OAAhC,CAAD;AAFV,KAAP;AAID,GAZM,CAAP;AAaD,C","sourceRoot":"","file":"intervals.js"}
@@ -0,0 +1,5 @@
1
+ import { LockedTime } from '../types/locked-times';
2
+ import { OutOptions } from '../types/out-options';
3
+ import { LockedTime as SourceLockedTime } from '../../../core/types/locked-times';
4
+ declare const _default: (lockedTimes: SourceLockedTime[] | SourceLockedTime, options: OutOptions) => LockedTime[] | never;
5
+ export default _default;
@@ -0,0 +1,81 @@
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
+ 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; }
13
+
14
+ 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; }
15
+
16
+ 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; }
17
+
18
+ var typeMap = new Map();
19
+ typeMap.set('teachers', 'teachers');
20
+ typeMap.set('groups', 'groups');
21
+ typeMap.set('locations', 'dependencies');
22
+ typeMap.set('courses', 'courses');
23
+ typeMap.set('courseevents', 'events');
24
+
25
+ var _default = (lockedTimes, options) => {
26
+ var docs = Array.isArray(lockedTimes) ? lockedTimes : [lockedTimes];
27
+ return docs.map(lockedTime => {
28
+ var startDate;
29
+ var endDate;
30
+
31
+ if (lockedTime.start) {
32
+ startDate = _moment.default.utc(lockedTime.start);
33
+ if (!startDate.isValid()) throw new Error('start is not a valid date');
34
+ } else {
35
+ throw new Error('A locked time must have a start time');
36
+ }
37
+
38
+ if (lockedTime.end) {
39
+ endDate = _moment.default.utc(lockedTime.end);
40
+ if (!endDate.isValid()) throw new Error('end is not a valid date');
41
+ } else {
42
+ throw new Error('A locked time must have an end time');
43
+ }
44
+
45
+ if (endDate.isBefore(startDate)) throw new Error('start is after end');
46
+ var length;
47
+ if (startDate && endDate) length = endDate.diff(startDate, 'minutes', true);
48
+ if (length == null) throw new Error('Length of a locked time is null');
49
+ if (length < 5) throw new Error('Length of a locked time is less than 5 min');
50
+ var start;
51
+
52
+ if (startDate) {
53
+ start = parseFloat(startDate.format('HH.mm'));
54
+
55
+ if (start == null) {
56
+ throw new Error('start could not be converted to float');
57
+ }
58
+ }
59
+
60
+ var doc = {
61
+ length: length,
62
+ day: startDate.day() - 1,
63
+ start: start
64
+ };
65
+
66
+ if (options.meta) {
67
+ Object.assign(doc, _objectSpread(_objectSpread({
68
+ id: lockedTime.id
69
+ }, lockedTime.hasOwnProperty('visible') && {
70
+ visible: lockedTime.visible
71
+ }), lockedTime.displayName && {
72
+ name: lockedTime.displayName
73
+ }));
74
+ }
75
+
76
+ return doc;
77
+ });
78
+ };
79
+
80
+ exports.default = _default;
81
+ //# sourceMappingURL=locked-times.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/to/locked-times.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;;;;;;;AAOA,IAAI,OAAO,GAAU,IAAI,GAAJ,EAArB;AACA,OAAO,CAAC,GAAR,CAAY,UAAZ,EAA8B,UAA9B;AACA,OAAO,CAAC,GAAR,CAAY,QAAZ,EAA8B,QAA9B;AACA,OAAO,CAAC,GAAR,CAAY,WAAZ,EAA8B,cAA9B;AACA,OAAO,CAAC,GAAR,CAAY,SAAZ,EAA8B,SAA9B;AACA,OAAO,CAAC,GAAR,CAAY,cAAZ,EAA8B,QAA9B;;eAEe,CAAC,WAAD,EACC,OADD,KACkD;AAE/D,MAAI,IAAI,GAAwB,KAAK,CAAC,OAAN,CAAc,WAAd,IAA6B,WAA7B,GAA2C,CAAC,WAAD,CAA3E;AAEA,SAAO,IAAI,CAAC,GAAL,CAAU,UAAD,IAA6C;AAC3D,QAAI,SAAJ;AACA,QAAI,OAAJ;;AACA,QAAI,UAAU,CAAC,KAAf,EAAsB;AACpB,MAAA,SAAS,GAAG,gBAAO,GAAP,CAAW,UAAU,CAAC,KAAtB,CAAZ;AAEA,UAAI,CAAE,SAAS,CAAC,OAAV,EAAN,EACE,MAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACH,KALD,MAKO;AACL,YAAM,IAAI,KAAJ,CAAU,sCAAV,CAAN;AACD;;AAED,QAAI,UAAU,CAAC,GAAf,EAAoB;AAClB,MAAA,OAAO,GAAG,gBAAO,GAAP,CAAW,UAAU,CAAC,GAAtB,CAAV;AAEA,UAAI,CAAE,OAAO,CAAC,OAAR,EAAN,EACE,MAAM,IAAI,KAAJ,CAAU,yBAAV,CAAN;AACH,KALD,MAKO;AACL,YAAM,IAAI,KAAJ,CAAU,qCAAV,CAAN;AACD;;AAED,QAAI,OAAO,CAAC,QAAR,CAAiB,SAAjB,CAAJ,EACE,MAAM,IAAI,KAAJ,CAAU,oBAAV,CAAN;AAEF,QAAI,MAAJ;AAEA,QAAI,SAAS,IAAI,OAAjB,EACE,MAAM,GAAG,OAAO,CAAC,IAAR,CAAa,SAAb,EAAwB,SAAxB,EAAmC,IAAnC,CAAT;AAEF,QAAI,MAAM,IAAI,IAAd,EACE,MAAM,IAAI,KAAJ,CAAU,iCAAV,CAAN;AAEF,QAAI,MAAM,GAAG,CAAb,EACE,MAAM,IAAI,KAAJ,CAAU,4CAAV,CAAN;AAEF,QAAI,KAAJ;;AACA,QAAI,SAAJ,EAAe;AACb,MAAA,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,MAAV,CAAiB,OAAjB,CAAD,CAAlB;;AACA,UAAI,KAAK,IAAI,IAAb,EAAmB;AACjB,cAAM,IAAI,KAAJ,CAAU,uCAAV,CAAN;AACD;AACF;;AAED,QAAI,GAAG,GAAe;AACpB,MAAA,MAAM,EAAE,MADY;AAEpB,MAAA,GAAG,EAAK,SAAS,CAAC,GAAV,KAAkB,CAFN;AAGpB,MAAA,KAAK,EAAG;AAHY,KAAtB;;AAMA,QAAI,OAAO,CAAC,IAAZ,EAAkB;AAChB,MAAA,MAAM,CAAC,MAAP,CAAc,GAAd;AACE,QAAA,EAAE,EAAsD,UAAU,CAAC;AADrE,SAEK,UAAU,CAAC,cAAX,CAA0B,SAA1B,KAAwC;AAAE,QAAA,OAAO,EAAI,UAAU,CAAC;AAAxB,OAF7C,GAGK,UAAU,CAAC,WAAX,IAAwC;AAAE,QAAA,IAAI,EAAO,UAAU,CAAC;AAAxB,OAH7C;AAKD;;AACD,WAAO,GAAP;AACD,GAzDM,CAAP;AA0DD,C","sourceRoot":"","file":"locked-times.js"}
@@ -0,0 +1,5 @@
1
+ import { Division } from '../../../core/types/divisions';
2
+ import { Schedule } from '../types/schedules';
3
+ import { OutOptions } from '../types/out-options';
4
+ declare const _default: (schedule: Division, options?: OutOptions) => Schedule;
5
+ export default _default;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _constraints2 = _interopRequireDefault(require("./constraints"));
9
+
10
+ var _configurations2 = _interopRequireDefault(require("./configurations"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ 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; }
15
+
16
+ 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; }
17
+
18
+ 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; }
19
+
20
+ var _default = function _default(schedule) {
21
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
22
+
23
+ var data = _objectSpread({
24
+ meta: {
25
+ structure: 'RS/algorithm-2.0.0'
26
+ },
27
+ input: (0, _constraints2.default)(schedule, options)
28
+ }, schedule.events && {
29
+ output: (0, _configurations2.default)(schedule.events, options)
30
+ });
31
+
32
+ return data;
33
+ };
34
+
35
+ exports.default = _default;
36
+ //# sourceMappingURL=schedules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/to/schedules.ts"],"names":[],"mappings":";;;;;;;AAKA;;AACA;;;;;;;;;;eAEe,kBAAC,QAAD,EAA2D;AAAA,MAAtC,OAAsC,uEAAhB,EAAgB;;AAExE,MAAI,IAAI;AACN,IAAA,IAAI,EAAO;AAAE,MAAA,SAAS,EAAE;AAAb,KADL;AAEN,IAAA,KAAK,EAAM,2BAAa,QAAb,EAAuB,OAAvB;AAFL,KAGH,QAAQ,CAAC,MAAT,IAAmB;AAAE,IAAA,MAAM,EAAE,8BAAgB,QAAQ,CAAC,MAAzB,EAAiC,OAAjC;AAAV,GAHhB,CAAR;;AAKA,SAAO,IAAP;AACD,C","sourceRoot":"","file":"schedules.js"}
@@ -0,0 +1,4 @@
1
+ import { Settings } from '../types/settings';
2
+ import { DivisionSettings } from '../../../core/types/division-settings';
3
+ declare const _default: (settings: DivisionSettings) => Settings;
4
+ export default _default;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _default = settings => {
9
+ var {
10
+ numDays,
11
+ discretization
12
+ } = settings;
13
+ if (!numDays) throw new Error('(Schedule::Settings) numDays is falsy');
14
+ if (!discretization) throw new Error('(Schedule::Settings) discretization is falsy');
15
+ return {
16
+ numDays,
17
+ discretization,
18
+ dependencyIdKey: 'id',
19
+ groupIdKey: 'id',
20
+ collectionIdKey: 'id',
21
+ eventIdKey: 'id'
22
+ };
23
+ };
24
+
25
+ exports.default = _default;
26
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/to/settings.ts"],"names":[],"mappings":";;;;;;;eAIgB,QAAD,IAAyC;AAEtD,MAAM;AACJ,IAAA,OADI;AAEJ,IAAA;AAFI,MAMF,QANJ;AAQA,MAAK,CAAE,OAAP,EAAuB,MAAM,IAAI,KAAJ,CAAU,uCAAV,CAAN;AACvB,MAAK,CAAE,cAAP,EAAuB,MAAM,IAAI,KAAJ,CAAU,8CAAV,CAAN;AAIvB,SAAO;AACL,IAAA,OADK;AAEL,IAAA,cAFK;AAuBL,IAAA,eAAe,EAAoB,IAvB9B;AAwBL,IAAA,UAAU,EAAyB,IAxB9B;AAyBL,IAAA,eAAe,EAAoB,IAzB9B;AA0BL,IAAA,UAAU,EAAyB;AA1B9B,GAAP;AA4BD,C","sourceRoot":"","file":"settings.js"}
@@ -0,0 +1,5 @@
1
+ import { Group } from '../types/groups';
2
+ import { OutOptions } from '../types/out-options';
3
+ import { Teacher as SourceTeacher } from '../../../core/types/teachers';
4
+ declare const _default: (teachers: SourceTeacher[] | SourceTeacher, options: OutOptions) => Group[];
5
+ export default _default;
@@ -0,0 +1,69 @@
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, options) => {
25
+ var idKey = options.idKey || 'id';
26
+ return (Array.isArray(teachers) ? teachers : [teachers]).map((teacher, index) => {
27
+ var _teacher$intervals, _teacher$days, _teacher$lockedTimes;
28
+
29
+ if (teacher[idKey] == undefined) throw new Error("Teachers must have an id, index: ".concat(index));
30
+
31
+ var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
32
+ id: teacher[idKey].toString(),
33
+ group_type: 'personal'
34
+ }, 'forbidOverlappingEvents' in teacher && {
35
+ forbidOverlappingEvents: teacher.forbidOverlappingEvents
36
+ }), 'maxNumWorkingHours' in teacher && {
37
+ maxNumWorkingHours: teacher.maxNumWorkingHours
38
+ }), 'disableDayLengthPunishment' in teacher && {
39
+ disableDayLengthPunishment: teacher.disableDayLengthPunishment
40
+ }), {}, {
41
+ minimizeDependencyAlternation: true
42
+ }, 'maxNumDailyWorkingHours' in teacher && {
43
+ maxNumDailyWorkingHours: teacher.maxNumDailyWorkingHours
44
+ }), 'weight' in teacher && {
45
+ weight: teacher.weight
46
+ }), ((_teacher$intervals = teacher.intervals) === null || _teacher$intervals === void 0 ? void 0 : _teacher$intervals.length) && {
47
+ intervals: (0, _intervals.default)(teacher.intervals)
48
+ }), ((_teacher$days = teacher.days) === null || _teacher$days === void 0 ? void 0 : _teacher$days.length) && {
49
+ days: (0, _days.default)(teacher.days)
50
+ }), ((_teacher$lockedTimes = teacher.lockedTimes) === null || _teacher$lockedTimes === void 0 ? void 0 : _teacher$lockedTimes.length) && {
51
+ lockedTimes: (0, _lockedTimes.default)(teacher.lockedTimes, options)
52
+ }), teacher.minBreakLength != null && {
53
+ minBreakLength: (0, _breakLengths.default)(teacher.minBreakLength)
54
+ });
55
+
56
+ if (options.meta) {
57
+ Object.assign(doc, _objectSpread(_objectSpread({}, teacher.ids && {
58
+ ids: teacher.ids
59
+ }), teacher.displayName && {
60
+ name: teacher.displayName
61
+ }));
62
+ }
63
+
64
+ return doc;
65
+ }, []);
66
+ };
67
+
68
+ exports.default = _default;
69
+ //# sourceMappingURL=teachers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/to/teachers.ts"],"names":[],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;eAOe,CAAC,QAAD,EACC,OADD,KACoC;AAEjD,MAAM,KAAK,GAAwB,OAAO,CAAC,KAAR,IAAiB,IAApD;AAEA,SAAO,CAAC,KAAK,CAAC,OAAN,CAAc,QAAd,IAA0B,QAA1B,GAAqC,CAAC,QAAD,CAAtC,EAAkD,GAAlD,CAAsD,CAAC,OAAD,EAAyB,KAAzB,KAA0C;AAAA;;AAErG,QAAI,OAAO,CAAC,KAAD,CAAP,IAAkB,SAAtB,EAAiC,MAAM,IAAI,KAAJ,4CAA+C,KAA/C,EAAN;;AAEjC,QAAI,GAAG;AACL,MAAA,EAAE,EAA0E,OAAO,CAAC,KAAD,CAAP,CAAgB,QAAhB,EADvE;AAEL,MAAA,UAAU,EAAkE;AAFvE,OAGF,6BAAgC,OAAhC,IAA2C;AAAE,MAAA,uBAAuB,EAAK,OAAO,CAAC;AAAtC,KAHzC,GAIF,wBAAgC,OAAhC,IAA2C;AAAE,MAAA,kBAAkB,EAAU,OAAO,CAAC;AAAtC,KAJzC,GAKF,gCAAgC,OAAhC,IAA2C;AAAE,MAAA,0BAA0B,EAAE,OAAO,CAAC;AAAtC,KALzC;AAML,MAAA,6BAA6B,EAAE;AAN1B,OAOF,6BAAgC,OAAhC,IAA2C;AAAE,MAAA,uBAAuB,EAAK,OAAO,CAAC;AAAtC,KAPzC,GAQF,YAAgC,OAAhC,IAA2C;AAAE,MAAA,MAAM,EAAsB,OAAO,CAAC;AAAtC,KARzC,GASF,uBAAA,OAAO,CAAC,SAAR,0EAAmB,MAAnB,KAA2C;AAAE,MAAA,SAAS,EAAmB,wBAAU,OAAO,CAAC,SAAlB;AAA9B,KATzC,GAUF,kBAAA,OAAO,CAAC,IAAR,gEAAc,MAAd,KAA2C;AAAE,MAAA,IAAI,EAAwB,mBAAK,OAAO,CAAC,IAAb;AAA9B,KAVzC,GAWF,yBAAA,OAAO,CAAC,WAAR,8EAAqB,MAArB,KAA2C;AAAE,MAAA,WAAW,EAAiB,0BAAY,OAAO,CAAC,WAApB,EAAiC,OAAjC;AAA9B,KAXzC,GAYD,OAAO,CAAC,cAAR,IAA0B,IAA3B,IAA2C;AAAE,MAAA,cAAc,EAAc,2BAAa,OAAO,CAAC,cAArB;AAA9B,KAZzC,CAAP;;AAeA,QAAI,OAAO,CAAC,IAAZ,EAAkB;AAChB,MAAA,MAAM,CAAC,MAAP,CAAc,GAAd,kCACK,OAAO,CAAC,GAAR,IAAyC;AAAE,QAAA,GAAG,EAAyB,OAAO,CAAC;AAAtC,OAD9C,GAEK,OAAO,CAAC,WAAR,IAAyC;AAAE,QAAA,IAAI,EAAwB,OAAO,CAAC;AAAtC,OAF9C;AAID;;AAED,WAAO,GAAP;AACD,GA3BM,EA2BJ,EA3BI,CAAP;AA4BD,C","sourceRoot":"","file":"teachers.js"}
@@ -0,0 +1,4 @@
1
+ export interface Area {
2
+ breakLengthMatrix?: number[];
3
+ list?: string[];
4
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=areas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"","file":"areas.js"}
@@ -0,0 +1,4 @@
1
+ export interface AvailableDependency {
2
+ dependency?: string;
3
+ rank?: number;
4
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=available-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"","file":"available-dependencies.js"}
@@ -0,0 +1,6 @@
1
+ declare type AsymType = {
2
+ bef: number;
3
+ aft: number;
4
+ };
5
+ export declare type BreakLength = boolean | number | AsymType;
6
+ export {};
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=break-lengths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"","file":"break-lengths.js"}
@@ -0,0 +1,22 @@
1
+ import { Day } from './days';
2
+ import { LockedTime } from './locked-times';
3
+ import { Interval } from './intervals';
4
+ import { CourseEvent } from './course-events';
5
+ import { AvailableDependency } from './available-dependencies';
6
+ import { BreakLength } from './break-lengths';
7
+ export interface Collection {
8
+ id?: string;
9
+ name?: string;
10
+ subject?: string;
11
+ color?: string;
12
+ potentialCenter?: number;
13
+ density?: number;
14
+ weight?: number;
15
+ minBreakLength?: BreakLength;
16
+ events?: (CourseEvent | number)[];
17
+ lockedTimes?: LockedTime[];
18
+ intervals?: Interval[];
19
+ days?: (Day | number)[];
20
+ groups?: string[][];
21
+ dependencies?: (AvailableDependency[] | AvailableDependency)[];
22
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"","file":"collections.js"}
@@ -0,0 +1,5 @@
1
+ import { Placement } from './placements';
2
+ export declare type Configuration = {
3
+ score?: [number, number, number, number];
4
+ events: Placement[];
5
+ };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=configurations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"","file":"configurations.js"}