@royalschedule/maps 3.2.34 → 3.2.36
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/NovaSchem/from/index.d.ts +3 -0
- package/dist/NovaSchem/from/index.js +38 -0
- package/dist/NovaSchem/from/index.js.map +1 -0
- package/dist/NovaSchem/from/schedules.d.ts +3 -0
- package/dist/NovaSchem/from/schedules.js +295 -0
- package/dist/NovaSchem/from/schedules.js.map +1 -0
- package/dist/NovaSchem/index.d.ts +6 -0
- package/dist/NovaSchem/index.js +40 -0
- package/dist/NovaSchem/index.js.map +1 -0
- package/dist/NovaSchem/to/index.d.ts +3 -0
- package/dist/NovaSchem/to/index.js +38 -0
- package/dist/NovaSchem/to/index.js.map +1 -0
- package/dist/NovaSchem/to/schedules.d.ts +3 -0
- package/dist/NovaSchem/to/schedules.js +301 -0
- package/dist/NovaSchem/to/schedules.js.map +1 -0
- package/dist/NovaSchem/types/index.d.ts +93 -0
- package/dist/NovaSchem/types/index.js +6 -0
- package/dist/NovaSchem/types/index.js.map +1 -0
- package/dist/RS/v2/to/constraints.d.ts +3 -1
- package/dist/RS/v2/to/constraints.js +35 -14
- package/dist/RS/v2/to/constraints.js.map +1 -1
- package/dist/RS/v2/to/index.d.ts +3 -1
- package/dist/RS/v3/to/constraints.d.ts +3 -1
- package/dist/RS/v3/to/constraints.js +36 -15
- package/dist/RS/v3/to/constraints.js.map +1 -1
- package/dist/RS/v3/to/index.d.ts +3 -1
- package/dist/RS/v3/types/individuals.d.ts +5 -3
- package/dist/Skola24/from/course-and-events.d.ts +9 -0
- package/dist/Skola24/from/course-and-events.js +348 -0
- package/dist/Skola24/from/course-and-events.js.map +1 -0
- package/dist/Skola24/from/groups.d.ts +3 -0
- package/dist/Skola24/from/groups.js +14 -0
- package/dist/Skola24/from/groups.js.map +1 -0
- package/dist/Skola24/from/index.d.ts +4 -0
- package/dist/Skola24/from/index.js +38 -0
- package/dist/Skola24/from/index.js.map +1 -0
- package/dist/Skola24/from/locations.d.ts +3 -0
- package/dist/Skola24/from/locations.js +13 -0
- package/dist/Skola24/from/locations.js.map +1 -0
- package/dist/Skola24/from/schedule.d.ts +3 -0
- package/dist/Skola24/from/schedule.js +180 -0
- package/dist/Skola24/from/schedule.js.map +1 -0
- package/dist/Skola24/from/teachers.d.ts +3 -0
- package/dist/Skola24/from/teachers.js +13 -0
- package/dist/Skola24/from/teachers.js.map +1 -0
- package/dist/Skola24/types/Course.d.ts +6 -0
- package/dist/Skola24/types/Course.js +6 -0
- package/dist/Skola24/types/Course.js.map +1 -0
- package/dist/Skola24/types/Group-group-link.d.ts +4 -0
- package/dist/Skola24/types/Group-group-link.js +6 -0
- package/dist/Skola24/types/Group-group-link.js.map +1 -0
- package/dist/Skola24/types/Group-student-link.d.ts +4 -0
- package/dist/Skola24/types/Group-student-link.js +6 -0
- package/dist/Skola24/types/Group-student-link.js.map +1 -0
- package/dist/Skola24/types/Group.d.ts +5 -0
- package/dist/Skola24/types/Group.js +6 -0
- package/dist/Skola24/types/Group.js.map +1 -0
- package/dist/Skola24/types/Lesson-group-link.d.ts +4 -0
- package/dist/Skola24/types/Lesson-group-link.js +6 -0
- package/dist/Skola24/types/Lesson-group-link.js.map +1 -0
- package/dist/Skola24/types/Lesson-period-link.d.ts +4 -0
- package/dist/Skola24/types/Lesson-period-link.js +6 -0
- package/dist/Skola24/types/Lesson-period-link.js.map +1 -0
- package/dist/Skola24/types/Lesson-room-link.d.ts +4 -0
- package/dist/Skola24/types/Lesson-room-link.js +6 -0
- package/dist/Skola24/types/Lesson-room-link.js.map +1 -0
- package/dist/Skola24/types/Lesson-teacher-link.d.ts +4 -0
- package/dist/Skola24/types/Lesson-teacher-link.js +6 -0
- package/dist/Skola24/types/Lesson-teacher-link.js.map +1 -0
- package/dist/Skola24/types/Lesson.d.ts +9 -0
- package/dist/Skola24/types/Lesson.js +6 -0
- package/dist/Skola24/types/Lesson.js.map +1 -0
- package/dist/Skola24/types/Options.d.ts +7 -0
- package/dist/Skola24/types/Options.js +6 -0
- package/dist/Skola24/types/Options.js.map +1 -0
- package/dist/Skola24/types/Period.d.ts +5 -0
- package/dist/Skola24/types/Period.js +6 -0
- package/dist/Skola24/types/Period.js.map +1 -0
- package/dist/Skola24/types/Plan-group-link.d.ts +4 -0
- package/dist/Skola24/types/Plan-group-link.js +6 -0
- package/dist/Skola24/types/Plan-group-link.js.map +1 -0
- package/dist/Skola24/types/Plan-period-link.d.ts +4 -0
- package/dist/Skola24/types/Plan-period-link.js +6 -0
- package/dist/Skola24/types/Plan-period-link.js.map +1 -0
- package/dist/Skola24/types/Plan-teacher-link.d.ts +6 -0
- package/dist/Skola24/types/Plan-teacher-link.js +6 -0
- package/dist/Skola24/types/Plan-teacher-link.js.map +1 -0
- package/dist/Skola24/types/Plan.d.ts +5 -0
- package/dist/Skola24/types/Plan.js +6 -0
- package/dist/Skola24/types/Plan.js.map +1 -0
- package/dist/Skola24/types/Room.d.ts +5 -0
- package/dist/Skola24/types/Room.js +6 -0
- package/dist/Skola24/types/Room.js.map +1 -0
- package/dist/Skola24/types/Schedule.d.ts +34 -0
- package/dist/Skola24/types/Schedule.js +6 -0
- package/dist/Skola24/types/Schedule.js.map +1 -0
- package/dist/Skola24/types/Subject.d.ts +4 -0
- package/dist/Skola24/types/Subject.js +6 -0
- package/dist/Skola24/types/Subject.js.map +1 -0
- package/dist/Skola24/types/Teacher.d.ts +6 -0
- package/dist/Skola24/types/Teacher.js +6 -0
- package/dist/Skola24/types/Teacher.js.map +1 -0
- package/dist/Skola24/types/index.d.ts +12 -0
- package/dist/Skola24/types/index.js +6 -0
- package/dist/Skola24/types/index.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _papaparse = _interopRequireDefault(require("papaparse"));
|
|
8
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
9
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
10
|
+
function _interopRequireDefault(e) {
|
|
11
|
+
return e && e.__esModule ? e : {
|
|
12
|
+
default: e
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
var options = {
|
|
16
|
+
quotes: false,
|
|
17
|
+
quoteChar: '"',
|
|
18
|
+
escapeChar: '"',
|
|
19
|
+
delimiter: "\t",
|
|
20
|
+
header: true,
|
|
21
|
+
newline: "\r\n",
|
|
22
|
+
skipEmptyLines: false
|
|
23
|
+
};
|
|
24
|
+
var uuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
25
|
+
var _default = division => {
|
|
26
|
+
var _teachers$map, _persons$filter$map, _groups$map, _locations$map, _periods$map, _events$filter$map, _syllabuses$map, _courses$map;
|
|
27
|
+
var {
|
|
28
|
+
locations,
|
|
29
|
+
teachers,
|
|
30
|
+
groups,
|
|
31
|
+
persons,
|
|
32
|
+
events,
|
|
33
|
+
courses,
|
|
34
|
+
periods,
|
|
35
|
+
syllabuses,
|
|
36
|
+
start
|
|
37
|
+
} = division;
|
|
38
|
+
var startYear = _moment.default.utc(start).year();
|
|
39
|
+
var startMonth = _moment.default.utc(start).month();
|
|
40
|
+
var csv = "[Source]".concat(options.newline, "ApplicationVerMajor=4").concat(options.newline, "ApplicationVerMinor=0").concat(options.newline, "DatabaseRevNo=527").concat(options.newline, "CurrentNovaschemDatabase=").concat(options.newline, "User=").concat(options.newline);
|
|
41
|
+
csv += "SchoolID=RS".concat(options.newline, "School=RS").concat(options.newline, "County=RS").concat(options.newline);
|
|
42
|
+
csv += "BaseYear=".concat(startYear).concat(options.newline, "OffsetYear=0").concat(options.newline, "OffsetMonth=").concat(startMonth).concat(options.newline, "CreationDate=").concat((0, _moment.default)().format('YYYY-MM-DD')).concat(options.newline).concat(options.newline);
|
|
43
|
+
csv += "[Destination]".concat(options.newline, "Application=").concat(options.newline, "ApplicationID=").concat(options.newline).concat(options.newline);
|
|
44
|
+
csv += "[DatabaseOptions]".concat(options.newline, "Update=TRUE").concat(options.newline, "AddNew=TRUE").concat(options.newline).concat(options.newline);
|
|
45
|
+
csv += "[Tables]".concat(options.newline).concat(options.newline);
|
|
46
|
+
csv += "Subject (6400)".concat(options.newline, "[Rows]").concat(options.newline);
|
|
47
|
+
csv += ['Subject (6401)', 'GUID (5800)', 'Category (6402)', 'FullText (6403)', 'BackgroundColor (6432)', 'TextColor (6433)', 'EvaluationNumber (6429)'].join(options.delimiter);
|
|
48
|
+
csv += options.newline;
|
|
49
|
+
var t = (_teachers$map = teachers === null || teachers === void 0 ? void 0 : teachers.map(teacher => {
|
|
50
|
+
var _teacher$person$SSN$v, _teacher$person, _teacher$person$lastN, _teacher$person2, _teacher$person$first, _teacher$person3, _teacher$person$email, _teacher$person4;
|
|
51
|
+
return {
|
|
52
|
+
'Teacher (6001)': teacher.signature,
|
|
53
|
+
'GUID (5800)': teacher.ids && uuid.test(teacher.ids) ? "{".concat(teacher.ids, "}") : '',
|
|
54
|
+
'Category (6002)': '',
|
|
55
|
+
'PersonalCode (6028)': (_teacher$person$SSN$v = (_teacher$person = teacher.person) === null || _teacher$person === void 0 || (_teacher$person = _teacher$person.SSN) === null || _teacher$person === void 0 ? void 0 : _teacher$person.value) !== null && _teacher$person$SSN$v !== void 0 ? _teacher$person$SSN$v : '',
|
|
56
|
+
'LastName (6003)': (_teacher$person$lastN = (_teacher$person2 = teacher.person) === null || _teacher$person2 === void 0 ? void 0 : _teacher$person2.lastName) !== null && _teacher$person$lastN !== void 0 ? _teacher$person$lastN : '',
|
|
57
|
+
'Title (6006)': '',
|
|
58
|
+
'FirstName (6004)': (_teacher$person$first = (_teacher$person3 = teacher.person) === null || _teacher$person3 === void 0 ? void 0 : _teacher$person3.firstName) !== null && _teacher$person$first !== void 0 ? _teacher$person$first : '',
|
|
59
|
+
'Phone (6033)': '',
|
|
60
|
+
'EMail (6034)': (_teacher$person$email = (_teacher$person4 = teacher.person) === null || _teacher$person4 === void 0 || (_teacher$person4 = _teacher$person4.emails) === null || _teacher$person4 === void 0 || (_teacher$person4 = _teacher$person4[0]) === null || _teacher$person4 === void 0 ? void 0 : _teacher$person4.value) !== null && _teacher$person$email !== void 0 ? _teacher$person$email : '',
|
|
61
|
+
'EvaluationNumber (6014)': ''
|
|
62
|
+
};
|
|
63
|
+
})) !== null && _teachers$map !== void 0 ? _teachers$map : [];
|
|
64
|
+
csv += "".concat(options.newline, "Teacher (6000)").concat(options.newline, "[Rows]").concat(options.newline);
|
|
65
|
+
if (t.length) {
|
|
66
|
+
csv += _papaparse.default.unparse(t, options);
|
|
67
|
+
} else {
|
|
68
|
+
csv += ['Teacher (6001)', 'GUID (5800)', 'Category (6002)', 'PersonalCode (6028)', 'LastName (6003)', 'Title (6006)', 'FirstName (6004)', 'Phone (6033)', 'EMail (6034)', 'EvaluationNumber (6014)'].join(options.delimiter);
|
|
69
|
+
}
|
|
70
|
+
csv += options.newline;
|
|
71
|
+
var s = (_persons$filter$map = persons === null || persons === void 0 ? void 0 : persons.filter(person => {
|
|
72
|
+
return person.type != 'Teacher';
|
|
73
|
+
}).map(person => {
|
|
74
|
+
var _person$SSN, _person$lastName, _person$firstName, _person$emails$0$valu, _person$emails;
|
|
75
|
+
return {
|
|
76
|
+
'Student (7201)': (_person$SSN = person.SSN) === null || _person$SSN === void 0 ? void 0 : _person$SSN.value,
|
|
77
|
+
'GUID (5800)': person.ids && uuid.test(person.ids) ? "{".concat(person.ids, "}") : '',
|
|
78
|
+
'Category (7305)': '',
|
|
79
|
+
'LastName (7202)': (_person$lastName = person.lastName) !== null && _person$lastName !== void 0 ? _person$lastName : '',
|
|
80
|
+
'FirstName (7211)': (_person$firstName = person.firstName) !== null && _person$firstName !== void 0 ? _person$firstName : '',
|
|
81
|
+
'EMail (7215)': (_person$emails$0$valu = (_person$emails = person.emails) === null || _person$emails === void 0 || (_person$emails = _person$emails[0]) === null || _person$emails === void 0 ? void 0 : _person$emails.value) !== null && _person$emails$0$valu !== void 0 ? _person$emails$0$valu : ''
|
|
82
|
+
};
|
|
83
|
+
})) !== null && _persons$filter$map !== void 0 ? _persons$filter$map : [];
|
|
84
|
+
csv += "".concat(options.newline, "Student (7200)").concat(options.newline, "[Rows]").concat(options.newline);
|
|
85
|
+
if (s.length) {
|
|
86
|
+
csv += _papaparse.default.unparse(s, options);
|
|
87
|
+
} else {
|
|
88
|
+
csv += ['Student (7201)', 'GUID (5800)', 'Category (7305)', 'LastName (7202)', 'FirstName (7211)', 'EMail (7215)'].join(options.delimiter);
|
|
89
|
+
}
|
|
90
|
+
csv += options.newline;
|
|
91
|
+
var studentMap = new Map();
|
|
92
|
+
if (persons) {
|
|
93
|
+
persons.forEach(person => {
|
|
94
|
+
if (person.type != 'Teacher') {
|
|
95
|
+
var _person$SSN$value, _person$SSN2;
|
|
96
|
+
studentMap.set(person.id, (_person$SSN$value = (_person$SSN2 = person.SSN) === null || _person$SSN2 === void 0 ? void 0 : _person$SSN2.value) !== null && _person$SSN$value !== void 0 ? _person$SSN$value : '');
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
var g = (_groups$map = groups === null || groups === void 0 ? void 0 : groups.map(group => {
|
|
101
|
+
var _group$members;
|
|
102
|
+
return {
|
|
103
|
+
'Group (6201)': group.displayName,
|
|
104
|
+
'GUID (5800)': group.ids && uuid.test(group.ids) ? "{".concat(group.ids, "}") : '',
|
|
105
|
+
'Class (6210)': group.species == 'class' ? 1 : 0,
|
|
106
|
+
'Teacher (6204)': '',
|
|
107
|
+
'IClass (6206)': '',
|
|
108
|
+
'Student (6205)': (_group$members = group.members) === null || _group$members === void 0 ? void 0 : _group$members.map(student => _lodash.default.isString(student) ? student : student.id).map(x => studentMap.get(x)).filter(Boolean).join(',')
|
|
109
|
+
};
|
|
110
|
+
})) !== null && _groups$map !== void 0 ? _groups$map : [];
|
|
111
|
+
csv += "".concat(options.newline, "Group (6200)").concat(options.newline, "[Rows]").concat(options.newline);
|
|
112
|
+
if (g.length) {
|
|
113
|
+
csv += _papaparse.default.unparse(g, options);
|
|
114
|
+
} else {
|
|
115
|
+
csv += ['Group (6201)', 'GUID (5800)', 'Class (6210)', 'Teacher (6204)', 'IClass (6206)', 'Student (6205)'].join(options.delimiter);
|
|
116
|
+
}
|
|
117
|
+
csv += options.newline;
|
|
118
|
+
var l = (_locations$map = locations === null || locations === void 0 ? void 0 : locations.map(location => {
|
|
119
|
+
var _location$tags$find$v, _location$tags;
|
|
120
|
+
return {
|
|
121
|
+
'Room (6601)': location.displayName,
|
|
122
|
+
'GUID (5800)': location.ids && uuid.test(location.ids) ? "{".concat(location.ids, "}") : '',
|
|
123
|
+
'Category (6602)': (_location$tags$find$v = (_location$tags = location.tags) === null || _location$tags === void 0 || (_location$tags = _location$tags.find(tag => tag.type == 'category')) === null || _location$tags === void 0 ? void 0 : _location$tags.value) !== null && _location$tags$find$v !== void 0 ? _location$tags$find$v : '',
|
|
124
|
+
'SeatingCapacity (6607)': location.maximumCapacity
|
|
125
|
+
};
|
|
126
|
+
})) !== null && _locations$map !== void 0 ? _locations$map : [];
|
|
127
|
+
csv += "".concat(options.newline, "Room (6600)").concat(options.newline, "[Rows]").concat(options.newline);
|
|
128
|
+
if (l.length) {
|
|
129
|
+
csv += _papaparse.default.unparse(l, options);
|
|
130
|
+
} else {
|
|
131
|
+
csv += ['Room (6601)', 'GUID (5800)', 'Category (6602)', 'SeatingCapacity (6607)'].join(options.delimiter);
|
|
132
|
+
}
|
|
133
|
+
csv += options.newline;
|
|
134
|
+
var p = (_periods$map = periods === null || periods === void 0 ? void 0 : periods.map(period => {
|
|
135
|
+
var _period$ranges;
|
|
136
|
+
return {
|
|
137
|
+
'Period (8001)': period.displayName,
|
|
138
|
+
'GUID (5800)': period.ids && uuid.test(period.ids) ? "{".concat(period.ids, "}") : '',
|
|
139
|
+
'TextBelowSchedule (8002)': period.displayName,
|
|
140
|
+
'Category (8006)': '',
|
|
141
|
+
'Calendar (8005)': (_period$ranges = period.ranges) === null || _period$ranges === void 0 ? void 0 : _period$ranges.map(range => "".concat(_moment.default.utc(range.start).format('D/M'), "-").concat(_moment.default.utc(range.end).format('D/M'))).join(', ')
|
|
142
|
+
};
|
|
143
|
+
})) !== null && _periods$map !== void 0 ? _periods$map : [];
|
|
144
|
+
csv += "".concat(options.newline, "Period (8000)").concat(options.newline, "[Rows]").concat(options.newline);
|
|
145
|
+
if (p.length) {
|
|
146
|
+
csv += _papaparse.default.unparse(p, options);
|
|
147
|
+
} else {
|
|
148
|
+
csv += ['Period (8001)', 'GUID (5800)', 'TextBelowSchedule (8002)', 'Category (8006)', 'Calendar (8005)'].join(options.delimiter);
|
|
149
|
+
}
|
|
150
|
+
csv += options.newline;
|
|
151
|
+
var courseMap = new Map();
|
|
152
|
+
if (courses) {
|
|
153
|
+
courses.forEach(course => {
|
|
154
|
+
courseMap.set(course.id, course);
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
var periodMap = new Map();
|
|
158
|
+
if (periods) {
|
|
159
|
+
periods.forEach(period => {
|
|
160
|
+
periodMap.set(period.id, period);
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
var teacherMap = new Map();
|
|
164
|
+
if (teachers) {
|
|
165
|
+
teachers.forEach(teacher => {
|
|
166
|
+
teacherMap.set(teacher.id, teacher);
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
var groupMap = new Map();
|
|
170
|
+
if (groups) {
|
|
171
|
+
groups.forEach(group => {
|
|
172
|
+
groupMap.set(group.id, group);
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
var locationMap = new Map();
|
|
176
|
+
if (locations) {
|
|
177
|
+
locations.forEach(location => {
|
|
178
|
+
locationMap.set(location.id, location);
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
var syllabusMap = new Map();
|
|
182
|
+
if (syllabuses) {
|
|
183
|
+
syllabuses.forEach(syllabus => {
|
|
184
|
+
syllabusMap.set(syllabus.id, syllabus);
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
var e = (_events$filter$map = events === null || events === void 0 ? void 0 : events.filter(x => {
|
|
188
|
+
var _x$start$toString, _x$start;
|
|
189
|
+
return !isNaN(Date.parse((_x$start$toString = (_x$start = x.start) === null || _x$start === void 0 ? void 0 : _x$start.toString()) !== null && _x$start$toString !== void 0 ? _x$start$toString : ''));
|
|
190
|
+
}).map((event, index) => {
|
|
191
|
+
var _event$course, _teacherIds$map$filte, _groupIds$map$filter, _event$inLocations, _locationIds$map$filt, _event$start, _course$subject, _period;
|
|
192
|
+
var courseId = _lodash.default.isString(event.course) ? event.course : (_event$course = event.course) === null || _event$course === void 0 ? void 0 : _event$course.id;
|
|
193
|
+
var course = courseId ? courseMap.get(courseId) : undefined;
|
|
194
|
+
var period = event.period == null ? course === null || course === void 0 ? void 0 : course.period : event.period;
|
|
195
|
+
if (_lodash.default.isString(period)) period = periodMap.get(period);
|
|
196
|
+
if (period && !('ranges' in period)) period = undefined;
|
|
197
|
+
var t = event.teachers == null ? course === null || course === void 0 ? void 0 : course.teachers : event.teachers;
|
|
198
|
+
var teacherIds = t === null || t === void 0 ? void 0 : t.map(teacher => {
|
|
199
|
+
var _teacher$to;
|
|
200
|
+
return _lodash.default.isString(teacher === null || teacher === void 0 ? void 0 : teacher.to) ? teacher.to : teacher === null || teacher === void 0 || (_teacher$to = teacher.to) === null || _teacher$to === void 0 || (_teacher$to = _teacher$to.id) === null || _teacher$to === void 0 ? void 0 : _teacher$to.toString();
|
|
201
|
+
}).filter(Boolean);
|
|
202
|
+
var teachers = (_teacherIds$map$filte = teacherIds === null || teacherIds === void 0 ? void 0 : teacherIds.map(id => teacherMap.get(id)).filter(Boolean)) !== null && _teacherIds$map$filte !== void 0 ? _teacherIds$map$filte : [];
|
|
203
|
+
var g = event.groups == null ? course === null || course === void 0 ? void 0 : course.groups : event.groups;
|
|
204
|
+
var groupIds = g === null || g === void 0 ? void 0 : g.map(group => {
|
|
205
|
+
var _group$to;
|
|
206
|
+
return _lodash.default.isString(group === null || group === void 0 ? void 0 : group.to) ? group.to : group === null || group === void 0 || (_group$to = group.to) === null || _group$to === void 0 || (_group$to = _group$to.id) === null || _group$to === void 0 ? void 0 : _group$to.toString();
|
|
207
|
+
}).filter(Boolean);
|
|
208
|
+
var groups = (_groupIds$map$filter = groupIds === null || groupIds === void 0 ? void 0 : groupIds.map(id => groupMap.get(id)).filter(Boolean)) !== null && _groupIds$map$filter !== void 0 ? _groupIds$map$filter : [];
|
|
209
|
+
var locationIds = (_event$inLocations = event.inLocations) === null || _event$inLocations === void 0 ? void 0 : _event$inLocations.map(location => {
|
|
210
|
+
var _location$id;
|
|
211
|
+
return _lodash.default.isString(location) ? location : location === null || location === void 0 || (_location$id = location.id) === null || _location$id === void 0 ? void 0 : _location$id.toString();
|
|
212
|
+
}).filter(Boolean);
|
|
213
|
+
var locations = (_locationIds$map$filt = locationIds === null || locationIds === void 0 ? void 0 : locationIds.map(id => locationMap.get(id)).filter(Boolean)) !== null && _locationIds$map$filt !== void 0 ? _locationIds$map$filt : [];
|
|
214
|
+
var dayOfWeek = new Date((_event$start = event.start) === null || _event$start === void 0 ? void 0 : _event$start.toString()).toLocaleDateString('sv-SE', {
|
|
215
|
+
weekday: 'long',
|
|
216
|
+
timeZone: 'UTC'
|
|
217
|
+
});
|
|
218
|
+
var dayOfWeekCapitalized = dayOfWeek.charAt(0).toUpperCase() + dayOfWeek.slice(1);
|
|
219
|
+
return {
|
|
220
|
+
'PK (7100)': index + 1,
|
|
221
|
+
'GUID (5800)': event.ids && uuid.test(event.ids) ? "{".concat(event.ids, "}") : '',
|
|
222
|
+
'DayOfWeek (7101)': dayOfWeekCapitalized,
|
|
223
|
+
'Starttime (7102)': _moment.default.utc(event.end).format('HH:mm'),
|
|
224
|
+
'Length (7115)': event.duration,
|
|
225
|
+
'Course (7106)': '',
|
|
226
|
+
'Subject (7103)': (_course$subject = course === null || course === void 0 ? void 0 : course.subject) !== null && _course$subject !== void 0 ? _course$subject : '',
|
|
227
|
+
'Teacher (7104)': teachers === null || teachers === void 0 ? void 0 : teachers.map(teacher => teacher.signature).filter(Boolean).join(','),
|
|
228
|
+
'Group (7105)': groups === null || groups === void 0 ? void 0 : groups.map(group => group.displayName).filter(Boolean).join(','),
|
|
229
|
+
'Room (7107)': locations === null || locations === void 0 ? void 0 : locations.map(x => x.displayName).filter(Boolean).join(','),
|
|
230
|
+
'Period (7108)': '',
|
|
231
|
+
'Week (7109)': '',
|
|
232
|
+
'ActualWeeks (7167)': (_period = period) === null || _period === void 0 || (_period = _period.ranges) === null || _period === void 0 ? void 0 : _period.map(range => "".concat(_moment.default.utc(range.start).week(), "-").concat(_moment.default.utc(range.end).week())).join(',')
|
|
233
|
+
};
|
|
234
|
+
})) !== null && _events$filter$map !== void 0 ? _events$filter$map : [];
|
|
235
|
+
csv += "".concat(options.newline, "Lesson (7100)").concat(options.newline, "[Rows]").concat(options.newline);
|
|
236
|
+
if (e.length) {
|
|
237
|
+
csv += _papaparse.default.unparse(e, options);
|
|
238
|
+
} else {
|
|
239
|
+
csv += ['PK (7100)', 'GUID (5800)', 'DayOfWeek (7101)', 'Starttime (7102)', 'Length (7115)', 'Course (7106)', 'Subject (7103)', 'Period (7108)', 'Week (7109)', 'ActualWeeks (7167)'].join(options.delimiter);
|
|
240
|
+
}
|
|
241
|
+
csv += options.newline;
|
|
242
|
+
var sy = (_syllabuses$map = syllabuses === null || syllabuses === void 0 ? void 0 : syllabuses.map(syllabus => {
|
|
243
|
+
var _syllabus$subjectDesi;
|
|
244
|
+
return {
|
|
245
|
+
'Course (7601)': syllabus.subjectCode,
|
|
246
|
+
'GUID (5800)': syllabus.ids,
|
|
247
|
+
'FullText (7602)': syllabus.subjectName,
|
|
248
|
+
'Subject (7603)': (_syllabus$subjectDesi = syllabus.subjectDesignation) !== null && _syllabus$subjectDesi !== void 0 ? _syllabus$subjectDesi : '',
|
|
249
|
+
'Points (7604)': syllabus.points
|
|
250
|
+
};
|
|
251
|
+
})) !== null && _syllabuses$map !== void 0 ? _syllabuses$map : [];
|
|
252
|
+
csv += "".concat(options.newline, "Course (7600)").concat(options.newline, "[Rows]").concat(options.newline);
|
|
253
|
+
if (sy.length) {
|
|
254
|
+
csv += _papaparse.default.unparse(sy, options);
|
|
255
|
+
} else {
|
|
256
|
+
csv += ['PK (7100)', 'GUID (5800)', 'DayOfWeek (7101)', 'Starttime (7102)', 'Length (7115)', 'Course (7106)', 'Subject (7103)', 'Period (7108)', 'Week (7109)', 'ActualWeeks (7167)'].join(options.delimiter);
|
|
257
|
+
}
|
|
258
|
+
csv += options.newline;
|
|
259
|
+
var totalHoursRegex = /(\d+) hrs/;
|
|
260
|
+
var weekTimeRegex = /(\d+) min\/week/;
|
|
261
|
+
var c = (_courses$map = courses === null || courses === void 0 ? void 0 : courses.map(course => {
|
|
262
|
+
var _course$teachers, _teacherIds$map$filte2, _course$groups, _groupIds$map$filter2, _syllabus$subjectDesi2;
|
|
263
|
+
var teacherIds = (_course$teachers = course.teachers) === null || _course$teachers === void 0 ? void 0 : _course$teachers.map(teacher => {
|
|
264
|
+
var _teacher$to2;
|
|
265
|
+
return _lodash.default.isString(teacher === null || teacher === void 0 ? void 0 : teacher.to) ? teacher.to : teacher === null || teacher === void 0 || (_teacher$to2 = teacher.to) === null || _teacher$to2 === void 0 || (_teacher$to2 = _teacher$to2.id) === null || _teacher$to2 === void 0 ? void 0 : _teacher$to2.toString();
|
|
266
|
+
}).filter(Boolean);
|
|
267
|
+
var teachers = (_teacherIds$map$filte2 = teacherIds === null || teacherIds === void 0 ? void 0 : teacherIds.map(id => teacherMap.get(id)).filter(Boolean)) !== null && _teacherIds$map$filte2 !== void 0 ? _teacherIds$map$filte2 : [];
|
|
268
|
+
var groupIds = (_course$groups = course.groups) === null || _course$groups === void 0 ? void 0 : _course$groups.map(group => {
|
|
269
|
+
var _group$to2;
|
|
270
|
+
return _lodash.default.isString(group === null || group === void 0 ? void 0 : group.to) ? group.to : group === null || group === void 0 || (_group$to2 = group.to) === null || _group$to2 === void 0 || (_group$to2 = _group$to2.id) === null || _group$to2 === void 0 ? void 0 : _group$to2.toString();
|
|
271
|
+
}).filter(Boolean);
|
|
272
|
+
var groups = (_groupIds$map$filter2 = groupIds === null || groupIds === void 0 ? void 0 : groupIds.map(id => groupMap.get(id)).filter(Boolean)) !== null && _groupIds$map$filter2 !== void 0 ? _groupIds$map$filter2 : [];
|
|
273
|
+
var syllabus = _lodash.default.isString(course.syllabus) ? syllabusMap.get(course.syllabus) : undefined;
|
|
274
|
+
return {
|
|
275
|
+
'PK (8200)': '',
|
|
276
|
+
'GUID (5800)': course.ids,
|
|
277
|
+
'OriginalRecord (8224)': '1',
|
|
278
|
+
'CreateLesson (8227)': '1',
|
|
279
|
+
'Course (8202)': syllabus === null || syllabus === void 0 ? void 0 : syllabus.subjectCode,
|
|
280
|
+
'Subject (8209)': (_syllabus$subjectDesi2 = syllabus === null || syllabus === void 0 ? void 0 : syllabus.subjectDesignation) !== null && _syllabus$subjectDesi2 !== void 0 ? _syllabus$subjectDesi2 : course.subject,
|
|
281
|
+
'Teacher (8210)': teachers === null || teachers === void 0 ? void 0 : teachers.map(teacher => teacher.signature).filter(Boolean).join(','),
|
|
282
|
+
'Group (8203)': groups === null || groups === void 0 ? void 0 : groups.map(group => group.displayName).filter(Boolean).join(','),
|
|
283
|
+
'TotalHours (8204)': course.plannedDuration && totalHoursRegex.test(course.plannedDuration) ? totalHoursRegex.exec(course.plannedDuration)[1] : '',
|
|
284
|
+
'Weektime (8208)': course.plannedDuration && weekTimeRegex.test(course.plannedDuration) ? weekTimeRegex.exec(course.plannedDuration)[1] : '',
|
|
285
|
+
'Blockname (8215)': '',
|
|
286
|
+
'Period (8206)': '',
|
|
287
|
+
'Week (8207)': '',
|
|
288
|
+
'NotPeriod (8212)': '',
|
|
289
|
+
'NotWeek (8213)': ''
|
|
290
|
+
};
|
|
291
|
+
})) !== null && _courses$map !== void 0 ? _courses$map : [];
|
|
292
|
+
csv += "".concat(options.newline, "TA (8200)").concat(options.newline, "[Rows]").concat(options.newline);
|
|
293
|
+
if (c.length) {
|
|
294
|
+
csv += _papaparse.default.unparse(c, options);
|
|
295
|
+
} else {
|
|
296
|
+
csv += ['Course (8202)', 'GUID (5800)', 'Subject (8209)', 'Teacher (8210)', 'Group (8203)', 'TotalHours (8204)', 'Weektime (8208)', 'Blockname (8215)', 'Period (8206)', 'Week (8207)', 'NotPeriod (8212)', 'NotWeek (8213)'].join(options.delimiter);
|
|
297
|
+
}
|
|
298
|
+
return csv;
|
|
299
|
+
};
|
|
300
|
+
exports.default = _default;
|
|
301
|
+
//# sourceMappingURL=schedules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedules.js","names":["_papaparse","_interopRequireDefault","require","_moment","_lodash","e","__esModule","default","options","quotes","quoteChar","escapeChar","delimiter","header","newline","skipEmptyLines","uuid","_default","division","_teachers$map","_persons$filter$map","_groups$map","_locations$map","_periods$map","_events$filter$map","_syllabuses$map","_courses$map","locations","teachers","groups","persons","events","courses","periods","syllabuses","start","startYear","utc","year","startMonth","month","csv","concat","format","join","t","map","teacher","_teacher$person$SSN$v","_teacher$person","_teacher$person$lastN","_teacher$person2","_teacher$person$first","_teacher$person3","_teacher$person$email","_teacher$person4","signature","ids","test","person","SSN","value","lastName","firstName","emails","length","unparse","s","filter","type","_person$SSN","_person$lastName","_person$firstName","_person$emails$0$valu","_person$emails","studentMap","Map","forEach","_person$SSN$value","_person$SSN2","set","id","g","group","_group$members","displayName","species","members","student","isString","x","get","Boolean","l","location","_location$tags$find$v","_location$tags","tags","find","tag","maximumCapacity","p","period","_period$ranges","ranges","range","end","courseMap","course","periodMap","teacherMap","groupMap","locationMap","syllabusMap","syllabus","_x$start$toString","_x$start","isNaN","Date","parse","toString","event","index","_event$course","_teacherIds$map$filte","_groupIds$map$filter","_event$inLocations","_locationIds$map$filt","_event$start","_course$subject","_period","courseId","undefined","teacherIds","_teacher$to","to","groupIds","_group$to","locationIds","inLocations","_location$id","dayOfWeek","toLocaleDateString","weekday","timeZone","dayOfWeekCapitalized","charAt","toUpperCase","slice","duration","subject","week","sy","_syllabus$subjectDesi","subjectCode","subjectName","subjectDesignation","points","totalHoursRegex","weekTimeRegex","c","_course$teachers","_teacherIds$map$filte2","_course$groups","_groupIds$map$filter2","_syllabus$subjectDesi2","_teacher$to2","_group$to2","plannedDuration","exec","exports"],"sources":["../../../src/NovaSchem/to/schedules.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export type Room = {
|
|
2
|
+
Room: string;
|
|
3
|
+
GUID: string;
|
|
4
|
+
Category: string;
|
|
5
|
+
SeatingCapacity: string;
|
|
6
|
+
};
|
|
7
|
+
export type Subject = {
|
|
8
|
+
Subject: string;
|
|
9
|
+
GUID: string;
|
|
10
|
+
Category: string;
|
|
11
|
+
FullText: string;
|
|
12
|
+
BackgroundColor: string;
|
|
13
|
+
TextColor: string;
|
|
14
|
+
EvaluationNumber: string;
|
|
15
|
+
};
|
|
16
|
+
export type Teacher = {
|
|
17
|
+
Teacher: string;
|
|
18
|
+
GUID: string;
|
|
19
|
+
Category: string;
|
|
20
|
+
PersonalCode: string;
|
|
21
|
+
LastName: string;
|
|
22
|
+
Title: string;
|
|
23
|
+
FirstName: string;
|
|
24
|
+
Phone: string;
|
|
25
|
+
EMail: string;
|
|
26
|
+
EvaluationNumber: string;
|
|
27
|
+
};
|
|
28
|
+
export type Group = {
|
|
29
|
+
Group: string;
|
|
30
|
+
GUID: string;
|
|
31
|
+
Class: string;
|
|
32
|
+
Teacher: string;
|
|
33
|
+
IClass: string;
|
|
34
|
+
Student: string;
|
|
35
|
+
};
|
|
36
|
+
export type Course = {
|
|
37
|
+
Course: string;
|
|
38
|
+
GUID: string;
|
|
39
|
+
FullText: string;
|
|
40
|
+
Subject: string;
|
|
41
|
+
Points: string;
|
|
42
|
+
};
|
|
43
|
+
export type PeriodGeneral = {
|
|
44
|
+
SchoolYear: string;
|
|
45
|
+
};
|
|
46
|
+
export type Period = {
|
|
47
|
+
Period: string;
|
|
48
|
+
GUID: string;
|
|
49
|
+
TextBelowSchedule: string;
|
|
50
|
+
Category: string;
|
|
51
|
+
Calendar: string;
|
|
52
|
+
};
|
|
53
|
+
export type TA = {
|
|
54
|
+
PK: string;
|
|
55
|
+
GUID: string;
|
|
56
|
+
OriginalRecord: string;
|
|
57
|
+
CreateLesson: string;
|
|
58
|
+
Course: string;
|
|
59
|
+
Subject: string;
|
|
60
|
+
Teacher: string;
|
|
61
|
+
Group: string;
|
|
62
|
+
TotalHours: string;
|
|
63
|
+
Weektime: string;
|
|
64
|
+
Blockname: string;
|
|
65
|
+
Period: string;
|
|
66
|
+
Week: string;
|
|
67
|
+
NotPeriod: string;
|
|
68
|
+
NotWeek: string;
|
|
69
|
+
};
|
|
70
|
+
export type Lesson = {
|
|
71
|
+
PK: string;
|
|
72
|
+
GUID: string;
|
|
73
|
+
DayOfWeek: string;
|
|
74
|
+
Starttime: string;
|
|
75
|
+
Length: string;
|
|
76
|
+
Course: string;
|
|
77
|
+
Subject: string;
|
|
78
|
+
Teacher: string;
|
|
79
|
+
Group: string;
|
|
80
|
+
Room: string;
|
|
81
|
+
Period: string;
|
|
82
|
+
Week: string;
|
|
83
|
+
ActualWeeks: string;
|
|
84
|
+
};
|
|
85
|
+
export type Student = {
|
|
86
|
+
Student: string;
|
|
87
|
+
GUID: string;
|
|
88
|
+
Category: string;
|
|
89
|
+
PersonalCode: string;
|
|
90
|
+
LastName: string;
|
|
91
|
+
FirstName: string;
|
|
92
|
+
EMail: string;
|
|
93
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/NovaSchem/types/index.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
|
|
@@ -2,5 +2,7 @@ import { Types as CoreTypes } from '../../../core/types';
|
|
|
2
2
|
import { Deserialized } from '../../../core/types';
|
|
3
3
|
import { Constraint } from '../types/constraints';
|
|
4
4
|
import { OutOptions } from '../types/out-options';
|
|
5
|
-
declare const _default: (schedule: Deserialized<CoreTypes.schedule
|
|
5
|
+
declare const _default: (schedule: Partial<Deserialized<CoreTypes.schedule> & {
|
|
6
|
+
division: Deserialized<CoreTypes.division>;
|
|
7
|
+
}>, options?: OutOptions) => Constraint;
|
|
6
8
|
export default _default;
|
|
@@ -22,26 +22,47 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
|
|
|
22
22
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
23
23
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
24
24
|
var _default = exports.default = function _default(schedule) {
|
|
25
|
-
var _data$events, _data$events2;
|
|
25
|
+
var _schedule$groups, _schedule$teachers, _schedule$locations, _schedule$events, _schedule$overlapGrou, _schedule$courses, _schedule$periods, _schedule$divisions, _data$events, _data$events2;
|
|
26
26
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
27
|
+
schedule = structuredClone(schedule);
|
|
27
28
|
if (schedule == null) return {};
|
|
28
29
|
var idKey = options.idKey || 'id';
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
30
|
+
var settings = schedule.settings;
|
|
31
|
+
if (!settings) throw new Error('settings missing in schedule');
|
|
32
|
+
var area = schedule.area;
|
|
33
|
+
var groups = (_schedule$groups = schedule.groups) !== null && _schedule$groups !== void 0 ? _schedule$groups : [];
|
|
34
|
+
var teachers = (_schedule$teachers = schedule.teachers) !== null && _schedule$teachers !== void 0 ? _schedule$teachers : [];
|
|
35
|
+
var locations = (_schedule$locations = schedule.locations) !== null && _schedule$locations !== void 0 ? _schedule$locations : [];
|
|
36
|
+
var events = (_schedule$events = schedule.events) !== null && _schedule$events !== void 0 ? _schedule$events : [];
|
|
37
|
+
var overlapGroups = (_schedule$overlapGrou = schedule.overlapGroups) !== null && _schedule$overlapGrou !== void 0 ? _schedule$overlapGrou : [];
|
|
38
|
+
var courses = (_schedule$courses = schedule.courses) !== null && _schedule$courses !== void 0 ? _schedule$courses : [];
|
|
39
|
+
var periods = (_schedule$periods = schedule.periods) !== null && _schedule$periods !== void 0 ? _schedule$periods : [];
|
|
40
|
+
{
|
|
41
|
+
var _groupMap = new Map(groups.map(x => {
|
|
42
|
+
var _x$idKey;
|
|
43
|
+
return [(_x$idKey = x[idKey]) === null || _x$idKey === void 0 ? void 0 : _x$idKey.toString(), x];
|
|
44
|
+
}).filter(x => !!x[0]));
|
|
45
|
+
groups === null || groups === void 0 || groups.forEach(item => {
|
|
46
|
+
if (!item.parentGroups) return;
|
|
47
|
+
item.parentGroups = item.parentGroups.map(x => {
|
|
48
|
+
var _x$idKey2;
|
|
49
|
+
return typeof x === 'string' ? _groupMap.get(x) : _groupMap.get((_x$idKey2 = x[idKey]) === null || _x$idKey2 === void 0 ? void 0 : _x$idKey2.toString());
|
|
50
|
+
}).filter(x => !!x);
|
|
51
|
+
});
|
|
52
|
+
courses.concat(events).forEach(item => {
|
|
53
|
+
if (!item.groups) return;
|
|
54
|
+
item.groups.forEach(x => {
|
|
55
|
+
var _x$to$idKey;
|
|
56
|
+
var group = typeof x.to === 'string' ? _groupMap.get(x.to) : _groupMap.get((_x$to$idKey = x.to[idKey]) === null || _x$to$idKey === void 0 ? void 0 : _x$to$idKey.toString());
|
|
57
|
+
if (group) x.to = group;
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
var division = (_schedule$divisions = schedule.divisions) !== null && _schedule$divisions !== void 0 ? _schedule$divisions : schedule.division;
|
|
41
62
|
var {
|
|
42
63
|
map: periodsMap,
|
|
43
64
|
matrix: periodsMatrix
|
|
44
|
-
} = (0, _periods.parsePeriods)(periods, _lodash.default.pick(
|
|
65
|
+
} = (0, _periods.parsePeriods)(periods, _lodash.default.pick(division, 'start', 'end'));
|
|
45
66
|
var destructMap = (0, _destructure2.default)(courses, events, options);
|
|
46
67
|
var data = _objectSpread(_objectSpread(_objectSpread({
|
|
47
68
|
settings: (0, _settings.default)(settings),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraints.js","names":["_lodash","_interopRequireDefault","require","_destructure2","_dependencies","_teachers","_groups","_collections","_settings","_persons","_default2","_dynamicLockedTimes","_periods","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_default","exports","schedule","_data$events","_data$events2","options","undefined","idKey","groups","teachers","locations","events","overlapGroups","courses","
|
|
1
|
+
{"version":3,"file":"constraints.js","names":["_lodash","_interopRequireDefault","require","_destructure2","_dependencies","_teachers","_groups","_collections","_settings","_persons","_default2","_dynamicLockedTimes","_periods","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_default","exports","schedule","_schedule$groups","_schedule$teachers","_schedule$locations","_schedule$events","_schedule$overlapGrou","_schedule$courses","_schedule$periods","_schedule$divisions","_data$events","_data$events2","options","undefined","structuredClone","idKey","settings","Error","area","groups","teachers","locations","events","overlapGroups","courses","periods","groupMap","Map","map","x","_x$idKey","toString","item","parentGroups","_x$idKey2","get","concat","_x$to$idKey","group","to","division","divisions","periodsMap","matrix","periodsMatrix","parsePeriods","_","pick","destructMap","_destructure","data","getSettings","getDefault","areas","breakLengthMatrix","list","getCollections","dependencies","getDependencies","getGroups","getTeachers","size","_data$groups","set","personMap","person","getPersons","_personMap$get","id","g","_personMap$get2","Array","from","values","lunchSet","Set","some","getDynamicLockedTimes","teacher"],"sources":["../../../../src/RS/v2/to/constraints.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/RS/v2/to/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export default class {
|
|
2
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
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
|
|
4
|
+
static constraints: (schedule: Partial<import("../../../core/types").Deserialized<import("../../../core/v2/types/schedules").Schedule> & {
|
|
5
|
+
division: import("../../../core/types").Deserialized<import("../../../core/v2/types/divisions").Division>;
|
|
6
|
+
}>, options?: import("../types/out-options").OutOptions) => import("../types/constraints").Constraint;
|
|
5
7
|
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, Set<string>>) => import("../types/course-events").CourseEvent[];
|
|
6
8
|
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, Set<string>>) => (import("../types/collections").Collection | import("../types/collections").Collection[])[];
|
|
7
9
|
static day: (days: import("../../../core/v2/types/days").Day[], numDays: number) => number[];
|
|
@@ -2,5 +2,7 @@ import { Types as CoreTypes } from '../../../core/types';
|
|
|
2
2
|
import { Deserialized } from '../../../core/types';
|
|
3
3
|
import { Constraint } from '../types/constraints';
|
|
4
4
|
import { OutOptions } from '../types/out-options';
|
|
5
|
-
declare const _default: (schedule: Deserialized<CoreTypes.schedule
|
|
5
|
+
declare const _default: (schedule: Partial<Deserialized<CoreTypes.schedule> & {
|
|
6
|
+
division: Deserialized<CoreTypes.division>;
|
|
7
|
+
}>, options?: OutOptions) => Constraint;
|
|
6
8
|
export default _default;
|