@royalschedule/maps 2.7.10 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/RS/index.d.ts +3 -0
  2. package/dist/RS/index.js +2 -0
  3. package/dist/RS/index.js.map +1 -1
  4. package/dist/RS/v3/from/available-dependencies.d.ts +3 -0
  5. package/dist/RS/v3/from/available-dependencies.js +97 -0
  6. package/dist/RS/v3/from/available-dependencies.js.map +1 -0
  7. package/dist/RS/v3/from/break-lengths.d.ts +3 -0
  8. package/dist/RS/v3/from/break-lengths.js +20 -0
  9. package/dist/RS/v3/from/break-lengths.js.map +1 -0
  10. package/dist/RS/v3/from/collections.d.ts +4 -0
  11. package/dist/RS/v3/from/collections.js +12 -0
  12. package/dist/RS/v3/from/collections.js.map +1 -0
  13. package/dist/RS/v3/from/course-events.d.ts +5 -0
  14. package/dist/RS/v3/from/course-events.js +14 -0
  15. package/dist/RS/v3/from/course-events.js.map +1 -0
  16. package/dist/RS/v3/from/days.d.ts +4 -0
  17. package/dist/RS/v3/from/days.js +22 -0
  18. package/dist/RS/v3/from/days.js.map +1 -0
  19. package/dist/RS/v3/from/dependencies.d.ts +6 -0
  20. package/dist/RS/v3/from/dependencies.js +97 -0
  21. package/dist/RS/v3/from/dependencies.js.map +1 -0
  22. package/dist/RS/v3/from/groups.d.ts +5 -0
  23. package/dist/RS/v3/from/groups.js +103 -0
  24. package/dist/RS/v3/from/groups.js.map +1 -0
  25. package/dist/RS/v3/from/index.d.ts +25 -0
  26. package/dist/RS/v3/from/index.js +66 -0
  27. package/dist/RS/v3/from/index.js.map +1 -0
  28. package/dist/RS/v3/from/individuals.d.ts +4 -0
  29. package/dist/RS/v3/from/individuals.js +12 -0
  30. package/dist/RS/v3/from/individuals.js.map +1 -0
  31. package/dist/RS/v3/from/intervals.d.ts +4 -0
  32. package/dist/RS/v3/from/intervals.js +28 -0
  33. package/dist/RS/v3/from/intervals.js.map +1 -0
  34. package/dist/RS/v3/from/locked-times.d.ts +4 -0
  35. package/dist/RS/v3/from/locked-times.js +28 -0
  36. package/dist/RS/v3/from/locked-times.js.map +1 -0
  37. package/dist/RS/v3/from/placements.d.ts +7 -0
  38. package/dist/RS/v3/from/placements.js +39 -0
  39. package/dist/RS/v3/from/placements.js.map +1 -0
  40. package/dist/RS/v3/from/schedules.d.ts +13 -0
  41. package/dist/RS/v3/from/schedules.js +162 -0
  42. package/dist/RS/v3/from/schedules.js.map +1 -0
  43. package/dist/RS/v3/from/settings.d.ts +6 -0
  44. package/dist/RS/v3/from/settings.js +39 -0
  45. package/dist/RS/v3/from/settings.js.map +1 -0
  46. package/dist/RS/v3/from/teachers.d.ts +5 -0
  47. package/dist/RS/v3/from/teachers.js +101 -0
  48. package/dist/RS/v3/from/teachers.js.map +1 -0
  49. package/dist/RS/v3/index.d.ts +6 -0
  50. package/dist/RS/v3/index.js +15 -0
  51. package/dist/RS/v3/index.js.map +1 -0
  52. package/dist/RS/v3/to/available-dependencies.d.ts +6 -0
  53. package/dist/RS/v3/to/available-dependencies.js +39 -0
  54. package/dist/RS/v3/to/available-dependencies.js.map +1 -0
  55. package/dist/RS/v3/to/break-lengths.d.ts +4 -0
  56. package/dist/RS/v3/to/break-lengths.js +24 -0
  57. package/dist/RS/v3/to/break-lengths.js.map +1 -0
  58. package/dist/RS/v3/to/collections.d.ts +7 -0
  59. package/dist/RS/v3/to/collections.js +102 -0
  60. package/dist/RS/v3/to/collections.js.map +1 -0
  61. package/dist/RS/v3/to/configurations.d.ts +6 -0
  62. package/dist/RS/v3/to/configurations.js +29 -0
  63. package/dist/RS/v3/to/configurations.js.map +1 -0
  64. package/dist/RS/v3/to/constraints.d.ts +6 -0
  65. package/dist/RS/v3/to/constraints.js +74 -0
  66. package/dist/RS/v3/to/constraints.js.map +1 -0
  67. package/dist/RS/v3/to/course-events/common.d.ts +1 -0
  68. package/dist/RS/v3/to/course-events/common.js +11 -0
  69. package/dist/RS/v3/to/course-events/common.js.map +1 -0
  70. package/dist/RS/v3/to/course-events/days.d.ts +6 -0
  71. package/dist/RS/v3/to/course-events/days.js +19 -0
  72. package/dist/RS/v3/to/course-events/days.js.map +1 -0
  73. package/dist/RS/v3/to/course-events/dependencies.d.ts +6 -0
  74. package/dist/RS/v3/to/course-events/dependencies.js +20 -0
  75. package/dist/RS/v3/to/course-events/dependencies.js.map +1 -0
  76. package/dist/RS/v3/to/course-events/groups.d.ts +10 -0
  77. package/dist/RS/v3/to/course-events/groups.js +61 -0
  78. package/dist/RS/v3/to/course-events/groups.js.map +1 -0
  79. package/dist/RS/v3/to/course-events/in-locations.d.ts +4 -0
  80. package/dist/RS/v3/to/course-events/in-locations.js +29 -0
  81. package/dist/RS/v3/to/course-events/in-locations.js.map +1 -0
  82. package/dist/RS/v3/to/course-events/index.d.ts +7 -0
  83. package/dist/RS/v3/to/course-events/index.js +99 -0
  84. package/dist/RS/v3/to/course-events/index.js.map +1 -0
  85. package/dist/RS/v3/to/course-events/intervals.d.ts +5 -0
  86. package/dist/RS/v3/to/course-events/intervals.js +16 -0
  87. package/dist/RS/v3/to/course-events/intervals.js.map +1 -0
  88. package/dist/RS/v3/to/course-events/meta.d.ts +16 -0
  89. package/dist/RS/v3/to/course-events/meta.js +34 -0
  90. package/dist/RS/v3/to/course-events/meta.js.map +1 -0
  91. package/dist/RS/v3/to/days.d.ts +3 -0
  92. package/dist/RS/v3/to/days.js +17 -0
  93. package/dist/RS/v3/to/days.js.map +1 -0
  94. package/dist/RS/v3/to/default.d.ts +5 -0
  95. package/dist/RS/v3/to/default.js +49 -0
  96. package/dist/RS/v3/to/default.js.map +1 -0
  97. package/dist/RS/v3/to/dependencies.d.ts +6 -0
  98. package/dist/RS/v3/to/dependencies.js +44 -0
  99. package/dist/RS/v3/to/dependencies.js.map +1 -0
  100. package/dist/RS/v3/to/destructure.d.ts +6 -0
  101. package/dist/RS/v3/to/destructure.js +45 -0
  102. package/dist/RS/v3/to/destructure.js.map +1 -0
  103. package/dist/RS/v3/to/dynamic-locked-times.d.ts +7 -0
  104. package/dist/RS/v3/to/dynamic-locked-times.js +86 -0
  105. package/dist/RS/v3/to/dynamic-locked-times.js.map +1 -0
  106. package/dist/RS/v3/to/groups.d.ts +6 -0
  107. package/dist/RS/v3/to/groups.js +57 -0
  108. package/dist/RS/v3/to/groups.js.map +1 -0
  109. package/dist/RS/v3/to/index.d.ts +23 -0
  110. package/dist/RS/v3/to/index.js +41 -0
  111. package/dist/RS/v3/to/index.js.map +1 -0
  112. package/dist/RS/v3/to/individuals.d.ts +11 -0
  113. package/dist/RS/v3/to/individuals.js +66 -0
  114. package/dist/RS/v3/to/individuals.js.map +1 -0
  115. package/dist/RS/v3/to/intervals.d.ts +4 -0
  116. package/dist/RS/v3/to/intervals.js +41 -0
  117. package/dist/RS/v3/to/intervals.js.map +1 -0
  118. package/dist/RS/v3/to/locked-times.d.ts +5 -0
  119. package/dist/RS/v3/to/locked-times.js +67 -0
  120. package/dist/RS/v3/to/locked-times.js.map +1 -0
  121. package/dist/RS/v3/to/periods.d.ts +10 -0
  122. package/dist/RS/v3/to/periods.js +62 -0
  123. package/dist/RS/v3/to/periods.js.map +1 -0
  124. package/dist/RS/v3/to/persons.d.ts +6 -0
  125. package/dist/RS/v3/to/persons.js +33 -0
  126. package/dist/RS/v3/to/persons.js.map +1 -0
  127. package/dist/RS/v3/to/root-intervals.d.ts +4 -0
  128. package/dist/RS/v3/to/root-intervals.js +25 -0
  129. package/dist/RS/v3/to/root-intervals.js.map +1 -0
  130. package/dist/RS/v3/to/schedules.d.ts +12 -0
  131. package/dist/RS/v3/to/schedules.js +28 -0
  132. package/dist/RS/v3/to/schedules.js.map +1 -0
  133. package/dist/RS/v3/to/settings.d.ts +4 -0
  134. package/dist/RS/v3/to/settings.js +24 -0
  135. package/dist/RS/v3/to/settings.js.map +1 -0
  136. package/dist/RS/v3/to/teachers.d.ts +6 -0
  137. package/dist/RS/v3/to/teachers.js +56 -0
  138. package/dist/RS/v3/to/teachers.js.map +1 -0
  139. package/dist/RS/v3/types/areas.d.ts +4 -0
  140. package/dist/RS/v3/types/areas.js +6 -0
  141. package/dist/RS/v3/types/areas.js.map +1 -0
  142. package/dist/RS/v3/types/available-dependencies.d.ts +4 -0
  143. package/dist/RS/v3/types/available-dependencies.js +6 -0
  144. package/dist/RS/v3/types/available-dependencies.js.map +1 -0
  145. package/dist/RS/v3/types/break-lengths.d.ts +6 -0
  146. package/dist/RS/v3/types/break-lengths.js +6 -0
  147. package/dist/RS/v3/types/break-lengths.js.map +1 -0
  148. package/dist/RS/v3/types/collections.d.ts +25 -0
  149. package/dist/RS/v3/types/collections.js +6 -0
  150. package/dist/RS/v3/types/collections.js.map +1 -0
  151. package/dist/RS/v3/types/configurations.d.ts +5 -0
  152. package/dist/RS/v3/types/configurations.js +6 -0
  153. package/dist/RS/v3/types/configurations.js.map +1 -0
  154. package/dist/RS/v3/types/constraints.d.ts +20 -0
  155. package/dist/RS/v3/types/constraints.js +6 -0
  156. package/dist/RS/v3/types/constraints.js.map +1 -0
  157. package/dist/RS/v3/types/course-events.d.ts +26 -0
  158. package/dist/RS/v3/types/course-events.js +6 -0
  159. package/dist/RS/v3/types/course-events.js.map +1 -0
  160. package/dist/RS/v3/types/days.d.ts +4 -0
  161. package/dist/RS/v3/types/days.js +6 -0
  162. package/dist/RS/v3/types/days.js.map +1 -0
  163. package/dist/RS/v3/types/default.d.ts +20 -0
  164. package/dist/RS/v3/types/default.js +6 -0
  165. package/dist/RS/v3/types/default.js.map +1 -0
  166. package/dist/RS/v3/types/dependencies.d.ts +12 -0
  167. package/dist/RS/v3/types/dependencies.js +6 -0
  168. package/dist/RS/v3/types/dependencies.js.map +1 -0
  169. package/dist/RS/v3/types/groups.d.ts +22 -0
  170. package/dist/RS/v3/types/groups.js +6 -0
  171. package/dist/RS/v3/types/groups.js.map +1 -0
  172. package/dist/RS/v3/types/index.d.ts +28 -0
  173. package/dist/RS/v3/types/index.js +6 -0
  174. package/dist/RS/v3/types/index.js.map +1 -0
  175. package/dist/RS/v3/types/individuals.d.ts +6 -0
  176. package/dist/RS/v3/types/individuals.js +6 -0
  177. package/dist/RS/v3/types/individuals.js.map +1 -0
  178. package/dist/RS/v3/types/intervals.d.ts +5 -0
  179. package/dist/RS/v3/types/intervals.js +6 -0
  180. package/dist/RS/v3/types/intervals.js.map +1 -0
  181. package/dist/RS/v3/types/locked-times.d.ts +7 -0
  182. package/dist/RS/v3/types/locked-times.js +6 -0
  183. package/dist/RS/v3/types/locked-times.js.map +1 -0
  184. package/dist/RS/v3/types/out-options.d.ts +7 -0
  185. package/dist/RS/v3/types/out-options.js +6 -0
  186. package/dist/RS/v3/types/out-options.js.map +1 -0
  187. package/dist/RS/v3/types/placements.d.ts +8 -0
  188. package/dist/RS/v3/types/placements.js +6 -0
  189. package/dist/RS/v3/types/placements.js.map +1 -0
  190. package/dist/RS/v3/types/root-intervals.d.ts +5 -0
  191. package/dist/RS/v3/types/root-intervals.js +6 -0
  192. package/dist/RS/v3/types/root-intervals.js.map +1 -0
  193. package/dist/RS/v3/types/schedules.d.ts +14 -0
  194. package/dist/RS/v3/types/schedules.js +6 -0
  195. package/dist/RS/v3/types/schedules.js.map +1 -0
  196. package/dist/RS/v3/types/settings.d.ts +8 -0
  197. package/dist/RS/v3/types/settings.js +6 -0
  198. package/dist/RS/v3/types/settings.js.map +1 -0
  199. package/dist/core/v2/from/groups.d.ts +1 -0
  200. package/dist/core/v2/from/schedules.d.ts +1 -0
  201. package/dist/core/v2/to/groups.d.ts +1 -0
  202. package/dist/core/v2/to/groups.js +5 -1
  203. package/dist/core/v2/to/groups.js.map +1 -1
  204. package/dist/core/v2/to/schedules.d.ts +1 -0
  205. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"break-lengths.js","names":["breakLength","Array","isArray","Error","bef","aft","exports","default","_default"],"sources":["../../../../src/RS/v3/to/break-lengths.ts"],"sourcesContent":[null],"mappings":";;;;;;eAIgBA,WAAkC,IAAiB;EACjE,QAAQ,OAAOA,WAAW;IACxB,KAAK,SAAS;IACd,KAAK,QAAQ;MACX,OAAOA,WAAW;IACpB,KAAK,QAAQ;MACX,IAAI,CAAEC,KAAK,CAACC,OAAO,CAACF,WAAW,CAAC,EAC9B,MAAM,IAAIG,KAAK,CAAC,mEAAmE,CAAC;MACtF,IAAM,CAACC,GAAG,EAAEC,GAAG,CAAC,GAAGL,WAAW;MAC9B,OAAO;QAAEI,GAAG;QAAEC;MAAG,CAAE;IACrB;MACE,MAAM,IAAIF,KAAK,CAAC,mFAAmF,CAAC;;AAE1G,CAAC;AAAAG,OAAA,CAAAC,OAAA,GAAAC,QAAA"}
