@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.
- package/dist/RS/v2/from/index.d.ts +1 -1
- package/dist/RS/v2/from/placements.d.ts +2 -1
- package/dist/RS/v2/from/placements.js +15 -5
- package/dist/RS/v2/from/placements.js.map +1 -1
- package/dist/RS/v2/from/schedules.js +2 -3
- package/dist/RS/v2/from/schedules.js.map +1 -1
- package/dist/RS/v2/to/constraints.js +18 -0
- package/dist/RS/v2/to/constraints.js.map +1 -1
- package/dist/RS/v2/to/course-events/index.js +1 -1
- package/dist/RS/v2/to/course-events/index.js.map +1 -1
- package/dist/RS/v2/to/dynamic-locked-times.d.ts +5 -0
- package/dist/RS/v2/to/dynamic-locked-times.js +57 -0
- package/dist/RS/v2/to/dynamic-locked-times.js.map +1 -0
- package/dist/core/types/groups.d.ts +1 -0
- package/dist/core/types/locked-times.d.ts +4 -0
- package/dist/core/types/teachers.d.ts +1 -0
- package/package.json +1 -1
|
@@ -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
|
|
20
|
+
return _lodash.default.reduce(events, (_ref, event) => {
|
|
19
21
|
var _event$dependencies;
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
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,
|
|
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, ...
|
|
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,
|
|
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":";;;;;;;
|
|
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":";;;;;;;AAAA;;AAEA;;AAEA;;
|
|
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]}
|
|
@@ -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 {
|