@royalschedule/maps 2.2.92 → 2.2.94

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 (71) hide show
  1. package/dist/PlanDigital/types/course.d.ts +15 -0
  2. package/dist/PlanDigital/types/course.js +6 -0
  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/collections.js.map +1 -1
  8. package/dist/RS/v2/to/collections.d.ts +1 -1
  9. package/dist/RS/v2/to/collections.js +9 -3
  10. package/dist/RS/v2/to/collections.js.map +1 -1
  11. package/dist/RS/v2/to/constraints.js +14 -5
  12. package/dist/RS/v2/to/constraints.js.map +1 -1
  13. package/dist/RS/v2/to/course-events/index.d.ts +1 -1
  14. package/dist/RS/v2/to/course-events/index.js +8 -2
  15. package/dist/RS/v2/to/course-events/index.js.map +1 -1
  16. package/dist/RS/v2/to/default.d.ts +2 -1
  17. package/dist/RS/v2/to/default.js +5 -3
  18. package/dist/RS/v2/to/default.js.map +1 -1
  19. package/dist/RS/v2/to/index.d.ts +2 -2
  20. package/dist/RS/v2/to/periods.d.ts +10 -0
  21. package/dist/RS/v2/to/periods.js +60 -0
  22. package/dist/RS/v2/to/periods.js.map +1 -0
  23. package/dist/RS/v2/types/collections.d.ts +1 -0
  24. package/dist/RS/v2/types/constraints.d.ts +1 -0
  25. package/dist/RS/v2/types/course-events.d.ts +1 -0
  26. package/dist/RS/v2/types/default.d.ts +1 -0
  27. package/dist/SchoolSoft/file/from/schedules.js.map +1 -1
  28. package/dist/SchoolSoft/from/index.d.ts +8 -0
  29. package/dist/SchoolSoft/from/index.js +16 -0
  30. package/dist/SchoolSoft/from/index.js.map +1 -0
  31. package/dist/SchoolSoft/from/schedules.d.ts +9 -0
  32. package/dist/SchoolSoft/from/schedules.js +221 -0
  33. package/dist/SchoolSoft/from/schedules.js.map +1 -0
  34. package/dist/SchoolSoft/to/index.d.ts +3 -0
  35. package/dist/SchoolSoft/to/index.js +16 -0
  36. package/dist/SchoolSoft/to/index.js.map +1 -0
  37. package/dist/SchoolSoft/to/schedules.d.ts +4 -0
  38. package/dist/SchoolSoft/to/schedules.js +36 -0
  39. package/dist/SchoolSoft/to/schedules.js.map +1 -0
  40. package/dist/SchoolSoft/types/events.d.ts +19 -0
  41. package/dist/SchoolSoft/types/events.js +6 -0
  42. package/dist/SchoolSoft/types/events.js.map +1 -0
  43. package/dist/SchoolSoft/types/index.d.ts +4 -0
  44. package/dist/SchoolSoft/types/index.js +6 -0
  45. package/dist/SchoolSoft/types/index.js.map +1 -0
  46. package/dist/Skola24/types/Meta.d.ts +7 -0
  47. package/dist/Skola24/types/Meta.js +6 -0
  48. package/dist/Skola24/types/Meta.js.map +1 -0
  49. package/dist/core/constants/index.d.ts +71 -0
  50. package/dist/core/constants/index.js +136 -0
  51. package/dist/core/constants/index.js.map +1 -0
  52. package/dist/core/identify/index.d.ts +2 -0
  53. package/dist/core/identify/index.js +65 -0
  54. package/dist/core/identify/index.js.map +1 -0
  55. package/dist/core/to/courses.js.map +1 -1
  56. package/dist/core/to/events.js.map +1 -1
  57. package/dist/core/to/locked-times.js.map +1 -1
  58. package/dist/core/to/overlap-groups.js.map +1 -1
  59. package/dist/core/to/schedules.js.map +1 -1
  60. package/dist/core/types/common/coalesced.d.ts +2 -2
  61. package/dist/core/types/common/index.d.ts +7 -6
  62. package/dist/core/types/common/index.js +1 -0
  63. package/dist/core/types/common/index.js.map +1 -1
  64. package/dist/core/types/divisions.d.ts +2 -0
  65. package/dist/core/types/identify.d.ts +10 -0
  66. package/dist/core/types/identify.js +6 -0
  67. package/dist/core/types/identify.js.map +1 -0
  68. package/dist/core/types/students.d.ts +8 -0
  69. package/dist/core/types/students.js +6 -0
  70. package/dist/core/types/students.js.map +1 -0
  71. package/package.json +2 -1
@@ -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
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=course.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"course.js","mappings":"","names":[],"sourceRoot":"","sources":[],"sourcesContent":[]}
@@ -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","mappings":"","names":[],"sourceRoot":"","sources":[],"sourcesContent":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"collections.js","mappings":"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","names":["_course","course","teachersList","groupsList","settings","overlapGroup","idKey","collectionIdKey","Error","doc","ids","toString","name","displayName","subject","color","minBreakLength","density","weight","potentialCenter","dependencies","locations","intervals","lockedTimes","days","teachers","groups","flat","reduce","acc","gId","indexOf","concat","length","events","reduceCourses","courses","Array","isArray","_overlapGroup","innerCourse"],"sourceRoot":"","sources":["../../../../src/RS/v2/from/collections.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"collections.js","mappings":"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","names":["_course","course","teachersList","groupsList","settings","overlapGroup","idKey","collectionIdKey","Error","doc","ids","toString","name","displayName","subject","color","minBreakLength","density","weight","potentialCenter","dependencies","locations","intervals","lockedTimes","days","teachers","groups","flat","reduce","acc","gId","indexOf","concat","length","events","reduceCourses","courses","Array","isArray","_overlapGroup","innerCourse"],"sourceRoot":"","sources":["../../../../src/RS/v2/from/collections.ts"],"sourcesContent":[null]}
@@ -5,5 +5,5 @@ import { CourseEvent } from '../../../core/types/course-events';
5
5
  import { OverlapGroup } from '../../../core/types/overlap-groups';
