@royalschedule/maps 2.4.14 → 2.4.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/PlanDigital/types/course.d.ts +15 -0
  2. package/dist/{core/types/common.js → PlanDigital/types/course.js} +1 -1
  3. package/dist/PlanDigital/types/course.js.map +1 -0
  4. package/dist/PlanDigital/types/period.d.ts +3 -0
  5. package/dist/PlanDigital/types/period.js +6 -0
  6. package/dist/PlanDigital/types/period.js.map +1 -0
  7. package/dist/RS/v2/from/placements.js +3 -3
  8. package/dist/RS/v2/from/placements.js.map +1 -1
  9. package/dist/RS/v2/from/schedules.js +7 -16
  10. package/dist/RS/v2/from/schedules.js.map +1 -1
  11. package/dist/SchoolSoft/from/index.d.ts +8 -0
  12. package/dist/SchoolSoft/from/index.js +16 -0
  13. package/dist/SchoolSoft/from/index.js.map +1 -0
  14. package/dist/SchoolSoft/from/schedules.d.ts +9 -0
  15. package/dist/SchoolSoft/from/schedules.js +221 -0
  16. package/dist/SchoolSoft/from/schedules.js.map +1 -0
  17. package/dist/SchoolSoft/to/index.d.ts +3 -0
  18. package/dist/SchoolSoft/to/index.js +16 -0
  19. package/dist/SchoolSoft/to/index.js.map +1 -0
  20. package/dist/SchoolSoft/to/schedules.d.ts +4 -0
  21. package/dist/SchoolSoft/to/schedules.js +36 -0
  22. package/dist/SchoolSoft/to/schedules.js.map +1 -0
  23. package/dist/SchoolSoft/types/events.d.ts +19 -0
  24. package/dist/SchoolSoft/types/events.js +6 -0
  25. package/dist/SchoolSoft/types/events.js.map +1 -0
  26. package/dist/SchoolSoft/types/index.d.ts +4 -0
  27. package/dist/Skola24/types/Meta.d.ts +7 -0
  28. package/dist/Skola24/types/Meta.js +6 -0
  29. package/dist/Skola24/types/Meta.js.map +1 -0
  30. package/dist/core/constants/index.d.ts +71 -0
  31. package/dist/core/constants/index.js +136 -0
  32. package/dist/core/constants/index.js.map +1 -0
  33. package/dist/core/from/courses.js +0 -15
  34. package/dist/core/from/courses.js.map +1 -1
  35. package/dist/core/from/events.js +0 -15
  36. package/dist/core/from/events.js.map +1 -1
  37. package/dist/core/from/groups.js +0 -15
  38. package/dist/core/from/groups.js.map +1 -1
  39. package/dist/core/from/locations.js +0 -15
  40. package/dist/core/from/locations.js.map +1 -1
  41. package/dist/core/from/locked-times.js +0 -15
  42. package/dist/core/from/locked-times.js.map +1 -1
  43. package/dist/core/from/overlap-groups.js +0 -15
  44. package/dist/core/from/overlap-groups.js.map +1 -1
  45. package/dist/core/from/persons.js +0 -15
  46. package/dist/core/from/persons.js.map +1 -1
  47. package/dist/core/from/schedules.js +0 -15
  48. package/dist/core/from/schedules.js.map +1 -1
  49. package/dist/core/from/teachers.js +0 -15
  50. package/dist/core/from/teachers.js.map +1 -1
  51. package/dist/core/identify/index.d.ts +2 -0
  52. package/dist/core/identify/index.js +65 -0
  53. package/dist/core/identify/index.js.map +1 -0
  54. package/dist/core/to/available-locations.js +0 -15
  55. package/dist/core/to/available-locations.js.map +1 -1
  56. package/dist/core/to/courses.d.ts +1 -37
  57. package/dist/core/to/courses.js +10 -43
  58. package/dist/core/to/courses.js.map +1 -1
  59. package/dist/core/to/days.d.ts +1 -4
  60. package/dist/core/to/days.js +0 -15
  61. package/dist/core/to/days.js.map +1 -1
  62. package/dist/core/to/events.d.ts +1 -41
  63. package/dist/core/to/events.js +10 -43
  64. package/dist/core/to/events.js.map +1 -1
  65. package/dist/core/to/groups.d.ts +1 -15
  66. package/dist/core/to/groups.js +0 -15
  67. package/dist/core/to/groups.js.map +1 -1
  68. package/dist/core/to/intervals.d.ts +1 -4
  69. package/dist/core/to/intervals.js.map +1 -1
  70. package/dist/core/to/locations.js +0 -15
  71. package/dist/core/to/locations.js.map +1 -1
  72. package/dist/core/to/locked-times.d.ts +2 -2
  73. package/dist/core/to/locked-times.js +1 -16
  74. package/dist/core/to/locked-times.js.map +1 -1
  75. package/dist/core/to/overlap-groups.js +0 -15
  76. package/dist/core/to/overlap-groups.js.map +1 -1
  77. package/dist/core/to/persons.js +0 -15
  78. package/dist/core/to/persons.js.map +1 -1
  79. package/dist/core/to/schedules.js +1 -16
  80. package/dist/core/to/schedules.js.map +1 -1
  81. package/dist/core/to/settings.js +0 -15
  82. package/dist/core/to/settings.js.map +1 -1
  83. package/dist/core/to/teachers.js +0 -15
  84. package/dist/core/to/teachers.js.map +1 -1
  85. package/dist/core/types/common/index.d.ts +2 -2
  86. package/dist/core/types/common/index.js +1 -0
  87. package/dist/core/types/common/index.js.map +1 -1
  88. package/dist/core/types/course-events.d.ts +3 -13
  89. package/dist/core/types/courses.d.ts +3 -14
  90. package/dist/core/types/identify.d.ts +10 -0
  91. package/dist/core/types/identify.js +6 -0
  92. package/dist/core/types/identify.js.map +1 -0
  93. package/dist/core/types/meta.d.ts +1 -1
  94. package/dist/core/types/students.d.ts +8 -0
  95. package/dist/core/types/students.js +6 -0
  96. package/dist/core/types/students.js.map +1 -0
  97. package/dist/core/types/teachers.d.ts +2 -0
  98. package/package.json +2 -2
  99. package/dist/core/types/common.d.ts +0 -26
  100. package/dist/core/types/common.js.map +0 -1
  101. package/dist/core/v2/types/common/index.d.ts +0 -26
  102. /package/dist/{core/v2/types/common → SchoolSoft/types}/index.js +0 -0
  103. /package/dist/{core/v2/types/common → SchoolSoft/types}/index.js.map +0 -0
