@royalschedule/maps 2.0.4 → 2.0.5

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 (170) hide show
  1. package/dist/RS/v2/from/available-dependencies.d.ts +3 -0
  2. package/dist/RS/v2/from/available-dependencies.js +59 -0
  3. package/dist/RS/v2/from/available-dependencies.js.map +1 -0
  4. package/dist/RS/v2/from/break-lengths.d.ts +3 -0
  5. package/dist/RS/v2/from/break-lengths.js +25 -0
  6. package/dist/RS/v2/from/break-lengths.js.map +1 -0
  7. package/dist/RS/v2/from/collections.d.ts +5 -0
  8. package/dist/RS/v2/from/collections.js +94 -0
  9. package/dist/RS/v2/from/collections.js.map +1 -0
  10. package/dist/RS/v2/from/course-events.d.ts +5 -0
  11. package/dist/RS/v2/from/course-events.js +113 -0
  12. package/dist/RS/v2/from/course-events.js.map +1 -0
  13. package/dist/RS/v2/from/days.d.ts +4 -0
  14. package/dist/RS/v2/from/days.js +26 -0
  15. package/dist/RS/v2/from/days.js.map +1 -0
  16. package/dist/RS/v2/from/dependencies.d.ts +4 -0
  17. package/dist/RS/v2/from/dependencies.js +59 -0
  18. package/dist/RS/v2/from/dependencies.js.map +1 -0
  19. package/dist/RS/v2/from/groups.d.ts +5 -0
  20. package/dist/RS/v2/from/groups.js +63 -0
  21. package/dist/RS/v2/from/groups.js.map +1 -0
  22. package/dist/RS/v2/from/index.d.ts +16 -0
  23. package/dist/RS/v2/from/index.js +49 -0
  24. package/dist/RS/v2/from/index.js.map +1 -0
  25. package/dist/RS/v2/from/intervals.d.ts +4 -0
  26. package/dist/RS/v2/from/intervals.js +28 -0
  27. package/dist/RS/v2/from/intervals.js.map +1 -0
  28. package/dist/RS/v2/from/locked-times.d.ts +4 -0
  29. package/dist/RS/v2/from/locked-times.js +28 -0
  30. package/dist/RS/v2/from/locked-times.js.map +1 -0
  31. package/dist/RS/v2/from/placements.d.ts +7 -0
  32. package/dist/RS/v2/from/placements.js +32 -0
  33. package/dist/RS/v2/from/placements.js.map +1 -0
  34. package/dist/RS/v2/from/schedules.d.ts +4 -0
  35. package/dist/RS/v2/from/schedules.js +92 -0
  36. package/dist/RS/v2/from/schedules.js.map +1 -0
  37. package/dist/RS/v2/from/settings.d.ts +5 -0
  38. package/dist/RS/v2/from/settings.js +39 -0
  39. package/dist/RS/v2/from/settings.js.map +1 -0
  40. package/dist/RS/v2/from/teachers.d.ts +4 -0
  41. package/dist/RS/v2/from/teachers.js +62 -0
  42. package/dist/RS/v2/from/teachers.js.map +1 -0
  43. package/dist/RS/v2/index.d.ts +7 -0
  44. package/dist/RS/v2/index.js +36 -0
  45. package/dist/RS/v2/index.js.map +1 -0
  46. package/dist/RS/v2/to/available-dependencies.d.ts +5 -0
  47. package/dist/RS/v2/to/available-dependencies.js +43 -0
  48. package/dist/RS/v2/to/available-dependencies.js.map +1 -0
  49. package/dist/RS/v2/to/break-lengths.d.ts +4 -0
  50. package/dist/RS/v2/to/break-lengths.js +28 -0
  51. package/dist/RS/v2/to/break-lengths.js.map +1 -0
  52. package/dist/RS/v2/to/collections.d.ts +7 -0
  53. package/dist/RS/v2/to/collections.js +105 -0
  54. package/dist/RS/v2/to/collections.js.map +1 -0
  55. package/dist/RS/v2/to/configurations.d.ts +5 -0
  56. package/dist/RS/v2/to/configurations.js +35 -0
  57. package/dist/RS/v2/to/configurations.js.map +1 -0
  58. package/dist/RS/v2/to/constraints.d.ts +5 -0
  59. package/dist/RS/v2/to/constraints.js +57 -0
  60. package/dist/RS/v2/to/constraints.js.map +1 -0
  61. package/dist/RS/v2/to/course-events/common.d.ts +1 -0
  62. package/dist/RS/v2/to/course-events/common.js +12 -0
  63. package/dist/RS/v2/to/course-events/common.js.map +1 -0
  64. package/dist/RS/v2/to/course-events/days.d.ts +8 -0
  65. package/dist/RS/v2/to/course-events/days.js +23 -0
  66. package/dist/RS/v2/to/course-events/days.js.map +1 -0
  67. package/dist/RS/v2/to/course-events/dependencies.d.ts +8 -0
  68. package/dist/RS/v2/to/course-events/dependencies.js +26 -0
  69. package/dist/RS/v2/to/course-events/dependencies.js.map +1 -0
  70. package/dist/RS/v2/to/course-events/groups.d.ts +9 -0
  71. package/dist/RS/v2/to/course-events/groups.js +43 -0
  72. package/dist/RS/v2/to/course-events/groups.js.map +1 -0
  73. package/dist/RS/v2/to/course-events/in-locations.d.ts +3 -0
  74. package/dist/RS/v2/to/course-events/in-locations.js +26 -0
  75. package/dist/RS/v2/to/course-events/in-locations.js.map +1 -0
  76. package/dist/RS/v2/to/course-events/index.d.ts +5 -0
  77. package/dist/RS/v2/to/course-events/index.js +85 -0
  78. package/dist/RS/v2/to/course-events/index.js.map +1 -0
  79. package/dist/RS/v2/to/course-events/intervals.d.ts +8 -0
  80. package/dist/RS/v2/to/course-events/intervals.js +20 -0
  81. package/dist/RS/v2/to/course-events/intervals.js.map +1 -0
  82. package/dist/RS/v2/to/course-events/meta.d.ts +15 -0
  83. package/dist/RS/v2/to/course-events/meta.js +39 -0
  84. package/dist/RS/v2/to/course-events/meta.js.map +1 -0
  85. package/dist/RS/v2/to/days.d.ts +4 -0
  86. package/dist/RS/v2/to/days.js +20 -0
  87. package/dist/RS/v2/to/days.js.map +1 -0
  88. package/dist/RS/v2/to/default.d.ts +4 -0
  89. package/dist/RS/v2/to/default.js +44 -0
  90. package/dist/RS/v2/to/default.js.map +1 -0
  91. package/dist/RS/v2/to/dependencies.d.ts +5 -0
  92. package/dist/RS/v2/to/dependencies.js +55 -0
  93. package/dist/RS/v2/to/dependencies.js.map +1 -0
  94. package/dist/RS/v2/to/groups.d.ts +5 -0
  95. package/dist/RS/v2/to/groups.js +69 -0
  96. package/dist/RS/v2/to/groups.js.map +1 -0
  97. package/dist/RS/v2/to/index.d.ts +15 -0
  98. package/dist/RS/v2/to/index.js +52 -0
  99. package/dist/RS/v2/to/index.js.map +1 -0
  100. package/dist/RS/v2/to/intervals.d.ts +4 -0
  101. package/dist/RS/v2/to/intervals.js +24 -0
  102. package/dist/RS/v2/to/intervals.js.map +1 -0
  103. package/dist/RS/v2/to/locked-times.d.ts +5 -0
  104. package/dist/RS/v2/to/locked-times.js +81 -0
  105. package/dist/RS/v2/to/locked-times.js.map +1 -0
  106. package/dist/RS/v2/to/schedules.d.ts +5 -0
  107. package/dist/RS/v2/to/schedules.js +36 -0
  108. package/dist/RS/v2/to/schedules.js.map +1 -0
  109. package/dist/RS/v2/to/settings.d.ts +4 -0
  110. package/dist/RS/v2/to/settings.js +26 -0
  111. package/dist/RS/v2/to/settings.js.map +1 -0
  112. package/dist/RS/v2/to/teachers.d.ts +5 -0
  113. package/dist/RS/v2/to/teachers.js +69 -0
  114. package/dist/RS/v2/to/teachers.js.map +1 -0
  115. package/dist/RS/v2/types/areas.d.ts +4 -0
  116. package/dist/RS/v2/types/areas.js +6 -0
  117. package/dist/RS/v2/types/areas.js.map +1 -0
  118. package/dist/RS/v2/types/available-dependencies.d.ts +4 -0
  119. package/dist/RS/v2/types/available-dependencies.js +6 -0
  120. package/dist/RS/v2/types/available-dependencies.js.map +1 -0
  121. package/dist/RS/v2/types/break-lengths.d.ts +6 -0
  122. package/dist/RS/v2/types/break-lengths.js +6 -0
  123. package/dist/RS/v2/types/break-lengths.js.map +1 -0
  124. package/dist/RS/v2/types/collections.d.ts +22 -0
  125. package/dist/RS/v2/types/collections.js +6 -0
  126. package/dist/RS/v2/types/collections.js.map +1 -0
  127. package/dist/RS/v2/types/configurations.d.ts +5 -0
  128. package/dist/RS/v2/types/configurations.js +6 -0
  129. package/dist/RS/v2/types/configurations.js.map +1 -0
  130. package/dist/RS/v2/types/constraints.d.ts +14 -0
  131. package/dist/RS/v2/types/constraints.js +6 -0
  132. package/dist/RS/v2/types/constraints.js.map +1 -0
  133. package/dist/RS/v2/types/course-events.d.ts +21 -0
  134. package/dist/RS/v2/types/course-events.js +6 -0
  135. package/dist/RS/v2/types/course-events.js.map +1 -0
  136. package/dist/RS/v2/types/days.d.ts +4 -0
  137. package/dist/RS/v2/types/days.js +6 -0
  138. package/dist/RS/v2/types/days.js.map +1 -0
  139. package/dist/RS/v2/types/default.d.ts +18 -0
  140. package/dist/RS/v2/types/default.js +6 -0
  141. package/dist/RS/v2/types/default.js.map +1 -0
  142. package/dist/RS/v2/types/dependencies.d.ts +12 -0
  143. package/dist/RS/v2/types/dependencies.js +6 -0
  144. package/dist/RS/v2/types/dependencies.js.map +1 -0
  145. package/dist/RS/v2/types/groups.d.ts +22 -0
  146. package/dist/RS/v2/types/groups.js +6 -0
  147. package/dist/RS/v2/types/groups.js.map +1 -0
  148. package/dist/RS/v2/types/index.d.ts +28 -0
  149. package/dist/RS/v2/types/index.js +6 -0
  150. package/dist/RS/v2/types/index.js.map +1 -0
  151. package/dist/RS/v2/types/intervals.d.ts +4 -0
  152. package/dist/RS/v2/types/intervals.js +6 -0
  153. package/dist/RS/v2/types/intervals.js.map +1 -0
  154. package/dist/RS/v2/types/locked-times.d.ts +7 -0
  155. package/dist/RS/v2/types/locked-times.js +6 -0
  156. package/dist/RS/v2/types/locked-times.js.map +1 -0
  157. package/dist/RS/v2/types/out-options.d.ts +7 -0
  158. package/dist/RS/v2/types/out-options.js +6 -0
  159. package/dist/RS/v2/types/out-options.js.map +1 -0
  160. package/dist/RS/v2/types/placements.d.ts +8 -0
  161. package/dist/RS/v2/types/placements.js +6 -0
  162. package/dist/RS/v2/types/placements.js.map +1 -0
  163. package/dist/RS/v2/types/schedules.d.ts +12 -0
  164. package/dist/RS/v2/types/schedules.js +6 -0
  165. package/dist/RS/v2/types/schedules.js.map +1 -0
  166. package/dist/RS/v2/types/settings.d.ts +12 -0
  167. package/dist/RS/v2/types/settings.js +6 -0
  168. package/dist/RS/v2/types/settings.js.map +1 -0
  169. package/dist/core/types/division-settings.d.ts +7 -6
  170. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ import { Settings } from '../types/settings';