@@ -0,0 +1,7 @@
1
+ import { Collection } from '../types/collections';
2
+ import { OutOptions } from '../types/out-options';
3
+ import { Individual } from '../types/individuals';
4
+ import { Types as CoreTypes } from '../../../core/types';
5
+ import { Deserialized } from '../../../core/types';
6
+ declare const _default: (courses: Deserialized<CoreTypes.course> | Deserialized<CoreTypes.course>[], events: Deserialized<import("../../../core/v2/types/events").Event>[] | undefined, overlapGroups: Deserialized<import("../../../core/v2/types/overlap-groups").OverlapGroup>[] | undefined, settings: CoreTypes.divisionSettings, options: OutOptions, periodsMap: Map<string | undefined, number>, destructMap?: Map<string | null, Individual>) => (Collection[] | Collection)[];
7
+ export default _default;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _days = _interopRequireDefault(require("./days"));
8
+ var _lockedTimes = _interopRequireDefault(require("./locked-times"));
9
+ var _intervals = _interopRequireDefault(require("./intervals"));
10
+ var _availableDependencies = _interopRequireDefault(require("./available-dependencies"));
11
+ var _courseEvents = _interopRequireDefault(require("./course-events"));
12
+ var _breakLengths = _interopRequireDefault(require("./break-lengths"));
13
+ var _groups = require("./course-events/groups");
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
19
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
20
+ var _default = exports.default = function _default(courses) {
21
+ var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
22
+ var overlapGroups = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
23
+ var settings = arguments.length > 3 ? arguments[3] : undefined;
24
+ var options = arguments.length > 4 ? arguments[4] : undefined;
25
+ var periodsMap = arguments.length > 5 ? arguments[5] : undefined;
26
+ var destructMap = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : new Map();
27
+ var idKey = options.idKey || 'id';
28
+ courses = Array.isArray(courses) ? courses : [courses];
29
+ var eventMap = new Map(events.map(x => [x.id, x]));
30
+ return courses.reduce((acc, course) => {
31
+ var _course$locations, _course$intervals, _course$days, _course$lockedTimes, _course$lockedTimes2, _course$period;
32
+ if (!course[idKey]) throw new Error('(RS::V3::To::Collections) A course does not have a unique key');
33
+ if (!course.events && events !== null && events !== void 0 && events.some(x => {
34
+ var _x$course;
35
+ return ((_x$course = x.course) === null || _x$course === void 0 ? void 0 : _x$course[idKey]) == course[idKey];
36
+ })) {
37
+ course.events = events.filter(x => {
38
+ var _x$course2;
39
+ return ((_x$course2 = x.course) === null || _x$course2 === void 0 ? void 0 : _x$course2[idKey]) == course[idKey];
40
+ });
41
+ }
42
+ if (course.events) course.events = course.events.filter(event => !!event).map(event => {
43
+ var _event = eventMap.get(event.id);
44
+ if (_event) Object.assign(event, _event);
45
+ event.course = course;
46
+ return event;
47
+ });
48
+ if (course.period && periodsMap.size && !periodsMap.has(course.period.id)) {
49
+ throw new Error("(RS::V3::To::Collections) Course ".concat(course[idKey], " has a period that does not exist"));
50
+ }
51
+ var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
52
+ id: course[idKey].toString(),
53
+ events: course.events ? (0, _courseEvents.default)(course.events, overlapGroups, settings, options, periodsMap, destructMap) : []
54
+ }, 'weight' in course && {
55
+ weight: course.weight
56
+ }), 'density' in course && {
57
+ density: course.density
58
+ }), course.eventDurationVariance != null && {
59
+ maxEventLengthVariance: course.eventDurationVariance
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, settings)
64
+ }), ((_course$days = course.days) === null || _course$days === void 0 ? void 0 : _course$days.length) && {
65
+ days: (0, _days.default)(course.days, settings.numDays)
66
+ }), course.minBreakLength != null && {
67
+ minBreakLength: (0, _breakLengths.default)(course.minBreakLength)
68
+ }), ((_course$lockedTimes = course.lockedTimes) === null || _course$lockedTimes === void 0 ? void 0 : _course$lockedTimes.length) && {
69
+ lockedTimes: (0, _lockedTimes.default)(course.lockedTimes, options)
70
+ }), ((_course$lockedTimes2 = course.lockedTimes) === null || _course$lockedTimes2 === void 0 ? void 0 : _course$lockedTimes2.length) && {
71
+ lockedTimes: (0, _lockedTimes.default)(course.lockedTimes, options)
72
+ }), course.centerOfAttraction && {
73
+ potentialCenter: parseFloat(course.centerOfAttraction.replace(':', '.'))
74
+ }), course.period && periodsMap.size && {
75
+ period: periodsMap.get((_course$period = course.period) === null || _course$period === void 0 ? void 0 : _course$period.id)
76
+ });
77
+ var groups = (0, _groups.mapGroupReferences)(course, options, destructMap);
78
+ if (groups) doc.groups = groups;
79
+ if (options.meta) {
80
+ Object.assign(doc, _objectSpread(_objectSpread(_objectSpread({}, 'color' in course && {
81
+ color: course.color
82
+ }), 'ids' in course && {
83
+ ids: course.ids
84
+ }), course.displayName && {
85
+ name: course.displayName
86
+ }));
87
+ }
88
+ if (course.overlapGroup) {
89
+ var overlapGroup = course.overlapGroup.id.toString();
90
+ var index = overlapGroups.map(_ref => {
91
+ var {
92
+ id
93
+ } = _ref;
94
+ return id;
95
+ }).indexOf(overlapGroup);
96
+ acc[index] = acc[index].concat(doc);
97
+ return acc;
98
+ }
99
+ return acc.concat(doc);
100
+ }, Array(overlapGroups.length).fill([]));
101
+ };
102
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.js","names":["_days","_interopRequireDefault","require","_lockedTimes","_intervals","_availableDependencies","_courseEvents","_breakLengths","_groups","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_default","exports","courses","events","overlapGroups","settings","options","periodsMap","destructMap","Map","idKey","Array","isArray","eventMap","map","x","id","reduce","acc","course","_course$locations","_course$intervals","_course$days","_course$lockedTimes","_course$lockedTimes2","_course$period","Error","some","_x$course","_x$course2","event","_event","get","assign","period","size","has","concat","doc","toString","courseEvents","weight","density","eventDurationVariance","maxEventLengthVariance","locations","dependencies","availableDependencies","intervals","days","numDays","minBreakLength","breakLength","lockedTimes","centerOfAttraction","potentialCenter","parseFloat","replace","groups","mapGroupReferences","meta","color","ids","displayName","name","overlapGroup","index","_ref","indexOf","fill"],"sources":["../../../../src/RS/v3/to/collections.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Types as CoreTypes } from '../../../core/types';
2
+ import { Deserialized } from '../../../core/types';
3
+ import { OutOptions } from '../types/out-options';
4
+ import { Configuration } from '../types/configurations';
5
+ declare const _default: (events: Deserialized<CoreTypes.event>[], options: OutOptions) => Configuration[];
6
+ export default _default;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _moment = _interopRequireDefault(require("moment"));
8
+ var _lodash = _interopRequireDefault(require("lodash"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ var _default = (events, options) => {
11
+ var idKey = options.idKey || 'id';
12
+ return [{
13
+ events: (events || []).reduce((acc, event) => {
14
+ var _event$course, _event$inLocations$ma, _event$inLocations;
15
+ if (event.parked) return acc;
16
+ var mmtMidnight = _moment.default.utc(event.start).clone().startOf('day');
17
+ return acc.concat({
18
+ id: event[idKey],
19
+ collection: (_event$course = event.course) === null || _event$course === void 0 ? void 0 : _event$course[idKey],
20
+ day: (_moment.default.utc(event.start).day() + 6) % 7,
21
+ dependencies: (_event$inLocations$ma = (_event$inLocations = event.inLocations) === null || _event$inLocations === void 0 ? void 0 : _event$inLocations.map(x => _lodash.default.isObject(x) ? x[idKey] : null).filter(x => x !== null)) !== null && _event$inLocations$ma !== void 0 ? _event$inLocations$ma : [],
22
+ end: _moment.default.utc(event.end).diff(mmtMidnight, 'minutes'),
23
+ start: _moment.default.utc(event.start).diff(mmtMidnight, 'minutes')
24
+ });
25
+ }, [])
26
+ }];
27
+ };
28
+ exports.default = _default;
29
+ //# sourceMappingURL=configurations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurations.js","names":["_moment","_interopRequireDefault","require","_lodash","obj","__esModule","default","_default","events","options","idKey","reduce","acc","event","_event$course","_event$inLocations$ma","_event$inLocations","parked","mmtMidnight","moment","utc","start","clone","startOf","concat","id","collection","course","day","dependencies","inLocations","map","x","_","isObject","filter","end","diff","exports"],"sources":["../../../../src/RS/v3/to/configurations.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAyD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAS1CA,CAACC,MAAuC,EAAEC,OAAmB,KAAqB;EAE/F,IAAMC,KAAK,GAA+CD,OAAO,CAACC,KAAK,IAAI,IAAI;EAE/E,OAAO,CACL;IACEF,MAAM,EAAE,CAACA,MAAM,IAAI,EAAE,EAAEG,MAAM,CAAC,CAACC,GAAgB,EAAEC,KAAK,KAAI;MAAA,IAAAC,aAAA,EAAAC,qBAAA,EAAAC,kBAAA;MACxD,IAAIH,KAAK,CAACI,MAAM,EAAE,OAAOL,GAAG;MAE5B,IAAMM,WAAW,GAAGC,eAAM,CAACC,GAAG,CAACP,KAAK,CAACQ,KAAK,CAAC,CAACC,KAAK,EAAE,CAACC,OAAO,CAAC,KAAK,CAAC;MAElE,OAAOX,GAAG,CAACY,MAAM,CAAC;QAChBC,EAAE,EAAYZ,KAAK,CAACH,KAAK,CAAC;QAC1BgB,UAAU,GAAAZ,aAAA,GAAID,KAAK,CAACc,MAAM,cAAAb,aAAA,uBAAZA,aAAA,CAAeJ,KAAK,CAAC;QACnCkB,GAAG,EAAW,CAACT,eAAM,CAACC,GAAG,CAACP,KAAK,CAACQ,KAAK,CAAC,CAACO,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;QACrDC,YAAY,GAAAd,qBAAA,IAAAC,kBAAA,GAAGH,KAAK,CAACiB,WAAW,cAAAd,kBAAA,uBAAlBA,kBAAA,CAAqBe,GAAG,CAACC,CAAC,IAAIC,eAAC,CAACC,QAAQ,CAACF,CAAC,CAAC,GAAGA,CAAC,CAACtB,KAAK,CAAC,GAAG,IAAI,CAAC,CAACyB,MAAM,CAACH,CAAC,IAAIA,CAAC,KAAK,IAAI,CAAC,cAAAjB,qBAAA,cAAAA,qBAAA,GAAI,EAAE;QAC1GqB,GAAG,EAAWjB,eAAM,CAACC,GAAG,CAACP,KAAK,CAACuB,GAAG,CAAC,CAACC,IAAI,CAACnB,WAAW,EAAE,SAAS,CAAC;QAChEG,KAAK,EAASF,eAAM,CAACC,GAAG,CAACP,KAAK,CAACQ,KAAK,CAAC,CAACgB,IAAI,CAACnB,WAAW,EAAE,SAAS;OACrD,CAAC;IACjB,CAAC,EAAE,EAAE;GACN,CACF;AACH,CAAC;AAAAoB,OAAA,CAAAhC,OAAA,GAAAC,QAAA"}
@@ -0,0 +1,6 @@
1
+ import { Types as CoreTypes } from '../../../core/types';
2
+ import { Deserialized } from '../../../core/types';
3
+ import { Constraint } from '../types/constraints';
4
+ import { OutOptions } from '../types/out-options';
5
+ declare const _default: (schedule: Deserialized<import("../../../core/v2/types/schedules").Schedule>, options?: OutOptions) => Constraint;
6
+ export default _default;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _lodash = _interopRequireDefault(require("lodash"));
8
+ var _destructure2 = _interopRequireDefault(require("./destructure"));
9
+ var _dependencies = _interopRequireDefault(require("./dependencies"));
10
+ var _teachers = _interopRequireDefault(require("./teachers"));
11
+ var _groups = _interopRequireDefault(require("./groups"));
12
+ var _collections = _interopRequireDefault(require("./collections"));
13
+ var _settings = _interopRequireDefault(require("./settings"));
14
+ var _default2 = _interopRequireDefault(require("./default"));
15
+ var _dynamicLockedTimes = _interopRequireDefault(require("./dynamic-locked-times"));
16
+ var _periods = require("./periods");
17
+ var _individuals = require("./individuals");
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
23
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
24
+ var _default = exports.default = function _default(schedule) {
25
+ var _data$events, _data$events2;
26
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
27
+ if (schedule == null) return {};
28
+ var idKey = options.idKey || 'id';
29
+ var {
30
+ groups,
31
+ teachers,
32
+ locations,
33
+ events,
34
+ overlapGroups,
35
+ courses,
36
+ settings,
37
+ area,
38
+ persons,
39
+ periods,
40
+ rootIntervals
41
+ } = schedule;
42
+ var {
43
+ map: periodsMap,
44
+ matrix: periodsMatrix
45
+ } = (0, _periods.parsePeriods)(periods, _lodash.default.pick(schedule.divisions, 'start', 'end'));
46
+ var destructMap = (0, _destructure2.default)(courses, events, groups, settings, options);
47
+ var data = _objectSpread(_objectSpread(_objectSpread({
48
+ settings: (0, _settings.default)(settings),
49
+ default: (0, _default2.default)(settings, periodsMap)
50
+ }, periodsMatrix && {
51
+ periods: periodsMatrix
52
+ }), area && {
53
+ areas: {
54
+ breakLengthMatrix: area.breakLengthMatrix,
55
+ list: area.list
56
+ }
57
+ }), {}, {
58
+ events: (0, _collections.default)(courses, events, overlapGroups, settings, options, periodsMap, destructMap),
59
+ dependencies: (0, _dependencies.default)(locations, settings, options),
60
+ groups: (0, _groups.default)(groups, settings, options).concat((0, _teachers.default)(teachers, settings, options)),
61
+ individuals: (0, _individuals.personsToIndividuals)(persons, settings, options).concat((0, _individuals.groupsToIndividuals)(groups, settings, options)).concat((0, _individuals.teachersToIndividuals)(teachers, settings, options))
62
+ });
63
+ var groupMap = new Map();
64
+ if (destructMap.size) {
65
+ var _data$individuals;
66
+ groups === null || groups === void 0 || groups.forEach(x => groupMap.set(x[idKey].toString(), x));
67
+ data.individuals = (_data$individuals = data.individuals) === null || _data$individuals === void 0 ? void 0 : _data$individuals.concat(Array.from(destructMap.values()));
68
+ }
69
+ var lunchSet = new Set();
70
+ if (groups !== null && groups !== void 0 && groups.some(group => 'lunch' in group)) data.events = ((_data$events = data.events) !== null && _data$events !== void 0 ? _data$events : []).concat((0, _dynamicLockedTimes.default)(groups, settings, options, lunchSet, destructMap));
71
+ if (teachers !== null && teachers !== void 0 && teachers.some(teacher => 'lunch' in teacher)) data.events = ((_data$events2 = data.events) !== null && _data$events2 !== void 0 ? _data$events2 : []).concat((0, _dynamicLockedTimes.default)(teachers, settings, options, lunchSet));
72
+ return data;
73
+ };
74
+ //# sourceMappingURL=constraints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraints.js","names":["_lodash","_interopRequireDefault","require","_destructure2","_dependencies","_teachers","_groups","_collections","_settings","_default2","_dynamicLockedTimes","_periods","_individuals","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_default","exports","schedule","_data$events","_data$events2","options","idKey","groups","teachers","locations","events","overlapGroups","courses","settings","area","persons","periods","rootIntervals","map","periodsMap","matrix","periodsMatrix","parsePeriods","_","pick","divisions","destructMap","_destructure","data","getSettings","getDefault","areas","breakLengthMatrix","list","getCollections","dependencies","getDependencies","getGroups","concat","getTeachers","individuals","personsToIndividuals","groupsToIndividuals","teachersToIndividuals","groupMap","Map","size","_data$individuals","x","set","toString","Array","from","values","lunchSet","Set","some","group","getDynamicLockedTimes","teacher"],"sources":["../../../../src/RS/v3/to/constraints.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function _shouldInherit(array: any[] | undefined | null, inherit?: boolean | undefined): boolean;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports._shouldInherit = _shouldInherit;
7
+ function _shouldInherit(array) {
8
+ var inherit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
9
+ return !!(array && !inherit);
10
+ }
11
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","names":["_shouldInherit","array","inherit","arguments","length","undefined"],"sources":["../../../../../src/RS/v3/to/course-events/common.ts"],"sourcesContent":[null],"mappings":";;;;;;AACM,SAAUA,cAAcA,CAACC,KAA+B,EAAsC;EAAA,IAApCC,OAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAA+B,KAAK;EAClG,OAAO,CAAC,EAAEF,KAAK,IAAI,CAAEC,OAAO,CAAC;AAC/B"}
@@ -0,0 +1,6 @@
1
+ import { Types as CoreTypes } from '../../../../core/types';
2
+ import { Deserialized } from '../../../../core/types';
3
+ import { OutOptions } from '../../types/out-options';
4
+ export default function (event: Deserialized<CoreTypes.event>, settings: CoreTypes.divisionSettings, options: OutOptions): {
5
+ days: number[];
6
+ } | undefined;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = _default;
7
+ var _days2 = _interopRequireDefault(require("../days"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _default(event, settings, options) {
10
+ var inherit = event.days === null;
11
+ if (inherit || !('days' in event)) {
12
+ return undefined;
13
+ } else {
14
+ return {
15
+ days: (0, _days2.default)(event.days, settings.numDays)
16
+ };
17
+ }
18
+ }
19
+ //# sourceMappingURL=days.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"days.js","names":["_days2","_interopRequireDefault","require","obj","__esModule","default","_default","event","settings","options","inherit","days","undefined","_days","numDays"],"sources":["../../../../../src/RS/v3/to/course-events/days.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0D,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAO5C,SAAAG,SAAUC,KAAuC,EACvCC,QAAoC,EACpCC,OAAoB;EAC1C,IAAMC,OAAO,GAAYH,KAAK,CAACI,IAAI,KAAK,IAAI;EAE5C,IAAID,OAAO,IAAI,EAAG,MAAM,IAAIH,KAAK,CAAC,EAAE;IAClC,OAAOK,SAAS;GACjB,MAAM;IACL,OAAO;MAAED,IAAI,EAAE,IAAAE,cAAK,EAACN,KAAK,CAACI,IAAK,EAAEH,QAAQ,CAACM,OAAO;IAAC,CAAE;;AAEzD"}
@@ -0,0 +1,6 @@
1
+ import { Types as CoreTypes } from '../../../../core/types';
2
+ import { Deserialized } from '../../../../core/types';
3
+ import { OutOptions } from '../../types/out-options';
4
+ export default function (event: Deserialized<CoreTypes.event>, options: OutOptions): {
5
+ dependencies: import("../../types/available-dependencies").AvailableDependency[][];
6
+ } | undefined;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = _default;
7
+ var _availableDependencies = _interopRequireDefault(require("../available-dependencies"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _default(event, options) {
10
+ if (!('locations' in event)) return undefined;
11
+ var inherit = event.locations === null;
12
+ if (inherit) {
13
+ return undefined;
14
+ }
15
+ var dependencies = (0, _availableDependencies.default)(event.locations, options);
16
+ return {
17
+ dependencies: [...new Set(dependencies)]
18
+ };
19
+ }
20
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.js","names":["_availableDependencies","_interopRequireDefault","require","obj","__esModule","default","_default","event","options","undefined","inherit","locations","dependencies","availableDependencies","Set"],"sources":["../../../../../src/RS/v3/to/course-events/dependencies.ts"],"sourcesContent":[null],"mappings":";;;;;;AAKA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4E,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9D,SAAAG,SAAUC,KAAsC,EACtCC,OAAmB;EACzC,IAAI,EAAG,WAAW,IAAID,KAAK,CAAC,EAC1B,OAAOE,SAAS;EAElB,IAAMC,OAAO,GAAYH,KAAK,CAACI,SAAS,KAAK,IAAI;EAEjD,IAAID,OAAO,EAAE;IACX,OAAOD,SAAS;;EAGlB,IAAIG,YAAY,GAAG,IAAAC,8BAAqB,EAACN,KAAK,CAACI,SAAU,EAAEH,OAAO,CAAC;EACnE,OAAO;IAAEI,YAAY,EAAE,CAAC,GAAG,IAAIE,GAAG,CAACF,YAAY,CAAC;EAAC,CAAE;AACrD"}
@@ -0,0 +1,10 @@
1
+ import { Types as CoreTypes } from '../../../../core/types';
2
+ import { Deserialized } from '../../../../core/types';
3
+ import { Individual } from '../../types/individuals';
4
+ import { OutOptions } from '../../types/out-options';
5
+ export declare function deconstructGroups(groups: NonNullable<Deserialized<CoreTypes.event>['groups']>, participantIds: {
6
+ individuals: string | string[];
7
+ }[], destructMap: Map<string | null, Individual>, options: OutOptions): NonNullable<Deserialized<CoreTypes.event>['groups']>;
8
+ export declare function mapGroupReferences(source: Deserialized<CoreTypes.event> & Deserialized<CoreTypes.course>, options: OutOptions, destructMap: Map<string | null, Individual>): (string | {
9
+ individuals: string[];
10
+ })[][];
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.deconstructGroups = deconstructGroups;
7
+ exports.mapGroupReferences = mapGroupReferences;
8
+ function deconstructGroups(groups, participantIds, destructMap, options) {
9
+ var idKey = options.idKey || 'id';
10
+ if (destructMap.size) {
11
+ groups = groups.map(group => {
12
+ var _group$exclude, _group$to$idKey;
13
+ if (!((_group$exclude = group.exclude) !== null && _group$exclude !== void 0 && _group$exclude.length)) return group;
14
+ var arr = [(_group$to$idKey = group.to[idKey]) === null || _group$to$idKey === void 0 ? void 0 : _group$to$idKey.toString()].concat(group.exclude.map(y => {
15
+ var _y$idKey;
16
+ return (_y$idKey = y[idKey]) === null || _y$idKey === void 0 ? void 0 : _y$idKey.toString();
17
+ }));
18
+ var key = arr.sort().join('.');
19
+ var destructed = destructMap.get(key);
20
+ if (!destructed) return group;
21
+ participantIds.push({
22
+ individuals: destructed.id
23
+ });
24
+ return null;
25
+ }).filter(x => x != null);
26
+ }
27
+ return groups;
28
+ }
29
+ function mapGroupReferences(source, options, destructMap) {
30
+ var _ref, _source$teachers, _source$course, _ref2, _source$groups, _source$course2, _ref3, _source$participants, _source$course3;
31
+ var idKey = options.idKey || 'id';
32
+ var teachers = (_ref = (_source$teachers = source.teachers) !== null && _source$teachers !== void 0 ? _source$teachers : (_source$course = source.course) === null || _source$course === void 0 ? void 0 : _source$course.teachers) !== null && _ref !== void 0 ? _ref : [];
33
+ var groups = (_ref2 = (_source$groups = source.groups) !== null && _source$groups !== void 0 ? _source$groups : (_source$course2 = source.course) === null || _source$course2 === void 0 ? void 0 : _source$course2.groups) !== null && _ref2 !== void 0 ? _ref2 : [];
34
+ var participants = (_ref3 = (_source$participants = source.participants) !== null && _source$participants !== void 0 ? _source$participants : (_source$course3 = source.course) === null || _source$course3 === void 0 ? void 0 : _source$course3.participants) !== null && _ref3 !== void 0 ? _ref3 : [];
35
+ var teacherIds = teachers.map(_ref4 => {
36
+ var {
37
+ to
38
+ } = _ref4;
39
+ return to[idKey];
40
+ }).filter(x => !!x).map(x => ({
41
+ individuals: ['teachers.individuals.' + x.toString()]
42
+ }));
43
+ var participantIds = participants.map(_ref5 => {
44
+ var {
45
+ to
46
+ } = _ref5;
47
+ return to[idKey];
48
+ }).filter(x => !!x).map(x => ({
49
+ individuals: ['persons.' + x.toString()]
50
+ }));
51
+ groups = deconstructGroups(groups, participantIds, destructMap, options);
52
+ var groupIds = groups.map(_ref6 => {
53
+ var {
54
+ to
55
+ } = _ref6;
56
+ return to[idKey];
57
+ }).filter(x => !!x).map(x => 'groups.' + x.toString());
58
+ var out = [...new Set(teacherIds), ...new Set(groupIds), ...new Set(participantIds)].map(x => [x]);
59
+ return out;
60
+ }
61
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","names":["deconstructGroups","groups","participantIds","destructMap","options","idKey","size","map","group","_group$exclude","_group$to$idKey","exclude","length","arr","to","toString","concat","y","_y$idKey","key","sort","join","destructed","get","push","individuals","id","filter","x","mapGroupReferences","source","_ref","_source$teachers","_source$course","_ref2","_source$groups","_source$course2","_ref3","_source$participants","_source$course3","teachers","course","participants","teacherIds","_ref4","_ref5","groupIds","_ref6","out","Set"],"sources":["../../../../../src/RS/v3/to/course-events/groups.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Types as CoreTypes } from '../../../../core/types';
2
+ import { Deserialized } from '../../../../core/types';
3
+ import { OutOptions } from '../../types/out-options';
4
+ export default function (event: Deserialized<CoreTypes.event>, options: OutOptions): (string | null)[];
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = _default;
7
+ var _availableDependencies = _interopRequireDefault(require("../available-dependencies"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _default(event, options) {
10
+ var idKey = options.idKey || 'id';
11
+ if (!event) throw new Error("(RS::V3::To::CourseEvent::InLocations) Mapping in-locations failed due to event being undefined");
12
+ var course = event.course;
13
+ if (!course) throw new Error("(RS::V3::To::CourseEvent::InLocations) Mapping in-locations failed due to event course being undefined");
14
+ var inherit = event.locations === null;
15
+ var dependencies = inherit ? (0, _availableDependencies.default)(course.locations, options) : (0, _availableDependencies.default)(event.locations, options);
16
+ var inLocation = event.inLocations || [];
17
+ if (inLocation.length === dependencies.length) {
18
+ return inLocation.map(x => {
19
+ var _x$idKey;
20
+ return x === null ? null : x === null || x === void 0 || (_x$idKey = x[idKey]) === null || _x$idKey === void 0 ? void 0 : _x$idKey.toString();
21
+ });
22
+ } else {
23
+ return inLocation.concat(Array(Math.max(dependencies.length - inLocation.length, 0)).fill(null)).map(x => {
24
+ var _x$idKey2;
25
+ return x === null ? null : x === null || x === void 0 || (_x$idKey2 = x[idKey]) === null || _x$idKey2 === void 0 ? void 0 : _x$idKey2.toString();
26
+ });
27
+ }
28
+ }
29
+ //# sourceMappingURL=in-locations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-locations.js","names":["_availableDependencies","_interopRequireDefault","require","obj","__esModule","default","_default","event","options","idKey","Error","course","inherit","locations","dependencies","availableDependencies","inLocation","inLocations","length","map","x","_x$idKey","toString","concat","Array","Math","max","fill","_x$idKey2"],"sources":["../../../../../src/RS/v3/to/course-events/in-locations.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4E,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAQ9D,SAAAG,SAAUC,KAAoC,EAAEC,OAAmB;EAC/E,IAAMC,KAAK,GAAmBD,OAAO,CAACC,KAAK,IAAI,IAAI;EAEnD,IAAI,CAAEF,KAAK,EACT,MAAM,IAAIG,KAAK,kGAAkG,CAAC;EAEpH,IAAMC,MAAM,GAAGJ,KAAK,CAACI,MAAM;EAE3B,IAAI,CAAEA,MAAM,EACV,MAAM,IAAID,KAAK,yGAAyG,CAAC;EAE3H,IAAME,OAAO,GAAiBL,KAAK,CAACM,SAAS,KAAK,IAAI;EAEtD,IAAMC,YAAY,GAAGF,OAAO,GAAG,IAAAG,8BAAqB,EAACJ,MAAM,CAACE,SAAU,EAAEL,OAAO,CAAC,GACnD,IAAAO,8BAAqB,EAACR,KAAK,CAACM,SAAU,EAAEL,OAAO,CAAC;EAE9E,IAAMQ,UAAU,GAAGT,KAAK,CAACU,WAAW,IAAI,EAAE;EAEzC,IAAID,UAAU,CAACE,MAAM,KAAMJ,YAAY,CAACI,MAAM,EAAE;IAC9C,OAAOF,UAAU,CAACG,GAAG,CAACC,CAAC;MAAA,IAAAC,QAAA;MAAA,OAAKD,CAAC,KAAK,IAAI,GAAI,IAAI,GAAGA,CAAC,aAADA,CAAC,gBAAAC,QAAA,GAADD,CAAC,CAAGX,KAAK,CAAC,cAAAY,QAAA,uBAAVA,QAAA,CAAYC,QAAQ,EAAG;IAAA,EAAC;GAC1E,MAAM;IACL,OAAON,UAAU,CAACO,MAAM,CAACC,KAAK,CAACC,IAAI,CAACC,GAAG,CAACZ,YAAY,CAACI,MAAM,GAAGF,UAAU,CAACE,MAAM,EAAE,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,IAAI,CAAC,CAAC,CAC9ER,GAAG,CAACC,CAAC;MAAA,IAAAQ,SAAA;MAAA,OAAKR,CAAC,KAAK,IAAI,GAAI,IAAI,GAAGA,CAAC,aAADA,CAAC,gBAAAQ,SAAA,GAADR,CAAC,CAAGX,KAAK,CAAC,cAAAmB,SAAA,uBAAVA,SAAA,CAAYN,QAAQ,EAAG;IAAA,EAAC;;AAE7E"}
@@ -0,0 +1,7 @@
1
+ import { CourseEvent } from '../../types/course-events';
2
+ import { OutOptions } from '../../types/out-options';
3
+ import { Individual } from '../../types/individuals';
4
+ import { Types as CoreTypes } from '../../../../core/types';
5
+ import { Deserialized } from '../../../../core/types';
6
+ declare const _default: (courseEvents: Deserialized<CoreTypes.event>[] | Deserialized<CoreTypes.event>, overlapGroups: Deserialized<import("../../../../core/v2/types/overlap-groups").OverlapGroup>[] | undefined, settings: CoreTypes.divisionSettings, options: OutOptions, periodsMap: Map<string | undefined, number>, destructMap?: Map<string | null, Individual>) => CourseEvent[];
7
+ export default _default;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _moment = _interopRequireDefault(require("moment"));
8
+ var _breakLengths = _interopRequireDefault(require("../break-lengths"));
9
+ var _lockedTimes = _interopRequireDefault(require("../locked-times"));
10
+ var _groups = require("./groups");
11
+ var _meta2 = _interopRequireDefault(require("./meta"));
12
+ var _dependencies2 = _interopRequireDefault(require("./dependencies"));
13
+ var _days2 = _interopRequireDefault(require("./days"));
14
+ var _intervals2 = _interopRequireDefault(require("./intervals"));
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
20
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
21
+ var _default = exports.default = function _default(courseEvents) {
22
+ var overlapGroups = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
23
+ var settings = arguments.length > 2 ? arguments[2] : undefined;
24
+ var options = arguments.length > 3 ? arguments[3] : undefined;
25
+ var periodsMap = arguments.length > 4 ? arguments[4] : undefined;
26
+ var destructMap = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : new Map();
27
+ var idKey = options.idKey ? options.idKey : 'id';
28
+ var docs = Array.isArray(courseEvents) ? courseEvents : [courseEvents];
29
+ return docs.reduce((acc, event) => {
30
+ var _event$preferredDurat, _event$lockedTimes, _event$period;
31
+ if (!event) return acc;
32
+ var course = event.course;
33
+ var id = (event[idKey] || event._id).toString();
34
+ var forcedOverlapId;
35
+ if ((event === null || event === void 0 ? void 0 : event.overlapSpecies) != null) {
36
+ var _overlapGroups$find;
37
+ var {
38
+ species = []
39
+ } = (_overlapGroups$find = overlapGroups.find(_ref => {
40
+ var {
41
+ id
42
+ } = _ref;
43
+ return event.overlapSpecies.id == id;
44
+ })) !== null && _overlapGroups$find !== void 0 ? _overlapGroups$find : {};
45
+ var specie = species.find(_ref2 => {
46
+ var {
47
+ to: {
48
+ id
49
+ },
50
+ toModel
51
+ } = _ref2;
52
+ return (toModel == 'events' || toModel == 'courseevents') && event.id == id;
53
+ });
54
+ if (specie) forcedOverlapId = specie.id;
55
+ }
56
+ if (event.period && periodsMap.size && !periodsMap.has(event.period.id)) {
57
+ throw new Error("(RS::V3::To::Collections) Course ".concat(event[idKey], " has a period that does not exist"));
58
+ }
59
+ var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
60
+ id: "events.".concat(id),
61
+ length: (_event$preferredDurat = event.preferredDuration) !== null && _event$preferredDurat !== void 0 ? _event$preferredDurat : event.duration
62
+ }, event.durationVariance != null && {
63
+ maxLengthVariance: event.durationVariance
64
+ }), 'weight' in event && {
65
+ weight: event.weight
66
+ }), 'density' in event && {
67
+ density: event.density
68
+ }), ((_event$lockedTimes = event.lockedTimes) === null || _event$lockedTimes === void 0 ? void 0 : _event$lockedTimes.length) && {
69
+ lockedTimes: (0, _lockedTimes.default)(event.lockedTimes, options)
70
+ }), event.minBreakLength != null && {
71
+ minBreakLength: (0, _breakLengths.default)(event.minBreakLength)
72
+ }), event.centerOfAttraction && {
73
+ potentialCenter: parseFloat(event.centerOfAttraction.replace(':', '.'))
74
+ }), forcedOverlapId != null && {
75
+ forcedOverlapId
76
+ }), event.period && periodsMap.size && {
77
+ period: periodsMap.get((_event$period = event.period) === null || _event$period === void 0 ? void 0 : _event$period.id)
78
+ });
79
+ var groups = (0, _groups.mapGroupReferences)(event, options, destructMap);
80
+ if (groups) doc.groups = groups;
81
+ var dependencies = (0, _dependencies2.default)(event, options);
82
+ if (dependencies) Object.assign(doc, dependencies);
83
+ if (options.meta) {
84
+ Object.assign(doc, (0, _meta2.default)(event, options));
85
+ }
86
+ var days = (0, _days2.default)(event, settings, options);
87
+ if (days) Object.assign(doc, days);
88
+ var intervals = (0, _intervals2.default)(event, settings, options);
89
+ if (intervals) Object.assign(doc, intervals);
90
+ if (event.fixedStart && event.start) {
91
+ Object.assign(doc, {
92
+ start: parseFloat(_moment.default.utc(event.start).format('HH.mm')),
93
+ day: (_moment.default.utc(event.start).day() + 6) % 7
94
+ });
95
+ }
96
+ return acc.concat(doc);
97
+ }, []);
98
+ };
99
+ //# sourceMappingURL=index.js.map