@@ -0,0 +1,15 @@
1
+ export interface Course {
2
+ Klass: string;
3
+ Kurskod: string;
4
+ Sign: string;
5
+ Poäng: number;
6
+ Ht: number;
7
+ Resurs: 0 | 1;
8
+ Vt: number;
9
+ Summa: number;
10
+ Period: 'LÅ' | 'Vt' | 'Ht';
11
+ Anteckningar: string;
12
+ Antal: number;
13
+ Ämne: string;
14
+ Kursnamn: string;
15
+ }
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=common.js.map
6
+ //# sourceMappingURL=course.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"course.js","names":[],"sources":[],"sourcesContent":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export interface Period {
2
+ name: string;
3
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=period.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"period.js","names":[],"sources":[],"sourcesContent":[],"mappings":""}
@@ -16,16 +16,16 @@ var _default = function _default(configuration) {
16
16
  return _lodash.default.reduce(events, (_ref, event) => {
17
17
  var _event$dependencies;
18
18
  var [eventAcc, lockedAcc] = _ref;
19
- var [collection, id] = event.id.split('.');
19
+ var [collection] = event.id.split('.');
20
20
  if (collection == 'events') eventAcc = eventAcc.concat({
21
- [idKey]: id,
21
+ [idKey]: event.id,
22
22
  parked: false,
23
23
  inLocations: (_event$dependencies = event.dependencies) !== null && _event$dependencies !== void 0 ? _event$dependencies : [],
24
24
  start: _moment.default.utc('1970-01-05T00:00').add(event.day, 'days').add(event.start, 'minutes').toISOString(),
25
25
  end: _moment.default.utc('1970-01-05T00:00').add(event.day, 'days').add(event.end, 'minutes').toISOString()
26
26
  });
27
27
  if (collection == 'lockedtimes') lockedAcc = lockedAcc.concat({
28
- [idKey]: id,
28
+ [idKey]: event.id,
29
29
  start: _moment.default.utc('1970-01-05T00:00').add(event.day, 'days').add(event.start, 'minutes').toISOString(),
30
30
  end: _moment.default.utc('1970-01-05T00:00').add(event.day, 'days').add(event.end, 'minutes').toISOString()
31
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"placements.js","names":["_moment","_interopRequireDefault","require","_lodash","obj","__esModule","default","_default","configuration","options","arguments","length","undefined","idKey","events","_","reduce","_ref","event","_event$dependencies","eventAcc","lockedAcc","collection","id","split","concat","parked","inLocations","dependencies","start","moment","utc","add","day","toISOString","end","exports"],"sources":["../../../../src/RS/v2/from/placements.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAyD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAW1C,SAAAA,SAACC,aAA4B,EAAoG;EAAA,IAAlGC,OAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAmB,EAAE;EAEjE,IAAMG,KAAK,GAAEJ,OAAO,CAACI,KAAK,IAAI,IAAI;EAElC,IAAM;IAAEC;EAAM,CAAE,GAAGN,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI,EAAE;EAEtC,OAAOO,eAAC,CAACC,MAAM,CAACF,MAAM,EAAE,CAAAG,IAAA,EAAiGC,KAAgB,KAAI;IAAA,IAAAC,mBAAA;IAAA,IAApH,CAACC,QAAQ,EAAEC,SAAS,CAA0E,GAAAJ,IAAA;IACrH,IAAM,CAACK,UAAU,EAAEC,EAAE,CAAC,GAAGL,KAAK,CAACK,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC;IAC5C,IAAIF,UAAU,IAAI,QAAQ,EACxBF,QAAQ,GAAGA,QAAQ,CAACK,MAAM,CAAC;MACzB,CAACZ,KAAK,GAAQU,EAAE;MAChBG,MAAM,EAAQ,KAAK;MACnBC,WAAW,GAAAR,mBAAA,GAAGD,KAAK,CAACU,YAAY,cAAAT,mBAAA,cAAAA,mBAAA,GAAI,EAAE;MACtCU,KAAK,EAASC,eAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC,CAACC,GAAG,CAACd,KAAK,CAACe,GAAG,EAAE,MAAM,CAAC,CAACD,GAAG,CAACd,KAAK,CAACW,KAAK,EAAE,SAAS,CAAC,CAACK,WAAW,EAAE;MAC7GC,GAAG,EAAWL,eAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC,CAACC,GAAG,CAACd,KAAK,CAACe,GAAG,EAAE,MAAM,CAAC,CAACD,GAAG,CAACd,KAAK,CAACiB,GAAG,EAAE,SAAS,CAAC,CAACD,WAAW;KAC1G,CAAC;IACJ,IAAIZ,UAAU,IAAI,aAAa,EAC7BD,SAAS,GAAGA,SAAS,CAACI,MAAM,CAAC;MAC3B,CAACZ,KAAK,GAAQU,EAAE;MAChBM,KAAK,EAASC,eAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC,CAACC,GAAG,CAACd,KAAK,CAACe,GAAG,EAAE,MAAM,CAAC,CAACD,GAAG,CAACd,KAAK,CAACW,KAAK,EAAE,SAAS,CAAC,CAACK,WAAW,EAAE;MAC7GC,GAAG,EAAWL,eAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC,CAACC,GAAG,CAACd,KAAK,CAACe,GAAG,EAAE,MAAM,CAAC,CAACD,GAAG,CAACd,KAAK,CAACiB,GAAG,EAAE,SAAS,CAAC,CAACD,WAAW;KAC1G,CAAC;IACJ,OAAO,CAACd,QAAQ,EAAEC,SAAS,CAAC;EAC9B,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACd,CAAC;AAAAe,OAAA,CAAA9B,OAAA,GAAAC,QAAA"}
1
+ {"version":3,"file":"placements.js","names":["_moment","_interopRequireDefault","require","_lodash","obj","__esModule","default","_default","configuration","options","arguments","length","undefined","idKey","events","_","reduce","_ref","event","_event$dependencies","eventAcc","lockedAcc","collection","id","split","concat","parked","inLocations","dependencies","start","moment","utc","add","day","toISOString","end","exports"],"sources":["../../../../src/RS/v2/from/placements.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAyD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAW1C,SAAAA,SAACC,aAA4B,EAAoG;EAAA,IAAlGC,OAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAmB,EAAE;EAEjE,IAAMG,KAAK,GAAEJ,OAAO,CAACI,KAAK,IAAI,IAAI;EAElC,IAAM;IAAEC;EAAM,CAAE,GAAGN,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI,EAAE;EAEtC,OAAOO,eAAC,CAACC,MAAM,CAACF,MAAM,EAAE,CAAAG,IAAA,EAAiGC,KAAgB,KAAI;IAAA,IAAAC,mBAAA;IAAA,IAApH,CAACC,QAAQ,EAAEC,SAAS,CAA0E,GAAAJ,IAAA;IACrH,IAAM,CAACK,UAAU,CAAG,GAAGJ,KAAK,CAACK,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC;IAC1C,IAAIF,UAAU,IAAI,QAAQ,EACxBF,QAAQ,GAAGA,QAAQ,CAACK,MAAM,CAAC;MACzB,CAACZ,KAAK,GAAQK,KAAK,CAACK,EAAE;MACtBG,MAAM,EAAQ,KAAK;MACnBC,WAAW,GAAAR,mBAAA,GAAGD,KAAK,CAACU,YAAY,cAAAT,mBAAA,cAAAA,mBAAA,GAAI,EAAE;MACtCU,KAAK,EAASC,eAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC,CAACC,GAAG,CAACd,KAAK,CAACe,GAAG,EAAE,MAAM,CAAC,CAACD,GAAG,CAACd,KAAK,CAACW,KAAK,EAAE,SAAS,CAAC,CAACK,WAAW,EAAE;MAC7GC,GAAG,EAAWL,eAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC,CAACC,GAAG,CAACd,KAAK,CAACe,GAAG,EAAE,MAAM,CAAC,CAACD,GAAG,CAACd,KAAK,CAACiB,GAAG,EAAE,SAAS,CAAC,CAACD,WAAW;KAC1G,CAAC;IACJ,IAAIZ,UAAU,IAAI,aAAa,EAC7BD,SAAS,GAAGA,SAAS,CAACI,MAAM,CAAC;MAC3B,CAACZ,KAAK,GAAQK,KAAK,CAACK,EAAE;MACtBM,KAAK,EAASC,eAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC,CAACC,GAAG,CAACd,KAAK,CAACe,GAAG,EAAE,MAAM,CAAC,CAACD,GAAG,CAACd,KAAK,CAACW,KAAK,EAAE,SAAS,CAAC,CAACK,WAAW,EAAE;MAC7GC,GAAG,EAAWL,eAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC,CAACC,GAAG,CAACd,KAAK,CAACe,GAAG,EAAE,MAAM,CAAC,CAACD,GAAG,CAACd,KAAK,CAACiB,GAAG,EAAE,SAAS,CAAC,CAACD,WAAW;KAC1G,CAAC;IACJ,OAAO,CAACd,QAAQ,EAAEC,SAAS,CAAC;EAC9B,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACd,CAAC;AAAAe,OAAA,CAAA9B,OAAA,GAAAC,QAAA"}
@@ -41,25 +41,16 @@ var _default2 = schedule => {
41
41
  if (groups) _groups = (0, _groups2.default)(groups, settings);
42
42
  if (events) _courses = (0, _collections.default)(events, (_teachers || []).map(x => x.ids).filter(Boolean), (_groups || []).map(x => x.ids).filter(Boolean), settings);
43
43
  if (configuration) {
44
+ var _courses2;
44
45
  var [_placements] = (0, _placements2.default)(configuration, {
45
46
  idKey: 'ids'
46
47
  });
47
- var i = -1;
48
- events === null || events === void 0 ? void 0 : events.forEach(collection => {
49
- var _collection$events;
50
- if (Array.isArray(collection)) return;
51
- if (!('events' in collection)) return;
52
- (_collection$events = collection.events) === null || _collection$events === void 0 ? void 0 : _collection$events.forEach(event => {
53
- if (_lodash.default.isNumber(event)) return;
54
- i++;
55
- var _placedEvent = _placements.find(_ref => {
56
- var {
57
- ids
58
- } = _ref;
59
- return ids == event.id;
60
- });
61
- if (_placedEvent) return Object.assign(event, _placedEvent);
62
- return Object.assign(event, _placements[i]);
48
+ var placementMap = new Map(_placements.map(x => [x.ids, x]));
49
+ (_courses2 = _courses) === null || _courses2 === void 0 ? void 0 : _courses2.forEach(course => {
50
+ var _course$events;
51
+ (_course$events = course.events) === null || _course$events === void 0 ? void 0 : _course$events.forEach(event => {
52
+ var _placedEvent = placementMap.get(event.ids);
53
+ if (_placedEvent) Object.assign(event, _placedEvent);
63
54
  });
64
55
  });
65
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schedules.js","names":["_lodash","_interopRequireDefault","require","_dependencies","_teachers2","_groups2","_collections","_settings","_placements2","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_default2","schedule","_periods$split$map","settings","_default","dependencies","groups","events","areas","periods","configuration","meta","output","_courses","_groups","_teachers","_locations","Error","getDependencies","getTeachers","getGroups","getCollections","map","x","ids","Boolean","_placements","mapPlacements","idKey","collection","_collection$events","Array","isArray","event","_","isNumber","_placedEvent","find","_ref","id","assign","overlapGroups","overlapGroup","toString","coalesced","species","collections","c","flatMap","e","_overlapGroup$coalesc","to","toModel","forcedOverlapId","_overlapGroup$species","periodMatrix","split","numPeriods","Math","trunc","sqrt","_periods","times","displayName","ranges","locations","teachers","courses","area","getSettings","exports"],"sources":["../../../../src/RS/v2/from/schedules.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"schedules.js","names":["_lodash","_interopRequireDefault","require","_dependencies","_teachers2","_groups2","_collections","_settings","_placements2","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_default2","schedule","_periods$split$map","settings","_default","dependencies","groups","events","areas","periods","configuration","meta","output","_courses","_groups","_teachers","_locations","Error","getDependencies","getTeachers","getGroups","getCollections","map","x","ids","Boolean","_courses2","_placements","mapPlacements","idKey","placementMap","Map","course","_course$events","event","_placedEvent","get","assign","overlapGroups","Array","isArray","overlapGroup","id","toString","coalesced","species","collections","c","flatMap","e","_","isNumber","_overlapGroup$coalesc","to","toModel","forcedOverlapId","_overlapGroup$species","periodMatrix","split","numPeriods","Math","trunc","sqrt","_periods","times","displayName","ranges","locations","teachers","courses","area","getSettings","exports"],"sources":["../../../../src/RS/v2/from/schedules.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export default class {
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;
8
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _schedules2 = _interopRequireDefault(require("./schedules"));
8
+ function _interopRequireDefault(obj) {
9
+ return obj && obj.__esModule ? obj : {
10
+ default: obj
11
+ };
12
+ }
13
+ class default_1 {}
14
+ exports.default = default_1;
15
+ default_1.schedules = _schedules2.default;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_schedules2","_interopRequireDefault","require","default_1","schedules","default"],"sources":["../../../src/SchoolSoft/from/index.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;;;;;;AAEc,MAAAC,SAAA;;AACLA,SAAA,CAAAC,SAAA,GAAsBJ,WAAA,CAAAK,OAAtB"}
@@ -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,221 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _lodash = _interopRequireDefault(require("lodash"));
8
+ var _getDate = _interopRequireDefault(require("../../common/get-date"));
9
+ function _interopRequireDefault(obj) {
10
+ return obj && obj.__esModule ? obj : {
11
+ default: obj
12
+ };
13
+ }
14
+ function ownKeys(object, enumerableOnly) {
15
+ var keys = Object.keys(object);
16
+ if (Object.getOwnPropertySymbols) {
17
+ var symbols = Object.getOwnPropertySymbols(object);
18
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
19
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
20
+ })), keys.push.apply(keys, symbols);
21
+ }
22
+ return keys;
23
+ }
24
+ function _objectSpread(target) {
25
+ for (var i = 1; i < arguments.length; i++) {
26
+ var source = null != arguments[i] ? arguments[i] : {};
27
+ i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
28
+ _defineProperty(target, key, source[key]);
29
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
30
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
31
+ });
32
+ }
33
+ return target;
34
+ }
35
+ function _defineProperty(obj, key, value) {
36
+ if (key in obj) {
37
+ Object.defineProperty(obj, key, {
38
+ value: value,
39
+ enumerable: true,
40
+ configurable: true,
41
+ writable: true
42
+ });
43
+ } else {
44
+ obj[key] = value;
45
+ }
46
+ return obj;
47
+ }
48
+ var days = ['Mån', 'Tis', 'Ons', 'Tor', 'Fre', 'Lör', 'Sön'];
49
+ function _parseWeeks(weeks, set) {
50
+ var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'add';
51
+ if (!weeks) return;
52
+ var intervals = weeks.split(',').map(_lodash.default.trim);
53
+ intervals.forEach(interval => {
54
+ if (!interval.includes('-')) return set[method](Number(interval));
55
+ var [start, end] = interval.split('-').map(Number);
56
+ Array(end - start + 1).fill(start).forEach((val, index) => set[method](val + index));
57
+ });
58
+ }
59
+ var _default = (input, options) => {
60
+ if (!input) throw new Error('(SchoolSoft::From::Schedules) Input was undefined');
61
+ if (_lodash.default.isString(input)) throw new Error('(SchoolSoft::From::Schedules) Input was of type string. Is required to be of object type');
62
+ var teachers = new Set();
63
+ var groups = new Set();
64
+ var locations = new Set();
65
+ var events = input.reduce((acc, event) => {
66
+ var _locations2;
67
+ if (!('length' in event)) return acc;
68
+ var weeks = new Set();
69
+ var {
70
+ inweek,
71
+ exweek,
72
+ realweeks
73
+ } = event;
74
+ try {
75
+ _parseWeeks(inweek, weeks, 'add');
76
+ _parseWeeks(realweeks, weeks, 'add');
77
+ if (weeks.size == 0) Array(51).fill(1).forEach((val, index) => weeks.add(val + index));
78
+ _parseWeeks(exweek, weeks, 'delete');
79
+ } catch (err) {
80
+ console.error(err);
81
+ }
82
+ if (options !== null && options !== void 0 && options.interval) {
83
+ var {
84
+ start: _start,
85
+ end: _end
86
+ } = options.interval;
87
+ if (_start > 52 || _start <= 0) throw new Error("(SchoolSoft::From::Schedules) Interval::start is invalid. value ".concat(_start));
88
+ if (_end > 52 || _end <= 0) throw new Error("(SchoolSoft::From::Schedules) Interval::end is invalid. value ".concat(_end));
89
+ if (_start > _end) {
90
+ if (!Array.from(weeks).some(week => week >= _start && week <= 52 || week <= _end)) return acc;
91
+ } else {
92
+ if (!Array.from(weeks).some(week => week >= _start && week <= _end)) return acc;
93
+ }
94
+ }
95
+ var start, end;
96
+ var {
97
+ starttime,
98
+ subject,
99
+ day,
100
+ length,
101
+ teacher,
102
+ group,
103
+ room
104
+ } = event;
105
+ if (day && starttime) {
106
+ var _day = days.indexOf(day);
107
+ if (_day > 4) return acc;
108
+ start = (0, _getDate.default)(_day, "".concat(starttime.substring(0, 2), ":").concat(starttime.substring(2, 4)));
109
+ end = start.clone().add(length, 'm');
110
+ }
111
+ var _teachers;
112
+ var _groups;
113
+ var _locations;
114
+ if (teacher) {
115
+ _teachers = teacher.split(',').map(x => x.trim());
116
+ _teachers.forEach(_teacher => teachers.add(_teacher));
117
+ }
118
+ if (group) {
119
+ _groups = group.split(',').map(x => x.trim());
120
+ _groups.forEach(_group => groups.add(_group));
121
+ }
122
+ if (room) {
123
+ _locations = _lodash.default.sortBy(room.split(',').map(x => x.trim()));
124
+ _locations.forEach(_location => locations.add(_location));
125
+ }
126
+ return acc.concat(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
127
+ ids: event.id,
128
+ preferredDuration: event.length,
129
+ weeks: _lodash.default.sortBy(Array.from(weeks))
130
+ }, subject && {
131
+ subject
132
+ }), start && {
133
+ start
134
+ }), end && {
135
+ end
136
+ }), event.group && {
137
+ groups: _groups
138
+ }), event.teacher && {
139
+ teachers: _teachers
140
+ }), event.room && {
141
+ inLocations: _locations,
142
+ locations: (_locations2 = _locations) === null || _locations2 === void 0 ? void 0 : _locations2.map((_location, index) => ({
143
+ locations: [_location],
144
+ groupIndex: index
145
+ }))
146
+ }));
147
+ }, []);
148
+ var set = new Set(events);
149
+ var courses = new Set([]);
150
+ var _loop = function _loop(element) {
151
+ var _ref;
152
+ set.delete(element);
153
+ var events = [element];
154
+ var {
155
+ subject,
156
+ groups,
157
+ teachers,
158
+ inLocations,
159
+ locations
160
+ } = element;
161
+ delete element.groups;
162
+ delete element.subject;
163
+ for (var event of set) {
164
+ if (event.subject != subject) continue;
165
+ if (groups !== null && groups !== void 0 && groups.length && !_lodash.default.isEqual(_lodash.default.sortBy(event.groups), _lodash.default.sortBy(groups))) continue;
166
+ 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;
167
+ delete event.groups;
168
+ delete event.subject;
169
+ events.push(event);
170
+ set.delete(event);
171
+ }
172
+ var course = _objectSpread(_objectSpread({
173
+ displayName: "".concat(subject, "-").concat((_ref = groups !== null && groups !== void 0 ? groups : teachers) === null || _ref === void 0 ? void 0 : _ref.join(' '))
174
+ }, groups && {
175
+ groups
176
+ }), {}, {
177
+ events
178
+ });
179
+ if (events.every(_ref2 => {
180
+ var {
181
+ teachers: _teachers
182
+ } = _ref2;
183
+ return _lodash.default.isEqual(_lodash.default.sortBy(teachers), _lodash.default.sortBy(_teachers));
184
+ })) {
185
+ var _course$events;
186
+ course.teachers = teachers;
187
+ (_course$events = course.events) === null || _course$events === void 0 ? void 0 : _course$events.forEach(event => delete event.teachers);
188
+ }
189
+ if (events.every(_ref3 => {
190
+ var {
191
+ inLocations: _inLocations
192
+ } = _ref3;
193
+ return _lodash.default.isEqual(_lodash.default.sortBy(inLocations), _lodash.default.sortBy(_inLocations));
194
+ })) {
195
+ var _course$events2;
196
+ course.locations = locations;
197
+ (_course$events2 = course.events) === null || _course$events2 === void 0 ? void 0 : _course$events2.forEach(event => delete event.locations);
198
+ }
199
+ courses.add(course);
200
+ };
201
+ for (var element of set) {
202
+ _loop(element);
203
+ }
204
+ return {
205
+ courses: Array.from(courses),
206
+ teachers: Array.from(teachers).map(ids => ({
207
+ ids,
208
+ displayName: ids
209
+ })),
210
+ groups: Array.from(groups).map(ids => ({
211
+ ids,
212
+ displayName: ids
213
+ })),
214
+ locations: Array.from(locations).map(ids => ({
215
+ ids,
216
+ displayName: ids
217
+ }))
218
+ };
219
+ };
220
+ exports.default = _default;
221
+ //# sourceMappingURL=schedules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.js","names":["_lodash","_interopRequireDefault","require","_getDate","days","_parseWeeks","weeks","set","method","arguments","length","undefined","intervals","split","map","default","trim","forEach","interval","includes","Number","start","end","Array","fill","val","index","_default","input","options","Error","isString","teachers","Set","groups","locations","events","reduce","acc","event","_locations2","inweek","exweek","realweeks","size","add","err","console","error","_start","_end","concat","from","some","week","starttime","subject","day","teacher","group","room","_day","indexOf","substring","clone","_teachers","_groups","_locations","x","_teacher","_group","sortBy","_location","_objectSpread","ids","id","preferredDuration","inLocations","groupIndex","courses","_loop","element","_ref","delete","isEqual","push","course","displayName","join","every","_ref2","_course$events","_ref3","_inLocations","_course$events2"],"sources":["../../../src/SchoolSoft/from/schedules.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export default class {
2
+ static schedules: (courseEvents: import("../../core/types/course-events").CourseEvent[]) => import("xlsx").WorkBook;
3
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _schedules2 = _interopRequireDefault(require("./schedules"));
8
+ function _interopRequireDefault(obj) {
9
+ return obj && obj.__esModule ? obj : {
10
+ default: obj
11
+ };
12
+ }
13
+ class default_1 {}
14
+ exports.default = default_1;
15
+ default_1.schedules = _schedules2.default;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_schedules2","_interopRequireDefault","require","default_1","schedules","default"],"sources":["../../../src/SchoolSoft/to/index.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;;;;;;AAEc,MAAAC,SAAA;;AACLA,SAAA,CAAAC,SAAA,GAAsBJ,WAAA,CAAAK,OAAtB"}
@@ -0,0 +1,4 @@
1
+ import XLSX from 'xlsx';
2
+ import { CourseEvent } from '../../core/types/course-events';
3
+ declare const _default: (courseEvents: CourseEvent[]) => XLSX.WorkBook;
4
+ export default _default;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _xlsx = _interopRequireDefault(require("xlsx"));
8
+ var _moment = _interopRequireDefault(require("moment"));
9
+ function _interopRequireDefault(obj) {
10
+ return obj && obj.__esModule ? obj : {
11
+ default: obj
12
+ };
13
+ }
14
+ var _default = courseEvents => {
15
+ var events = courseEvents.reduce((acc, event) => {
16
+ if (event.parked) return acc;
17
+ var teachers = event.teachers == null ? event.course.teachers : event.teachers;
18
+ var room = event.inLocations.filter(x => x !== null).map(locations => locations.ids).join(', ');
19
+ return acc.concat({
20
+ group: event.course.ids,
21
+ dayid: _moment.default.utc(event.start).day() - 1,
22
+ starttime: _moment.default.utc(event.start).format('HHmm'),
23
+ length: _moment.default.utc(event.end).diff(_moment.default.utc(event.start), 'minutes'),
24
+ teacher: (teachers || []).map(teacher => teacher.ids).join(', '),
25
+ subject: '',
26
+ room: room,
27
+ inweek: '',
28
+ exweek: ''
29
+ });
30
+ }, []);
31
+ var wb = _xlsx.default.utils.book_new();
32
+ _xlsx.default.utils.book_append_sheet(wb, _xlsx.default.utils.json_to_sheet(events), 'royal schedule export');
33
+ return wb;
34
+ };
35
+ exports.default = _default;
36
+ //# sourceMappingURL=schedules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.js","names":["_xlsx","_interopRequireDefault","require","_moment","courseEvents","events","reduce","acc","event","parked","teachers","course","room","inLocations","filter","x","map","locations","ids","join","concat","group","dayid","default","utc","start","day","starttime","format","length","end","diff","teacher","subject","inweek","exweek","wb","utils","book_new","book_append_sheet","json_to_sheet"],"sources":["../../../src/SchoolSoft/to/schedules.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;;;;;;eAUgBE,YAAD,IAA+C;EAC5D,IAAIC,MAAM,GAAGD,YAAY,CAACE,MAAb,CAAoB,CAACC,GAAD,EAAeC,KAAf,KAAqC;IACpE,IAAIA,KAAK,CAACC,MAAV,EACE,OAAOF,GAAP;IAEF,IAAIG,QAAQ,GAAeF,KAAK,CAACE,QAAN,IAAkB,IAAlB,GAA0BF,KAAK,CAACG,MAAN,CAAyBD,QAAnD,GAA8DF,KAAK,CAACE,QAA/F;IAEA,IAAIE,IAAI,GAAmBJ,KAAK,CAACK,WAAN,CACkBC,MADlB,CAC0BC,CAAD,IAAYA,CAAC,KAAK,IAD3C,EAEkBC,GAFlB,CAEuBC,SAAD,IAAyBA,SAAS,CAACC,GAFzD,EAGkBC,IAHlB,CAGuB,IAHvB,CAA3B;IAKA,OAAOZ,GAAG,CAACa,MAAJ,CAAW;MAChBC,KAAK,EAAOb,KAAK,CAACG,MAAN,CAAwBO,GADpB;MAEhBI,KAAK,EAAMnB,OAAA,CAAAoB,OAAA,CAAOC,GAAP,CAAWhB,KAAK,CAACiB,KAAjB,EAAwBC,GAAxB,KAAgC,CAF3B;MAGhBC,SAAS,EAAExB,OAAA,CAAAoB,OAAA,CAAOC,GAAP,CAAWhB,KAAK,CAACiB,KAAjB,EAAwBG,MAAxB,CAA+B,MAA/B,CAHK;MAIhBC,MAAM,EAAK1B,OAAA,CAAAoB,OAAA,CAAOC,GAAP,CAAWhB,KAAK,CAACsB,GAAjB,EAAsBC,IAAtB,CAA2B5B,OAAA,CAAAoB,OAAA,CAAOC,GAAP,CAAWhB,KAAK,CAACiB,KAAjB,CAA3B,EAAoD,SAApD,CAJK;MAKhBO,OAAO,EAAI,CAACtB,QAAQ,IAAI,EAAb,EAAiBM,GAAjB,CAAsBgB,OAAD,IAAsBA,OAAO,CAACd,GAAnD,EAAwDC,IAAxD,CAA6D,IAA7D,CALK;MAMhBc,OAAO,EAAI,EANK;MAOhBrB,IAAI,EAAOA,IAPK;MAQhBsB,MAAM,EAAK,EARK;MAShBC,MAAM,EAAK;IATK,CAAX,CAAP;EAXW,GAsBV,EAtBU,CAAb;EAwBA,IAAIC,EAAE,GAAGpC,KAAA,CAAAuB,OAAA,CAAKc,KAAL,CAAWC,QAAX,EAAT;EAEAtC,KAAA,CAAAuB,OAAA,CAAKc,KAAL,CAAWE,iBAAX,CAA6BH,EAA7B,EAAiCpC,KAAA,CAAAuB,OAAA,CAAKc,KAAL,CAAWG,aAAX,CAAyBnC,MAAzB,CAAjC,EAAmE,uBAAnE;EAEA,OAAO+B,EAAP"}
@@ -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,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","names":[],"sources":[],"sourcesContent":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { Event } from './events';
2
+ export declare type Types = {
3
+ Event: Event;
4
+ };
@@ -0,0 +1,7 @@
1
+ export interface Meta {
2
+ week?: number;
3
+ ignoreEmptyCourses?: boolean;
4
+ deduceGroupsFromCourseName?: boolean;
5
+ removeUnreferencedTeachers?: boolean;
6
+ removeUnreferencedGroups?: boolean;
7
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=Meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Meta.js","names":[],"sources":[],"sourcesContent":[],"mappings":""}