6
6
  import { DivisionSettings } from '../../../core/types/division-settings';
7
7
  import { Deserialized } from '../../../core/types/common';
8
- declare const _default: (courses: Deserialized<SourceCourse> | Deserialized<SourceCourse>[], events: Deserialized<CourseEvent> | Deserialized<CourseEvent>[] | undefined, overlapGroups: Deserialized<OverlapGroup>[] | undefined, settings: DivisionSettings, options: OutOptions) => (Collection[] | Collection)[];
8
+ declare const _default: (courses: Deserialized<SourceCourse> | Deserialized<SourceCourse>[], events: Deserialized<CourseEvent> | Deserialized<CourseEvent>[] | undefined, overlapGroups: Deserialized<OverlapGroup>[] | undefined, settings: DivisionSettings, options: OutOptions, periodsMap: Map<string | undefined, number>) => (Collection[] | Collection)[];
9
9
  export default _default;
@@ -19,11 +19,12 @@ var _default = function _default(courses) {
19
19
  var overlapGroups = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
20
20
  var settings = arguments.length > 3 ? arguments[3] : undefined;
21
21
  var options = arguments.length > 4 ? arguments[4] : undefined;
22
+ var periodsMap = arguments.length > 5 ? arguments[5] : undefined;
22
23
  var idKey = options.idKey || 'id';
23
24
  courses = Array.isArray(courses) ? courses : [courses];
24
25
  events = Array.isArray(events) ? events : [events];
25
26
  return courses.reduce((acc, course) => {
26
- var _course$locations, _course$intervals, _course$days, _course$lockedTimes, _course$lockedTimes2, _course$teachers, _course$groups;
27
+ var _course$locations, _course$intervals, _course$days, _course$lockedTimes, _course$lockedTimes2, _course$period, _course$teachers, _course$groups;
27
28
  if (!course[idKey]) throw new Error('(RS::V2::To::Collections) A course does not have a unique key');
28
29
  if (course.events) course.events = course.events.filter(event => !!event).map(event => {
29
30
  var _event = events.find(_ref => {
@@ -36,9 +37,12 @@ var _default = function _default(courses) {
36
37
  event.course = course;
37
38
  return event;
38
39
  });
39
- var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
40
+ if (course.period && periodsMap.size && !periodsMap.has(course.period.id)) {
41
+ throw new Error("(RS::V2::To::Collections) Course ".concat(course[idKey], " has a period that does not exist"));
42
+ }
43
+ var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
40
44
  id: course[idKey].toString(),
41
- events: course.events ? (0, _courseEvents.default)(course.events, overlapGroups, settings, options) : []
45
+ events: course.events ? (0, _courseEvents.default)(course.events, overlapGroups, settings, options, periodsMap) : []
42
46
  }, 'weight' in course && {
43
47
  weight: course.weight
44
48
  }), 'density' in course && {
@@ -61,6 +65,8 @@ var _default = function _default(courses) {
61
65
  lockedTimes: (0, _lockedTimes.default)(course.lockedTimes, options)
62
66
  }), course.centerOfAttraction && {
63
67
  potentialCenter: parseFloat(course.centerOfAttraction.replace(':', '.'))
68
+ }), course.period && periodsMap.size && {
69
+ period: periodsMap.get((_course$period = course.period) === null || _course$period === void 0 ? void 0 : _course$period.id)
64
70
  });
65
71
  if (course.teachers || course.groups) Object.assign(doc, {
66
72
  groups: [...new Set(((_course$teachers = course.teachers) !== null && _course$teachers !== void 0 ? _course$teachers : []).concat((_course$groups = course.groups) !== null && _course$groups !== void 0 ? _course$groups : []).map(x => [x[idKey].toString()]))]
@@ -1 +1 @@
1
- {"version":3,"file":"collections.js","mappings":"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","names":["courses","events","overlapGroups","settings","options","idKey","Array","isArray","reduce","acc","course","Error","filter","event","map","_event","find","id","Object","assign","doc","toString","weight","density","eventDurationVariance","maxEventLengthVariance","potentialCenter","parseFloat","locations","length","dependencies","intervals","days","numDays","minBreakLength","lockedTimes","centerOfAttraction","replace","teachers","groups","Set","concat","x","meta","color","ids","displayName","name","overlapGroup","index","indexOf","fill"],"sourceRoot":"","sources":["../../../../src/RS/v2/to/collections.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"collections.js","mappings":"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","names":["courses","events","overlapGroups","settings","options","periodsMap","idKey","Array","isArray","reduce","acc","course","Error","filter","event","map","_event","find","id","Object","assign","period","size","has","doc","toString","weight","density","eventDurationVariance","maxEventLengthVariance","potentialCenter","parseFloat","locations","length","dependencies","intervals","days","numDays","minBreakLength","lockedTimes","centerOfAttraction","replace","get","teachers","groups","Set","concat","x","meta","color","ids","displayName","name","overlapGroup","index","indexOf","fill"],"sourceRoot":"","sources":["../../../../src/RS/v2/to/collections.ts"],"sourcesContent":[null]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _lodash = _interopRequireDefault(require("lodash"));
7
8
  var _dependencies = _interopRequireDefault(require("./dependencies"));
8
9
  var _teachers = _interopRequireDefault(require("./teachers"));
9
10
  var _groups = _interopRequireDefault(require("./groups"));
@@ -11,6 +12,7 @@ var _collections = _interopRequireDefault(require("./collections"));
11
12
  var _settings = _interopRequireDefault(require("./settings"));
12
13
  var _default2 = _interopRequireDefault(require("./default"));
13
14
  var _dynamicLockedTimes = _interopRequireDefault(require("./dynamic-locked-times"));
15
+ var _periods = require("./periods");
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
17
  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; }
16
18
  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; }
@@ -27,18 +29,25 @@ var _default = function _default(schedule) {
27
29
  overlapGroups,
28
30
  courses,
29
31
  settings,
30
- area
32
+ area,
33
+ periods
31
34
  } = schedule;
32
- var data = _objectSpread(_objectSpread({
35
+ var {
36
+ map: periodsMap,
37
+ matrix: periodsMatrix
38
+ } = (0, _periods.parsePeriods)(periods, _lodash.default.pick(schedule, 'start', 'end'));
39
+ var data = _objectSpread(_objectSpread(_objectSpread({
33
40
  settings: (0, _settings.default)(settings),
34
- default: (0, _default2.default)(settings)
35
- }, area && {
41
+ default: (0, _default2.default)(settings, periodsMap)
42
+ }, periodsMatrix && {
43
+ periods: periodsMatrix
44
+ }), area && {
36
45
  areas: {
37
46
  breakLengthMatrix: area.breakLengthMatrix,
38
47
  list: area.list
39
48
  }
40
49
  }), {}, {
41
- events: (0, _collections.default)(courses, events, overlapGroups, settings, options),
50
+ events: (0, _collections.default)(courses, events, overlapGroups, settings, options, periodsMap),
42
51
  dependencies: (0, _dependencies.default)(locations, settings, options),
43
52
  groups: (0, _groups.default)(groups, settings, options).concat((0, _teachers.default)(teachers, settings, options))
44
53
  });
@@ -1 +1 @@
1
- {"version":3,"file":"constraints.js","mappings":";;;;;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AAAyE;AAAA;AAAA;AAAA;AAAA,eAG1D,kBAACA,QAAgC,EAA0C;EAAA;EAAA,IAAxCC,8EAAsB,EAAE;EACxE,IAAID,QAAQ,IAAI,IAAI,EAAE,OAAO,EAAE;EAE/B,IAAI;IACFE,MAAM;IACNC,QAAQ;IACRC,SAAS;IACTC,MAAM;IACNC,aAAa;IACbC,OAAO;IACPC,QAAQ;IACRC;EAAI,CACL,GAAGT,QAAQ;EAEZ,IAAIU,IAAI;IACNF,QAAQ,EAAM,qBAAW,EAACA,QAAS,CAAC;IACpCG,OAAO,EAAO,qBAAU,EAACH,QAAS;EAAC,GAChCC,IAAI,IAAI;IACTG,KAAK,EAAE;MACLC,iBAAiB,EAAEJ,IAAI,CAACI,iBAAiB;MACzCC,IAAI,EAAeL,IAAI,CAACK;;GAE3B;IACDT,MAAM,EAAQ,wBAAc,EAACE,OAAQ,EAAEF,MAAM,EAAEC,aAAa,EAAEE,QAAS,EAAEP,OAAO,CAAC;IACjFc,YAAY,EAAE,yBAAe,EAACX,SAAU,EAAEI,QAAS,EAAEP,OAAO,CAAC;IAC7DC,MAAM,EAAQ,mBAAS,EAACA,MAAO,EAAEM,QAAS,EAAEP,OAAO,CAAC,CAACe,MAAM,CAAC,qBAAW,EAACb,QAAS,EAAEK,QAAS,EAAEP,OAAO,CAAC;EAAC,EACxG;EAMD,IAAIC,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEe,IAAI,CAACC,KAAK,IAAI,OAAO,IAAIA,KAAK,CAAC,EACzCR,IAAI,CAACL,MAAM,GAAG,iBAACK,IAAI,CAACL,MAAM,uDAAI,EAAE,EAAEW,MAAM,CAAC,+BAAqB,EAACd,MAAM,EAAEM,QAAS,EAAEP,OAAO,CAAC,CAAC;EAE7F,IAAIE,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEc,IAAI,CAACE,OAAO,IAAI,OAAO,IAAIA,OAAO,CAAC,EAC/CT,IAAI,CAACL,MAAM,GAAG,kBAACK,IAAI,CAACL,MAAM,yDAAI,EAAE,EAAEW,MAAM,CAAC,+BAAqB,EAACb,QAAQ,EAAEK,QAAS,EAAEP,OAAO,CAAC,CAAC;EAE/F,OAAOS,IAAI;AACb,CAAC;AAAA","names":["schedule","options","groups","teachers","locations","events","overlapGroups","courses","settings","area","data","default","areas","breakLengthMatrix","list","dependencies","concat","some","group","teacher"],"sourceRoot":"","sources":["../../../../src/RS/v2/to/constraints.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"constraints.js","mappings":";;;;;;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAA4D;AAAA;AAAA;AAAA;AAAA,eAG7C,kBAACA,QAAgC,EAA0C;EAAA;EAAA,IAAxCC,8EAAsB,EAAE;EACxE,IAAID,QAAQ,IAAI,IAAI,EAAE,OAAO,EAAE;EAE/B,IAAI;IACFE,MAAM;IACNC,QAAQ;IACRC,SAAS;IACTC,MAAM;IACNC,aAAa;IACbC,OAAO;IACPC,QAAQ;IACRC,IAAI;IACJC;EAAO,CACR,GAAGV,QAAQ;EAIZ,IAAM;IAAEW,GAAG,EAAEC,UAAU;IAAEC,MAAM,EAAEC;EAAa,CAAE,GAAG,yBAAY,EAACJ,OAAO,EAAEK,eAAC,CAACC,IAAI,CAAChB,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;EAE1G,IAAIiB,IAAI;IACNT,QAAQ,EAAM,qBAAW,EAACA,QAAS,CAAC;IACpCU,OAAO,EAAO,qBAAU,EAACV,QAAS,EAAEI,UAAU;EAAC,GAC5CE,aAAa,IAAI;IAAEJ,OAAO,EAAEI;EAAa,CAAE,GAC3CL,IAAI,IAAI;IACTU,KAAK,EAAE;MACLC,iBAAiB,EAAEX,IAAI,CAACW,iBAAiB;MACzCC,IAAI,EAAeZ,IAAI,CAACY;;GAE3B;IACDhB,MAAM,EAAQ,wBAAc,EAACE,OAAQ,EAAEF,MAAM,EAAEC,aAAa,EAAEE,QAAS,EAAEP,OAAO,EAAEW,UAAU,CAAC;IAC7FU,YAAY,EAAE,yBAAe,EAAClB,SAAU,EAAEI,QAAS,EAAEP,OAAO,CAAC;IAC7DC,MAAM,EAAQ,mBAAS,EAACA,MAAO,EAAEM,QAAS,EAAEP,OAAO,CAAC,CAACsB,MAAM,CAAC,qBAAW,EAACpB,QAAS,EAAEK,QAAS,EAAEP,OAAO,CAAC;EAAC,EACxG;EAMD,IAAIC,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEsB,IAAI,CAACC,KAAK,IAAI,OAAO,IAAIA,KAAK,CAAC,EACzCR,IAAI,CAACZ,MAAM,GAAG,iBAACY,IAAI,CAACZ,MAAM,uDAAI,EAAE,EAAEkB,MAAM,CAAC,+BAAqB,EAACrB,MAAM,EAAEM,QAAS,EAAEP,OAAO,CAAC,CAAC;EAE7F,IAAIE,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEqB,IAAI,CAACE,OAAO,IAAI,OAAO,IAAIA,OAAO,CAAC,EAC/CT,IAAI,CAACZ,MAAM,GAAG,kBAACY,IAAI,CAACZ,MAAM,yDAAI,EAAE,EAAEkB,MAAM,CAAC,+BAAqB,EAACpB,QAAQ,EAAEK,QAAS,EAAEP,OAAO,CAAC,CAAC;EAE/F,OAAOgB,IAAI;AACb,CAAC;AAAA","names":["schedule","options","groups","teachers","locations","events","overlapGroups","courses","settings","area","periods","map","periodsMap","matrix","periodsMatrix","_","pick","data","default","areas","breakLengthMatrix","list","dependencies","concat","some","group","teacher"],"sourceRoot":"","sources":["../../../../src/RS/v2/to/constraints.ts"],"sourcesContent":[null]}
@@ -4,5 +4,5 @@ import { CourseEvent as SourceCourseEvent } from '../../../../core/types/course-
4
4
  import { OverlapGroup } from '../../../../core/types/overlap-groups';
5
5
  import { DivisionSettings } from '../../../../core/types/division-settings';
6
6
  import { Deserialized } from '../../../../core/types/common';
7
- declare const _default: (courseEvents: Deserialized<SourceCourseEvent>[] | Deserialized<SourceCourseEvent>, overlapGroups: Deserialized<OverlapGroup>[] | undefined, settings: DivisionSettings, options: OutOptions) => CourseEvent[];
7
+ declare const _default: (courseEvents: Deserialized<SourceCourseEvent>[] | Deserialized<SourceCourseEvent>, overlapGroups: Deserialized<OverlapGroup>[] | undefined, settings: DivisionSettings, options: OutOptions, periodsMap: Map<string | undefined, number>) => CourseEvent[];
8
8
  export default _default;
@@ -20,10 +20,11 @@ var _default = function _default(courseEvents) {
20
20
  var overlapGroups = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
21
21
  var settings = arguments.length > 2 ? arguments[2] : undefined;
22
22
  var options = arguments.length > 3 ? arguments[3] : undefined;
23
+ var periodsMap = arguments.length > 4 ? arguments[4] : undefined;
23
24
  var idKey = options.idKey ? options.idKey : 'id';
24
25
  var docs = Array.isArray(courseEvents) ? courseEvents : [courseEvents];
25
26
  return docs.reduce((acc, event) => {
26
- var _event$preferredDurat, _event$lockedTimes;
27
+ var _event$preferredDurat, _event$lockedTimes, _event$period;
27
28
  if (!event) return acc;
28
29
  var course = event.course;
29
30
  var id = (event[idKey] || event._id).toString();
@@ -49,7 +50,10 @@ var _default = function _default(courseEvents) {
49
50
  });
50
51
  if (specie) forcedOverlapId = specie.id;
51
52
  }
52
- var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
53
+ if (event.period && periodsMap.size && !periodsMap.has(event.period.id)) {
54
+ throw new Error("(RS::V2::To::Collections) Course ".concat(event[idKey], " has a period that does not exist"));
55
+ }
56
+ var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
53
57
  id: "events.".concat(id),
54
58
  length: (_event$preferredDurat = event.preferredDuration) !== null && _event$preferredDurat !== void 0 ? _event$preferredDurat : event.duration
55
59
  }, event.durationVariance != null && {
@@ -68,6 +72,8 @@ var _default = function _default(courseEvents) {
68
72
  potentialCenter: parseFloat(event.centerOfAttraction.replace(':', '.'))
69
73
  }), forcedOverlapId != null && {
70
74
  forcedOverlapId
75
+ }), event.period && periodsMap.size && {
76
+ period: periodsMap.get((_event$period = event.period) === null || _event$period === void 0 ? void 0 : _event$period.id)
71
77
  });
72
78
  var groups = (0, _groups2.default)(event, options);
73
79
  if (groups) Object.assign(doc, groups);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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","names":["courseEvents","overlapGroups","settings","options","idKey","docs","Array","isArray","reduce","acc","event","course","id","_id","toString","forcedOverlapId","overlapSpecies","species","find","specie","to","toModel","doc","length","preferredDuration","duration","durationVariance","maxLengthVariance","weight","density","potentialCenter","parseFloat","lockedTimes","minBreakLength","centerOfAttraction","replace","groups","Object","assign","dependencies","meta","days","intervals","fixedStart","start","moment","utc","format","day","concat"],"sourceRoot":"","sources":["../../../../../src/RS/v2/to/course-events/index.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"index.js","mappings":"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","names":["courseEvents","overlapGroups","settings","options","periodsMap","idKey","docs","Array","isArray","reduce","acc","event","course","id","_id","toString","forcedOverlapId","overlapSpecies","species","find","specie","to","toModel","period","size","has","Error","doc","length","preferredDuration","duration","durationVariance","maxLengthVariance","weight","density","potentialCenter","parseFloat","lockedTimes","minBreakLength","centerOfAttraction","replace","get","groups","Object","assign","dependencies","meta","days","intervals","fixedStart","start","moment","utc","format","day","concat"],"sourceRoot":"","sources":["../../../../../src/RS/v2/to/course-events/index.ts"],"sourcesContent":[null]}
@@ -1,4 +1,5 @@
1
1
  import { Default } from '../types/default';
2
2
  import { DivisionSettings } from '../../../core/types/division-settings';
3
- declare const _default: (settings: DivisionSettings) => Default;
3
+ import { Deserialized } from 'dist/core/types/common';
4
+ declare const _default: (settings: Deserialized<DivisionSettings>, periodMap: Map<string | undefined, number>) => Default;
4
5
  export default _default;
@@ -7,14 +7,15 @@ exports.default = void 0;
7
7
  function toTime(str) {
8
8
  return parseFloat(str.replace(':', '.'));
9
9
  }
10
- var _default = settings => {
11
- var _settings$defaultGrou, _settings$defaultDepe, _settings$defaultEven, _settings$potentialCe, _settings$defaultEven2, _settings$defaultEven3, _settings$defaultMaxN, _settings$defaultMaxN2, _settings$defaultDepe2, _settings$defaultGrou2, _settings$defaultDayR, _settings$defaultGrou3, _settings$defaultCour, _settings$defaultEven4;
10
+ var _default = (settings, periodMap) => {
11
+ var _settings$period, _settings$defaultGrou, _settings$defaultDepe, _settings$defaultEven, _settings$potentialCe, _settings$defaultEven2, _settings$defaultEven3, _settings$defaultMaxN, _settings$defaultMaxN2, _settings$defaultDepe2, _settings$defaultGrou2, _settings$defaultDayR, _settings$defaultGrou3, _settings$defaultCour, _settings$defaultEven4, _settings$period2;
12
12
  var {
13
13
  dayStart,
14
14
  dayEnd
15
15
  } = settings;
16
16
  if (!dayStart) throw new Error('(RS::V2::To::Default) "dayStart" is falsy');
17
17
  if (!dayEnd) throw new Error('(RS::V2::To::Default) "dayEnd" is falsy');
18
+ if (!periodMap.has((_settings$period = settings.period) === null || _settings$period === void 0 ? void 0 : _settings$period.id)) throw new Error('(RS::V2::To::Default) "period" is not in periodMap');
18
19
  var res = {
19
20
  intervals: [{
20
21
  beg: toTime(dayStart),
@@ -33,7 +34,8 @@ var _default = settings => {
33
34
  dayRank: (_settings$defaultDayR = settings.defaultDayRank) !== null && _settings$defaultDayR !== void 0 ? _settings$defaultDayR : 0,
34
35
  groupWeight: (_settings$defaultGrou3 = settings.defaultGroupWeight) !== null && _settings$defaultGrou3 !== void 0 ? _settings$defaultGrou3 : 0,
35
36
  collectionWeight: (_settings$defaultCour = settings.defaultCourseWeight) !== null && _settings$defaultCour !== void 0 ? _settings$defaultCour : 0,
36
- eventWeight: (_settings$defaultEven4 = settings.defaultEventWeight) !== null && _settings$defaultEven4 !== void 0 ? _settings$defaultEven4 : 0
37
+ eventWeight: (_settings$defaultEven4 = settings.defaultEventWeight) !== null && _settings$defaultEven4 !== void 0 ? _settings$defaultEven4 : 0,
38
+ period: periodMap.get((_settings$period2 = settings.period) === null || _settings$period2 === void 0 ? void 0 : _settings$period2.id)
37
39
  };
38
40
  return res;
39
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","mappings":";;;;;;AAIA,SAASA,MAAM,CAAEC,GAAW;EAC1B,OAAOC,UAAU,CAACD,GAAG,CAACE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1C;AAAC,eAEeC,QAA0B,IAAa;EAAA;EAErD,IAAM;IAAEC,QAAQ;IAAEC;EAAM,CAAE,GAAGF,QAAQ;EAErC,IAAK,CAAEC,QAAQ,EAAE,MAAM,IAAIE,KAAK,CAAC,2CAA2C,CAAC;EAC7E,IAAK,CAAED,MAAM,EAAI,MAAM,IAAIC,KAAK,CAAC,yCAAyC,CAAC;EAE3E,IAAIC,GAAG,GAAY;IACjBC,SAAS,EAAmB,CAAC;MAAEC,GAAG,EAAEV,MAAM,CAACK,QAAQ,CAAC;MAAEM,GAAG,EAAEX,MAAM,CAACM,MAAM;IAAC,CAAE,CAAC;IAE5EM,mBAAmB,2BAASR,QAAQ,CAACS,8BAA8B,yEAAS,CAAC;IAC7EC,wBAAwB,2BAAIV,QAAQ,CAACW,mCAAmC,yEAAI,CAAC;IAC7EC,mBAAmB,2BAASZ,QAAQ,CAACa,8BAA8B,yEAAS,CAAC;IAE7EC,eAAe,EAAMlB,MAAM,0BAACI,QAAQ,CAACc,eAAe,yEAAwB,OAAO,CAAC;IACpFC,YAAY,4BAAgBf,QAAQ,CAACgB,mBAAmB,2EAAoB,CAAC;IAE7EC,sBAAsB,4BAAMjB,QAAQ,CAACkB,4BAA4B,2EAAW,CAAC;IAE7EC,kBAAkB,2BAAUnB,QAAQ,CAACoB,yBAAyB,yEAAc,EAAE;IAC9EC,uBAAuB,4BAAKrB,QAAQ,CAACsB,8BAA8B,2EAAS,CAAC;IAE7EC,cAAc,4BAAcvB,QAAQ,CAACwB,qBAAqB,2EAAkB,CAAC;IAC7EC,SAAS,4BAAmBzB,QAAQ,CAAC0B,gBAAgB,2EAAuB,CAAC;IAC7EC,OAAO,2BAAqB3B,QAAQ,CAAC4B,cAAc,yEAAyB,CAAC;IAE7EC,WAAW,4BAAiB7B,QAAQ,CAAC8B,kBAAkB,2EAAqB,CAAC;IAC7EC,gBAAgB,2BAAY/B,QAAQ,CAACgC,mBAAmB,yEAAoB,CAAC;IAC7EC,WAAW,4BAAiBjC,QAAQ,CAACkC,kBAAkB,2EAAqB;GAC7E;EAED,OAAO9B,GAAG;AACZ,CAAC;AAAA","names":["toTime","str","parseFloat","replace","settings","dayStart","dayEnd","Error","res","intervals","beg","end","groupMinBreakLength","defaultGroupMinimumBreakLength","dependencyMinBreakLength","defaultDependencyMinimumBreakLength","eventMinBreakLength","defaultEventMinimumBreakLength","potentialCenter","eventDensity","defaultEventDensity","maxEventLengthVariance","defaultEventDurationVariance","maxNumWorkingHours","defaultMaxNumWorkingHours","maxNumDailyWorkingHours","defaultMaxNumDailyWorkingHours","dependencyRank","defaultDependencyRank","groupRank","defaultGroupRank","dayRank","defaultDayRank","groupWeight","defaultGroupWeight","collectionWeight","defaultCourseWeight","eventWeight","defaultEventWeight"],"sourceRoot":"","sources":["../../../../src/RS/v2/to/default.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"default.js","mappings":";;;;;;AAMA,SAASA,MAAM,CAAEC,GAAW;EAC1B,OAAOC,UAAU,CAACD,GAAG,CAACE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1C;AAAC,eAIc,CACbC,QAAyC,EACzCC,SAA0C,KAC/B;EAAA;EAGX,IAAM;IAAEC,QAAQ;IAAEC;EAAM,CAAE,GAAGH,QAAQ;EAErC,IAAK,CAAEE,QAAQ,EAAE,MAAM,IAAIE,KAAK,CAAC,2CAA2C,CAAC;EAC7E,IAAK,CAAED,MAAM,EAAI,MAAM,IAAIC,KAAK,CAAC,yCAAyC,CAAC;EAE3E,IAAK,CAAEH,SAAS,CAACI,GAAG,qBAACL,QAAQ,CAACM,MAAM,qDAAf,iBAAiBC,EAAE,CAAC,EAAE,MAAM,IAAIH,KAAK,CAAC,oDAAoD,CAAC;EAEhH,IAAII,GAAG,GAAY;IACjBC,SAAS,EAAmB,CAAC;MAAEC,GAAG,EAAEd,MAAM,CAACM,QAAQ,CAAC;MAAES,GAAG,EAAEf,MAAM,CAACO,MAAM;IAAC,CAAE,CAAC;IAE5ES,mBAAmB,2BAASZ,QAAQ,CAACa,8BAA8B,yEAAS,CAAC;IAC7EC,wBAAwB,2BAAId,QAAQ,CAACe,mCAAmC,yEAAI,CAAC;IAC7EC,mBAAmB,2BAAShB,QAAQ,CAACiB,8BAA8B,yEAAS,CAAC;IAE7EC,eAAe,EAAMtB,MAAM,0BAACI,QAAQ,CAACkB,eAAe,yEAAwB,OAAO,CAAC;IACpFC,YAAY,4BAAgBnB,QAAQ,CAACoB,mBAAmB,2EAAoB,CAAC;IAE7EC,sBAAsB,4BAAMrB,QAAQ,CAACsB,4BAA4B,2EAAW,CAAC;IAE7EC,kBAAkB,2BAAUvB,QAAQ,CAACwB,yBAAyB,yEAAc,EAAE;IAC9EC,uBAAuB,4BAAKzB,QAAQ,CAAC0B,8BAA8B,2EAAS,CAAC;IAE7EC,cAAc,4BAAc3B,QAAQ,CAAC4B,qBAAqB,2EAAkB,CAAC;IAC7EC,SAAS,4BAAmB7B,QAAQ,CAAC8B,gBAAgB,2EAAuB,CAAC;IAC7EC,OAAO,2BAAqB/B,QAAQ,CAACgC,cAAc,yEAAyB,CAAC;IAE7EC,WAAW,4BAAiBjC,QAAQ,CAACkC,kBAAkB,2EAAqB,CAAC;IAC7EC,gBAAgB,2BAAYnC,QAAQ,CAACoC,mBAAmB,yEAAoB,CAAC;IAC7EC,WAAW,4BAAiBrC,QAAQ,CAACsC,kBAAkB,2EAAqB,CAAC;IAE7EhC,MAAM,EAAsBL,SAAS,CAACsC,GAAG,sBAACvC,QAAQ,CAACM,MAAM,sDAAf,kBAAiBC,EAAE;GAC9D;EAED,OAAOC,GAAG;AACZ,CAAC;AAAA","names":["toTime","str","parseFloat","replace","settings","periodMap","dayStart","dayEnd","Error","has","period","id","res","intervals","beg","end","groupMinBreakLength","defaultGroupMinimumBreakLength","dependencyMinBreakLength","defaultDependencyMinimumBreakLength","eventMinBreakLength","defaultEventMinimumBreakLength","potentialCenter","eventDensity","defaultEventDensity","maxEventLengthVariance","defaultEventDurationVariance","maxNumWorkingHours","defaultMaxNumWorkingHours","maxNumDailyWorkingHours","defaultMaxNumDailyWorkingHours","dependencyRank","defaultDependencyRank","groupRank","defaultGroupRank","dayRank","defaultDayRank","groupWeight","defaultGroupWeight","collectionWeight","defaultCourseWeight","eventWeight","defaultEventWeight","get"],"sourceRoot":"","sources":["../../../../src/RS/v2/to/default.ts"],"sourcesContent":[null]}
@@ -2,8 +2,8 @@ export default class {
2
2
  static availableDependency: (availableLocations: import("../../../core/types/available-locations").AvailableLocationBare[], options: import("../types/out-options").OutOptions) => import("../types/available-dependencies").AvailableDependency[][];
3
3
  static configuration: (events: import("../../../core/types/course-events").CourseEvent[], options: import("../types/out-options").OutOptions) => import("../types/configurations").Configuration[];
4
4
  static constraints: (schedule: import("../../../core/types/common").Deserialized<import("../../../core/types/divisions").Division>, options?: import("../types/out-options").OutOptions) => import("../types/constraints").Constraint;
5
- static courseEvent: (courseEvents: import("../../../core/types/common").Deserialized<import("../../../core/types/course-events").CourseEvent> | import("../../../core/types/common").Deserialized<import("../../../core/types/course-events").CourseEvent>[], overlapGroups: import("../../../core/types/common").Deserialized<import("../../../core/types/overlap-groups").OverlapGroup>[] | undefined, settings: import("../../../core/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions) => import("../types/course-events").CourseEvent[];
6
- static course: (courses: import("../../../core/types/common").Deserialized<import("../../../core/types/courses").Course> | import("../../../core/types/common").Deserialized<import("../../../core/types/courses").Course>[], events: import("../../../core/types/common").Deserialized<import("../../../core/types/course-events").CourseEvent> | import("../../../core/types/common").Deserialized<import("../../../core/types/course-events").CourseEvent>[] | undefined, overlapGroups: import("../../../core/types/common").Deserialized<import("../../../core/types/overlap-groups").OverlapGroup>[] | undefined, settings: import("../../../core/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions) => (import("../types/collections").Collection | import("../types/collections").Collection[])[];
5
+ static courseEvent: (courseEvents: import("../../../core/types/common").Deserialized<import("../../../core/types/course-events").CourseEvent> | import("../../../core/types/common").Deserialized<import("../../../core/types/course-events").CourseEvent>[], overlapGroups: import("../../../core/types/common").Deserialized<import("../../../core/types/overlap-groups").OverlapGroup>[] | undefined, settings: import("../../../core/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions, periodsMap: Map<string | undefined, number>) => import("../types/course-events").CourseEvent[];
6
+ static course: (courses: import("../../../core/types/common").Deserialized<import("../../../core/types/courses").Course> | import("../../../core/types/common").Deserialized<import("../../../core/types/courses").Course>[], events: import("../../../core/types/common").Deserialized<import("../../../core/types/course-events").CourseEvent> | import("../../../core/types/common").Deserialized<import("../../../core/types/course-events").CourseEvent>[] | undefined, overlapGroups: import("../../../core/types/common").Deserialized<import("../../../core/types/overlap-groups").OverlapGroup>[] | undefined, settings: import("../../../core/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions, periodsMap: Map<string | undefined, number>) => (import("../types/collections").Collection | import("../types/collections").Collection[])[];
7
7
  static day: (days: import("../../../core/types/days").Day[], numDays: number) => (number | import("../types/days").Day)[];
8
8
  static dependency: (locations: import("../../../core/types/locations").Location[], settings: import("../../../core/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions) => import("../types/dependencies").Dependency[];
9
9
  static group: (groups: import("../../../core/types/groups").Group | import("../../../core/types/groups").Group[], settings: import("../../../core/types/division-settings").DivisionSettings, options: import("../types/out-options").OutOptions) => import("../types/groups").Group[];
@@ -0,0 +1,10 @@
1
+ import { Period as _Period } from 'dist/core/types/periods';
2
+ type Range = {
3
+ start?: string | moment.Moment | Date;
4
+ end?: string | moment.Moment | Date;
5
+ };
6
+ export declare function parsePeriods(_periods: _Period[] | undefined, scheduleRange: Range): {
7
+ map: Map<string | undefined, number>;
8
+ matrix?: string;
9
+ };
10
+ export {};
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parsePeriods = parsePeriods;
7
+ var _lodash = _interopRequireDefault(require("lodash"));
8
+ var Moment = _interopRequireWildcard(require("moment"));
9
+ var _momentRange = require("moment-range");
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ 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; }
14
+ 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; }
15
+ 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; }
16
+ var moment = (0, _momentRange.extendMoment)(Moment);
17
+ function createRange(_ref) {
18
+ var {
19
+ start,
20
+ end
21
+ } = _ref;
22
+ return moment.range(moment.utc(start).clone().startOf('isoWeek').startOf('day'), moment.utc(end).clone().endOf('isoWeek').endOf('day'));
23
+ }
24
+ function overlappingRanges(a, b) {
25
+ return a.some(a => b.some(b => a.overlaps(b)));
26
+ }
27
+ function parsePeriods(_periods, scheduleRange) {
28
+ if (!(_periods !== null && _periods !== void 0 && _periods.length)) {
29
+ return {
30
+ map: new Map()
31
+ };
32
+ }
33
+ var periods = _periods.map(p => _objectSpread(_objectSpread({}, _lodash.default.pick(p, 'id')), {}, {
34
+ ranges: p.ranges.map(r => createRange(r))
35
+ }));
36
+ if (!scheduleRange.start || !scheduleRange.end) {
37
+ throw new Error('(RS::V2::To::parsePeriods) undefined schedule range');
38
+ }
39
+ periods.push({
40
+ id: undefined,
41
+ ranges: [createRange(scheduleRange)]
42
+ });
43
+ var grouped = Object.values(_lodash.default.groupBy(periods.map(p => _objectSpread(_objectSpread({}, _lodash.default.pick(p, 'id', 'ranges')), {}, {
44
+ inter: periods.map(x => overlappingRanges(p.ranges, x.ranges) ? '1' : '0').join('')
45
+ })), 'inter'));
46
+ var matrix = '';
47
+ var map = new Map();
48
+ grouped.forEach((gs, i) => {
49
+ gs.forEach(g => map.set(g.id, i));
50
+ matrix += grouped.map(x => overlappingRanges(gs[0].ranges, x[0].ranges) ? '1' : '0').join('');
51
+ });
52
+ if (matrix == '' || matrix == '0') {
53
+ throw new Error('(RS::V2::To::parsePeriods) invalid matrix value: ' + matrix);
54
+ }
55
+ return {
56
+ map,
57
+ matrix
58
+ };
59
+ }
60
+ //# sourceMappingURL=periods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"periods.js","mappings":"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","names":["moment","Moment","createRange","start","end","range","utc","clone","startOf","endOf","overlappingRanges","a","b","some","overlaps","parsePeriods","_periods","scheduleRange","length","map","Map","periods","p","_","pick","ranges","r","Error","push","id","undefined","grouped","Object","values","groupBy","inter","x","join","matrix","forEach","gs","i","g","set"],"sourceRoot":"","sources":["../../../../src/RS/v2/to/periods.ts"],"sourcesContent":[null]}
@@ -19,4 +19,5 @@ export interface Collection {
19
19
  days?: (Day | number)[];
20
20
  groups?: string[][];
21
21
  dependencies?: (AvailableDependency[] | AvailableDependency)[];
22
+ period?: number;
22
23
  }
@@ -8,6 +8,7 @@ import { CourseEvent } from './course-events';
8
8
  export interface Constraint {
9
9
  settings?: Settings;
10
10
  default?: Default;
11
+ periods?: string;
11
12
  areas?: Area;
12
13
  events?: (CourseEvent | Collection | (CourseEvent | Collection)[])[];
13
14
  groups?: Group[];
@@ -19,4 +19,5 @@ export interface CourseEvent {
19
19
  day?: number;
20
20
  groups?: string[][];
21
21
  dependencies?: (AvailableDependency[] | AvailableDependency | string | string[])[];
22
+ period?: number;
22
23
  }
@@ -16,4 +16,5 @@ export interface Default {
16
16
  groupWeight: number;
17
17
  collectionWeight: number;
18
18
  eventWeight: number;
19
+ period: number;
19
20
  }
@@ -1 +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","groupIndex","courses","element","delete","isEqual","push","course","displayName","join","every","_inLocations"],"sourceRoot":"","sources":["../../../../src/SchoolSoft/file/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","preferredDuration","inLocations","groupIndex","courses","element","delete","isEqual","push","course","displayName","join","every","_inLocations"],"sourceRoot":"","sources":["../../../../src/SchoolSoft/file/from/schedules.ts"],"sourcesContent":[null]}
@@ -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","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;