@royalschedule/maps 2.0.13 → 2.0.17

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.
@@ -1,3 +1,8 @@
1
1
  export default class {
2
- static schedules: (input: import("../types/events").Event[]) => import("../../core/types/divisions").Division;
2
+ static schedules: (input: import("../types/events").Event[], options?: {
3
+ interval?: {
4
+ start: number;
5
+ end: number;
6
+ } | undefined;
7
+ } | undefined) => import("../../core/types/divisions").Division;
3
8
  }
@@ -1,4 +1,9 @@
1
1
  import { Event } from '../types/events';
2
2
  import { Types as CoreTypes } from '../../core/types';
3
- declare const _default: (input: Event[]) => CoreTypes.division;
3
+ declare const _default: (input: Event[], options?: {
4
+ interval?: {
5
+ start: number;
6
+ end: number;
7
+ } | undefined;
8
+ } | undefined) => CoreTypes.division;
4
9
  export default _default;
@@ -19,7 +19,18 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
19
19
 
20
20
  var days = ['Mån', 'Tis', 'Ons', 'Tor', 'Fre', 'Lör', 'Sön'];
21
21
 
22
- var _default = input => {
22
+ function _parseWeeks(weeks, set) {
23
+ var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'add';
24
+ if (!weeks) return;
25
+ var intervals = weeks.split(',').map(_lodash.default.trim);
26
+ intervals.forEach(interval => {
27
+ if (!interval.includes('-')) return set[method](Number(interval));
28
+ var [start, end] = interval.split('-').map(Number);
29
+ Array(end - start + 1).fill(start).forEach((val, index) => set[method](val + index));
30
+ });
31
+ }
32
+
33
+ var _default = (input, options) => {
23
34
  if (!input) throw new Error('(SchoolSoft::From::Schedules) Input was undefined');
24
35
  if (_lodash.default.isString(input)) throw new Error('(SchoolSoft::From::Schedules) Input was of type string. Is required to be of object type');
25
36
  var teachers = new Set();
@@ -29,6 +40,33 @@ var _default = input => {
29
40
  var _locations2;
30
41
 
31
42
  if (!('length' in event)) return acc;
43
+ var weeks = new Set();
44
+ var {
45
+ inweek,
46
+ exweek,
47
+ realweeks
48
+ } = event;
49
+
50
+ try {
51
+ _parseWeeks(inweek, weeks, 'add');
52
+
53
+ _parseWeeks(realweeks, weeks, 'add');
54
+
55
+ if (weeks.size == 0) Array(51).fill(1).forEach((val, index) => weeks.add(val + index));
56
+
57
+ _parseWeeks(exweek, weeks, 'delete');
58
+ } catch (err) {
59
+ console.error(err);
60
+ }
61
+
62
+ if (options !== null && options !== void 0 && options.interval) {
63
+ var {
64
+ start: _start,
65
+ end: _end
66
+ } = options.interval;
67
+ if (!Array.from(weeks).some(week => week >= _start && week <= _end)) return acc;
68
+ }
69
+
32
70
  var start, end;
33
71
  var {
34
72
  starttime,
@@ -44,7 +82,7 @@ var _default = input => {
44
82
  var _day = days.indexOf(day);
45
83
 
46
84
  if (_day > 4) return acc;
47
- start = (0, _getDate.default)(_day, "".concat(starttime.substr(0, 2), ":").concat(starttime.substr(2, 3)));
85
+ start = (0, _getDate.default)(_day, "".concat(starttime.substring(0, 2), ":").concat(starttime.substring(2, 3)));
48
86
  end = start.clone().add(length, 'm');
49
87
  }
50
88
 
@@ -67,14 +105,15 @@ var _default = input => {
67
105
  }
68
106
 
69
107
  if (room) {
70
- _locations = room.split(',').map(x => x.trim());
108
+ _locations = _lodash.default.sortBy(room.split(',').map(x => x.trim()));
71
109
 
72
110
  _locations.forEach(_location => locations.add(_location));
73
111
  }
74
112
 
75
113
  return acc.concat(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
76
114
  ids: event.id,
77
- duration: event.length
115
+ duration: event.length,
116
+ weeks: _lodash.default.sortBy(Array.from(weeks))
78
117
  }, subject && {
79
118
  subject
80
119
  }), start && {
@@ -84,7 +123,7 @@ var _default = input => {
84
123
  }), event.group && {
85
124
  groups: _groups
86
125
  }), event.teacher && {
87
- teachers: [event.teacher]
126
+ teachers: _teachers
88
127
  }), event.room && {
89
128
  inLocations: _locations,
90
129
  locations: (_locations2 = _locations) === null || _locations2 === void 0 ? void 0 : _locations2.map((_location, index) => ({
@@ -96,26 +135,68 @@ var _default = input => {
96
135
  var set = new Set(events);
97
136
  var courses = new Set([]);
98
137
 
99
- for (var element of set) {
138
+ var _loop = function _loop(element) {
139
+ var _ref;
140
+
100
141
  set.delete(element);
101
- var _events = [element];
142
+ var events = [element];
102
143
  var {
103
- subject
144
+ subject,
145
+ groups,
146
+ teachers,
147
+ inLocations,
148
+ locations
104
149
  } = element;
150
+ delete element.groups;
151
+ delete element.subject;
105
152
 
106
153
  for (var event of set) {
107
- if (event.subject != element.subject) continue;
108
- if (!_lodash.default.isEqual(_lodash.default.sortBy(event.groups), _lodash.default.sortBy(element.groups))) continue;
109
-
110
- _events.push(event);
111
-
154
+ if (event.subject != subject) continue;
155
+ if (groups !== null && groups !== void 0 && groups.length && !_lodash.default.isEqual(_lodash.default.sortBy(event.groups), _lodash.default.sortBy(groups))) continue;
156
+ 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;
157
+ delete event.groups;
158
+ delete event.subject;
159
+ events.push(event);
112
160
  set.delete(event);
113
161
  }
114
162
 
115
- courses.add({
116
- displayName: subject,
117
- events: _events
163
+ var course = _objectSpread(_objectSpread({
164
+ displayName: "".concat(subject, "-").concat((_ref = groups !== null && groups !== void 0 ? groups : teachers) === null || _ref === void 0 ? void 0 : _ref.join(' '))
165
+ }, groups && {
166
+ groups
167
+ }), {}, {
168
+ events
118
169
  });
170
+
171
+ if (events.every(_ref2 => {
172
+ var {
173
+ teachers: _teachers
174
+ } = _ref2;
175
+ return _lodash.default.isEqual(_lodash.default.sortBy(teachers), _lodash.default.sortBy(_teachers));
176
+ })) {
177
+ var _course$events;
178
+
179
+ course.teachers = teachers;
180
+ (_course$events = course.events) === null || _course$events === void 0 ? void 0 : _course$events.forEach(event => delete event.teachers);
181
+ }
182
+
183
+ if (events.every(_ref3 => {
184
+ var {
185
+ inLocations: _inLocations
186
+ } = _ref3;
187
+ return _lodash.default.isEqual(_lodash.default.sortBy(inLocations), _lodash.default.sortBy(_inLocations));
188
+ })) {
189
+ var _course$events2;
190
+
191
+ course.locations = locations;
192
+ (_course$events2 = course.events) === null || _course$events2 === void 0 ? void 0 : _course$events2.forEach(event => delete event.locations);
193
+ }
194
+
195
+ courses.add(course);
196
+ };
197
+
198
+ for (var element of set) {
199
+ _loop(element);
119
200
  }
120
201
 
121
202
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"schedules.js","mappings":"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","names":["days","input","Error","_","isString","teachers","Set","groups","locations","events","reduce","acc","event","start","end","starttime","subject","day","length","teacher","group","room","_day","indexOf","substr","clone","add","_teachers","_groups","_locations","split","map","x","trim","forEach","_teacher","_group","_location","concat","ids","id","duration","inLocations","index","groupIndex","set","courses","element","delete","isEqual","sortBy","push","displayName","Array","from"],"sourceRoot":"","sources":["../../../src/SchoolSoft/from/schedules.ts"],"sourcesContent":[null]}
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","duration","inLocations","groupIndex","courses","element","delete","isEqual","push","course","displayName","join","every","_inLocations"],"sourceRoot":"","sources":["../../../src/SchoolSoft/from/schedules.ts"],"sourcesContent":[null]}
@@ -11,8 +11,9 @@ export interface Event {
11
11
  subject?: string;
12
12
  room?: string;
13
13
  period?: string;
14
+ experiod?: string;
14
15
  inweek?: string;
15
16
  exweek?: string;
16
- exclass?: string;
17
+ exclass?: 0 | 1;
17
18
  realweeks?: string;
18
19
  }
@@ -8,6 +8,7 @@ export declare type IdentifiedMaps = {
8
8
  weak: MapInstance[];
9
9
  strong: MapInstance[];
10
10
  determined?: MapInstance;
11
+ error: MapInstance[];
11
12
  };
12
13
  export declare function identify(schedule: any): IdentifiedMaps;
13
14
  export {};
@@ -99,11 +99,11 @@ function identify(schedule) {
99
99
  var similarities = {
100
100
  none: [],
101
101
  weak: [],
102
- strong: []
102
+ strong: [],
103
+ error: []
103
104
  };
104
105
  if (!schedule) return similarities;
105
106
  var collections = Array.isArray(schedule) ? _reduceSchedule(schedule) : Object.keys(schedule);
106
- console.log('collections', collections);
107
107
  if (!collections.length) return similarities;
108
108
  maps.forEach(_ref => {
109
109
  var {
@@ -113,18 +113,43 @@ function identify(schedule) {
113
113
  meta
114
114
  } = _ref;
115
115
 
116
- var _collections = Array.isArray(structure) ? structure : Object.keys(structure);
117
-
118
- if (Array.isArray(schedule)) {
119
- if (!Array.isArray(structure)) return similarities.none.push({
116
+ try {
117
+ var _collections = Array.isArray(structure) ? structure : Object.keys(structure);
118
+
119
+ if (Array.isArray(schedule)) {
120
+ if (!Array.isArray(structure)) return similarities.none.push({
121
+ map,
122
+ name
123
+ });
124
+ if (_lodash.default.isEqual(_lodash.default.sortBy(_collections), _lodash.default.sortBy(collections))) return similarities.strong.push({
125
+ map,
126
+ name
127
+ });
128
+ if (_lodash.default.difference(_collections, collections).length) return similarities.weak.push({
129
+ map,
130
+ name
131
+ });
132
+ return similarities.none.push({
133
+ map,
134
+ name
135
+ });
136
+ }
137
+
138
+ if (meta && _lodash.default.isMatch(schedule.meta, meta)) return similarities.determined = {
120
139
  map,
121
140
  name
122
- });
123
- if (_lodash.default.isEqual(_lodash.default.sortBy(_collections), _lodash.default.sortBy(collections))) return similarities.strong.push({
141
+ };
142
+ if (_collections.every(collection => {
143
+ if (!(collection in schedule)) return false;
144
+ return _reduceSchedule(schedule[collection]).every(key => structure[collection].includes(key));
145
+ })) return similarities.strong.push({
124
146
  map,
125
147
  name
126
148
  });
127
- if (_lodash.default.difference(_collections, collections).length) return similarities.weak.push({
149
+ if (_collections.some(collection => {
150
+ if (!(collection in schedule)) return false;
151
+ return _reduceSchedule(schedule[collection]).some(key => structure[collection].includes(key));
152
+ })) return similarities.weak.push({
128
153
  map,
129
154
  name
130
155
  });
@@ -132,30 +157,12 @@ function identify(schedule) {
132
157
  map,
133
158
  name
134
159
  });
160
+ } catch (err) {
161
+ similarities.error.push({
162
+ map,
163
+ name
164
+ });
135
165
  }
136
-
137
- if (meta && _lodash.default.isMatch(schedule.meta, meta)) return similarities.determined = {
138
- map,
139
- name
140
- };
141
- if (_collections.every(collection => {
142
- if (!(collection in schedule[collection])) return false;
143
- return _reduceSchedule(schedule[collection]).every(key => structure[collection].includes(key));
144
- })) return similarities.strong.push({
145
- map,
146
- name
147
- });
148
- if (_collections.some(collection => {
149
- if (!(collection in schedule[collection])) return false;
150
- return _reduceSchedule(schedule[collection]).some(key => structure[collection].includes(key));
151
- })) return similarities.weak.push({
152
- map,
153
- name
154
- });
155
- return similarities.none.push({
156
- map,
157
- name
158
- });
159
166
  });
160
167
  return similarities;
161
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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","names":["Identity","_a","schedule","_b","RS","input","output","events","Core","groups","locations","teachers","courses","IdunSoft","Grupp","Lärare","Rum","Ämne","Lektion","SchoolSoft","maps","structure","name","map","SchoolSoftMap","IdunSoftMap","RSMap","meta","V1","V2","CoreMap","_reduceSchedule","docs","keys","Set","Array","isArray","flat","forEach","doc","Object","key","add","from","identify","similarities","none","weak","strong","collections","console","log","length","_collections","push","_","isEqual","sortBy","difference","isMatch","determined","every","collection","includes","some"],"sourceRoot":"","sources":["../../../src/core/identify/index.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"index.js","mappings":"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","names":["Identity","_a","schedule","_b","RS","input","output","events","Core","groups","locations","teachers","courses","IdunSoft","Grupp","Lärare","Rum","Ämne","Lektion","SchoolSoft","maps","structure","name","map","SchoolSoftMap","IdunSoftMap","RSMap","meta","V1","V2","CoreMap","_reduceSchedule","docs","keys","Set","Array","isArray","flat","forEach","doc","Object","key","add","from","identify","similarities","none","weak","strong","error","collections","length","_collections","push","_","isEqual","sortBy","difference","isMatch","determined","every","collection","includes","some","err"],"sourceRoot":"","sources":["../../../src/core/identify/index.ts"],"sourcesContent":[null]}
@@ -18,6 +18,7 @@ export interface CourseEventBare {
18
18
  teachers?: Teacher[] | string[] | null;
19
19
  locations?: AvailableLocation[] | AvailableLocation[][] | string[] | null;
20
20
  inLocations?: Location[] | string[];
21
+ weeks?: number[];
21
22
  density?: number;
22
23
  weight?: number;
23
24
  potentialCenter?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@royalschedule/maps",
3
- "version": "2.0.13",
3
+ "version": "2.0.17",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,7 +14,8 @@
14
14
  "prepublish": "npm run compile",
15
15
  "dev_Admentum": "ts-node tests/Admentum/index.ts",
16
16
  "dev_schoolsoft": "ts-node tests/SchoolSoft/index.ts",
17
- "dev_Skola24": "ts-node tests/Skola24/index.ts"
17
+ "dev_Skola24": "ts-node tests/Skola24/index.ts",
18
+ "dev_rs": "ts-node tests/RS/index.ts"
18
19
  },
19
20
  "files": [
20
21
  "dist"
@@ -31,7 +32,7 @@
31
32
  "homepage": "https://bitbucket.org/royalschedule/maps#readme",
32
33
  "devDependencies": {
33
34
  "@babel/cli": "^7.17.0",
34
- "@babel/core": "^7.17.0",
35
+ "@babel/core": "^7.17.2",
35
36
  "@babel/preset-env": "^7.16.11",
36
37
  "@types/app-module-path": "^2.2.0",
37
38
  "@types/json2csv": "^5.0.3",
@@ -50,7 +51,7 @@
50
51
  "lodash": "^4.17.21",
51
52
  "module-alias": "^2.2.2",
52
53
  "moment": "^2.29.1",
53
- "mongoose": "^6.2.0",
54
+ "mongoose": "^6.2.1",
54
55
  "papaparse": "^5.3.1",
55
56
  "xlsx": "^0.18.0"
56
57
  }