@royalschedule/maps 2.7.10 → 2.7.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Admentum/to/index.d.ts +10 -3
- package/dist/Admentum/to/schedules.d.ts +10 -4
- package/dist/Admentum/to/schedules.js +58 -22
- package/dist/Admentum/to/schedules.js.map +1 -1
- package/dist/PlanDigital/types/course.d.ts +15 -0
- package/dist/{core/types/common.js → PlanDigital/types/course.js} +1 -1
- package/dist/PlanDigital/types/course.js.map +1 -0
- package/dist/PlanDigital/types/period.d.ts +3 -0
- package/dist/PlanDigital/types/period.js +6 -0
- package/dist/PlanDigital/types/period.js.map +1 -0
- package/dist/RS/index.d.ts +3 -0
- package/dist/RS/index.js +2 -0
- package/dist/RS/index.js.map +1 -1
- package/dist/RS/v2/to/dynamic-locked-times.js +3 -3
- package/dist/RS/v2/to/dynamic-locked-times.js.map +1 -1
- package/dist/RS/v3/index.d.ts +6 -0
- package/dist/RS/v3/index.js +15 -0
- package/dist/RS/v3/index.js.map +1 -0
- package/dist/RS/v3/to/available-dependencies.d.ts +6 -0
- package/dist/RS/v3/to/available-dependencies.js +39 -0
- package/dist/RS/v3/to/available-dependencies.js.map +1 -0
- package/dist/RS/v3/to/break-lengths.d.ts +4 -0
- package/dist/RS/v3/to/break-lengths.js +24 -0
- package/dist/RS/v3/to/break-lengths.js.map +1 -0
- package/dist/RS/v3/to/collections.d.ts +7 -0
- package/dist/RS/v3/to/collections.js +102 -0
- package/dist/RS/v3/to/collections.js.map +1 -0
- package/dist/RS/v3/to/configurations.d.ts +6 -0
- package/dist/RS/v3/to/configurations.js +29 -0
- package/dist/RS/v3/to/configurations.js.map +1 -0
- package/dist/RS/v3/to/constraints.d.ts +6 -0
- package/dist/RS/v3/to/constraints.js +74 -0
- package/dist/RS/v3/to/constraints.js.map +1 -0
- package/dist/RS/v3/to/course-events/common.d.ts +1 -0
- package/dist/RS/v3/to/course-events/common.js +11 -0
- package/dist/RS/v3/to/course-events/common.js.map +1 -0
- package/dist/RS/v3/to/course-events/days.d.ts +6 -0
- package/dist/RS/v3/to/course-events/days.js +19 -0
- package/dist/RS/v3/to/course-events/days.js.map +1 -0
- package/dist/RS/v3/to/course-events/dependencies.d.ts +6 -0
- package/dist/RS/v3/to/course-events/dependencies.js +20 -0
- package/dist/RS/v3/to/course-events/dependencies.js.map +1 -0
- package/dist/RS/v3/to/course-events/groups.d.ts +12 -0
- package/dist/RS/v3/to/course-events/groups.js +66 -0
- package/dist/RS/v3/to/course-events/groups.js.map +1 -0
- package/dist/RS/v3/to/course-events/in-locations.d.ts +4 -0
- package/dist/RS/v3/to/course-events/in-locations.js +29 -0
- package/dist/RS/v3/to/course-events/in-locations.js.map +1 -0
- package/dist/RS/v3/to/course-events/index.d.ts +7 -0
- package/dist/RS/v3/to/course-events/index.js +99 -0
- package/dist/RS/v3/to/course-events/index.js.map +1 -0
- package/dist/RS/v3/to/course-events/intervals.d.ts +5 -0
- package/dist/RS/v3/to/course-events/intervals.js +16 -0
- package/dist/RS/v3/to/course-events/intervals.js.map +1 -0
- package/dist/RS/v3/to/course-events/meta.d.ts +16 -0
- package/dist/RS/v3/to/course-events/meta.js +34 -0
- package/dist/RS/v3/to/course-events/meta.js.map +1 -0
- package/dist/RS/v3/to/days.d.ts +3 -0
- package/dist/RS/v3/to/days.js +17 -0
- package/dist/RS/v3/to/days.js.map +1 -0
- package/dist/RS/v3/to/default.d.ts +5 -0
- package/dist/RS/v3/to/default.js +49 -0
- package/dist/RS/v3/to/default.js.map +1 -0
- package/dist/RS/v3/to/dependencies.d.ts +6 -0
- package/dist/RS/v3/to/dependencies.js +44 -0
- package/dist/RS/v3/to/dependencies.js.map +1 -0
- package/dist/RS/v3/to/destructure.d.ts +6 -0
- package/dist/RS/v3/to/destructure.js +45 -0
- package/dist/RS/v3/to/destructure.js.map +1 -0
- package/dist/RS/v3/to/dynamic-locked-times.d.ts +7 -0
- package/dist/RS/v3/to/dynamic-locked-times.js +110 -0
- package/dist/RS/v3/to/dynamic-locked-times.js.map +1 -0
- package/dist/RS/v3/to/groups.d.ts +6 -0
- package/dist/RS/v3/to/groups.js +57 -0
- package/dist/RS/v3/to/groups.js.map +1 -0
- package/dist/RS/v3/to/index.d.ts +23 -0
- package/dist/RS/v3/to/index.js +41 -0
- package/dist/RS/v3/to/index.js.map +1 -0
- package/dist/RS/v3/to/individuals.d.ts +11 -0
- package/dist/RS/v3/to/individuals.js +66 -0
- package/dist/RS/v3/to/individuals.js.map +1 -0
- package/dist/RS/v3/to/intervals.d.ts +4 -0
- package/dist/RS/v3/to/intervals.js +41 -0
- package/dist/RS/v3/to/intervals.js.map +1 -0
- package/dist/RS/v3/to/locked-times.d.ts +5 -0
- package/dist/RS/v3/to/locked-times.js +67 -0
- package/dist/RS/v3/to/locked-times.js.map +1 -0
- package/dist/RS/v3/to/periods.d.ts +10 -0
- package/dist/RS/v3/to/periods.js +62 -0
- package/dist/RS/v3/to/periods.js.map +1 -0
- package/dist/RS/v3/to/persons.d.ts +6 -0
- package/dist/RS/v3/to/persons.js +33 -0
- package/dist/RS/v3/to/persons.js.map +1 -0
- package/dist/RS/v3/to/root-intervals.d.ts +4 -0
- package/dist/RS/v3/to/root-intervals.js +25 -0
- package/dist/RS/v3/to/root-intervals.js.map +1 -0
- package/dist/RS/v3/to/schedules.d.ts +12 -0
- package/dist/RS/v3/to/schedules.js +28 -0
- package/dist/RS/v3/to/schedules.js.map +1 -0
- package/dist/RS/v3/to/settings.d.ts +4 -0
- package/dist/RS/v3/to/settings.js +24 -0
- package/dist/RS/v3/to/settings.js.map +1 -0
- package/dist/RS/v3/to/teachers.d.ts +6 -0
- package/dist/RS/v3/to/teachers.js +56 -0
- package/dist/RS/v3/to/teachers.js.map +1 -0
- package/dist/RS/v3/types/areas.d.ts +4 -0
- package/dist/RS/v3/types/areas.js +6 -0
- package/dist/RS/v3/types/areas.js.map +1 -0
- package/dist/RS/v3/types/available-dependencies.d.ts +4 -0
- package/dist/RS/v3/types/available-dependencies.js +6 -0
- package/dist/RS/v3/types/available-dependencies.js.map +1 -0
- package/dist/RS/v3/types/break-lengths.d.ts +6 -0
- package/dist/RS/v3/types/break-lengths.js +6 -0
- package/dist/RS/v3/types/break-lengths.js.map +1 -0
- package/dist/RS/v3/types/collections.d.ts +25 -0
- package/dist/RS/v3/types/collections.js +6 -0
- package/dist/RS/v3/types/collections.js.map +1 -0
- package/dist/RS/v3/types/configurations.d.ts +5 -0
- package/dist/RS/v3/types/configurations.js +6 -0
- package/dist/RS/v3/types/configurations.js.map +1 -0
- package/dist/RS/v3/types/constraints.d.ts +20 -0
- package/dist/RS/v3/types/constraints.js +6 -0
- package/dist/RS/v3/types/constraints.js.map +1 -0
- package/dist/RS/v3/types/course-events.d.ts +26 -0
- package/dist/RS/v3/types/course-events.js +6 -0
- package/dist/RS/v3/types/course-events.js.map +1 -0
- package/dist/RS/v3/types/days.d.ts +4 -0
- package/dist/RS/v3/types/days.js +6 -0
- package/dist/RS/v3/types/days.js.map +1 -0
- package/dist/RS/v3/types/default.d.ts +20 -0
- package/dist/RS/v3/types/default.js +6 -0
- package/dist/RS/v3/types/default.js.map +1 -0
- package/dist/RS/v3/types/dependencies.d.ts +12 -0
- package/dist/RS/v3/types/dependencies.js +6 -0
- package/dist/RS/v3/types/dependencies.js.map +1 -0
- package/dist/RS/v3/types/groups.d.ts +22 -0
- package/dist/RS/v3/types/groups.js +6 -0
- package/dist/RS/v3/types/groups.js.map +1 -0
- package/dist/RS/v3/types/index.d.ts +28 -0
- package/dist/RS/v3/types/index.js.map +1 -0
- package/dist/RS/v3/types/individuals.d.ts +6 -0
- package/dist/RS/v3/types/individuals.js +6 -0
- package/dist/RS/v3/types/individuals.js.map +1 -0
- package/dist/RS/v3/types/intervals.d.ts +5 -0
- package/dist/RS/v3/types/intervals.js +6 -0
- package/dist/RS/v3/types/intervals.js.map +1 -0
- package/dist/RS/v3/types/locked-times.d.ts +7 -0
- package/dist/RS/v3/types/locked-times.js +6 -0
- package/dist/RS/v3/types/locked-times.js.map +1 -0
- package/dist/RS/v3/types/out-options.d.ts +7 -0
- package/dist/RS/v3/types/out-options.js +6 -0
- package/dist/RS/v3/types/out-options.js.map +1 -0
- package/dist/RS/v3/types/placements.d.ts +8 -0
- package/dist/RS/v3/types/placements.js +6 -0
- package/dist/RS/v3/types/placements.js.map +1 -0
- package/dist/RS/v3/types/root-intervals.d.ts +5 -0
- package/dist/RS/v3/types/root-intervals.js +6 -0
- package/dist/RS/v3/types/root-intervals.js.map +1 -0
- package/dist/RS/v3/types/schedules.d.ts +14 -0
- package/dist/RS/v3/types/schedules.js +6 -0
- package/dist/RS/v3/types/schedules.js.map +1 -0
- package/dist/RS/v3/types/settings.d.ts +8 -0
- package/dist/RS/v3/types/settings.js +6 -0
- package/dist/RS/v3/types/settings.js.map +1 -0
- package/dist/SchoolSoft/file/old_to/index.d.ts +9 -0
- package/dist/SchoolSoft/file/old_to/index.js +17 -0
- package/dist/SchoolSoft/file/old_to/index.js.map +1 -0
- package/dist/SchoolSoft/file/old_to/schedules.d.ts +10 -0
- package/dist/SchoolSoft/file/old_to/schedules.js +109 -0
- package/dist/SchoolSoft/file/old_to/schedules.js.map +1 -0
- package/dist/SchoolSoft/file/to/index.d.ts +1 -0
- package/dist/SchoolSoft/file/to/schedules.d.ts +1 -0
- package/dist/SchoolSoft/file/to/schedules.js +3 -3
- package/dist/SchoolSoft/file/to/schedules.js.map +1 -1
- package/dist/SchoolSoft/from/index.d.ts +8 -0
- package/dist/SchoolSoft/from/index.js +16 -0
- package/dist/SchoolSoft/from/index.js.map +1 -0
- package/dist/SchoolSoft/from/schedules.d.ts +9 -0
- package/dist/SchoolSoft/from/schedules.js +221 -0
- package/dist/SchoolSoft/from/schedules.js.map +1 -0
- package/dist/SchoolSoft/to/index.d.ts +3 -0
- package/dist/SchoolSoft/to/index.js +16 -0
- package/dist/SchoolSoft/to/index.js.map +1 -0
- package/dist/SchoolSoft/to/schedules.d.ts +4 -0
- package/dist/SchoolSoft/to/schedules.js +36 -0
- package/dist/SchoolSoft/to/schedules.js.map +1 -0
- package/dist/SchoolSoft/types/events.d.ts +19 -0
- package/dist/SchoolSoft/types/events.js +6 -0
- package/dist/SchoolSoft/types/events.js.map +1 -0
- package/dist/SchoolSoft/types/index.d.ts +4 -0
- package/dist/SchoolSoft/types/index.js +6 -0
- package/dist/Skola24/types/Meta.d.ts +7 -0
- package/dist/Skola24/types/Meta.js +6 -0
- package/dist/Skola24/types/Meta.js.map +1 -0
- package/dist/core/constants/index.d.ts +71 -0
- package/dist/core/constants/index.js +136 -0
- package/dist/core/constants/index.js.map +1 -0
- package/dist/core/from/courses.js +0 -15
- package/dist/core/from/courses.js.map +1 -1
- package/dist/core/from/events.js +0 -15
- package/dist/core/from/events.js.map +1 -1
- package/dist/core/from/groups.js +0 -15
- package/dist/core/from/groups.js.map +1 -1
- package/dist/core/from/locations.js +0 -15
- package/dist/core/from/locations.js.map +1 -1
- package/dist/core/from/locked-times.js +0 -15
- package/dist/core/from/locked-times.js.map +1 -1
- package/dist/core/from/overlap-groups.js +0 -15
- package/dist/core/from/overlap-groups.js.map +1 -1
- package/dist/core/from/persons.js +0 -15
- package/dist/core/from/persons.js.map +1 -1
- package/dist/core/from/schedules.js +0 -15
- package/dist/core/from/schedules.js.map +1 -1
- package/dist/core/from/teachers.js +0 -15
- package/dist/core/from/teachers.js.map +1 -1
- package/dist/core/identify/index.d.ts +2 -0
- package/dist/core/identify/index.js +65 -0
- package/dist/core/identify/index.js.map +1 -0
- package/dist/core/to/available-locations.js +0 -15
- package/dist/core/to/available-locations.js.map +1 -1
- package/dist/core/to/courses.d.ts +1 -37
- package/dist/core/to/courses.js +10 -43
- package/dist/core/to/courses.js.map +1 -1
- package/dist/core/to/days.d.ts +1 -4
- package/dist/core/to/days.js +0 -15
- package/dist/core/to/days.js.map +1 -1
- package/dist/core/to/events.d.ts +1 -41
- package/dist/core/to/events.js +10 -43
- package/dist/core/to/events.js.map +1 -1
- package/dist/core/to/groups.d.ts +1 -15
- package/dist/core/to/groups.js +0 -15
- package/dist/core/to/groups.js.map +1 -1
- package/dist/core/to/intervals.d.ts +1 -4
- package/dist/core/to/intervals.js.map +1 -1
- package/dist/core/to/locations.js +0 -15
- package/dist/core/to/locations.js.map +1 -1
- package/dist/core/to/locked-times.d.ts +2 -2
- package/dist/core/to/locked-times.js +1 -16
- package/dist/core/to/locked-times.js.map +1 -1
- package/dist/core/to/overlap-groups.js +0 -15
- package/dist/core/to/overlap-groups.js.map +1 -1
- package/dist/core/to/persons.js +0 -15
- package/dist/core/to/persons.js.map +1 -1
- package/dist/core/to/schedules.js +1 -16
- package/dist/core/to/schedules.js.map +1 -1
- package/dist/core/to/settings.js +0 -15
- package/dist/core/to/settings.js.map +1 -1
- package/dist/core/to/teachers.js +0 -15
- package/dist/core/to/teachers.js.map +1 -1
- package/dist/core/types/available-locations.d.ts +1 -1
- package/dist/core/types/common/index.d.ts +2 -2
- package/dist/core/types/common/index.js +1 -0
- package/dist/core/types/common/index.js.map +1 -1
- package/dist/core/types/course-events.d.ts +4 -14
- package/dist/core/types/courses.d.ts +4 -15
- package/dist/core/types/division-settings.d.ts +1 -1
- package/dist/core/types/divisions.d.ts +1 -1
- package/dist/core/types/groups.d.ts +1 -1
- package/dist/core/types/identify.d.ts +10 -0
- package/dist/core/types/identify.js +6 -0
- package/dist/core/types/identify.js.map +1 -0
- package/dist/core/types/locations.d.ts +1 -1
- package/dist/core/types/locked-times.d.ts +1 -1
- package/dist/core/types/meta.d.ts +1 -1
- package/dist/core/types/overlap-groups.d.ts +1 -1
- package/dist/core/types/periods.d.ts +1 -1
- package/dist/core/types/persons.d.ts +1 -1
- package/dist/core/types/students.d.ts +8 -0
- package/dist/core/types/students.js +6 -0
- package/dist/core/types/students.js.map +1 -0
- package/dist/core/types/teachers.d.ts +3 -1
- package/dist/core/v2/from/calendar-exceptions.d.ts +2 -3
- package/dist/core/v2/from/calendar-exceptions.js +15 -15
- package/dist/core/v2/from/groups.d.ts +1 -0
- package/dist/core/v2/from/schedules.d.ts +1 -0
- package/dist/core/v2/to/calendar-exceptions.js +15 -15
- package/dist/core/v2/to/calendar-exceptions.js.map +1 -1
- package/dist/core/v2/to/groups.d.ts +1 -0
- package/dist/core/v2/to/groups.js +5 -1
- package/dist/core/v2/to/groups.js.map +1 -1
- package/dist/core/v2/to/schedules.d.ts +1 -0
- package/package.json +1 -1
- package/dist/core/types/common.d.ts +0 -26
- package/dist/core/types/common.js.map +0 -1
- package/dist/core/v2/types/common/index.d.ts +0 -26
- /package/dist/{core/v2/types/common → RS/v3/types}/index.js +0 -0
- /package/dist/{core/v2/types/common → SchoolSoft/types}/index.js.map +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Default } from '../types/default';
|
|
2
|
+
import { Types as CoreTypes } from '../../../core/types';
|
|
3
|
+
import { Deserialized } from '../../../core/types';
|
|
4
|
+
declare const _default: (settings: Deserialized<CoreTypes.divisionSettings>, periodMap: Map<string | undefined, number>) => Default;
|
|
5
|
+
export default _default;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
10
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
11
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
12
|
+
function toTime(str) {
|
|
13
|
+
return parseFloat(str.replace(':', '.'));
|
|
14
|
+
}
|
|
15
|
+
var _default = (settings, periodMap) => {
|
|
16
|
+
var _settings$period, _settings$defaultGrou, _settings$defaultDepe, _settings$defaultEven, _settings$potentialCe, _settings$defaultEven2, _settings$defaultEven3, _settings$defaultMaxN, _settings$defaultMaxN2, _settings$defaultDepe2, _settings$defaultGrou2, _settings$defaultDayR, _settings$defaultGrou3, _settings$defaultCour, _settings$defaultEven4, _settings$period2;
|
|
17
|
+
var {
|
|
18
|
+
dayStart,
|
|
19
|
+
dayEnd
|
|
20
|
+
} = settings;
|
|
21
|
+
if (!dayStart) throw new Error('(RS::V3::To::Default) "dayStart" is falsy');
|
|
22
|
+
if (!dayEnd) throw new Error('(RS::V3::To::Default) "dayEnd" is falsy');
|
|
23
|
+
if (periodMap.size && !periodMap.has((_settings$period = settings.period) === null || _settings$period === void 0 ? void 0 : _settings$period.id)) throw new Error('(RS::V3::To::Default) "period" is not in periodMap');
|
|
24
|
+
var res = _objectSpread({
|
|
25
|
+
intervals: [[{
|
|
26
|
+
beg: toTime(dayStart),
|
|
27
|
+
end: toTime(dayEnd)
|
|
28
|
+
}]],
|
|
29
|
+
groupMinBreakLength: (_settings$defaultGrou = settings.defaultGroupMinimumBreakLength) !== null && _settings$defaultGrou !== void 0 ? _settings$defaultGrou : 0,
|
|
30
|
+
dependencyMinBreakLength: (_settings$defaultDepe = settings.defaultDependencyMinimumBreakLength) !== null && _settings$defaultDepe !== void 0 ? _settings$defaultDepe : 0,
|
|
31
|
+
eventMinBreakLength: (_settings$defaultEven = settings.defaultEventMinimumBreakLength) !== null && _settings$defaultEven !== void 0 ? _settings$defaultEven : 0,
|
|
32
|
+
potentialCenter: toTime((_settings$potentialCe = settings.potentialCenter) !== null && _settings$potentialCe !== void 0 ? _settings$potentialCe : '12:00'),
|
|
33
|
+
eventDensity: (_settings$defaultEven2 = settings.defaultEventDensity) !== null && _settings$defaultEven2 !== void 0 ? _settings$defaultEven2 : 0,
|
|
34
|
+
maxEventLengthVariance: (_settings$defaultEven3 = settings.defaultEventDurationVariance) !== null && _settings$defaultEven3 !== void 0 ? _settings$defaultEven3 : 0,
|
|
35
|
+
maxNumWorkingHours: (_settings$defaultMaxN = settings.defaultMaxNumWorkingHours) !== null && _settings$defaultMaxN !== void 0 ? _settings$defaultMaxN : 40,
|
|
36
|
+
maxNumDailyWorkingHours: (_settings$defaultMaxN2 = settings.defaultMaxNumDailyWorkingHours) !== null && _settings$defaultMaxN2 !== void 0 ? _settings$defaultMaxN2 : 8,
|
|
37
|
+
dependencyRank: (_settings$defaultDepe2 = settings.defaultDependencyRank) !== null && _settings$defaultDepe2 !== void 0 ? _settings$defaultDepe2 : 0,
|
|
38
|
+
groupRank: (_settings$defaultGrou2 = settings.defaultGroupRank) !== null && _settings$defaultGrou2 !== void 0 ? _settings$defaultGrou2 : 0,
|
|
39
|
+
dayRank: (_settings$defaultDayR = settings.defaultDayRank) !== null && _settings$defaultDayR !== void 0 ? _settings$defaultDayR : 0,
|
|
40
|
+
groupWeight: (_settings$defaultGrou3 = settings.defaultGroupWeight) !== null && _settings$defaultGrou3 !== void 0 ? _settings$defaultGrou3 : 0,
|
|
41
|
+
collectionWeight: (_settings$defaultCour = settings.defaultCourseWeight) !== null && _settings$defaultCour !== void 0 ? _settings$defaultCour : 0,
|
|
42
|
+
eventWeight: (_settings$defaultEven4 = settings.defaultEventWeight) !== null && _settings$defaultEven4 !== void 0 ? _settings$defaultEven4 : 0
|
|
43
|
+
}, periodMap.size && {
|
|
44
|
+
period: periodMap.get((_settings$period2 = settings.period) === null || _settings$period2 === void 0 ? void 0 : _settings$period2.id)
|
|
45
|
+
});
|
|
46
|
+
return res;
|
|
47
|
+
};
|
|
48
|
+
exports.default = _default;
|
|
49
|
+
//# sourceMappingURL=default.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.js","names":["toTime","str","parseFloat","replace","_default","settings","periodMap","_settings$period","_settings$defaultGrou","_settings$defaultDepe","_settings$defaultEven","_settings$potentialCe","_settings$defaultEven2","_settings$defaultEven3","_settings$defaultMaxN","_settings$defaultMaxN2","_settings$defaultDepe2","_settings$defaultGrou2","_settings$defaultDayR","_settings$defaultGrou3","_settings$defaultCour","_settings$defaultEven4","_settings$period2","dayStart","dayEnd","Error","size","has","period","id","res","_objectSpread","intervals","beg","end","groupMinBreakLength","defaultGroupMinimumBreakLength","dependencyMinBreakLength","defaultDependencyMinimumBreakLength","eventMinBreakLength","defaultEventMinimumBreakLength","potentialCenter","eventDensity","defaultEventDensity","maxEventLengthVariance","defaultEventDurationVariance","maxNumWorkingHours","defaultMaxNumWorkingHours","maxNumDailyWorkingHours","defaultMaxNumDailyWorkingHours","dependencyRank","defaultDependencyRank","groupRank","defaultGroupRank","dayRank","defaultDayRank","groupWeight","defaultGroupWeight","collectionWeight","defaultCourseWeight","eventWeight","defaultEventWeight","get","exports","default"],"sources":["../../../../src/RS/v3/to/default.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Dependency } from '../types/dependencies';
|
|
2
|
+
import { OutOptions } from '../types/out-options';
|
|
3
|
+
import { Types as CoreTypes } from '../../../core/types';
|
|
4
|
+
import { Deserialized } from '../../../core/types';
|
|
5
|
+
declare const _default: (locations: Deserialized<CoreTypes.location>[], settings: CoreTypes.divisionSettings, options: OutOptions) => Dependency[];
|
|
6
|
+
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _days = _interopRequireDefault(require("./days"));
|
|
8
|
+
var _lockedTimes = _interopRequireDefault(require("./locked-times"));
|
|
9
|
+
var _breakLengths = _interopRequireDefault(require("./break-lengths"));
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
14
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
15
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
16
|
+
var _default = (locations, settings, options) => {
|
|
17
|
+
var idKey = options.idKey || 'id';
|
|
18
|
+
if (locations == null) return [];
|
|
19
|
+
return (Array.isArray(locations) ? locations : [locations]).map((location, index) => {
|
|
20
|
+
var _location$days, _location$lockedTimes;
|
|
21
|
+
if (location[idKey] == undefined) throw new Error("(RS::V3::To::Dependencies) A location must have an id, index: ".concat(index));
|
|
22
|
+
var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
23
|
+
id: location[idKey].toString()
|
|
24
|
+
}, location.area && {
|
|
25
|
+
area: location.area
|
|
26
|
+
}), ((_location$days = location.days) === null || _location$days === void 0 ? void 0 : _location$days.length) && {
|
|
27
|
+
days: (0, _days.default)(location.days, settings.numDays)
|
|
28
|
+
}), location.minBreakLength != null && {
|
|
29
|
+
minBreakLength: (0, _breakLengths.default)(location.minBreakLength)
|
|
30
|
+
}), ((_location$lockedTimes = location.lockedTimes) === null || _location$lockedTimes === void 0 ? void 0 : _location$lockedTimes.length) && {
|
|
31
|
+
lockedTimes: (0, _lockedTimes.default)(location.lockedTimes, options)
|
|
32
|
+
});
|
|
33
|
+
if (options.meta) {
|
|
34
|
+
Object.assign(doc, _objectSpread(_objectSpread({}, location.ids && {
|
|
35
|
+
ids: location.ids
|
|
36
|
+
}), location.displayName && {
|
|
37
|
+
name: location.displayName
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
return doc;
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
exports.default = _default;
|
|
44
|
+
//# sourceMappingURL=dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.js","names":["_days","_interopRequireDefault","require","_lockedTimes","_breakLengths","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_default","locations","settings","options","idKey","Array","isArray","map","location","index","_location$days","_location$lockedTimes","Error","concat","doc","id","toString","area","days","numDays","minBreakLength","breakLengths","lockedTimes","meta","assign","ids","displayName","name","exports"],"sources":["../../../../src/RS/v3/to/dependencies.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { OutOptions } from '../types/out-options';
|
|
2
|
+
import { Types as CoreTypes } from '../../../core/types';
|
|
3
|
+
import { Deserialized } from '../../../core/types';
|
|
4
|
+
import { Individual } from '../types/individuals';
|
|
5
|
+
declare const _default: (courses: Deserialized<CoreTypes.course> | Deserialized<CoreTypes.course>[], events: Deserialized<import("../../../core/v2/types/events").Event> | Deserialized<import("../../../core/v2/types/events").Event>[] | undefined, groups: Deserialized<import("../../../core/v2/types/groups").Group>[] | undefined, settings: CoreTypes.divisionSettings, options: OutOptions) => Map<string | null, Individual>;
|
|
6
|
+
export default _default;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _individuals = require("./individuals");
|
|
8
|
+
var _default = exports.default = function _default(courses) {
|
|
9
|
+
var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
10
|
+
var groups = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
11
|
+
var settings = arguments.length > 3 ? arguments[3] : undefined;
|
|
12
|
+
var options = arguments.length > 4 ? arguments[4] : undefined;
|
|
13
|
+
var groupMembersMap = new Map();
|
|
14
|
+
groups.forEach(group => groupMembersMap.set(group.id, new Set(group.members)));
|
|
15
|
+
var destructMap = new Map();
|
|
16
|
+
var idKey = options.idKey || 'id';
|
|
17
|
+
courses = Array.isArray(courses) ? courses : [courses];
|
|
18
|
+
events = Array.isArray(events) ? events : [events];
|
|
19
|
+
courses.concat(events).forEach(source => {
|
|
20
|
+
if (!source[idKey]) throw new Error('(RS::V3::To::Destructure) A course/event does not have a unique key');
|
|
21
|
+
if (source.groups) {
|
|
22
|
+
source.groups.forEach(x => {
|
|
23
|
+
var _x$exclude, _x$to$idKey;
|
|
24
|
+
if (!((_x$exclude = x.exclude) !== null && _x$exclude !== void 0 && _x$exclude.length)) return;
|
|
25
|
+
var arr = [(_x$to$idKey = x.to[idKey]) === null || _x$to$idKey === void 0 ? void 0 : _x$to$idKey.toString()].concat(x.exclude.map(y => {
|
|
26
|
+
var _y$idKey;
|
|
27
|
+
return (_y$idKey = y[idKey]) === null || _y$idKey === void 0 ? void 0 : _y$idKey.toString();
|
|
28
|
+
}));
|
|
29
|
+
var key = arr.sort().join('.');
|
|
30
|
+
if (!destructMap.has(key)) {
|
|
31
|
+
var group = (0, _individuals.groupsToIndividuals)({
|
|
32
|
+
[idKey]: key,
|
|
33
|
+
members: Array.from(groupMembersMap.get(x.to.id)).filter(y => {
|
|
34
|
+
var _x$exclude2;
|
|
35
|
+
return !((_x$exclude2 = x.exclude) !== null && _x$exclude2 !== void 0 && _x$exclude2.some(z => z[idKey] == y[idKey]));
|
|
36
|
+
})
|
|
37
|
+
}, settings, options)[0];
|
|
38
|
+
destructMap.set(key, group);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
return destructMap;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=destructure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destructure.js","names":["_individuals","require","_default","exports","default","courses","events","arguments","length","undefined","groups","settings","options","groupMembersMap","Map","forEach","group","set","id","Set","members","destructMap","idKey","Array","isArray","concat","source","Error","x","_x$exclude","_x$to$idKey","exclude","arr","to","toString","map","y","_y$idKey","key","sort","join","has","groupsToIndividuals","from","get","filter","_x$exclude2","some","z"],"sources":["../../../../src/RS/v3/to/destructure.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { OutOptions } from '../types/out-options';
|
|
2
|
+
import { CourseEvent } from '../types/course-events';
|
|
3
|
+
import { Individual } from '../types/individuals';
|
|
4
|
+
import { Types as CoreTypes } from '../../../core/types';
|
|
5
|
+
import { Deserialized } from '../../../core/types';
|
|
6
|
+
declare const _default: (docs: (Deserialized<CoreTypes.group> | Deserialized<CoreTypes.teacher>)[], settings: Deserialized<CoreTypes.divisionSettings>, options: OutOptions, set: Set<string>, destructMap?: Map<string | null, Individual>) => CourseEvent[];
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
8
|
+
var _nanoid = require("nanoid");
|
|
9
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
10
|
+
var _intervals2 = _interopRequireDefault(require("./intervals"));
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
16
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
17
|
+
function mapCoalescedReferences(coalesced, options, destructMap) {
|
|
18
|
+
var idKey = options.idKey || 'id';
|
|
19
|
+
if (!coalesced) return [];
|
|
20
|
+
var teachers = coalesced.filter(x => x.toModel == 'teachers');
|
|
21
|
+
var groups = coalesced.filter(x => x.toModel == 'groups');
|
|
22
|
+
var participants = coalesced.filter(x => x.toModel == 'persons');
|
|
23
|
+
var teacherIds = teachers.map(_ref => {
|
|
24
|
+
var {
|
|
25
|
+
to
|
|
26
|
+
} = _ref;
|
|
27
|
+
return to[idKey];
|
|
28
|
+
}).filter(x => !!x).map(x => ({
|
|
29
|
+
individuals: ['teachers.individuals.' + x.toString()]
|
|
30
|
+
}));
|
|
31
|
+
var groupIds = groups.map(_ref2 => {
|
|
32
|
+
var {
|
|
33
|
+
to
|
|
34
|
+
} = _ref2;
|
|
35
|
+
return to[idKey];
|
|
36
|
+
}).filter(x => !!x).map(x => 'groups.' + x.toString());
|
|
37
|
+
var participantIds = participants.map(_ref3 => {
|
|
38
|
+
var {
|
|
39
|
+
to
|
|
40
|
+
} = _ref3;
|
|
41
|
+
return to[idKey];
|
|
42
|
+
}).filter(x => !!x).map(x => ({
|
|
43
|
+
individuals: ['persons.' + x.toString()]
|
|
44
|
+
}));
|
|
45
|
+
var out = [...new Set(teacherIds), ...new Set(groupIds), ...new Set(participantIds)].map(x => [x]);
|
|
46
|
+
return out;
|
|
47
|
+
}
|
|
48
|
+
var _default = (docs, settings, options, set, destructMap) => {
|
|
49
|
+
var _options$idKey;
|
|
50
|
+
var idKey = (_options$idKey = options.idKey) !== null && _options$idKey !== void 0 ? _options$idKey : 'id';
|
|
51
|
+
return docs.filter(x => !!x).reduce((acc, group) => {
|
|
52
|
+
var lunch = group.lunch;
|
|
53
|
+
if (lunch == null) {
|
|
54
|
+
var _settings$defaultLunc;
|
|
55
|
+
lunch = (_settings$defaultLunc = settings.defaultLunch) === null || _settings$defaultLunc === void 0 ? void 0 : _settings$defaultLunc.map(lunch => _objectSpread(_objectSpread({}, lunch), {}, {
|
|
56
|
+
coalesced: [{
|
|
57
|
+
to: _lodash.default.pick(group, idKey),
|
|
58
|
+
toModel: ''
|
|
59
|
+
}]
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
if (lunch == null) return acc;
|
|
63
|
+
return acc.concat(lunch.reduce((acc, lockedTime) => {
|
|
64
|
+
var _toString, _ref4;
|
|
65
|
+
var {
|
|
66
|
+
_id,
|
|
67
|
+
intervals,
|
|
68
|
+
duration,
|
|
69
|
+
durationVariance,
|
|
70
|
+
coalesced
|
|
71
|
+
} = lockedTime;
|
|
72
|
+
var id = (_toString = (_ref4 = lockedTime[idKey] || _id) === null || _ref4 === void 0 ? void 0 : _ref4.toString()) !== null && _toString !== void 0 ? _toString : (0, _nanoid.nanoid)();
|
|
73
|
+
if (set.has(id)) return acc;
|
|
74
|
+
set.add(id);
|
|
75
|
+
if (duration == null) throw new Error('(RS::V3::To::DynamicLockedTimes) Length of a locked time is null');
|
|
76
|
+
if (duration < 5) throw new Error('(RS::V3::To::DynamicLockedTimes) Length of a locked time is less than 5 min');
|
|
77
|
+
if (!coalesced) throw new Error('(RS::V3::To::DynamicLockedTimes) Length of a locked time is less than 5 min');
|
|
78
|
+
var days = intervals === null || intervals === void 0 ? void 0 : intervals.map(_ref5 => {
|
|
79
|
+
var {
|
|
80
|
+
start
|
|
81
|
+
} = _ref5;
|
|
82
|
+
return ((0, _moment.default)(start).day() + 6) % 7;
|
|
83
|
+
});
|
|
84
|
+
if (days) days = [...new Set(days)];
|
|
85
|
+
var groups = mapCoalescedReferences(coalesced, options, destructMap);
|
|
86
|
+
return acc.concat(_objectSpread(_objectSpread({
|
|
87
|
+
id: "".concat(group.lunch == null ? 'virtual' : 'lockedtimes', ".").concat(id),
|
|
88
|
+
groups: [...new Set(groups.filter(Boolean))],
|
|
89
|
+
dependencies: [...new Set(coalesced.filter(x => x.toModel == 'locations').map(_ref6 => {
|
|
90
|
+
var _to$idKey;
|
|
91
|
+
var {
|
|
92
|
+
to
|
|
93
|
+
} = _ref6;
|
|
94
|
+
return (_to$idKey = to[idKey]) === null || _to$idKey === void 0 ? void 0 : _to$idKey.toString();
|
|
95
|
+
}).filter(Boolean))].map(x => [x]),
|
|
96
|
+
length: duration,
|
|
97
|
+
minBreakLength: false,
|
|
98
|
+
intervals: (0, _intervals2.default)(intervals, settings)
|
|
99
|
+
}, days && (days.length == 1 ? {
|
|
100
|
+
day: days[0]
|
|
101
|
+
} : {
|
|
102
|
+
days
|
|
103
|
+
})), durationVariance != null && {
|
|
104
|
+
maxLengthVariance: durationVariance
|
|
105
|
+
}));
|
|
106
|
+
}, []));
|
|
107
|
+
}, []).flat().filter(Boolean);
|
|
108
|
+
};
|
|
109
|
+
exports.default = _default;
|
|
110
|
+
//# sourceMappingURL=dynamic-locked-times.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-locked-times.js","names":["_moment","_interopRequireDefault","require","_nanoid","_lodash","_intervals2","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","mapCoalescedReferences","coalesced","options","destructMap","idKey","teachers","x","toModel","groups","participants","teacherIds","map","_ref","to","individuals","toString","groupIds","_ref2","participantIds","_ref3","out","Set","_default","docs","settings","set","_options$idKey","reduce","acc","group","lunch","_settings$defaultLunc","defaultLunch","_","pick","concat","lockedTime","_toString","_ref4","_id","intervals","duration","durationVariance","id","nanoid","has","add","Error","days","_ref5","start","moment","day","Boolean","dependencies","_ref6","_to$idKey","minBreakLength","_intervals","maxLengthVariance","flat","exports"],"sources":["../../../../src/RS/v3/to/dynamic-locked-times.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Group } from '../types/groups';
|
|
2
|
+
import { OutOptions } from '../types/out-options';
|
|
3
|
+
import { Types as CoreTypes } from '../../../core/types';
|
|
4
|
+
import { Deserialized } from '../../../core/types';
|
|
5
|
+
declare const _default: (groups: Deserialized<CoreTypes.group>[] | Deserialized<CoreTypes.group>, settings: CoreTypes.divisionSettings, options: OutOptions) => Group[];
|
|
6
|
+
export default _default;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _breakLengths = _interopRequireDefault(require("./break-lengths"));
|
|
8
|
+
var _days = _interopRequireDefault(require("./days"));
|
|
9
|
+
var _lockedTimes = _interopRequireDefault(require("./locked-times"));
|
|
10
|
+
var _intervals = _interopRequireDefault(require("./intervals"));
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
16
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
17
|
+
var _default = (groups, settings, options) => {
|
|
18
|
+
if (groups == null) return [];
|
|
19
|
+
var idKey = options.idKey || 'id';
|
|
20
|
+
return (Array.isArray(groups) ? groups : [groups]).filter(group => group.species == 'class').map((group, index) => {
|
|
21
|
+
var _group$intervals, _group$days, _group$lockedTimes;
|
|
22
|
+
if (group[idKey] == undefined) throw new Error("(RS::V3::To::Groups) A group must have an id, index: ".concat(index));
|
|
23
|
+
var hasIntervals = Boolean(((_group$intervals = group.intervals) === null || _group$intervals === void 0 ? void 0 : _group$intervals.length) || group.rootInterval);
|
|
24
|
+
var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
25
|
+
id: "groups.".concat(group[idKey].toString()),
|
|
26
|
+
group_type: 'classes'
|
|
27
|
+
}, 'maxNumWorkingHours' in group && {
|
|
28
|
+
maxNumWorkingHours: group.maxNumWorkingHours
|
|
29
|
+
}), 'disableDayLengthPunishment' in group && {
|
|
30
|
+
disableDayLengthPunishment: group.disableDayLengthPunishment
|
|
31
|
+
}), {}, {
|
|
32
|
+
minimizeDependencyAlternation: false
|
|
33
|
+
}, 'maxNumDailyWorkingHours' in group && {
|
|
34
|
+
maxNumDailyWorkingHours: group.maxNumDailyWorkingHours
|
|
35
|
+
}), 'weight' in group && {
|
|
36
|
+
weight: group.weight
|
|
37
|
+
}), hasIntervals && {
|
|
38
|
+
intervals: (0, _intervals.default)(group.intervals, settings, group.rootInterval)
|
|
39
|
+
}), ((_group$days = group.days) === null || _group$days === void 0 ? void 0 : _group$days.length) && {
|
|
40
|
+
days: (0, _days.default)(group.days, settings.numDays)
|
|
41
|
+
}), ((_group$lockedTimes = group.lockedTimes) === null || _group$lockedTimes === void 0 ? void 0 : _group$lockedTimes.length) && {
|
|
42
|
+
lockedTimes: (0, _lockedTimes.default)(group.lockedTimes, options)
|
|
43
|
+
}), group.minBreakLength != null && {
|
|
44
|
+
minBreakLength: (0, _breakLengths.default)(group.minBreakLength)
|
|
45
|
+
});
|
|
46
|
+
if (options.meta) {
|
|
47
|
+
Object.assign(doc, _objectSpread(_objectSpread({}, group.ids && {
|
|
48
|
+
ids: group.ids
|
|
49
|
+
}), group.displayName && {
|
|
50
|
+
name: group.displayName
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
return doc;
|
|
54
|
+
}, []);
|
|
55
|
+
};
|
|
56
|
+
exports.default = _default;
|
|
57
|
+
//# sourceMappingURL=groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groups.js","names":["_breakLengths","_interopRequireDefault","require","_days","_lockedTimes","_intervals","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_default","groups","settings","options","idKey","Array","isArray","group","species","map","index","_group$intervals","_group$days","_group$lockedTimes","Error","concat","hasIntervals","Boolean","intervals","rootInterval","doc","id","toString","group_type","maxNumWorkingHours","disableDayLengthPunishment","minimizeDependencyAlternation","maxNumDailyWorkingHours","weight","days","numDays","lockedTimes","minBreakLength","breakLengths","meta","assign","ids","displayName","name","exports"],"sources":["../../../../src/RS/v3/to/groups.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export default class {
|
|
2
|
+
static availableDependency: (availableLocations: import("../../../core/types").Deserialized<import("../../../core/v2/types/available-locations").AvailableLocationBare>[], options: import("../types/out-options").OutOptions) => import("../types/available-dependencies").AvailableDependency[][];
|
|
3
|
+
static configuration: (events: import("../../../core/types").Deserialized<import("../../../core/v2/types/events").Event>[], options: import("../types/out-options").OutOptions) => import("../types/configurations").Configuration[];
|
|
4
|
+
static constraints: (schedule: import("../../../core/types").Deserialized<import("../../../core/v2/types/schedules").Schedule>, options?: import("../types/out-options").OutOptions) => import("../types/constraints").Constraint;
|
|
5
|
+
static courseEvent: (courseEvents: import("../../../core/types").Deserialized<import("../../../core/v2/types/events").Event> | import("../../../core/types").Deserialized<import("../../../core/v2/types/events").Event>[], overlapGroups: import("../../../core/types").Deserialized<import("../../../core/v2/types/overlap-groups").OverlapGroup>[] | undefined, settings: import("../../../core/v2/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions, periodsMap: Map<string | undefined, number>, destructMap?: Map<string | null, import("../types/individuals").Individual>) => import("../types/course-events").CourseEvent[];
|
|
6
|
+
static course: (courses: import("../../../core/types").Deserialized<import("../../../core/v2/types/courses").Course> | import("../../../core/types").Deserialized<import("../../../core/v2/types/courses").Course>[], events: import("../../../core/types").Deserialized<import("../../../core/v2/types/events").Event>[] | undefined, overlapGroups: import("../../../core/types").Deserialized<import("../../../core/v2/types/overlap-groups").OverlapGroup>[] | undefined, settings: import("../../../core/v2/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions, periodsMap: Map<string | undefined, number>, destructMap?: Map<string | null, import("../types/individuals").Individual>) => (import("../types/collections").Collection | import("../types/collections").Collection[])[];
|
|
7
|
+
static day: (days: import("../../../core/v2/types/days").Day[], numDays: number) => number[];
|
|
8
|
+
static dependency: (locations: import("../../../core/types").Deserialized<import("../../../core/v2/types/locations").Location>[], settings: import("../../../core/v2/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions) => import("../types/dependencies").Dependency[];
|
|
9
|
+
static group: (groups: import("../../../core/types").Deserialized<import("../../../core/v2/types/groups").Group> | import("../../../core/types").Deserialized<import("../../../core/v2/types/groups").Group>[], settings: import("../../../core/v2/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions) => import("../types/groups").Group[];
|
|
10
|
+
static interval: (intervals: import("../../../core/v2/types/intervals").Interval[] | undefined, settings: import("../../../core/v2/types/division-settings").DivisionSettings, rootInterval?: import("../../../core/v2/types/root-intervals").RootInterval | undefined) => import("../types/intervals").Interval[][];
|
|
11
|
+
static lockedTime: (lockedTimes: import("../../../core/v2/types/locked-times").LockedTime | import("../../../core/v2/types/locked-times").LockedTime[], options: import("../types/out-options").OutOptions) => import("../types/locked-times").LockedTime[];
|
|
12
|
+
static persons: (persons: import("../../../core/types").Deserialized<import("../../../core/v2/types/persons").Person> | import("../../../core/types").Deserialized<import("../../../core/v2/types/persons").Person>[], settings: import("../../../core/v2/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions) => import("../types/groups").Group[];
|
|
13
|
+
static schedules: (schedule: import("../../../core/types").Deserialized<import("../../../core/v2/types/schedules").Schedule>, options?: import("../types/out-options").OutOptions) => {
|
|
14
|
+
output: import("../types/configurations").Configuration[];
|
|
15
|
+
meta: {
|
|
16
|
+
structure: "RS/algorithm-3.0.0";
|
|
17
|
+
division: Pick<import("../../../core/types").Deserialized<import("../../../core/v2/types/divisions").Division>, "end" | "start" | "displayName">;
|
|
18
|
+
};
|
|
19
|
+
input: import("../types/constraints").Constraint;
|
|
20
|
+
};
|
|
21
|
+
static setting: (settings: import("../../../core/v2/types/division-settings").DivisionSettings) => import("../types/settings").Settings;
|
|
22
|
+
static teacher: (teachers: import("../../../core/types").Deserialized<import("../../../core/v2/types/teachers").Teacher> | import("../../../core/types").Deserialized<import("../../../core/v2/types/teachers").Teacher>[], settings: import("../../../core/v2/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions) => import("../types/groups").Group[];
|
|
23
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _availableDependencies = _interopRequireDefault(require("./available-dependencies"));
|
|
8
|
+
var _configurations = _interopRequireDefault(require("./configurations"));
|
|
9
|
+
var _constraints2 = _interopRequireDefault(require("./constraints"));
|
|
10
|
+
var _courseEvents = _interopRequireDefault(require("./course-events"));
|
|
11
|
+
var _collections = _interopRequireDefault(require("./collections"));
|
|
12
|
+
var _days = _interopRequireDefault(require("./days"));
|
|
13
|
+
var _dependencies = _interopRequireDefault(require("./dependencies"));
|
|
14
|
+
var _groups = _interopRequireDefault(require("./groups"));
|
|
15
|
+
var _intervals = _interopRequireDefault(require("./intervals"));
|
|
16
|
+
var _lockedTimes = _interopRequireDefault(require("./locked-times"));
|
|
17
|
+
var _persons2 = _interopRequireDefault(require("./persons"));
|
|
18
|
+
var _schedules2 = _interopRequireDefault(require("./schedules"));
|
|
19
|
+
var _settings = _interopRequireDefault(require("./settings"));
|
|
20
|
+
var _teachers = _interopRequireDefault(require("./teachers"));
|
|
21
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
24
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
25
|
+
class default_1 {}
|
|
26
|
+
exports.default = default_1;
|
|
27
|
+
_defineProperty(default_1, "availableDependency", _availableDependencies.default);
|
|
28
|
+
_defineProperty(default_1, "configuration", _configurations.default);
|
|
29
|
+
_defineProperty(default_1, "constraints", _constraints2.default);
|
|
30
|
+
_defineProperty(default_1, "courseEvent", _courseEvents.default);
|
|
31
|
+
_defineProperty(default_1, "course", _collections.default);
|
|
32
|
+
_defineProperty(default_1, "day", _days.default);
|
|
33
|
+
_defineProperty(default_1, "dependency", _dependencies.default);
|
|
34
|
+
_defineProperty(default_1, "group", _groups.default);
|
|
35
|
+
_defineProperty(default_1, "interval", _intervals.default);
|
|
36
|
+
_defineProperty(default_1, "lockedTime", _lockedTimes.default);
|
|
37
|
+
_defineProperty(default_1, "persons", _persons2.default);
|
|
38
|
+
_defineProperty(default_1, "schedules", _schedules2.default);
|
|
39
|
+
_defineProperty(default_1, "setting", _settings.default);
|
|
40
|
+
_defineProperty(default_1, "teacher", _teachers.default);
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_availableDependencies","_interopRequireDefault","require","_configurations","_constraints2","_courseEvents","_collections","_days","_dependencies","_groups","_intervals","_lockedTimes","_persons2","_schedules2","_settings","_teachers","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","default_1","_availableDependency","_configuration","_constraints","_courseEvent","_collection","_day","_dependency","_group","_interval","_lockedTime","_persons","_schedules","_setting","_teacher"],"sources":["../../../../src/RS/v3/to/index.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,KAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,OAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,UAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,YAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,SAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,WAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,SAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,SAAA,GAAAd,sBAAA,CAAAC,OAAA;AAA6D,SAAAD,uBAAAe,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAE/C,MAAAU,SAAA;;gBAAAA,SAAA,yBACiBC,8BAAoB;AAAAvB,eAAA,CADrCsB,SAAA,mBAEiBE,uBAAc;AAAAxB,eAAA,CAF/BsB,SAAA,iBAGiBG,qBAAY;AAAAzB,eAAA,CAH7BsB,SAAA,iBAIiBI,qBAAY;AAAA1B,eAAA,CAJ7BsB,SAAA,YAKiBK,oBAAW;AAAA3B,eAAA,CAL5BsB,SAAA,SAMiBM,aAAI;AAAA5B,eAAA,CANrBsB,SAAA,gBAOiBO,qBAAW;AAAA7B,eAAA,CAP5BsB,SAAA,WAQiBQ,eAAM;AAAA9B,eAAA,CARvBsB,SAAA,cASiBS,kBAAS;AAAA/B,eAAA,CAT1BsB,SAAA,gBAUiBU,oBAAW;AAAAhC,eAAA,CAV5BsB,SAAA,aAWiBW,iBAAQ;AAAAjC,eAAA,CAXzBsB,SAAA,eAYiBY,mBAAU;AAAAlC,eAAA,CAZ3BsB,SAAA,aAaiBa,iBAAQ;AAAAnC,eAAA,CAbzBsB,SAAA,aAciBc,iBAAQ"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { OutOptions } from '../types/out-options';
|
|
2
|
+
import { Types as CoreTypes } from '../../../core/types';
|
|
3
|
+
import { Deserialized } from '../../../core/types';
|
|
4
|
+
import { Individual } from '../types/individuals';
|
|
5
|
+
type GroupType = Exclude<Deserialized<CoreTypes.group>, {
|
|
6
|
+
species: string;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function groupsToIndividuals(groups: GroupType[] | GroupType, settings: CoreTypes.divisionSettings, options: OutOptions): Individual[];
|
|
9
|
+
export declare function personsToIndividuals(persons: Deserialized<CoreTypes.person>[] | Deserialized<CoreTypes.person>, settings: CoreTypes.divisionSettings, options: OutOptions): Individual[];
|
|
10
|
+
export declare function teachersToIndividuals(teachers: Deserialized<CoreTypes.teacher>[] | Deserialized<CoreTypes.teacher>, settings: CoreTypes.divisionSettings, options: OutOptions): Individual[];
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.groupsToIndividuals = groupsToIndividuals;
|
|
7
|
+
exports.personsToIndividuals = personsToIndividuals;
|
|
8
|
+
exports.teachersToIndividuals = teachersToIndividuals;
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
13
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
14
|
+
function groupsToIndividuals(groups, settings, options) {
|
|
15
|
+
if (groups == null) return [];
|
|
16
|
+
var idKey = options.idKey || 'id';
|
|
17
|
+
return (Array.isArray(groups) ? groups : [groups]).filter(group => group.species == null).map((group, index) => {
|
|
18
|
+
var _group$members;
|
|
19
|
+
if (group[idKey] == undefined) throw new Error("(RS::V3::To::Individuals) A group must have an id, index: ".concat(index));
|
|
20
|
+
var doc = {
|
|
21
|
+
id: "groups.".concat(group[idKey].toString()),
|
|
22
|
+
individuals: ((_group$members = group.members) === null || _group$members === void 0 ? void 0 : _group$members.map(member => "persons.".concat(member[idKey]))) || []
|
|
23
|
+
};
|
|
24
|
+
if (options.meta) {
|
|
25
|
+
Object.assign(doc, _objectSpread(_objectSpread({}, group.ids && {
|
|
26
|
+
ids: group.ids
|
|
27
|
+
}), group.displayName && {
|
|
28
|
+
name: group.displayName
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
return doc;
|
|
32
|
+
}, []);
|
|
33
|
+
}
|
|
34
|
+
function personsToIndividuals(persons, settings, options) {
|
|
35
|
+
if (persons == null) return [];
|
|
36
|
+
var idKey = options.idKey || 'id';
|
|
37
|
+
return (Array.isArray(persons) ? persons : [persons]).map((person, index) => {
|
|
38
|
+
if (person[idKey] == undefined) throw new Error("(RS::V3::To::Individuals) A person must have an id, index: ".concat(index));
|
|
39
|
+
var doc = _objectSpread({
|
|
40
|
+
id: "persons.".concat(person[idKey].toString())
|
|
41
|
+
}, person.group && {
|
|
42
|
+
group: "groups.".concat(person.group[idKey].toString())
|
|
43
|
+
});
|
|
44
|
+
if (options.meta) {
|
|
45
|
+
Object.assign(doc, _objectSpread(_objectSpread({}, person.ids && {
|
|
46
|
+
ids: person.ids
|
|
47
|
+
}), person.displayName && {
|
|
48
|
+
name: person.displayName
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
return doc;
|
|
52
|
+
}, []);
|
|
53
|
+
}
|
|
54
|
+
function teachersToIndividuals(teachers, settings, options) {
|
|
55
|
+
if (teachers == null) return [];
|
|
56
|
+
var idKey = options.idKey || 'id';
|
|
57
|
+
return (Array.isArray(teachers) ? teachers : [teachers]).map((person, index) => {
|
|
58
|
+
if (person[idKey] == undefined) throw new Error("(RS::V3::To::Individuals) A teacher must have an id, index: ".concat(index));
|
|
59
|
+
var doc = {
|
|
60
|
+
id: "teachers.individuals.".concat(person[idKey].toString()),
|
|
61
|
+
group: "teachers.".concat(person[idKey].toString())
|
|
62
|
+
};
|
|
63
|
+
return doc;
|
|
64
|
+
}, []);
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=individuals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"individuals.js","names":["groupsToIndividuals","groups","settings","options","idKey","Array","isArray","filter","group","species","map","index","_group$members","undefined","Error","concat","doc","id","toString","individuals","members","member","meta","Object","assign","_objectSpread","ids","displayName","name","personsToIndividuals","persons","person","teachersToIndividuals","teachers"],"sources":["../../../../src/RS/v3/to/individuals.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Interval } from '../types/intervals';
|
|
2
|
+
import { Types as CoreTypes } from '../../../core/types';
|
|
3
|
+
declare const _default: (intervals: CoreTypes.interval[] | undefined, settings: CoreTypes.divisionSettings, rootInterval?: import("../../../core/v2/types/root-intervals").RootInterval | undefined) => Interval[][];
|
|
4
|
+
export default _default;
|