2
+ declare const _default: (data: any, settings: Settings) => any;
3
+ export default _default;
@@ -0,0 +1,59 @@
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 = (data, settings) => {
15
+ var index = -1;
16
+ return (data ? data : []).reduce((acc, dependency) => {
17
+ switch (typeof dependency) {
18
+ case 'string':
19
+ return acc.concat({
20
+ groupIndex: 0,
21
+ locations: [dependency]
22
+ });
23
+
24
+ case 'object':
25
+ if (Array.isArray(dependency)) {
26
+ index++;
27
+ var dependencies = dependency.map(val => {
28
+ switch (typeof val) {
29
+ case 'string':
30
+ return {
31
+ groupIndex: index,
32
+ locations: [val]
33
+ };
34
+
35
+ case 'object':
36
+ return _objectSpread(_objectSpread({}, val.hasOwnProperty('rank') && {
37
+ rank: val.rank
38
+ }), {}, {
39
+ groupIndex: index,
40
+ locations: [val.dependency]
41
+ });
42
+ }
43
+ });
44
+ return acc.concat(...dependencies);
45
+ } else return acc.concat(_objectSpread({
46
+ groupIndex: 0,
47
+ locations: [dependency.dependency]
48
+ }, dependency.hasOwnProperty('rank') && {
49
+ rank: dependency.rank
50
+ }));
51
+
52
+ default:
53
+ throw new Error('course dependency is neither string nor object');
54
+ }
55
+ }, []);
56
+ };
57
+
58
+ exports.default = _default;
59
+ //# sourceMappingURL=available-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/available-dependencies.ts"],"names":[],"mappings":";;;;;;;;;;;;;eAEe,CAAC,IAAD,EACC,QADD,KAC4B;AACzC,MAAI,KAAK,GAAG,CAAC,CAAb;AACA,SAAO,CAAC,IAAI,GAAG,IAAH,GAAU,EAAf,EAAmB,MAAnB,CAA0B,CAAC,GAAD,EAAW,UAAX,KAA8B;AAC7D,YAAO,OAAO,UAAd;AACE,WAAK,QAAL;AACE,eAAO,GAAG,CAAC,MAAJ,CAAW;AAChB,UAAA,UAAU,EAAE,CADI;AAEhB,UAAA,SAAS,EAAE,CAAE,UAAF;AAFK,SAAX,CAAP;;AAIF,WAAK,QAAL;AAcE,YAAI,KAAK,CAAC,OAAN,CAAc,UAAd,CAAJ,EAA+B;AAC7B,UAAA,KAAK;AAEL,cAAI,YAAY,GAAG,UAAU,CAAC,GAAX,CAAgB,GAAD,IAAQ;AACxC,oBAAO,OAAO,GAAd;AACE,mBAAK,QAAL;AACE,uBAAO;AACL,kBAAA,UAAU,EAAE,KADP;AAEL,kBAAA,SAAS,EAAE,CAAE,GAAF;AAFN,iBAAP;;AAIF,mBAAK,QAAL;AACE,uDACK,GAAG,CAAC,cAAJ,CAAmB,MAAnB,KAA8B;AAAE,kBAAA,IAAI,EAAE,GAAG,CAAC;AAAZ,iBADnC;AAEE,kBAAA,UAAU,EAAE,KAFd;AAGE,kBAAA,SAAS,EAAE,CAAE,GAAG,CAAC,UAAN;AAHb;AAPJ;AAaD,WAdkB,CAAnB;AAeA,iBAAO,GAAG,CAAC,MAAJ,CAAW,GAAG,YAAd,CAAP;AACD,SAnBD,MAoBE,OAAO,GAAG,CAAC,MAAJ;AACL,UAAA,UAAU,EAAE,CADP;AAEL,UAAA,SAAS,EAAE,CAAE,UAAU,CAAC,UAAb;AAFN,WAGF,UAAU,CAAC,cAAX,CAA0B,MAA1B,KAAqC;AAAE,UAAA,IAAI,EAAE,UAAU,CAAC;AAAnB,SAHnC,EAAP;;AAKJ;AACE,cAAM,IAAI,KAAJ,CAAU,gDAAV,CAAN;AA9CJ;AAgDD,GAjDM,EAiDJ,EAjDI,CAAP;AAkDD,C","sourceRoot":"","file":"available-dependencies.js"}
@@ -0,0 +1,3 @@
1
+ import { BreakLength } from '../types/break-lengths';
2
+ declare const _default: (breakLength: BreakLength | null | undefined) => any;
3
+ export default _default;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _default = breakLength => {
9
+ if (breakLength == null) return null;
10
+
11
+ switch (typeof breakLength) {
12
+ case 'boolean':
13
+ case 'number':
14
+ return breakLength;
15
+
16
+ case 'object':
17
+ if (Array.isArray(breakLength) && breakLength.length == 2) return breakLength;else if ((breakLength === null || breakLength === void 0 ? void 0 : breakLength.bef) != null && (breakLength === null || breakLength === void 0 ? void 0 : breakLength.aft) != null) return [breakLength.bef, breakLength.aft];
18
+
19
+ default:
20
+ throw new Error('day is neither number, boolean, array or object of type { bef, aft }');
21
+ }
22
+ };
23
+
24
+ exports.default = _default;
25
+ //# sourceMappingURL=break-lengths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/break-lengths.ts"],"names":[],"mappings":";;;;;;;eAEgB,WAAD,IAAqD;AAElE,MAAI,WAAW,IAAI,IAAnB,EAAyB,OAAO,IAAP;;AAEzB,UAAO,OAAO,WAAd;AACE,SAAK,SAAL;AACA,SAAK,QAAL;AACE,aAAO,WAAP;;AACF,SAAK,QAAL;AACE,UAAI,KAAK,CAAC,OAAN,CAAc,WAAd,KAA8B,WAAW,CAAC,MAAZ,IAAsB,CAAxD,EACE,OAAO,WAAP,CADF,KAEK,IAAI,CAAA,WAAW,SAAX,IAAA,WAAW,WAAX,YAAA,WAAW,CAAE,GAAb,KAAoB,IAApB,IAA4B,CAAA,WAAW,SAAX,IAAA,WAAW,WAAX,YAAA,WAAW,CAAE,GAAb,KAAoB,IAApD,EACH,OAAO,CAAC,WAAW,CAAC,GAAb,EAAkB,WAAW,CAAC,GAA9B,CAAP;;AACJ;AACE,YAAM,IAAI,KAAJ,CAAU,sEAAV,CAAN;AAVJ;AAYD,C","sourceRoot":"","file":"break-lengths.js"}
@@ -0,0 +1,5 @@
1
+ import { Settings } from '../types/settings';
2
+ import { Collection } from '../types/collections';
3
+ import { Course as SourceCourse } from '../../../core/types/courses';
4
+ declare let reduceCourses: (courses: (Collection | Collection[])[], teachersList: string[], groupsList: string[], settings: Settings, overlapGroup?: number) => SourceCourse[];
5
+ export default reduceCourses;
@@ -0,0 +1,94 @@
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
+ var _availableDependencies = _interopRequireDefault(require("./available-dependencies"));
17
+
18
+ var _courseEvents = _interopRequireDefault(require("./course-events"));
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
+ function _course(course, teachersList, groupsList, settings) {
29
+ var _course$groups, _course$groups2;
30
+
31
+ var overlapGroup = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
32
+ var idKey = settings.collectionIdKey;
33
+ if (!idKey) throw new Error('property "collectionIdKey" in settings is undefined');
34
+ if (!course[idKey]) throw new Error('A course missing a unique key');
35
+
36
+ var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
37
+ ids: course[idKey]
38
+ }, overlapGroup != null && {
39
+ overlapGroup: overlapGroup.toString()
40
+ }), course.name && {
41
+ displayName: course.name
42
+ }), course.subject && {
43
+ subject: course.subject
44
+ }), course.color && {
45
+ color: course.color
46
+ }), 'minBreakLength' in course && {
47
+ minBreakLength: (0, _breakLengths.default)(course.minBreakLength)
48
+ }), 'density' in course && {
49
+ density: course.density
50
+ }), 'weight' in course && {
51
+ weight: course.weight
52
+ }), 'potentialCenter' in course && {
53
+ potentialCenter: course.potentialCenter
54
+ }), course.dependencies && {
55
+ locations: (0, _availableDependencies.default)(course.dependencies, settings)
56
+ }), course.intervals && {
57
+ intervals: (0, _intervals.default)(course.intervals)
58
+ }), course.lockedTimes && {
59
+ lockedTimes: (0, _lockedTimes.default)(course.lockedTimes)
60
+ }), course.days && {
61
+ days: (0, _days.default)(course.days, settings)
62
+ });
63
+
64
+ doc.teachers = (_course$groups = course.groups) === null || _course$groups === void 0 ? void 0 : _course$groups.flat().reduce((acc, gId) => {
65
+ if (teachersList.indexOf(gId) != -1) return acc.concat(gId);
66
+ return acc;
67
+ }, []);
68
+ doc.groups = (_course$groups2 = course.groups) === null || _course$groups2 === void 0 ? void 0 : _course$groups2.flat().reduce((acc, gId) => {
69
+ if (groupsList.indexOf(gId) != -1) return acc.concat(gId);
70
+ return acc;
71
+ }, []);
72
+ if (doc.teachers.length + doc.groups.length !== (course.groups || []).length) throw new Error("Length of teachers + groups does not match length of groups in input for course ".concat(course[idKey]));
73
+ if ((course.events || []).length) doc.events = (0, _courseEvents.default)(course.events, course, teachersList, groupsList, settings);
74
+ return doc;
75
+ }
76
+
77
+ var reduceCourses = function reduceCourses(courses, teachersList, groupsList, settings) {
78
+ var overlapGroup = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
79
+ return courses.reduce((acc, course) => {
80
+ if (Array.isArray(course)) {
81
+ var _overlapGroup = overlapGroup++;
82
+
83
+ return acc.concat(course.map(innerCourse => {
84
+ return _course(innerCourse, teachersList, groupsList, settings, _overlapGroup);
85
+ }));
86
+ }
87
+
88
+ return acc.concat(_course(course, teachersList, groupsList, settings));
89
+ }, []);
90
+ };
91
+
92
+ var _default = reduceCourses;
93
+ exports.default = _default;
94
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/collections.ts"],"names":[],"mappings":"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","sourceRoot":"","file":"collections.js"}
@@ -0,0 +1,5 @@
1
+ import { Settings } from '../types/settings';
2
+ import { CourseEvent } from '../types/course-events';
3
+ import { Collection } from '../types/collections';
4
+ declare const _default: (courseEvents: (CourseEvent | number)[], course: Collection, teachersList: string[], groupsList: string[], settings: Settings) => any;
5
+ export default _default;
@@ -0,0 +1,113 @@
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
+ var _availableDependencies = _interopRequireDefault(require("./available-dependencies"));
17
+
18
+ var _getDate = _interopRequireDefault(require("../../../common/get-date"));
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 = (courseEvents, course, teachersList, groupsList, settings) => {
29
+ var collectionIdKey = settings.collectionIdKey;
30
+ var eventIdKey = settings.eventIdKey;
31
+ if (!collectionIdKey) throw new Error('property "collectionIdKey" in settings is undefined');
32
+ return courseEvents.reduce((acc, event) => {
33
+ var _event$groups, _event$groups2;
34
+
35
+ switch (typeof event) {
36
+ case 'number':
37
+ return acc.concat({
38
+ duration: event,
39
+ ids: "".concat(course[collectionIdKey], "_").concat(acc.length)
40
+ });
41
+
42
+ case 'object':
43
+ if (!event[eventIdKey]) {
44
+ Object.assign(event, {
45
+ [eventIdKey]: "".concat(course[collectionIdKey], "_").concat(acc.length)
46
+ });
47
+ }
48
+
49
+ var teachers = (_event$groups = event.groups) === null || _event$groups === void 0 ? void 0 : _event$groups.flat().reduce((acc, gId) => {
50
+ if (teachersList.includes(gId)) return acc.concat(gId);
51
+ return acc;
52
+ }, []);
53
+ var groups = (_event$groups2 = event.groups) === null || _event$groups2 === void 0 ? void 0 : _event$groups2.flat().reduce((acc, gId) => {
54
+ if (groupsList.includes(gId)) return acc.concat(gId);
55
+ return acc;
56
+ }, []);
57
+ var fixedStart = false;
58
+ var start = null;
59
+ var end = null;
60
+
61
+ if (event.start) {
62
+ var _event$day;
63
+
64
+ var day = (_event$day = event.day) !== null && _event$day !== void 0 ? _event$day : 0;
65
+ fixedStart = true;
66
+ start = (0, _getDate.default)(day, event.start.toFixed(2).replace('.', ':'));
67
+ end = start.clone().add(event.length, 'minutes');
68
+ if (start.day() != end.day()) throw new Error('course event have fixed time such that the event span multiple days');
69
+ }
70
+
71
+ return acc.concat(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
72
+ duration: event.length,
73
+ parked: !start
74
+ }, event[eventIdKey] && {
75
+ ids: event[eventIdKey]
76
+ }), event.name && {
77
+ displayName: event.name
78
+ }), fixedStart && {
79
+ fixedStart: fixedStart
80
+ }), start && {
81
+ start: start
82
+ }), end && {
83
+ end: end
84
+ }), 'density' in event && {
85
+ density: event.density
86
+ }), 'weight' in event && {
87
+ weight: event.weight
88
+ }), 'potentialCenter' in event && {
89
+ potentialCenter: event.potentialCenter
90
+ }), 'minBreakLength' in event && {
91
+ minBreakLength: (0, _breakLengths.default)(event.minBreakLength)
92
+ }), event.intervals && {
93
+ intervals: (0, _intervals.default)(event.intervals)
94
+ }), event.lockedTimes && {
95
+ lockedTimes: (0, _lockedTimes.default)(event.lockedTimes)
96
+ }), event.dependencies && {
97
+ locations: (0, _availableDependencies.default)(event.dependencies, settings)
98
+ }), groups && {
99
+ groups: groups
100
+ }), teachers && {
101
+ teachers: teachers
102
+ }), event.days && {
103
+ days: (0, _days.default)(event.days, settings)
104
+ }));
105
+
106
+ default:
107
+ throw new Error("course event is neither number nor object, course ".concat(course[collectionIdKey]));
108
+ }
109
+ }, []);
110
+ };
111
+
112
+ exports.default = _default;
113
+ //# sourceMappingURL=course-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/course-events.ts"],"names":[],"mappings":"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","sourceRoot":"","file":"course-events.js"}
@@ -0,0 +1,4 @@
1
+ import { Settings } from '../types/settings';
2
+ import { Day } from '../types/days';
3
+ declare const _default: (days: Day[] | number[] | any, settings: Settings) => any;
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 = (days, settings) => {
9
+ return days.map(day => {
10
+ switch (typeof day) {
11
+ case 'number':
12
+ return {
13
+ day
14
+ };
15
+
16
+ case 'object':
17
+ return day;
18
+
19
+ default:
20
+ throw new Error('day is neither number or object');
21
+ }
22
+ });
23
+ };
24
+
25
+ exports.default = _default;
26
+ //# sourceMappingURL=days.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/days.ts"],"names":[],"mappings":";;;;;;;eAGe,CAAC,IAAD,EACC,QADD,KAC4B;AAEzC,SAAO,IAAI,CAAC,GAAL,CAAU,GAAD,IAAa;AAC3B,YAAO,OAAO,GAAd;AACE,WAAK,QAAL;AACE,eAAO;AAAE,UAAA;AAAF,SAAP;;AACF,WAAK,QAAL;AACE,eAAO,GAAP;;AACF;AACE,cAAM,IAAI,KAAJ,CAAU,iCAAV,CAAN;AANJ;AAQD,GATM,CAAP;AAUD,C","sourceRoot":"","file":"days.js"}
@@ -0,0 +1,4 @@
1
+ import { Dependency } from '../types/dependencies';
2
+ import { Settings } from '../types/settings';
3
+ declare const _default: (dependencies: (Dependency | string)[], settings: Settings) => any[];
4
+ export default _default;
@@ -0,0 +1,59 @@
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 = (dependencies, settings) => {
25
+ var idKey = settings.dependencyIdKey;
26
+ if (!idKey) throw new Error('property "dependencyIdKey" in settings is undefined');
27
+ return dependencies.map(dependency => {
28
+ switch (typeof dependency) {
29
+ case 'string':
30
+ return {
31
+ ids: dependency
32
+ };
33
+
34
+ case 'object':
35
+ if (!dependency[idKey]) throw new Error('A dependency does not have a unique key');
36
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
37
+ ids: dependency[idKey]
38
+ }, 'minBreakLength' in dependency && {
39
+ minBreakLength: (0, _breakLengths.default)(dependency.minBreakLength)
40
+ }), dependency.name && {
41
+ displayName: dependency.name
42
+ }), dependency.area && {
43
+ area: dependency.area
44
+ }), dependency.days && {
45
+ days: (0, _days.default)(dependency.days, settings)
46
+ }), dependency.intervals && {
47
+ intervals: (0, _intervals.default)(dependency.intervals)
48
+ }), dependency.lockedTimes && {
49
+ lockedTimes: (0, _lockedTimes.default)(dependency.lockedTimes)
50
+ });
51
+
52
+ default:
53
+ throw new Error('dependency is neither string nor object');
54
+ }
55
+ }, []);
56
+ };
57
+
58
+ exports.default = _default;
59
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/dependencies.ts"],"names":[],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;eAKe,CAAC,YAAD,EACC,QADD,KACqC;AAClD,MAAM,KAAK,GAAqB,QAAQ,CAAC,eAAzC;AAEA,MAAI,CAAE,KAAN,EACE,MAAM,IAAI,KAAJ,CAAU,qDAAV,CAAN;AAEF,SAAO,YAAY,CAAC,GAAb,CAAkB,UAAD,IAAoC;AAC1D,YAAO,OAAO,UAAd;AACE,WAAK,QAAL;AACE,eAAO;AACL,UAAA,GAAG,EAAQ;AADN,SAAP;;AAGF,WAAK,QAAL;AAEE,YAAI,CAAE,UAAU,CAAC,KAAD,CAAhB,EACE,MAAM,IAAI,KAAJ,CAAU,yCAAV,CAAN;AAEF;AACE,UAAA,GAAG,EAAoD,UAAU,CAAC,KAAD;AADnE,WAEK,oBAAoB,UAApB,IAAkC;AAAE,UAAA,cAAc,EAAE,2BAAY,UAAU,CAAC,cAAvB;AAAlB,SAFvC,GAGK,UAAU,CAAC,IAAX,IAAkC;AAAE,UAAA,WAAW,EAAK,UAAU,CAAC;AAA7B,SAHvC,GAIK,UAAU,CAAC,IAAX,IAAkC;AAAE,UAAA,IAAI,EAAY,UAAU,CAAC;AAA7B,SAJvC,GAKK,UAAU,CAAC,IAAX,IAAkC;AAAE,UAAA,IAAI,EAAY,mBAAK,UAAU,CAAC,IAAhB,EAAsB,QAAtB;AAAlB,SALvC,GAMK,UAAU,CAAC,SAAX,IAAkC;AAAE,UAAA,SAAS,EAAO,wBAAU,UAAU,CAAC,SAArB;AAAlB,SANvC,GAOK,UAAU,CAAC,WAAX,IAAkC;AAAE,UAAA,WAAW,EAAK,0BAAW,UAAU,CAAC,WAAtB;AAAlB,SAPvC;;AASF;AACE,cAAM,IAAI,KAAJ,CAAU,yCAAV,CAAN;AApBJ;AAuBD,GAxBM,EAwBJ,EAxBI,CAAP;AA0BD,C","sourceRoot":"","file":"dependencies.js"}
@@ -0,0 +1,5 @@
1
+ import { Group } from '../types/groups';
2
+ import { Settings } from '../types/settings';
3
+ import { Group as SourceGroup } from '../../../core/types/groups';
4
+ declare const _default: (groups: Group[], settings: Settings) => SourceGroup[];
5
+ export default _default;
@@ -0,0 +1,63 @@
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, settings) => {
25
+ var idKey = settings.groupIdKey;
26
+ if (!idKey) throw new Error('property "groupIdKey" in settings is undefined');
27
+ return groups.reduce((acc, group) => {
28
+ var _group$days, _group$intervals, _group$lockedTimes;
29
+
30
+ if (!group.group_type) throw new Error('property "group_type" must exist on all entries in "groups" array');
31
+ if (!['personal', 'classes'].includes(group.group_type)) throw new Error('Allowed values of "group_type" are "personal" and "classes"');
32
+ if (!group[idKey]) throw new Error('A group does not have a unique key');
33
+ if (group.group_type != 'classes') return acc;
34
+ return acc.concat(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
35
+ ids: group[idKey]
36
+ }, group.name && {
37
+ displayName: group.name
38
+ }), 'forbidOverlappingEvents' in group && {
39
+ forbidOverlappingEvents: group.forbidOverlappingEvents
40
+ }), 'maxNumWorkingHours' in group && {
41
+ maxNumWorkingHours: group.maxNumWorkingHours
42
+ }), 'maxNumDailyWorkingHours' in group && {
43
+ maxNumDailyWorkingHours: group.maxNumDailyWorkingHours
44
+ }), 'minBreakLength' in group && {
45
+ minBreakLength: (0, _breakLengths.default)(group.minBreakLength)
46
+ }), 'disableDayLengthPunishment' in group && {
47
+ disableDayLengthPunishment: group.disableDayLengthPunishment
48
+ }), 'weight' in group && {
49
+ weight: group.weight
50
+ }), 'rank' in group && {
51
+ rank: group.rank
52
+ }), ((_group$days = group.days) === null || _group$days === void 0 ? void 0 : _group$days.length) && {
53
+ days: (0, _days.default)(group.days, settings)
54
+ }), ((_group$intervals = group.intervals) === null || _group$intervals === void 0 ? void 0 : _group$intervals.length) && {
55
+ intervals: (0, _intervals.default)(group.intervals)
56
+ }), ((_group$lockedTimes = group.lockedTimes) === null || _group$lockedTimes === void 0 ? void 0 : _group$lockedTimes.length) && {
57
+ lockedTimes: (0, _lockedTimes.default)(group.lockedTimes)
58
+ }));
59
+ }, []);
60
+ };
61
+
62
+ exports.default = _default;
63
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/groups.ts"],"names":[],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;eAOe,CAAC,MAAD,EACC,QADD,KACwC;AACrD,MAAM,KAAK,GAAgB,QAAQ,CAAC,UAApC;AAEA,MAAI,CAAE,KAAN,EACE,MAAM,IAAI,KAAJ,CAAU,gDAAV,CAAN;AAEF,SAAO,MAAM,CAAC,MAAP,CAAc,CAAC,GAAD,EAAa,KAAb,KAA6B;AAAA;;AAEhD,QAAI,CAAE,KAAK,CAAC,UAAZ,EACE,MAAM,IAAI,KAAJ,CAAU,mEAAV,CAAN;AAEF,QAAI,CAAE,CAAC,UAAD,EAAa,SAAb,EAAwB,QAAxB,CAAiC,KAAK,CAAC,UAAvC,CAAN,EACE,MAAM,IAAI,KAAJ,CAAU,6DAAV,CAAN;AAEF,QAAI,CAAE,KAAK,CAAC,KAAD,CAAX,EACE,MAAM,IAAI,KAAJ,CAAU,oCAAV,CAAN;AAEF,QAAI,KAAK,CAAC,UAAN,IAAoB,SAAxB,EAAmC,OAAO,GAAP;AAEnC,WAAO,GAAG,CAAC,MAAJ;AACL,MAAA,GAAG,EAAuE,KAAK,CAAC,KAAD;AAD1E,OAEF,KAAK,CAAC,IAAN,IAAyC;AAAE,MAAA,WAAW,EAAiB,KAAK,CAAC;AAApC,KAFvC,GAGF,6BAAgC,KAAhC,IAAyC;AAAE,MAAA,uBAAuB,EAAK,KAAK,CAAC;AAApC,KAHvC,GAIF,wBAAgC,KAAhC,IAAyC;AAAE,MAAA,kBAAkB,EAAU,KAAK,CAAC;AAApC,KAJvC,GAKF,6BAAgC,KAAhC,IAAyC;AAAE,MAAA,uBAAuB,EAAK,KAAK,CAAC;AAApC,KALvC,GAMF,oBAAgC,KAAhC,IAAyC;AAAE,MAAA,cAAc,EAAc,2BAAY,KAAK,CAAC,cAAlB;AAA9B,KANvC,GAOF,gCAAgC,KAAhC,IAAyC;AAAE,MAAA,0BAA0B,EAAE,KAAK,CAAC;AAApC,KAPvC,GAQF,YAAgC,KAAhC,IAAyC;AAAE,MAAA,MAAM,EAAsB,KAAK,CAAC;AAApC,KARvC,GASF,UAAgC,KAAhC,IAAyC;AAAE,MAAA,IAAI,EAAwB,KAAK,CAAC;AAApC,KATvC,GAUF,gBAAA,KAAK,CAAC,IAAN,4DAAY,MAAZ,KAAyC;AAAE,MAAA,IAAI,EAAwB,mBAAK,KAAK,CAAC,IAAX,EAAiB,QAAjB;AAA9B,KAVvC,GAWF,qBAAA,KAAK,CAAC,SAAN,sEAAiB,MAAjB,KAAyC;AAAE,MAAA,SAAS,EAAmB,wBAAU,KAAK,CAAC,SAAhB;AAA9B,KAXvC,GAYF,uBAAA,KAAK,CAAC,WAAN,0EAAmB,MAAnB,KAAyC;AAAE,MAAA,WAAW,EAAiB,0BAAW,KAAK,CAAC,WAAjB;AAA9B,KAZvC,EAAP;AAcD,GA3BM,EA2BJ,EA3BI,CAAP;AA4BD,C","sourceRoot":"","file":"groups.js"}
@@ -0,0 +1,16 @@
1
+ export default class {
2
+ static availableDependency: (data: any, settings: import("../types/settings").Settings) => any;
3
+ static courseEvent: (courseEvents: (number | import("../types/course-events").CourseEvent)[], course: import("../types/collections").Collection, teachersList: string[], groupsList: string[], settings: import("../types/settings").Settings) => any;
4
+ static collection: (courses: (import("../types/collections").Collection | import("../types/collections").Collection[])[], teachersList: string[], groupsList: string[], settings: import("../types/settings").Settings, overlapGroup?: number) => import("../../../core/types/courses").Course[];
5
+ static day: (days: any, settings: import("../types/settings").Settings) => any;
6
+ static dependency: (dependencies: (string | import("../types/dependencies").Dependency)[], settings: import("../types/settings").Settings) => any[];
7
+ static group: (groups: import("../types/groups").Group[], settings: import("../types/settings").Settings) => import("../../../core/types/groups").Group[];
8
+ static interval: (intervals: import("../types/intervals").Interval[]) => import("../../../core/types/intervals").Interval[];
9
+ static lockedTime: (lockedTimes: import("../types/locked-times").LockedTime[]) => import("../../../core/types/locked-times").LockedTime[];
10
+ static placement: (configuration: import("../types/configurations").Configuration, options?: {
11
+ idKey?: "id" | "_id" | "ids" | undefined;
12
+ }) => import("../../../core/types/course-events").CourseEvent[];
13
+ static schedules: (schedule: import("../types/schedules").Schedule) => import("../../../core/types/divisions").Division;
14
+ static setting: (settings: import("../types/settings").Settings, _default: import("../types/default").Default) => import("../../../core/types/division-settings").DivisionSettings;
15
+ static teacher: (teachers: import("../types/groups").Group[], settings: any) => import("../../../core/types/teachers").Teacher[];
16
+ }
@@ -0,0 +1,49 @@
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 _courseEvents = _interopRequireDefault(require("./course-events"));
11
+
12
+ var _collections = _interopRequireDefault(require("./collections"));
13
+
14
+ var _days = _interopRequireDefault(require("./days"));
15
+
16
+ var _dependencies = _interopRequireDefault(require("./dependencies"));
17
+
18
+ var _groups = _interopRequireDefault(require("./groups"));
19
+
20
+ var _intervals = _interopRequireDefault(require("./intervals"));
21
+
22
+ var _lockedTimes = _interopRequireDefault(require("./locked-times"));
23
+
24
+ var _placements = _interopRequireDefault(require("./placements"));
25
+
26
+ var _schedules2 = _interopRequireDefault(require("./schedules"));
27
+
28
+ var _settings = _interopRequireDefault(require("./settings"));
29
+
30
+ var _teachers = _interopRequireDefault(require("./teachers"));
31
+
32
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
+
34
+ class default_1 {}
35
+
36
+ exports.default = default_1;
37
+ default_1.availableDependency = _availableDependencies.default;
38
+ default_1.courseEvent = _courseEvents.default;
39
+ default_1.collection = _collections.default;
40
+ default_1.day = _days.default;
41
+ default_1.dependency = _dependencies.default;
42
+ default_1.group = _groups.default;
43
+ default_1.interval = _intervals.default;
44
+ default_1.lockedTime = _lockedTimes.default;
45
+ default_1.placement = _placements.default;
46
+ default_1.schedules = _schedules2.default;
47
+ default_1.setting = _settings.default;
48
+ default_1.teacher = _teachers.default;
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/RS/v2/from/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEc,MAAA,SAAA,CAAA;;;AACL,SAAA,CAAA,mBAAA,GAAsB,8BAAtB;AACA,SAAA,CAAA,WAAA,GAAsB,qBAAtB;AACA,SAAA,CAAA,UAAA,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,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: 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"}