@royalschedule/maps 2.2.7 → 2.2.10

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.
@@ -9,7 +9,7 @@ export default class {
9
9
  static lockedTime: (lockedTimes: import("../types/locked-times").LockedTime[]) => import("../../../core/types/locked-times").LockedTime[];
10
10
  static placement: (configuration: import("../types/configurations").Configuration, options?: {
11
11
  idKey?: "id" | "_id" | "ids" | undefined;
12
- }) => import("../../../core/types/course-events").CourseEvent[];
12
+ }) => [import("../../../core/types/course-events").CourseEvent[], import("../../../core/types/locked-times").LockedTime[]];
13
13
  static schedules: (schedule: import("../types/schedules").Schedule) => import("../../../core/types/divisions").Division;
14
14
  static setting: (settings: import("../types/settings").Settings, _default: import("../types/default").Default) => import("../../../core/types/division-settings").DivisionSettings;
15
15
  static teacher: (teachers: import("../types/groups").Group[], settings: any) => import("../../../core/types/teachers").Teacher[];
@@ -1,7 +1,8 @@
1
1
  import { Configuration } from '../types/configurations';
2
2
  import { CourseEvent } from '../../../core/types/course-events';
3
+ import { LockedTime } from '../../../core/types/locked-times';
3
4
  declare type Options = {
4
5
  idKey?: '_id' | 'id' | 'ids';
5
6
  };
6
- declare const _default: (configuration: Configuration, options?: Options) => CourseEvent[];
7
+ declare const _default: (configuration: Configuration, options?: Options) => [CourseEvent[], LockedTime[]];
7
8
  export default _default;
@@ -7,6 +7,8 @@ exports.default = void 0;
7
7
 
8
8
  var _moment = _interopRequireDefault(require("moment"));
9
9
 
10
+ var _lodash = _interopRequireDefault(require("lodash"));
11
+
10
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
13
 
