@royalschedule/maps 2.2.49 → 2.2.52
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/SS12000/to/activities.d.ts +1 -1
- package/dist/SS12000/to/activities.js +14 -3
- package/dist/SS12000/to/activities.js.map +1 -1
- package/dist/SS12000/to/calendar-events.d.ts +1 -1
- package/dist/SS12000/to/calendar-events.js +21 -4
- package/dist/SS12000/to/calendar-events.js.map +1 -1
- package/dist/SS12000/to/index.d.ts +2 -2
- package/dist/SchoolSoft/api/from/schedules.js +97 -14
- package/dist/SchoolSoft/api/from/schedules.js.map +1 -1
- package/dist/SchoolSoft/api/types/lesson.d.ts +2 -0
- package/dist/SchoolSoft/from/index.d.ts +8 -0
- package/dist/SchoolSoft/from/index.js +20 -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 +266 -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 +20 -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 +44 -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/SchoolSoft/types/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Types as CoreTypes } from '../../core/types';
|
|
2
2
|
import { Activity } from '../types/activities';
|
|
3
|
-
declare type Expand = ('referenceNames' | 'teachers' | 'syllabus')[];
|
|
3
|
+
declare type Expand = ('referenceNames' | 'teachers' | 'syllabus' | 'groups')[];
|
|
4
4
|
declare const _default: (activities: CoreTypes.course[], belongsTo?: import("../../core/types/divisions").Division | undefined, expand?: Expand | undefined) => Activity[];
|
|
5
5
|
export default _default;
|
|
@@ -34,12 +34,12 @@ var _default = (activities, belongsTo, expand) => {
|
|
|
34
34
|
if (!activities.every(activity => _lodash.default.has(activity, 'id'))) throw new Error('(SS12000::To::Activities) Some Activities are missing "id" values');
|
|
35
35
|
if (!belongsTo && !activities.every(activity => _lodash.default.has(activity, 'belongsTo'))) throw new Error('(SS12000::To::Activities) Some top layer Activities are missing "belongsTo" values');
|
|
36
36
|
var expandReferenceNames = expand === null || expand === void 0 ? void 0 : expand.includes('referenceNames');
|
|
37
|
-
var omit = ['meta'];
|
|
37
|
+
var omit = ['meta', 'groupType'];
|
|
38
38
|
if (!expandReferenceNames) omit.push('displayName');
|
|
39
39
|
return activities.map(activity => {
|
|
40
40
|
var _activity$belongsTo, _activity$belongsTo$s, _activity$teachers;
|
|
41
41
|
|
|
42
|
-
return {
|
|
42
|
+
return _objectSpread({
|
|
43
43
|
id: "".concat(belongsTo !== null && belongsTo !== void 0 ? belongsTo : activity.belongsTo.id, ".").concat(activity.id),
|
|
44
44
|
meta: {
|
|
45
45
|
created: activity.createdAt,
|
|
@@ -58,7 +58,18 @@ var _default = (activities, belongsTo, expand) => {
|
|
|
58
58
|
}, expandReferenceNames && {
|
|
59
59
|
displayName: activity.displayName
|
|
60
60
|
})
|
|
61
|
-
}
|
|
61
|
+
}, (expand === null || expand === void 0 ? void 0 : expand.some(x => ['groups', 'teachers', 'syllabus'].includes(x))) && {
|
|
62
|
+
_embedded: _objectSpread(_objectSpread(_objectSpread({}, expand.includes('groups') && {
|
|
63
|
+
groups: (0, _groups.default)(activity.groups, belongsTo !== null && belongsTo !== void 0 ? belongsTo : activity.belongsTo)
|
|
64
|
+
}), expand.includes('teachers') && {
|
|
65
|
+
teachers: (0, _duties.default)(activity.teachers, belongsTo !== null && belongsTo !== void 0 ? belongsTo : activity.belongsTo)
|
|
66
|
+
}), expand.includes('syllabus') && {
|
|
67
|
+
syllabus: {
|
|
68
|
+
id: activity.id,
|
|
69
|
+
displayName: activity.displayName
|
|
70
|
+
}
|
|
71
|
+
})
|
|
72
|
+
});
|
|
62
73
|
});
|
|
63
74
|
};
|
|
64
75
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activities.js","mappings":";;;;;;;AAAA;;AAQA;;AACA;;;;;;;;;;AAIA,SAASA,eAAT,CAAyBC,IAAzB,EAAuD;AACrD,UAAQA,IAAR;AACE,SAAK,OAAL;AACE,aAAO,QAAP;;AACF;AACE,aAAO,cAAP;AAJJ;AAMD;;eAEc,CAACC,UAAD,EAAiCC,SAAjC,EAAiEC,MAAjE,KAAgG;AAC7G,MAAI,CAAEC,KAAK,CAACC,OAAN,CAAcJ,UAAd,CAAN,EACE,MAAM,IAAIK,KAAJ,CAAU,iEAAV,CAAN;AAEF,MAAI,CAAEL,UAAU,CAACM,KAAX,CAAkBC,QAAD,IAAcC,gBAAEC,GAAF,CAAMF,QAAN,EAAgB,IAAhB,CAA/B,CAAN,EACE,MAAM,IAAIF,KAAJ,CAAU,mEAAV,CAAN;AAEF,MAAI,CAAEJ,SAAF,IAAe,CAAED,UAAU,CAACM,KAAX,CAAkBC,QAAD,IAAcC,gBAAEC,GAAF,CAAMF,QAAN,EAAgB,WAAhB,CAA/B,CAArB,EACE,MAAM,IAAIF,KAAJ,CAAU,oFAAV,CAAN;AAEF,MAAMK,oBAAoB,GAAGR,MAAH,aAAGA,MAAH,uBAAGA,MAAM,CAAES,QAAR,CAAiB,gBAAjB,CAA7B;AACA,MAAIC,IAAI,GAAG,CAAC,MAAD,CAAX;AACA,MAAI,CAAEF,oBAAN,EACEE,IAAI,CAACC,IAAL,CAAU,aAAV;AAEF,SAAOb,UAAU,CAACc,GAAX,CAAgBP,QAAD;AAAA;;AAAA
|
|
1
|
+
{"version":3,"file":"activities.js","mappings":"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","names":["mapActivityType","type","activities","belongsTo","expand","Array","isArray","Error","every","activity","_","has","expandReferenceNames","includes","omit","push","map","id","meta","created","createdAt","modified","updatedAt","displayName","calendarEventsRequired","startDate","start","toString","activityType","groups","x","teachers","teacher","duty","syllabus","some","_embedded"],"sourceRoot":"","sources":["../../../src/SS12000/to/activities.ts"],"sourcesContent":[null]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Types as CoreTypes } from '../../core/types';
|
|
2
2
|
import { CalendarEvent } from '../types/calendar-events';
|
|
3
|
-
declare type Expand = ('referenceNames' | 'teachers' | '
|
|
3
|
+
declare type Expand = ('referenceNames' | 'teachers' | 'activity' | 'groups')[];
|
|
4
4
|
declare const _default: (events: CoreTypes.courseEvent[], belongsTo?: import("../../core/types/divisions").Division | undefined, expand?: Expand | undefined) => Partial<CalendarEvent>[];
|
|
5
5
|
export default _default;
|
|
@@ -17,16 +17,22 @@ var _duties = _interopRequireDefault(require("./duties"));
|
|
|
17
17
|
|
|
18
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
19
|
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
|
+
|
|
24
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
+
|
|
20
26
|
var _default = (events, belongsTo, expand) => {
|
|
21
27
|
if (!Array.isArray(events)) throw new Error('(SS12000::To::CalendarEvents) CalendarEvent input is not of array type');
|
|
22
28
|
if (!events.every(event => _lodash.default.has(event, 'id'))) throw new Error('(SS12000::To::CalendarEvents) Some CalendarEvents are missing "id" values');
|
|
23
29
|
if (!belongsTo && !events.every(event => _lodash.default.has(event, 'belongsTo'))) throw new Error('(SS12000::To::CalendarEvents) Some top layer CalendarEvents are missing "belongsTo" values');
|
|
24
|
-
var omit = ['meta'];
|
|
30
|
+
var omit = ['meta', 'groupType'];
|
|
25
31
|
if (!(expand !== null && expand !== void 0 && expand.includes('referenceNames'))) omit.push('displayName');
|
|
26
32
|
return events.map(event => {
|
|
27
33
|
var _belongsTo$id, _event$start, _event$end, _$reject, _ref, _event$teachers, _event$course, _ref2, _event$groups, _event$course2;
|
|
28
34
|
|
|
29
|
-
return {
|
|
35
|
+
return _objectSpread({
|
|
30
36
|
id: "".concat((_belongsTo$id = belongsTo === null || belongsTo === void 0 ? void 0 : belongsTo.id) !== null && _belongsTo$id !== void 0 ? _belongsTo$id : event.belongsTo.id, ".").concat(event.id),
|
|
31
37
|
meta: {
|
|
32
38
|
created: event.createdAt,
|
|
@@ -37,11 +43,22 @@ var _default = (events, belongsTo, expand) => {
|
|
|
37
43
|
activity: {
|
|
38
44
|
id: "".concat(belongsTo !== null && belongsTo !== void 0 ? belongsTo : event.belongsTo.id, ".").concat(event.course.id)
|
|
39
45
|
},
|
|
40
|
-
rooms: (0, _rooms.default)((_$reject = _lodash.default.reject(event.inLocations, _lodash.default.isNull)) !== null && _$reject !== void 0 ? _$reject : [], belongsTo !== null && belongsTo !== void 0 ? belongsTo : event.belongsTo),
|
|
46
|
+
rooms: (0, _rooms.default)((_$reject = _lodash.default.reject(event.inLocations, _lodash.default.isNull)) !== null && _$reject !== void 0 ? _$reject : [], belongsTo !== null && belongsTo !== void 0 ? belongsTo : event.belongsTo).map(x => _lodash.default.omit(x, omit)),
|
|
41
47
|
resources: (0, _resources.default)([], belongsTo !== null && belongsTo !== void 0 ? belongsTo : event.belongsTo).map(x => _lodash.default.omit(x, omit)),
|
|
42
48
|
teachers: (0, _duties.default)((_ref = (_event$teachers = event.teachers) !== null && _event$teachers !== void 0 ? _event$teachers : (_event$course = event.course) === null || _event$course === void 0 ? void 0 : _event$course.teachers) !== null && _ref !== void 0 ? _ref : [], belongsTo !== null && belongsTo !== void 0 ? belongsTo : event.belongsTo).map(x => _lodash.default.omit(x, omit)),
|
|
43
49
|
groups: (0, _groups.default)((_ref2 = (_event$groups = event.groups) !== null && _event$groups !== void 0 ? _event$groups : (_event$course2 = event.course) === null || _event$course2 === void 0 ? void 0 : _event$course2.groups) !== null && _ref2 !== void 0 ? _ref2 : [], belongsTo !== null && belongsTo !== void 0 ? belongsTo : event.belongsTo).map(x => _lodash.default.omit(x, omit))
|
|
44
|
-
}
|
|
50
|
+
}, (expand === null || expand === void 0 ? void 0 : expand.some(x => ['groups', 'teachers', 'activity'].includes(x))) && {
|
|
51
|
+
_embedded: _objectSpread(_objectSpread(_objectSpread({}, expand.includes('groups') && {
|
|
52
|
+
groups: (0, _groups.default)(event.groups, belongsTo !== null && belongsTo !== void 0 ? belongsTo : event.belongsTo)
|
|
53
|
+
}), expand.includes('groups') && {
|
|
54
|
+
teachers: (0, _duties.default)(event.teachers, belongsTo !== null && belongsTo !== void 0 ? belongsTo : event.belongsTo)
|
|
55
|
+
}), expand.includes('activity') && {
|
|
56
|
+
activity: {
|
|
57
|
+
id: event.id,
|
|
58
|
+
displayName: event.displayName
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
});
|
|
45
62
|
});
|
|
46
63
|
};
|
|
47
64
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-events.js","mappings":";;;;;;;AAAA;;
|
|
1
|
+
{"version":3,"file":"calendar-events.js","mappings":"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","names":["events","belongsTo","expand","Array","isArray","Error","every","event","_","has","omit","includes","push","map","id","meta","created","createdAt","modified","updatedAt","startTime","start","toString","endTime","end","activity","course","rooms","reject","inLocations","isNull","x","resources","teachers","groups","some","_embedded","displayName"],"sourceRoot":"","sources":["../../../src/SS12000/to/calendar-events.ts"],"sourcesContent":[null]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export default class {
|
|
2
|
-
static activities: (activities: import("../../core/types/courses").Course[], belongsTo?: import("../../core/types/divisions").Division | undefined, expand?: ("teachers" | "referenceNames" | "syllabus")[] | undefined) => import("../types/activities").Activity[];
|
|
3
|
-
static calendarEvents: (events: import("../../core/types/course-events").CourseEvent[], belongsTo?: import("../../core/types/divisions").Division | undefined, expand?: ("teachers" | "referenceNames" | "
|
|
2
|
+
static activities: (activities: import("../../core/types/courses").Course[], belongsTo?: import("../../core/types/divisions").Division | undefined, expand?: ("groups" | "teachers" | "referenceNames" | "syllabus")[] | undefined) => import("../types/activities").Activity[];
|
|
3
|
+
static calendarEvents: (events: import("../../core/types/course-events").CourseEvent[], belongsTo?: import("../../core/types/divisions").Division | undefined, expand?: ("groups" | "teachers" | "referenceNames" | "activity")[] | undefined) => Partial<import("../types/calendar-events").CalendarEvent>[];
|
|
4
4
|
static duties: (teachers: import("../../core/types/teachers").Teacher[], belongsTo?: import("../../core/types/divisions").Division | undefined) => import("../types/duties").Duty[];
|
|
5
5
|
static groups: (groups: import("../../core/types/groups").Group[], belongsTo?: import("../../core/types/divisions").Division | undefined) => import("../types/groups").Group[];
|
|
6
6
|
static resources: (resources: any[], belongsTo?: import("../../core/types/divisions").Division | undefined) => import("../types/resources").Resource[];
|
|
@@ -13,6 +13,18 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
13
13
|
|
|
14
14
|
var sep = ',';
|
|
15
15
|
|
|
16
|
+
function split(val) {
|
|
17
|
+
return val.split(sep).map(x => x.trim()).filter(x => x.length);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function courseMapKey(subject, groups, teachers) {
|
|
21
|
+
return JSON.stringify({
|
|
22
|
+
s: subject,
|
|
23
|
+
g: groups.sort(),
|
|
24
|
+
t: teachers.sort()
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
|
|
16
28
|
var _default = data => {
|
|
17
29
|
var errors = [];
|
|
18
30
|
var warnings = [];
|
|
@@ -26,21 +38,34 @@ var _default = data => {
|
|
|
26
38
|
var initialTeacherMap = new Map();
|
|
27
39
|
data.teachers.forEach(x => {
|
|
28
40
|
if (x.active != '1') return;
|
|
41
|
+
|
|
42
|
+
if (initialTeacherMap.has(x.initial)) {
|
|
43
|
+
warnings.push("There already exists an active teacher with the initial \"".concat(x.initial, "\"."));
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
|
|
29
47
|
initialTeacherMap.set(x.initial, {
|
|
30
48
|
ids: x.id,
|
|
31
49
|
displayName: x.fname + ' ' + x.lname
|
|
32
50
|
});
|
|
33
51
|
});
|
|
34
|
-
var groups = [];
|
|
35
52
|
var studentGroupMap = new Map();
|
|
53
|
+
var nameGroupMap = new Map();
|
|
36
54
|
data.groups.forEach(x => {
|
|
55
|
+
var name = x.name.trim();
|
|
37
56
|
if (x.active != '1') return;
|
|
38
57
|
if (x.classtype != '1') return;
|
|
39
|
-
|
|
58
|
+
|
|
59
|
+
if (nameGroupMap.has(name)) {
|
|
60
|
+
warnings.push("There already exists an active group with the name \"".concat(name, "\"."));
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
nameGroupMap.set(name, {
|
|
40
65
|
ids: x.id,
|
|
41
|
-
displayName:
|
|
66
|
+
displayName: name
|
|
42
67
|
});
|
|
43
|
-
x.studentid
|
|
68
|
+
split(x.studentid).filter(x => x).forEach(id => {
|
|
44
69
|
if (studentGroupMap.has(id)) {
|
|
45
70
|
errors.push("The student with id \"".concat(id, "\" does already belong to a different group."));
|
|
46
71
|
return;
|
|
@@ -52,15 +77,17 @@ var _default = data => {
|
|
|
52
77
|
var groupSubjectMap = new Map();
|
|
53
78
|
data.lessons.forEach(x => {
|
|
54
79
|
if (x.subject) {
|
|
55
|
-
groupSubjectMap.set(x.group, x.subject);
|
|
80
|
+
groupSubjectMap.set(x.group.trim(), x.subject);
|
|
56
81
|
}
|
|
57
82
|
});
|
|
58
|
-
var
|
|
83
|
+
var courseMap = new Map();
|
|
84
|
+
var nameCourseMap = new Map();
|
|
59
85
|
data.groups.forEach(x => {
|
|
86
|
+
var name = x.name.trim();
|
|
60
87
|
if (x.active != '1') return;
|
|
61
88
|
if (x.classtype == '1') return;
|
|
62
89
|
var groupSet = new Set();
|
|
63
|
-
x.studentid
|
|
90
|
+
split(x.studentid).filter(x => x).map(id => {
|
|
64
91
|
if (!studentGroupMap.has(id)) {
|
|
65
92
|
errors.push("The student with id \"".concat(id, "\" does not belong to a group."));
|
|
66
93
|
return;
|
|
@@ -69,7 +96,7 @@ var _default = data => {
|
|
|
69
96
|
groupSet.add(studentGroupMap.get(id));
|
|
70
97
|
});
|
|
71
98
|
var teacherSet = new Set();
|
|
72
|
-
x.teacher
|
|
99
|
+
split(x.teacher).filter(x => x).map(initial => {
|
|
73
100
|
if (!initialTeacherMap.has(initial)) {
|
|
74
101
|
errors.push("The teacher with initial \"".concat(initial, "\" does not exist."));
|
|
75
102
|
return;
|
|
@@ -79,22 +106,78 @@ var _default = data => {
|
|
|
79
106
|
});
|
|
80
107
|
var subject = '';
|
|
81
108
|
|
|
82
|
-
if (groupSubjectMap.has(
|
|
83
|
-
subject = groupSubjectMap.get(
|
|
109
|
+
if (groupSubjectMap.has(name)) {
|
|
110
|
+
subject = groupSubjectMap.get(name);
|
|
84
111
|
} else {
|
|
85
|
-
warnings.push("Could not determine the subject of the course \"".concat(
|
|
112
|
+
warnings.push("Could not determine the subject of the course \"".concat(name, "\" (").concat(x.id, ")."));
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if (nameGroupMap.has(name)) {
|
|
116
|
+
warnings.push("There already exists an active group with the name \"".concat(name, "\"."));
|
|
117
|
+
return;
|
|
86
118
|
}
|
|
87
119
|
|
|
88
|
-
|
|
120
|
+
var course = _objectSpread({
|
|
89
121
|
ids: x.id,
|
|
90
|
-
displayName:
|
|
122
|
+
displayName: name,
|
|
91
123
|
groups: [...groupSet],
|
|
92
124
|
teachers: [...teacherSet]
|
|
93
125
|
}, subject && {
|
|
94
126
|
subject
|
|
95
|
-
})
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
nameCourseMap.set(name, course);
|
|
130
|
+
courseMap.set(courseMapKey(course.subject, course.groups, course.teachers), course);
|
|
131
|
+
});
|
|
132
|
+
data.lessons.forEach(x => {
|
|
133
|
+
var teacherSet = new Set();
|
|
134
|
+
split(x.teacher).forEach(y => {
|
|
135
|
+
var _initialTeacherMap$ge;
|
|
136
|
+
|
|
137
|
+
var id = (_initialTeacherMap$ge = initialTeacherMap.get(y)) === null || _initialTeacherMap$ge === void 0 ? void 0 : _initialTeacherMap$ge.ids;
|
|
138
|
+
if (id) teacherSet.add(id);
|
|
139
|
+
});
|
|
140
|
+
var teachers = [...teacherSet];
|
|
141
|
+
var scheduledGroupIds = [];
|
|
142
|
+
var groupSet = new Set();
|
|
143
|
+
split(x.group).forEach(y => {
|
|
144
|
+
var _nameGroupMap$get;
|
|
145
|
+
|
|
146
|
+
var id = (_nameGroupMap$get = nameGroupMap.get(y)) === null || _nameGroupMap$get === void 0 ? void 0 : _nameGroupMap$get.ids;
|
|
147
|
+
|
|
148
|
+
if (id) {
|
|
149
|
+
scheduledGroupIds.push(id);
|
|
150
|
+
groupSet.add(id);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
var course = nameCourseMap.get(y);
|
|
155
|
+
|
|
156
|
+
if (course) {
|
|
157
|
+
var _course$groups;
|
|
158
|
+
|
|
159
|
+
scheduledGroupIds.push(course.ids);
|
|
160
|
+
((_course$groups = course.groups) !== null && _course$groups !== void 0 ? _course$groups : []).forEach(z => groupSet.add(z));
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
var groups = [...groupSet];
|
|
164
|
+
var key = courseMapKey(x.subject, groups, teachers);
|
|
165
|
+
|
|
166
|
+
if (groups.length && teachers.length && !courseMap.has(key)) {
|
|
167
|
+
var ids = scheduledGroupIds.join(sep);
|
|
168
|
+
courseMap.set(key, _objectSpread(_objectSpread({}, ids.length && {
|
|
169
|
+
ids
|
|
170
|
+
}), {}, {
|
|
171
|
+
displayName: x.name,
|
|
172
|
+
subject: x.subject,
|
|
173
|
+
groups,
|
|
174
|
+
teachers
|
|
175
|
+
}));
|
|
176
|
+
}
|
|
96
177
|
});
|
|
97
178
|
var teachers = [...initialTeacherMap.values()];
|
|
179
|
+
var groups = [...nameGroupMap.values()];
|
|
180
|
+
var courses = [...courseMap.values()];
|
|
98
181
|
var events = [];
|
|
99
182
|
return {
|
|
100
183
|
locations,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.js","mappings":";;;;;;;;;;;;;AAOA,IAAMA,GAAG,GAAG,GAAZ;;
|
|
1
|
+
{"version":3,"file":"schedules.js","mappings":"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","names":["sep","split","val","map","x","trim","filter","length","courseMapKey","subject","groups","teachers","JSON","stringify","s","g","sort","t","data","errors","warnings","locations","forEach","push","ids","id","displayName","name","initialTeacherMap","Map","active","has","initial","set","fname","lname","studentGroupMap","nameGroupMap","classtype","studentid","groupSubjectMap","lessons","group","courseMap","nameCourseMap","groupSet","Set","add","get","teacherSet","teacher","course","y","scheduledGroupIds","z","key","join","values","courses","events","meta"],"sourceRoot":"","sources":["../../../../src/SchoolSoft/api/from/schedules.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _schedules2 = _interopRequireDefault(require("./schedules"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) {
|
|
11
|
+
return obj && obj.__esModule ? obj : {
|
|
12
|
+
default: obj
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
class default_1 {}
|
|
17
|
+
|
|
18
|
+
exports.default = default_1;
|
|
19
|
+
default_1.schedules = _schedules2.default;
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","mappings":";;;;;;;AAAA;;;;;;;;AAEc;;;AACLA,sBAAsBC,mBAAtBD","names":["default_1","_schedules"],"sourceRoot":"","sources":["../../../src/SchoolSoft/from/index.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Event } from '../types/events';
|
|
2
|
+
import { Types as CoreTypes } from '../../core/types';
|
|
3
|
+
declare const _default: (input: Event[], options?: {
|
|
4
|
+
interval?: {
|
|
5
|
+
start: number;
|
|
6
|
+
end: number;
|
|
7
|
+
} | undefined;
|
|
8
|
+
} | undefined) => CoreTypes.division;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
|
+
|
|
10
|
+
var _getDate = _interopRequireDefault(require("../../common/get-date"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function ownKeys(object, enumerableOnly) {
|
|
19
|
+
var keys = Object.keys(object);
|
|
20
|
+
|
|
21
|
+
if (Object.getOwnPropertySymbols) {
|
|
22
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
23
|
+
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
24
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
25
|
+
})), keys.push.apply(keys, symbols);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return keys;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function _objectSpread(target) {
|
|
32
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
33
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
34
|
+
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
35
|
+
_defineProperty(target, key, source[key]);
|
|
36
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
|
|
37
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return target;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function _defineProperty(obj, key, value) {
|
|
45
|
+
if (key in obj) {
|
|
46
|
+
Object.defineProperty(obj, key, {
|
|
47
|
+
value: value,
|
|
48
|
+
enumerable: true,
|
|
49
|
+
configurable: true,
|
|
50
|
+
writable: true
|
|
51
|
+
});
|
|
52
|
+
} else {
|
|
53
|
+
obj[key] = value;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return obj;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
var days = ['Mån', 'Tis', 'Ons', 'Tor', 'Fre', 'Lör', 'Sön'];
|
|
60
|
+
|
|
61
|
+
function _parseWeeks(weeks, set) {
|
|
62
|
+
var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'add';
|
|
63
|
+
if (!weeks) return;
|
|
64
|
+
var intervals = weeks.split(',').map(_lodash.default.trim);
|
|
65
|
+
intervals.forEach(interval => {
|
|
66
|
+
if (!interval.includes('-')) return set[method](Number(interval));
|
|
67
|
+
var [start, end] = interval.split('-').map(Number);
|
|
68
|
+
Array(end - start + 1).fill(start).forEach((val, index) => set[method](val + index));
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
var _default = (input, options) => {
|
|
73
|
+
if (!input) throw new Error('(SchoolSoft::From::Schedules) Input was undefined');
|
|
74
|
+
if (_lodash.default.isString(input)) throw new Error('(SchoolSoft::From::Schedules) Input was of type string. Is required to be of object type');
|
|
75
|
+
var teachers = new Set();
|
|
76
|
+
var groups = new Set();
|
|
77
|
+
var locations = new Set();
|
|
78
|
+
var events = input.reduce((acc, event) => {
|
|
79
|
+
var _locations2;
|
|
80
|
+
|
|
81
|
+
if (!('length' in event)) return acc;
|
|
82
|
+
var weeks = new Set();
|
|
83
|
+
var {
|
|
84
|
+
inweek,
|
|
85
|
+
exweek,
|
|
86
|
+
realweeks
|
|
87
|
+
} = event;
|
|
88
|
+
|
|
89
|
+
try {
|
|
90
|
+
_parseWeeks(inweek, weeks, 'add');
|
|
91
|
+
|
|
92
|
+
_parseWeeks(realweeks, weeks, 'add');
|
|
93
|
+
|
|
94
|
+
if (weeks.size == 0) Array(51).fill(1).forEach((val, index) => weeks.add(val + index));
|
|
95
|
+
|
|
96
|
+
_parseWeeks(exweek, weeks, 'delete');
|
|
97
|
+
} catch (err) {
|
|
98
|
+
console.error(err);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (options !== null && options !== void 0 && options.interval) {
|
|
102
|
+
var {
|
|
103
|
+
start: _start,
|
|
104
|
+
end: _end
|
|
105
|
+
} = options.interval;
|
|
106
|
+
if (_start > 52 || _start <= 0) throw new Error("(SchoolSoft::From::Schedules) Interval::start is invalid. value ".concat(_start));
|
|
107
|
+
if (_end > 52 || _end <= 0) throw new Error("(SchoolSoft::From::Schedules) Interval::end is invalid. value ".concat(_end));
|
|
108
|
+
|
|
109
|
+
if (_start > _end) {
|
|
110
|
+
if (!Array.from(weeks).some(week => week >= _start && week <= 52 || week <= _end)) return acc;
|
|
111
|
+
} else {
|
|
112
|
+
if (!Array.from(weeks).some(week => week >= _start && week <= _end)) return acc;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
var start, end;
|
|
117
|
+
var {
|
|
118
|
+
starttime,
|
|
119
|
+
subject,
|
|
120
|
+
day,
|
|
121
|
+
length,
|
|
122
|
+
teacher,
|
|
123
|
+
group,
|
|
124
|
+
room
|
|
125
|
+
} = event;
|
|
126
|
+
|
|
127
|
+
if (day && starttime) {
|
|
128
|
+
var _day = days.indexOf(day);
|
|
129
|
+
|
|
130
|
+
if (_day > 4) return acc;
|
|
131
|
+
start = (0, _getDate.default)(_day, "".concat(starttime.substring(0, 2), ":").concat(starttime.substring(2, 4)));
|
|
132
|
+
end = start.clone().add(length, 'm');
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
var _teachers;
|
|
136
|
+
|
|
137
|
+
var _groups;
|
|
138
|
+
|
|
139
|
+
var _locations;
|
|
140
|
+
|
|
141
|
+
if (teacher) {
|
|
142
|
+
_teachers = teacher.split(',').map(x => x.trim());
|
|
143
|
+
|
|
144
|
+
_teachers.forEach(_teacher => teachers.add(_teacher));
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (group) {
|
|
148
|
+
_groups = group.split(',').map(x => x.trim());
|
|
149
|
+
|
|
150
|
+
_groups.forEach(_group => groups.add(_group));
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (room) {
|
|
154
|
+
_locations = _lodash.default.sortBy(room.split(',').map(x => x.trim()));
|
|
155
|
+
|
|
156
|
+
_locations.forEach(_location => locations.add(_location));
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
return acc.concat(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
160
|
+
ids: event.id,
|
|
161
|
+
preferredDuration: event.length,
|
|
162
|
+
weeks: _lodash.default.sortBy(Array.from(weeks))
|
|
163
|
+
}, subject && {
|
|
164
|
+
subject
|
|
165
|
+
}), start && {
|
|
166
|
+
start
|
|
167
|
+
}), end && {
|
|
168
|
+
end
|
|
169
|
+
}), event.group && {
|
|
170
|
+
groups: _groups
|
|
171
|
+
}), event.teacher && {
|
|
172
|
+
teachers: _teachers
|
|
173
|
+
}), event.room && {
|
|
174
|
+
inLocations: _locations,
|
|
175
|
+
locations: (_locations2 = _locations) === null || _locations2 === void 0 ? void 0 : _locations2.map((_location, index) => ({
|
|
176
|
+
locations: [_location],
|
|
177
|
+
groupIndex: index
|
|
178
|
+
}))
|
|
179
|
+
}));
|
|
180
|
+
}, []);
|
|
181
|
+
var set = new Set(events);
|
|
182
|
+
var courses = new Set([]);
|
|
183
|
+
|
|
184
|
+
var _loop = function _loop(element) {
|
|
185
|
+
var _ref;
|
|
186
|
+
|
|
187
|
+
set.delete(element);
|
|
188
|
+
var events = [element];
|
|
189
|
+
var {
|
|
190
|
+
subject,
|
|
191
|
+
groups,
|
|
192
|
+
teachers,
|
|
193
|
+
inLocations,
|
|
194
|
+
locations
|
|
195
|
+
} = element;
|
|
196
|
+
delete element.groups;
|
|
197
|
+
delete element.subject;
|
|
198
|
+
|
|
199
|
+
for (var event of set) {
|
|
200
|
+
if (event.subject != subject) continue;
|
|
201
|
+
if (groups !== null && groups !== void 0 && groups.length && !_lodash.default.isEqual(_lodash.default.sortBy(event.groups), _lodash.default.sortBy(groups))) continue;
|
|
202
|
+
if (!(groups !== null && groups !== void 0 && groups.length) && teachers !== null && teachers !== void 0 && teachers.length && !_lodash.default.isEqual(_lodash.default.sortBy(event.teachers), _lodash.default.sortBy(teachers))) continue;
|
|
203
|
+
delete event.groups;
|
|
204
|
+
delete event.subject;
|
|
205
|
+
events.push(event);
|
|
206
|
+
set.delete(event);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
var course = _objectSpread(_objectSpread({
|
|
210
|
+
displayName: "".concat(subject, "-").concat((_ref = groups !== null && groups !== void 0 ? groups : teachers) === null || _ref === void 0 ? void 0 : _ref.join(' '))
|
|
211
|
+
}, groups && {
|
|
212
|
+
groups
|
|
213
|
+
}), {}, {
|
|
214
|
+
events
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
if (events.every(_ref2 => {
|
|
218
|
+
var {
|
|
219
|
+
teachers: _teachers
|
|
220
|
+
} = _ref2;
|
|
221
|
+
return _lodash.default.isEqual(_lodash.default.sortBy(teachers), _lodash.default.sortBy(_teachers));
|
|
222
|
+
})) {
|
|
223
|
+
var _course$events;
|
|
224
|
+
|
|
225
|
+
course.teachers = teachers;
|
|
226
|
+
(_course$events = course.events) === null || _course$events === void 0 ? void 0 : _course$events.forEach(event => delete event.teachers);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
if (events.every(_ref3 => {
|
|
230
|
+
var {
|
|
231
|
+
inLocations: _inLocations
|
|
232
|
+
} = _ref3;
|
|
233
|
+
return _lodash.default.isEqual(_lodash.default.sortBy(inLocations), _lodash.default.sortBy(_inLocations));
|
|
234
|
+
})) {
|
|
235
|
+
var _course$events2;
|
|
236
|
+
|
|
237
|
+
course.locations = locations;
|
|
238
|
+
(_course$events2 = course.events) === null || _course$events2 === void 0 ? void 0 : _course$events2.forEach(event => delete event.locations);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
courses.add(course);
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
for (var element of set) {
|
|
245
|
+
_loop(element);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
return {
|
|
249
|
+
courses: Array.from(courses),
|
|
250
|
+
teachers: Array.from(teachers).map(ids => ({
|
|
251
|
+
ids,
|
|
252
|
+
displayName: ids
|
|
253
|
+
})),
|
|
254
|
+
groups: Array.from(groups).map(ids => ({
|
|
255
|
+
ids,
|
|
256
|
+
displayName: ids
|
|
257
|
+
})),
|
|
258
|
+
locations: Array.from(locations).map(ids => ({
|
|
259
|
+
ids,
|
|
260
|
+
displayName: ids
|
|
261
|
+
}))
|
|
262
|
+
};
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
exports.default = _default;
|
|
266
|
+
//# sourceMappingURL=schedules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedules.js","mappings":"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","names":["days","_parseWeeks","weeks","set","method","intervals","split","map","_","trim","forEach","interval","includes","Number","start","end","Array","fill","val","index","input","options","Error","isString","teachers","Set","groups","locations","events","reduce","acc","event","inweek","exweek","realweeks","size","add","err","console","error","from","some","week","starttime","subject","day","length","teacher","group","room","_day","indexOf","substring","clone","_teachers","_groups","_locations","x","_teacher","_group","sortBy","_location","concat","ids","id","preferredDuration","inLocations","_locations2","groupIndex","courses","element","delete","isEqual","push","course","displayName","_ref","join","every","_ref2","_ref3","_inLocations","_loop"],"sourceRoot":"","sources":["../../../src/SchoolSoft/from/schedules.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _schedules2 = _interopRequireDefault(require("./schedules"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) {
|
|
11
|
+
return obj && obj.__esModule ? obj : {
|
|
12
|
+
default: obj
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
class default_1 {}
|
|
17
|
+
|
|
18
|
+
exports.default = default_1;
|
|
19
|
+
default_1.schedules = _schedules2.default;
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","mappings":";;;;;;;AAAA;;;;;;;;AAEc;;;AACLA,sBAAsBC,mBAAtBD","names":["default_1","_schedules"],"sourceRoot":"","sources":["../../../src/SchoolSoft/to/index.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _xlsx = _interopRequireDefault(require("xlsx"));
|
|
9
|
+
|
|
10
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
var _default = courseEvents => {
|
|
19
|
+
var events = courseEvents.reduce((acc, event) => {
|
|
20
|
+
if (event.parked) return acc;
|
|
21
|
+
var teachers = event.teachers == null ? event.course.teachers : event.teachers;
|
|
22
|
+
var room = event.inLocations.filter(x => x !== null).map(locations => locations.ids).join(', ');
|
|
23
|
+
return acc.concat({
|
|
24
|
+
group: event.course.ids,
|
|
25
|
+
dayid: _moment.default.utc(event.start).day() - 1,
|
|
26
|
+
starttime: _moment.default.utc(event.start).format('HHmm'),
|
|
27
|
+
length: _moment.default.utc(event.end).diff(_moment.default.utc(event.start), 'minutes'),
|
|
28
|
+
teacher: (teachers || []).map(teacher => teacher.ids).join(', '),
|
|
29
|
+
subject: '',
|
|
30
|
+
room: room,
|
|
31
|
+
inweek: '',
|
|
32
|
+
exweek: ''
|
|
33
|
+
});
|
|
34
|
+
}, []);
|
|
35
|
+
|
|
36
|
+
var wb = _xlsx.default.utils.book_new();
|
|
37
|
+
|
|
38
|
+
_xlsx.default.utils.book_append_sheet(wb, _xlsx.default.utils.json_to_sheet(events), 'royal schedule export');
|
|
39
|
+
|
|
40
|
+
return wb;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
exports.default = _default;
|
|
44
|
+
//# sourceMappingURL=schedules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedules.js","mappings":";;;;;;;AAAA;;AACA;;;;;;;;eAUgBA,YAAD,IAA+C;AAC5D,MAAIC,MAAM,GAAGD,YAAY,CAACE,MAAbF,CAAoB,CAACG,GAAD,EAAeC,KAAf,KAAqC;AACpE,QAAIA,KAAK,CAACC,MAAV,EACE,OAAOF,GAAP;AAEF,QAAIG,QAAQ,GAAeF,KAAK,CAACE,QAANF,IAAkB,IAAlBA,GAA0BA,KAAK,CAACG,MAANH,CAAyBE,QAAnDF,GAA8DA,KAAK,CAACE,QAA/F;AAEA,QAAIE,IAAI,GAAmBJ,KAAK,CAACK,WAANL,CACkBM,MADlBN,CAC0BO,CAAD,IAAYA,CAAC,KAAK,IAD3CP,EAEkBQ,GAFlBR,CAEuBS,SAAD,IAAyBA,SAAS,CAACC,GAFzDV,EAGkBW,IAHlBX,CAGuB,IAHvBA,CAA3B;AAKA,WAAOD,GAAG,CAACa,MAAJb,CAAW;AAChBc,WAAK,EAAOb,KAAK,CAACG,MAANH,CAAwBU,GADpB;AAEhBI,WAAK,EAAMC,gBAAOC,GAAPD,CAAWf,KAAK,CAACiB,KAAjBF,EAAwBG,GAAxBH,KAAgC,CAF3B;AAGhBI,eAAS,EAAEJ,gBAAOC,GAAPD,CAAWf,KAAK,CAACiB,KAAjBF,EAAwBK,MAAxBL,CAA+B,MAA/BA,CAHK;AAIhBM,YAAM,EAAKN,gBAAOC,GAAPD,CAAWf,KAAK,CAACsB,GAAjBP,EAAsBQ,IAAtBR,CAA2BA,gBAAOC,GAAPD,CAAWf,KAAK,CAACiB,KAAjBF,CAA3BA,EAAoD,SAApDA,CAJK;AAKhBS,aAAO,EAAI,CAACtB,QAAQ,IAAI,EAAb,EAAiBM,GAAjB,CAAsBgB,OAAD,IAAsBA,OAAO,CAACd,GAAnD,EAAwDC,IAAxD,CAA6D,IAA7D,CALK;AAMhBc,aAAO,EAAI,EANK;AAOhBrB,UAAI,EAAOA,IAPK;AAQhBsB,YAAM,EAAK,EARK;AAShBC,YAAM,EAAK;AATK,KAAX5B,CAAP;AAXW,KAsBV,EAtBUH,CAAb;;AAwBA,MAAIgC,EAAE,GAAGC,cAAKC,KAALD,CAAWE,QAAXF,EAAT;;AAEAA,gBAAKC,KAALD,CAAWG,iBAAXH,CAA6BD,EAA7BC,EAAiCA,cAAKC,KAALD,CAAWI,aAAXJ,CAAyBhC,MAAzBgC,CAAjCA,EAAmE,uBAAnEA;;AAEA,SAAOD,EAAP","names":["courseEvents","events","reduce","acc","event","parked","teachers","course","room","inLocations","filter","x","map","locations","ids","join","concat","group","dayid","moment","utc","start","day","starttime","format","length","end","diff","teacher","subject","inweek","exweek","wb","XLSX","utils","book_new","book_append_sheet","json_to_sheet"],"sourceRoot":"","sources":["../../../src/SchoolSoft/to/schedules.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare type Time = `${number}${number}${number}${number}`;
|
|
2
|
+
export declare type Day = 'Mån' | 'Tis' | 'Ons' | 'Tor' | 'Fre' | 'Lör' | 'Sön';
|
|
3
|
+
export interface Event {
|
|
4
|
+
id?: string;
|
|
5
|
+
group?: string;
|
|
6
|
+
dayid?: number;
|
|
7
|
+
day?: Day;
|
|
8
|
+
starttime?: Time;
|
|
9
|
+
length?: number;
|
|
10
|
+
teacher?: string;
|
|
11
|
+
subject?: string;
|
|
12
|
+
room?: string;
|
|
13
|
+
period?: string;
|
|
14
|
+
experiod?: string;
|
|
15
|
+
inweek?: string;
|
|
16
|
+
exweek?: string;
|
|
17
|
+
exclass?: 0 | 1;
|
|
18
|
+
realweeks?: string;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","mappings":"","names":[],"sourceRoot":"","sources":[],"sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","mappings":"","names":[],"sourceRoot":"","sources":[],"sourcesContent":[]}
|