12
14
  var _default = function _default(configuration) {
@@ -15,17 +17,25 @@ var _default = function _default(configuration) {
15
17
  var {
16
18
  events
17
19
  } = configuration !== null && configuration !== void 0 ? configuration : {};
18
- return events === null || events === void 0 ? void 0 : events.map(event => {
20
+ return _lodash.default.reduce(events, (_ref, event) => {
19
21
  var _event$dependencies;
20
22
 
21
- return {
22
- [idKey]: event.id,
23
+ var [eventAcc, lockedAcc] = _ref;
24
+ var [collection, id] = event.id.split('.');
25
+ if (collection == 'events') eventAcc = eventAcc.concat({
26
+ [idKey]: id,
23
27
  parked: false,
24
28
  inLocations: (_event$dependencies = event.dependencies) !== null && _event$dependencies !== void 0 ? _event$dependencies : [],
25
29
  start: _moment.default.utc('1970-01-05T00:00').add(event.day, 'days').add(event.start, 'minutes').toISOString(),
26
30
  end: _moment.default.utc('1970-01-05T00:00').add(event.day, 'days').add(event.end, 'minutes').toISOString()
27
- };
28
- });
31
+ });
32
+ if (collection == 'lockedtimes') lockedAcc = lockedAcc.concat({
33
+ [idKey]: id,
34
+ start: _moment.default.utc('1970-01-05T00:00').add(event.day, 'days').add(event.start, 'minutes').toISOString(),
35
+ end: _moment.default.utc('1970-01-05T00:00').add(event.day, 'days').add(event.end, 'minutes').toISOString()
36
+ });
37
+ return [eventAcc, lockedAcc];
38
+ }, [[], []]);
29
39
  };
30
40
 
31
41
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"placements.js","mappings":";;;;;;;AAAA;;;;eAYe,kBAACA,aAAD,EAAuE;AAAA,MAAxCC,OAAwC,uEAArB,EAAqB;AAEpF,MAAMC,KAAK,GAAsBD,OAAO,CAACC,KAAR,IAAiB,IAAlD;AAEA,MAAM;AAAEC;AAAF,MAAaH,aAAb,aAAaA,aAAb,cAAaA,aAAb,GAA8B,EAApC;AAEA,SAAOG,MAAP,aAAOA,MAAP,uBAAOA,MAAM,CAAEC,GAAR,CAAaC,KAAD,IAAqB;AAAA;;AACtC,WAAO;AACL,OAACH,KAAD,GAAcG,KAAK,CAACC,EADf;AAELC,YAAM,EAAQ,KAFT;AAGLC,iBAAW,yBAAGH,KAAK,CAACI,YAAT,qEAAyB,EAH/B;AAILC,WAAK,EAASC,gBAAOC,GAAP,CAAW,kBAAX,EAA+BC,GAA/B,CAAmCR,KAAK,CAACS,GAAzC,EAA8C,MAA9C,EAAsDD,GAAtD,CAA0DR,KAAK,CAACK,KAAhE,EAAuE,SAAvE,EAAkFK,WAAlF,EAJT;AAKLC,SAAG,EAAWL,gBAAOC,GAAP,CAAW,kBAAX,EAA+BC,GAA/B,CAAmCR,KAAK,CAACS,GAAzC,EAA8C,MAA9C,EAAsDD,GAAtD,CAA0DR,KAAK,CAACW,GAAhE,EAAqE,SAArE,EAAgFD,WAAhF;AALT,KAAP;AAOD,GARM,CAAP;AASD,C","names":["configuration","options","idKey","events","map","event","id","parked","inLocations","dependencies","start","moment","utc","add","day","toISOString","end"],"sourceRoot":"","sources":["../../../../src/RS/v2/from/placements.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"placements.js","mappings":";;;;;;;AAAA;;AACA;;;;eAYe,kBAACA,aAAD,EAAuF;AAAA,MAAxDC,OAAwD,uEAArC,EAAqC;AAEpG,MAAMC,KAAK,GAAsBD,OAAO,CAACC,KAAR,IAAiB,IAAlD;AAEA,MAAM;AAAEC;AAAF,MAAaH,aAAb,aAAaA,aAAb,cAAaA,aAAb,GAA8B,EAApC;AAEA,SAAOI,gBAAEC,MAAF,CAASF,MAAT,EAAiB,OAAuDG,KAAvD,KAA2E;AAAA;;AAAA,QAA1E,CAACC,QAAD,EAAWC,SAAX,CAA0E;AACjG,QAAM,CAACC,UAAD,EAAaC,EAAb,IAAmBJ,KAAK,CAACI,EAAN,CAASC,KAAT,CAAe,GAAf,CAAzB;AACA,QAAIF,UAAU,IAAI,QAAlB,EACEF,QAAQ,GAAGA,QAAQ,CAACK,MAAT,CAAgB;AACzB,OAACV,KAAD,GAAcQ,EADW;AAEzBG,YAAM,EAAQ,KAFW;AAGzBC,iBAAW,yBAAGR,KAAK,CAACS,YAAT,qEAAyB,EAHX;AAIzBC,WAAK,EAASC,gBAAOC,GAAP,CAAW,kBAAX,EAA+BC,GAA/B,CAAmCb,KAAK,CAACc,GAAzC,EAA8C,MAA9C,EAAsDD,GAAtD,CAA0Db,KAAK,CAACU,KAAhE,EAAuE,SAAvE,EAAkFK,WAAlF,EAJW;AAKzBC,SAAG,EAAWL,gBAAOC,GAAP,CAAW,kBAAX,EAA+BC,GAA/B,CAAmCb,KAAK,CAACc,GAAzC,EAA8C,MAA9C,EAAsDD,GAAtD,CAA0Db,KAAK,CAACgB,GAAhE,EAAqE,SAArE,EAAgFD,WAAhF;AALW,KAAhB,CAAX;AAOF,QAAIZ,UAAU,IAAI,aAAlB,EACED,SAAS,GAAGA,SAAS,CAACI,MAAV,CAAiB;AAC3B,OAACV,KAAD,GAAcQ,EADa;AAE3BM,WAAK,EAASC,gBAAOC,GAAP,CAAW,kBAAX,EAA+BC,GAA/B,CAAmCb,KAAK,CAACc,GAAzC,EAA8C,MAA9C,EAAsDD,GAAtD,CAA0Db,KAAK,CAACU,KAAhE,EAAuE,SAAvE,EAAkFK,WAAlF,EAFa;AAG3BC,SAAG,EAAWL,gBAAOC,GAAP,CAAW,kBAAX,EAA+BC,GAA/B,CAAmCb,KAAK,CAACc,GAAzC,EAA8C,MAA9C,EAAsDD,GAAtD,CAA0Db,KAAK,CAACgB,GAAhE,EAAqE,SAArE,EAAgFD,WAAhF;AAHa,KAAjB,CAAZ;AAKF,WAAO,CAACd,QAAD,EAAWC,SAAX,CAAP;AACD,GAjBM,EAiBJ,CAAC,EAAD,EAAK,EAAL,CAjBI,CAAP;AAkBD,C","names":["configuration","options","idKey","events","_","reduce","event","eventAcc","lockedAcc","collection","id","split","concat","parked","inLocations","dependencies","start","moment","utc","add","day","toISOString","end"],"sourceRoot":"","sources":["../../../../src/RS/v2/from/placements.ts"],"sourcesContent":[null]}
@@ -36,7 +36,7 @@ var _default2 = schedule => {
36
36
  areas
37
37
  }
38
38
  } = schedule;
39
- var [configuration, ..._] = schedule.output || [];
39
+ var [configuration, ...meta] = schedule.output || [];
40
40
  var teachers;
41
41
  var locations;
42
42
  if (!settings) throw new Error("Settings cannot be undefined");
@@ -49,10 +49,9 @@ var _default2 = schedule => {
49
49
  if (configuration) {
50
50
  var _events;
51
51
 
52
- var _placements = (0, _placements2.default)(configuration, {
52
+ var [_placements] = (0, _placements2.default)(configuration, {
53
53
  idKey: 'ids'
54
54
  });
55
-
56
55
  var i = -1;
57
56
  (_events = events) === null || _events === void 0 ? void 0 : _events.forEach(collection => {
58
57
  var _collection$events;
@@ -1 +1 @@
1
- {"version":3,"file":"schedules.js","mappings":";;;;;;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;gBAEgBA,QAAD,IAAiC;AAE9C,MAAI;AACFC,SAAK,EAAE;AACLC,cADK;AAELC,aAAO,EAAEC,QAFJ;AAGLC,kBAHK;AAILC,YAJK;AAKLC,YALK;AAMLC;AANK;AADL,MASKR,QATT;AAWA,MAAM,CAACS,aAAD,EAAgB,GAAGC,CAAnB,IAAwBV,QAAQ,CAACW,MAAT,IAAmB,EAAjD;AAEA,MAAIC,QAAJ;AACA,MAAIC,SAAJ;AAEA,MAAI,CAAEX,QAAN,EACE,MAAM,IAAIY,KAAJ,gCAAN;AAEF,MAAIT,YAAJ,EACEQ,SAAS,GAAM,2BAAgBR,YAAhB,EAA8BH,QAA9B,CAAf;AACF,MAAII,MAAJ,EACEM,QAAQ,GAAO,uBAAYN,MAAZ,EAAoBJ,QAApB,CAAf;AACF,MAAII,MAAJ,EACEA,MAAM,GAAS,qBAAUA,MAAV,EAAkBJ,QAAlB,CAAf;AACF,MAAIK,MAAJ,EACEA,MAAM,GAAS,0BAAeA,MAAf,EACe,CAACK,QAAQ,IAAI,EAAb,EAAiBG,GAAjB,CAAsBC,CAAD,IAAYA,CAAC,CAACC,GAAnC,CADf,EAEe,CAACX,MAAM,IAAI,EAAX,EAAeS,GAAf,CAAoBC,CAAD,IAAYA,CAAC,CAACC,GAAjC,CAFf,EAGef,QAHf,CAAf;AAIFA,UAAQ,GAAS,uBAAYA,QAAZ,EAAsBE,QAAtB,CAAjB;;AAEA,MAAIK,aAAJ,EAAmB;AAAA;;AACjB,QAAMS,WAAW,GAAG,0BAAcT,aAAd,EAA6B;AAAEU,WAAK,EAAE;AAAT,KAA7B,CAApB;;AAEA,QAAIC,CAAC,GAAW,CAAC,CAAjB;AAEA,qBAAM,UAAN,0CAAQC,OAAR,CAAiBC,UAAD,IAAoB;AAAA;;AAClC,sCAAU,CAACf,MAAX,0EAAmBc,OAAnB,CAA4BE,KAAD,IAAe;AACxCH,SAAC;;AACD,YAAMI,YAAY,GAAQN,WAAW,CAACO,IAAZ,CAAiB;AAAA,cAAC;AAAER;AAAF,WAAD;AAAA,iBAAaA,GAAG,IAAIM,KAAK,CAACN,GAA1B;AAAA,SAAjB,CAA1B;;AAEA,YAAIO,YAAJ,EACE,OAAOE,MAAM,CAACC,MAAP,CAAcJ,KAAd,EAAqBC,YAArB,CAAP;AAEF,eAAOE,MAAM,CAACC,MAAP,CAAcJ,KAAd,EAAqBL,WAAW,CAACE,CAAD,CAAhC,CAAP;AACD,OARD;AASD,KAVD;AAWD;;AAED,iGACKP,SAAS,IAAI;AAAEA;AAAF,GADlB,GAEKD,QAAQ,IAAK;AAAEA;AAAF,GAFlB,GAGKN,MAAM,IAAO;AAAEA;AAAF,GAHlB,GAIKC,MAAM,IAAO;AAAEqB,WAAO,EAAErB;AAAX,GAJlB,GAKKC,KAAK,IAAQ;AAAEqB,QAAI,EAAErB;AAAR,GALlB,GAMKN,QAAQ,IAAK;AAAEA;AAAF,GANlB;AAQD,C","names":["schedule","input","settings","default","_default","dependencies","groups","events","areas","configuration","_","output","teachers","locations","Error","map","x","ids","_placements","idKey","i","forEach","collection","event","_placedEvent","find","Object","assign","courses","area"],"sourceRoot":"","sources":["../../../../src/RS/v2/from/schedules.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"schedules.js","mappings":";;;;;;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;gBAEgBA,QAAD,IAAiC;AAE9C,MAAI;AACFC,SAAK,EAAE;AACLC,cADK;AAELC,aAAO,EAAEC,QAFJ;AAGLC,kBAHK;AAILC,YAJK;AAKLC,YALK;AAMLC;AANK;AADL,MASKR,QATT;AAWA,MAAM,CAACS,aAAD,EAAgB,GAAGC,IAAnB,IAA2BV,QAAQ,CAACW,MAAT,IAAmB,EAApD;AAEA,MAAIC,QAAJ;AACA,MAAIC,SAAJ;AAEA,MAAI,CAAEX,QAAN,EACE,MAAM,IAAIY,KAAJ,gCAAN;AAEF,MAAIT,YAAJ,EACEQ,SAAS,GAAM,2BAAgBR,YAAhB,EAA8BH,QAA9B,CAAf;AACF,MAAII,MAAJ,EACEM,QAAQ,GAAO,uBAAYN,MAAZ,EAAoBJ,QAApB,CAAf;AACF,MAAII,MAAJ,EACEA,MAAM,GAAS,qBAAUA,MAAV,EAAkBJ,QAAlB,CAAf;AACF,MAAIK,MAAJ,EACEA,MAAM,GAAS,0BAAeA,MAAf,EACe,CAACK,QAAQ,IAAI,EAAb,EAAiBG,GAAjB,CAAsBC,CAAD,IAAYA,CAAC,CAACC,GAAnC,CADf,EAEe,CAACX,MAAM,IAAI,EAAX,EAAeS,GAAf,CAAoBC,CAAD,IAAYA,CAAC,CAACC,GAAjC,CAFf,EAGef,QAHf,CAAf;AAIFA,UAAQ,GAAS,uBAAYA,QAAZ,EAAsBE,QAAtB,CAAjB;;AAEA,MAAIK,aAAJ,EAAmB;AAAA;;AACjB,QAAM,CAACS,WAAD,IAAgB,0BAAcT,aAAd,EAA6B;AAAEU,WAAK,EAAE;AAAT,KAA7B,CAAtB;AAEA,QAAIC,CAAC,GAAW,CAAC,CAAjB;AAEA,qBAAM,UAAN,0CAAQC,OAAR,CAAiBC,UAAD,IAAoB;AAAA;;AAClC,sCAAU,CAACf,MAAX,0EAAmBc,OAAnB,CAA4BE,KAAD,IAAe;AACxCH,SAAC;;AACD,YAAMI,YAAY,GAAQN,WAAW,CAACO,IAAZ,CAAiB;AAAA,cAAC;AAAER;AAAF,WAAD;AAAA,iBAAaA,GAAG,IAAIM,KAAK,CAACN,GAA1B;AAAA,SAAjB,CAA1B;;AAEA,YAAIO,YAAJ,EACE,OAAOE,MAAM,CAACC,MAAP,CAAcJ,KAAd,EAAqBC,YAArB,CAAP;AAEF,eAAOE,MAAM,CAACC,MAAP,CAAcJ,KAAd,EAAqBL,WAAW,CAACE,CAAD,CAAhC,CAAP;AACD,OARD;AASD,KAVD;AAWD;;AAED,iGACKP,SAAS,IAAI;AAAEA;AAAF,GADlB,GAEKD,QAAQ,IAAK;AAAEA;AAAF,GAFlB,GAGKN,MAAM,IAAO;AAAEA;AAAF,GAHlB,GAIKC,MAAM,IAAO;AAAEqB,WAAO,EAAErB;AAAX,GAJlB,GAKKC,KAAK,IAAQ;AAAEqB,QAAI,EAAErB;AAAR,GALlB,GAMKN,QAAQ,IAAK;AAAEA;AAAF,GANlB;AAQD,C","names":["schedule","input","settings","default","_default","dependencies","groups","events","areas","configuration","meta","output","teachers","locations","Error","map","x","ids","_placements","idKey","i","forEach","collection","event","_placedEvent","find","Object","assign","courses","area"],"sourceRoot":"","sources":["../../../../src/RS/v2/from/schedules.ts"],"sourcesContent":[null]}
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ var _lodash = _interopRequireDefault(require("lodash"));
9
+
8
10
  var _dependencies = _interopRequireDefault(require("./dependencies"));
9
11
 
10
12
  var _teachers = _interopRequireDefault(require("./teachers"));
@@ -17,6 +19,8 @@ var _settings = _interopRequireDefault(require("./settings"));
17
19
 
18
20
  var _default2 = _interopRequireDefault(require("./default"));
19
21
 
22
+ var _dynamicLockedTimes = _interopRequireDefault(require("./dynamic-locked-times"));
23
+
20
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
25
 
22
26
  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; }
@@ -26,6 +30,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
26
30
  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; }
27
31
 
28
32
  var _default = function _default(schedule) {
33
+ var _data$events, _data$events2;
34
+
29
35
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
30
36
  if (schedule == null) return {};
31
37
  var {
@@ -53,6 +59,18 @@ var _default = function _default(schedule) {
53
59
  groups: (0, _groups.default)(groups, options).concat((0, _teachers.default)(teachers, options))
54
60
  });
55
61
 
62
+ if (groups !== null && groups !== void 0 && groups.some(group => 'lunch' in group)) data.events = ((_data$events = data.events) !== null && _data$events !== void 0 ? _data$events : []).concat((0, _dynamicLockedTimes.default)(_lodash.default.without(groups.map(_ref => {
63
+ var {
64
+ lunch
65
+ } = _ref;
66
+ return lunch;
67
+ }).flat(), null), options));
68
+ if (teachers !== null && teachers !== void 0 && teachers.some(teacher => 'lunch' in teacher)) data.events = ((_data$events2 = data.events) !== null && _data$events2 !== void 0 ? _data$events2 : []).concat((0, _dynamicLockedTimes.default)(_lodash.default.without(teachers.map(_ref2 => {
69
+ var {
70
+ lunch
71
+ } = _ref2;
72
+ return lunch;
73
+ }).flat(), null), options));
56
74
  return data;
57
75
  };
58
76
 
@@ -1 +1 @@
1
- {"version":3,"file":"constraints.js","mappings":";;;;;;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;eAEe,kBAACA,QAAD,EAA6D;AAAA,MAAxCC,OAAwC,uEAAlB,EAAkB;AAC1E,MAAID,QAAQ,IAAI,IAAhB,EAAsB,OAAO,EAAP;AAEtB,MAAI;AACFE,UADE;AAEFC,YAFE;AAGFC,aAHE;AAIFC,UAJE;AAKFC,iBALE;AAMFC,WANE;AAOFC,YAPE;AAQFC;AARE,MASAT,QATJ;;AAWA,MAAIU,IAAI;AACNF,YAAQ,EAAM,uBAAYA,QAAZ,CADR;AAENG,WAAO,EAAO,uBAAWH,QAAX;AAFR,KAGHC,IAAI,IAAI;AACTG,SAAK,EAAE;AACLC,uBAAiB,EAAEJ,IAAI,CAACI,iBADnB;AAELC,UAAI,EAAeL,IAAI,CAACK;AAFnB;AADE,GAHL;AASNT,UAAM,EAAQ,0BAAeE,OAAf,EAAyBF,MAAzB,EAAiCC,aAAjC,EAAgDL,OAAhD,CATR;AAUNc,gBAAY,EAAE,2BAAgBX,SAAhB,EAA4BH,OAA5B,CAVR;AAWNC,UAAM,EAAQ,qBAAUA,MAAV,EAAmBD,OAAnB,EAA4Be,MAA5B,CAAmC,uBAAYb,QAAZ,EAAuBF,OAAvB,CAAnC;AAXR,IAAR;;AAcA,SAAOS,IAAP;AACD,C","names":["schedule","options","groups","teachers","locations","events","overlapGroups","courses","settings","area","data","default","areas","breakLengthMatrix","list","dependencies","concat"],"sourceRoot":"","sources":["../../../../src/RS/v2/to/constraints.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"constraints.js","mappings":";;;;;;;AAAA;;AAOA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;eAEe,kBAACA,QAAD,EAA6D;AAAA;;AAAA,MAAxCC,OAAwC,uEAAlB,EAAkB;AAC1E,MAAID,QAAQ,IAAI,IAAhB,EAAsB,OAAO,EAAP;AAEtB,MAAI;AACFE,UADE;AAEFC,YAFE;AAGFC,aAHE;AAIFC,UAJE;AAKFC,iBALE;AAMFC,WANE;AAOFC,YAPE;AAQFC;AARE,MASAT,QATJ;;AAWA,MAAIU,IAAI;AACNF,YAAQ,EAAM,uBAAYA,QAAZ,CADR;AAENG,WAAO,EAAO,uBAAWH,QAAX;AAFR,KAGHC,IAAI,IAAI;AACTG,SAAK,EAAE;AACLC,uBAAiB,EAAEJ,IAAI,CAACI,iBADnB;AAELC,UAAI,EAAeL,IAAI,CAACK;AAFnB;AADE,GAHL;AASNT,UAAM,EAAQ,0BAAeE,OAAf,EAAyBF,MAAzB,EAAiCC,aAAjC,EAAgDL,OAAhD,CATR;AAUNc,gBAAY,EAAE,2BAAgBX,SAAhB,EAA4BH,OAA5B,CAVR;AAWNC,UAAM,EAAQ,qBAAUA,MAAV,EAAmBD,OAAnB,EAA4Be,MAA5B,CAAmC,uBAAYb,QAAZ,EAAuBF,OAAvB,CAAnC;AAXR,IAAR;;AAkBA,MAAIC,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEe,IAAR,CAAaC,KAAK,IAAI,WAAWA,KAAjC,CAAJ,EACER,IAAI,CAACL,MAAL,GAAc,iBAACK,IAAI,CAACL,MAAN,uDAAgB,EAAhB,EAAoBW,MAApB,CAA2B,iCAAsBG,gBAAEC,OAAF,CAAUlB,MAAM,CAACmB,GAAP,CAAW;AAAA,QAAC;AAAEC;AAAF,KAAD;AAAA,WAAeA,KAAf;AAAA,GAAX,EAAiCC,IAAjC,EAAV,EAAmD,IAAnD,CAAtB,EAAuFtB,OAAvF,CAA3B,CAAd;AAEF,MAAIE,QAAJ,aAAIA,QAAJ,eAAIA,QAAQ,CAAEc,IAAV,CAAeO,OAAO,IAAI,WAAWA,OAArC,CAAJ,EACEd,IAAI,CAACL,MAAL,GAAc,kBAACK,IAAI,CAACL,MAAN,yDAAgB,EAAhB,EAAoBW,MAApB,CAA2B,iCAAsBG,gBAAEC,OAAF,CAAUjB,QAAQ,CAACkB,GAAT,CAAa;AAAA,QAAC;AAAEC;AAAF,KAAD;AAAA,WAAeA,KAAf;AAAA,GAAb,EAAmCC,IAAnC,EAAV,EAAqD,IAArD,CAAtB,EAAyFtB,OAAzF,CAA3B,CAAd;AAEF,SAAOS,IAAP;AACD,C","names":["schedule","options","groups","teachers","locations","events","overlapGroups","courses","settings","area","data","default","areas","breakLengthMatrix","list","dependencies","concat","some","group","_","without","map","lunch","flat","teacher"],"sourceRoot":"","sources":["../../../../src/RS/v2/to/constraints.ts"],"sourcesContent":[null]}
@@ -41,7 +41,7 @@ var _default = (courseEvents, options) => {
41
41
  var id = (event[idKey] || event._id).toString();
42
42
 
43
43
  var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
44
- id: id
44
+ id: "events.".concat(id)
45
45
  }, 'duration' in event && {
46
46
  length: event.duration
47
47
  }), event.preferredDuration != null && {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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","names":["courseEvents","options","idKey","docs","Array","isArray","reduce","acc","event","course","id","_id","toString","doc","length","duration","preferredDuration","durationVariance","maxLengthVariance","weight","density","potentialCenter","parseFloat","lockedTimes","minBreakLength","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","options","idKey","docs","Array","isArray","reduce","acc","event","course","id","_id","toString","doc","length","duration","preferredDuration","durationVariance","maxLengthVariance","weight","density","potentialCenter","parseFloat","lockedTimes","minBreakLength","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]}
@@ -0,0 +1,5 @@
1
+ import { LockedTime } from '../types/locked-times';
2
+ import { OutOptions } from '../types/out-options';
3
+ import { LockedTime as SourceLockedTime } from '../../../core/types/locked-times';
4
+ declare const _default: (lockedTimes: SourceLockedTime[] | SourceLockedTime, options: OutOptions) => LockedTime[] | never;
5
+ export default _default;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _intervals2 = _interopRequireDefault(require("./intervals"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ 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; }
13
+
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
+
16
+ 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; }
17
+
18
+ var _default = (lockedTimes, options) => {
19
+ var _options$idKey;
20
+
21
+ var docs = Array.isArray(lockedTimes) ? lockedTimes : [lockedTimes];
22
+ var idKey = (_options$idKey = options.idKey) !== null && _options$idKey !== void 0 ? _options$idKey : 'id';
23
+ return docs.filter(x => !!x).map(lockedTime => {
24
+ var {
25
+ _id,
26
+ intervals,
27
+ duration,
28
+ durationVariance,
29
+ coalesced
30
+ } = lockedTime;
31
+
32
+ var id = (lockedTime[idKey] || lockedTime._id).toString();
33
+
34
+ if (duration == null) throw new Error('Length of a locked time is null');
35
+ if (duration < 5) throw new Error('Length of a locked time is less than 5 min');
36
+
37
+ var doc = _objectSpread(_objectSpread({
38
+ id: "lockedtimes.".concat(_id),
39
+ groups: coalesced === null || coalesced === void 0 ? void 0 : coalesced.map(_ref => {
40
+ var {
41
+ to
42
+ } = _ref;
43
+ return to[idKey];
44
+ }),
45
+ length: duration
46
+ }, durationVariance != null && {
47
+ maxLengthVariance: durationVariance
48
+ }), {}, {
49
+ intervals: (0, _intervals2.default)(intervals)
50
+ });
51
+
52
+ return doc;
53
+ });
54
+ };
55
+
56
+ exports.default = _default;
57
+ //# sourceMappingURL=dynamic-locked-times.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-locked-times.js","mappings":";;;;;;;AAMA;;;;;;;;;;eAIe,CAACA,WAAD,EACCC,OADD,KACkD;AAAA;;AAE/D,MAAIC,IAAI,GAAwBC,KAAK,CAACC,OAAN,CAAcJ,WAAd,IAA6BA,WAA7B,GAA2C,CAACA,WAAD,CAA3E;AACA,MAAIK,KAAK,qBAAoCJ,OAAO,CAACI,KAA5C,2DAAqD,IAA9D;AAEA,SAAOH,IAAI,CAACI,MAAL,CAAYC,CAAC,IAAI,CAAC,CAACA,CAAnB,EAAsBC,GAAtB,CAA2BC,UAAD,IAA6C;AAC5E,QAAM;AAAEC,SAAF;AAAOC,eAAP;AAAkBC,cAAlB;AAA4BC,sBAA5B;AAA8CC;AAA9C,QAA4DL,UAAlE;;AAEA,QAAMM,EAAE,GAAW,CAACN,UAAU,CAACJ,KAAD,CAAV,IAA+CI,UAAU,CAACC,GAA3D,EAAiEM,QAAjE,EAAnB;;AAEA,QAAIJ,QAAQ,IAAI,IAAhB,EACE,MAAM,IAAIK,KAAJ,CAAU,iCAAV,CAAN;AAEF,QAAIL,QAAQ,GAAG,CAAf,EACE,MAAM,IAAIK,KAAJ,CAAU,4CAAV,CAAN;;AAEF,QAAIC,GAAG;AACLH,QAAE,wBAAoBL,GAApB,CADG;AAELS,YAAM,EAAEL,SAAF,aAAEA,SAAF,uBAAEA,SAAS,CAAEN,GAAX,CAAe;AAAA,YAAC;AAAEY;AAAF,SAAD;AAAA,eAAYA,EAAE,CAACf,KAAD,CAAd;AAAA,OAAf,CAFH;AAGLgB,YAAM,EAAET;AAHH,OAIFC,gBAAgB,IAAI,IAApB,IAA6B;AAAES,uBAAiB,EAAET;AAArB,KAJ3B;AAKLF,eAAS,EAAE,yBAAWA,SAAX;AALN,MAAP;;AAQA,WAAOO,GAAP;AACD,GApBM,CAAP;AAqBD,C","names":["lockedTimes","options","docs","Array","isArray","idKey","filter","x","map","lockedTime","_id","intervals","duration","durationVariance","coalesced","id","toString","Error","doc","groups","to","length","maxLengthVariance"],"sourceRoot":"","sources":["../../../../src/RS/v2/to/dynamic-locked-times.ts"],"sourcesContent":[null]}
@@ -15,6 +15,7 @@ export interface GroupBare {
15
15
  disableDayLengthPunishment?: boolean;
16
16
  weight?: number;
17
17
  lockedTimes?: LockedTime[];
18
+ lunch?: LockedTime[] | null;
18
19
  intervals?: Interval[];
19
20
  days?: Day[];
20
21
  createdAt?: string;
@@ -1,6 +1,7 @@
1
1
  import { Types } from 'mongoose';
2
2
  import moment from 'moment';
3
3
  import { Division } from './divisions';
4
+ import { Interval } from './intervals';
4
5
  import { Coalesced } from './common/coalesced';
5
6
  export interface LockedTimeBare {
6
7
  belongsTo?: Division;
@@ -11,6 +12,9 @@ export interface LockedTimeBare {
11
12
  parked?: boolean;
12
13
  day?: number;
13
14
  coalesced?: Coalesced[];
15
+ duration?: number;
16
+ durationVariance?: number;
17
+ intervals?: Interval[];
14
18
  createdAt?: string;
15
19
  }
16
20
  export interface LockedTime extends LockedTimeBare {
@@ -17,6 +17,7 @@ export interface TeacherBare {
17
17
  disableDayLengthPunishment?: boolean;
18
18
  weight?: number;
19
19
  lockedTimes?: LockedTime[];
20
+ lunch?: LockedTime[] | null;
20
21
  intervals?: Interval[];
21
22
  days?: Day[];
22
23
  rank?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@royalschedule/maps",
3
- "version": "2.2.7",
3
+ "version": "2.2.10",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",