wickrserverdirectory 6.37.8
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.
Potentially problematic release.
This version of wickrserverdirectory might be problematic. Click here for more details.
- package/LICENSE +21 -0
- package/dist/src/en-rrule-cache.d.ts.map +1 -0
- package/dist/src/en-rrule-cache.js +32 -0
- package/dist/src/en-rrule-cache.js.map +1 -0
- package/dist/src/en-rrule.d.ts.map +1 -0
- package/dist/src/en-rrule.js +121 -0
- package/dist/src/en-rrule.js.map +1 -0
- package/dist/src/en-rrule.spec.d.ts.map +1 -0
- package/dist/src/en-rrule.spec.js +457 -0
- package/dist/src/en-rrule.spec.js.map +1 -0
- package/dist/src/helpers/date.d.ts.map +1 -0
- package/dist/src/helpers/date.js +90 -0
- package/dist/src/helpers/date.js.map +1 -0
- package/dist/src/helpers/date.spec.d.ts.map +1 -0
- package/dist/src/helpers/date.spec.js +67 -0
- package/dist/src/helpers/date.spec.js.map +1 -0
- package/dist/src/helpers/outlier.d.ts.map +1 -0
- package/dist/src/helpers/outlier.js +273 -0
- package/dist/src/helpers/outlier.js.map +1 -0
- package/dist/src/helpers/outlier.spec.d.ts.map +1 -0
- package/dist/src/helpers/outlier.spec.js +248 -0
- package/dist/src/helpers/outlier.spec.js.map +1 -0
- package/dist/src/helpers/rrule.d.ts.map +1 -0
- package/dist/src/helpers/rrule.js +75 -0
- package/dist/src/helpers/rrule.js.map +1 -0
- package/dist/src/helpers/rrule.spec.d.ts.map +1 -0
- package/dist/src/helpers/rrule.spec.js +100 -0
- package/dist/src/helpers/rrule.spec.js.map +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +24 -0
- package/dist/src/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +15 -0
- package/readme.md +3 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en-rrule.spec.js","sourceRoot":"","sources":["../../src/en-rrule.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/helpers/date.ts"],"names":[],"mappings":"AAUA,wBAAgB,SAAS,SAGxB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,QASnC;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,UAS1D;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,UAE1D;AAED,eAAO,MAAM,YAAY,SACjB,IAAI,YACA,MAAM,KACf,IAKF,CAAC;AAQF,eAAO,MAAM,UAAU,SACf,IAAI,YACA,MAAM,KACf,IAaF,CAAC;AAGF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGxB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAIpE;AAGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,UAK3D;AAED,eAAO,MAAM,MAAM,SAAU,IAAI,KAAG,MAQnC,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,IAAI,KAAG,MAGxC,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2021-present Evernote Corporation. All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.getMonthDay = exports.getNth = exports.getDayOfTheWeek = exports.getTimeZoneOffset = exports.fromZonedDateToRRuleUTC = exports.toRRuleUTC = exports.fromRRuleUTC = exports.removeMillisFromTimestamp = exports.getMidnightAfterTimestamp = exports.toUTCDate = exports.getNowUTC = void 0;
|
|
10
|
+
const utcToZonedTime_1 = __importDefault(require("date-fns-tz/utcToZonedTime"));
|
|
11
|
+
const isSameMonth_1 = __importDefault(require("date-fns/isSameMonth"));
|
|
12
|
+
const isLastDayOfMonth_1 = __importDefault(require("date-fns/isLastDayOfMonth"));
|
|
13
|
+
const addWeeks_1 = __importDefault(require("date-fns/addWeeks"));
|
|
14
|
+
const luxon_1 = require("luxon");
|
|
15
|
+
function getNowUTC() {
|
|
16
|
+
const now = new Date();
|
|
17
|
+
return toUTCDate(now);
|
|
18
|
+
}
|
|
19
|
+
exports.getNowUTC = getNowUTC;
|
|
20
|
+
function toUTCDate(date) {
|
|
21
|
+
return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getMilliseconds()));
|
|
22
|
+
}
|
|
23
|
+
exports.toUTCDate = toUTCDate;
|
|
24
|
+
function getMidnightAfterTimestamp(timestamp) {
|
|
25
|
+
const date = new Date(timestamp);
|
|
26
|
+
const newTimestamp = timestamp -
|
|
27
|
+
date.getUTCMilliseconds() -
|
|
28
|
+
(date.getUTCSeconds() * 1000) -
|
|
29
|
+
(date.getUTCMinutes() * 60 * 1000) -
|
|
30
|
+
(date.getUTCHours() * 60 * 60 * 1000) +
|
|
31
|
+
(24 * 60 * 60 * 1000);
|
|
32
|
+
return newTimestamp;
|
|
33
|
+
}
|
|
34
|
+
exports.getMidnightAfterTimestamp = getMidnightAfterTimestamp;
|
|
35
|
+
function removeMillisFromTimestamp(timestamp) {
|
|
36
|
+
return Math.floor(timestamp / 1000) * 1000;
|
|
37
|
+
}
|
|
38
|
+
exports.removeMillisFromTimestamp = removeMillisFromTimestamp;
|
|
39
|
+
const fromRRuleUTC = (date, timeZone) => {
|
|
40
|
+
return luxon_1.DateTime.fromJSDate(date)
|
|
41
|
+
.toUTC()
|
|
42
|
+
.setZone(timeZone, { keepLocalTime: true })
|
|
43
|
+
.toJSDate();
|
|
44
|
+
};
|
|
45
|
+
exports.fromRRuleUTC = fromRRuleUTC;
|
|
46
|
+
/* toRRuleUTC and fromRRuleUTC are converters for rrule, which ignores the JS TZ offsets:
|
|
47
|
+
* "The bottom line is the returned "UTC" dates are always meant to be interpreted as
|
|
48
|
+
* dates in your local timezone. This may mean you have to do additional conversion to
|
|
49
|
+
* get the "correct" local time with offset applied."
|
|
50
|
+
* https://github.com/jakubroztocil/rrule#important-use-utc-dates
|
|
51
|
+
*/
|
|
52
|
+
const toRRuleUTC = (date, timeZone) => {
|
|
53
|
+
const dateInTz = luxon_1.DateTime.fromJSDate(date, { zone: timeZone });
|
|
54
|
+
return new Date(Date.UTC(dateInTz.year, dateInTz.month - 1, dateInTz.day, dateInTz.hour, dateInTz.minute, dateInTz.second, dateInTz.millisecond));
|
|
55
|
+
};
|
|
56
|
+
exports.toRRuleUTC = toRRuleUTC;
|
|
57
|
+
// this is the reverse of fromRRuleUTCToZonedDate
|
|
58
|
+
function fromZonedDateToRRuleUTC(date, timeZone) {
|
|
59
|
+
const offset = new Date(date.toLocaleString('en-US', { timeZone: timeZone })).getTime() - date.getTime();
|
|
60
|
+
return new Date(date.getTime() - offset);
|
|
61
|
+
}
|
|
62
|
+
exports.fromZonedDateToRRuleUTC = fromZonedDateToRRuleUTC;
|
|
63
|
+
function getTimeZoneOffset(timeZone, timestamp) {
|
|
64
|
+
const d = new Date(timestamp);
|
|
65
|
+
const date = (0, utcToZonedTime_1.default)(d, timeZone);
|
|
66
|
+
return date.getTime() - timestamp;
|
|
67
|
+
}
|
|
68
|
+
exports.getTimeZoneOffset = getTimeZoneOffset;
|
|
69
|
+
// is this dead code? 6/21/22
|
|
70
|
+
function getDayOfTheWeek(date, timeZone) {
|
|
71
|
+
return date.toLocaleString('en-US', {
|
|
72
|
+
timeZone,
|
|
73
|
+
weekday: 'long'
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
exports.getDayOfTheWeek = getDayOfTheWeek;
|
|
77
|
+
const getNth = (date) => {
|
|
78
|
+
let nth = Math.ceil(date.getDate() / 7);
|
|
79
|
+
if (nth === 5 || (nth === 4 && !(0, isSameMonth_1.default)((0, addWeeks_1.default)(date, 1), date))) {
|
|
80
|
+
nth = -1;
|
|
81
|
+
}
|
|
82
|
+
return nth;
|
|
83
|
+
};
|
|
84
|
+
exports.getNth = getNth;
|
|
85
|
+
const getMonthDay = (date) => {
|
|
86
|
+
const dayOfMonth = date.getDate();
|
|
87
|
+
return (0, isLastDayOfMonth_1.default)(date) ? -1 : dayOfMonth;
|
|
88
|
+
};
|
|
89
|
+
exports.getMonthDay = getMonthDay;
|
|
90
|
+
//# sourceMappingURL=date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../src/helpers/date.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.spec.d.ts","sourceRoot":"","sources":["../../../src/helpers/date.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2021-present Evernote Corporation. All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const __1 = require("..");
|
|
7
|
+
const chai_1 = require("chai");
|
|
8
|
+
describe('date', () => {
|
|
9
|
+
it('getNowUTC', () => {
|
|
10
|
+
const nowUtc = (0, __1.getNowUTC)();
|
|
11
|
+
(0, chai_1.expect)(nowUtc.getTime()).lessThanOrEqual(new Date().getTime());
|
|
12
|
+
});
|
|
13
|
+
it('getMidnightAfterTimestamp', () => {
|
|
14
|
+
(0, chai_1.expect)((0, __1.getMidnightAfterTimestamp)(1635546537324)).to.equal(1635552000000);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
describe('getNth', () => {
|
|
18
|
+
it('should return -1 when selected day is the 5th occurrence', () => {
|
|
19
|
+
const date = new Date(2022, 6, 29);
|
|
20
|
+
const nth = (0, __1.getNth)(date);
|
|
21
|
+
(0, chai_1.expect)(nth).to.equal(-1);
|
|
22
|
+
});
|
|
23
|
+
it('should return -1 when the selected day is the 4th occurrence in a month with 4 occurrences', () => {
|
|
24
|
+
const date = new Date(2022, 5, 24);
|
|
25
|
+
const nth = (0, __1.getNth)(date);
|
|
26
|
+
(0, chai_1.expect)(nth).to.equal(-1);
|
|
27
|
+
});
|
|
28
|
+
it('should return 4 when the selected day is the 4th occurrence in a month with 5 occurrences', () => {
|
|
29
|
+
const date = new Date(2022, 6, 22);
|
|
30
|
+
const nth = (0, __1.getNth)(date);
|
|
31
|
+
(0, chai_1.expect)(nth).to.equal(4);
|
|
32
|
+
});
|
|
33
|
+
it('it should return 1 when the selected day is the 1st occurrence', () => {
|
|
34
|
+
const date = new Date(2022, 6, 1);
|
|
35
|
+
const nth = (0, __1.getNth)(date);
|
|
36
|
+
(0, chai_1.expect)(nth).to.equal(1);
|
|
37
|
+
});
|
|
38
|
+
it('it should return 2 when the selected day is the 2nd occurrence', () => {
|
|
39
|
+
const date = new Date(2022, 6, 8);
|
|
40
|
+
const nth = (0, __1.getNth)(date);
|
|
41
|
+
(0, chai_1.expect)(nth).to.equal(2);
|
|
42
|
+
});
|
|
43
|
+
it('it should return 3 when the selected day is the 3rd occurrence', () => {
|
|
44
|
+
const date = new Date(2022, 6, 15);
|
|
45
|
+
const nth = (0, __1.getNth)(date);
|
|
46
|
+
(0, chai_1.expect)(nth).to.equal(3);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
describe('getMonthDay', () => {
|
|
50
|
+
it('should return the month day', () => {
|
|
51
|
+
const day1 = (0, __1.getMonthDay)(new Date(2022, 6, 15));
|
|
52
|
+
const day2 = (0, __1.getMonthDay)(new Date(2022, 6, 1));
|
|
53
|
+
const day3 = (0, __1.getMonthDay)(new Date(2022, 6, 30));
|
|
54
|
+
(0, chai_1.expect)(day1).to.equal(15);
|
|
55
|
+
(0, chai_1.expect)(day2).to.equal(1);
|
|
56
|
+
(0, chai_1.expect)(day3).to.equal(30);
|
|
57
|
+
});
|
|
58
|
+
it('should return -1 when the day selected is the last day of the month', () => {
|
|
59
|
+
const day1 = (0, __1.getMonthDay)(new Date(2022, 6, 31));
|
|
60
|
+
const day2 = (0, __1.getMonthDay)(new Date(2022, 5, 30));
|
|
61
|
+
const day3 = (0, __1.getMonthDay)(new Date(2022, 1, 28));
|
|
62
|
+
(0, chai_1.expect)(day1).to.equal(-1);
|
|
63
|
+
(0, chai_1.expect)(day2).to.equal(-1);
|
|
64
|
+
(0, chai_1.expect)(day3).to.equal(-1);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=date.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.spec.js","sourceRoot":"","sources":["../../../src/helpers/date.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outlier.d.ts","sourceRoot":"","sources":["../../../src/helpers/outlier.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AAKpD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAEzE;AASD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,UAG5D;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;CAAE,GAAG,IAAI,CAgBxG;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgBxG;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,GAAG;IAAC,QAAQ,CAAC,EAAE;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC;IAAC,IAAI,CAAC,EAAE;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC;CAAC,CAS5G;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAgB3F;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,UAOA;AAED,oBAAY,qBAAqB;IAC/B,gCAAgC,IAAA;IAChC,2BAA2B,IAAA;IAC3B,SAAS,IAAA;CACV;AACD,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,OAAO,CAAA;CAAC,EAC/G,2BAA2B,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,EACtE,sBAAsB,EAAE;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAC,GAAG,IAAI,GAAG,qBAAqB,CAoC7G;AAGD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC,GAAG,MAAM,GAAG,IAAI,CAsDhB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,WAQrE;AAGD,wBAAgB,mCAAmC,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UA8B7F"}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2021-present Evernote Corporation. All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.getNewRACRecurrenceBasedOnOutlierId = exports.getRRuleFromNewStart = exports.getCalculatedOutlierId = exports.getLatestCompletedAction = exports.TaskStatus = exports.LatestCompletedAction = exports.getRecurringTaskInstanceIds = exports.getDueDateByOutlierId = exports.getRecentTaskInstances = exports.getBaseIdFromTaskInstanceId = exports.getOutlierIdDetail = exports.getOutlierIdByDate = exports.getOutlierIdBySuffix = void 0;
|
|
10
|
+
const isUUID_1 = __importDefault(require("validator/lib/isUUID"));
|
|
11
|
+
const luxon_1 = require("luxon");
|
|
12
|
+
const rrule_1 = require("rrule");
|
|
13
|
+
const add_1 = __importDefault(require("date-fns/add"));
|
|
14
|
+
const parseISO_1 = __importDefault(require("date-fns/parseISO"));
|
|
15
|
+
const sub_1 = __importDefault(require("date-fns/sub"));
|
|
16
|
+
const isValid_1 = __importDefault(require("date-fns/isValid"));
|
|
17
|
+
const parse_1 = __importDefault(require("date-fns/parse"));
|
|
18
|
+
const lastDayOfMonth_1 = __importDefault(require("date-fns/lastDayOfMonth"));
|
|
19
|
+
const set_1 = __importDefault(require("date-fns/set"));
|
|
20
|
+
const utcToZonedTime_1 = __importDefault(require("date-fns-tz/utcToZonedTime"));
|
|
21
|
+
const format_1 = __importDefault(require("date-fns-tz/format"));
|
|
22
|
+
const rrule_2 = require("./rrule");
|
|
23
|
+
const en_rrule_1 = require("../en-rrule");
|
|
24
|
+
const utils_1 = require("@evernote/utils");
|
|
25
|
+
const logger = (0, utils_1.createLogger)('task-utils:task-helpers-outlier');
|
|
26
|
+
function getOutlierIdBySuffix(taskId, outlierSuffix) {
|
|
27
|
+
return `${taskId}_${outlierSuffix}`;
|
|
28
|
+
}
|
|
29
|
+
exports.getOutlierIdBySuffix = getOutlierIdBySuffix;
|
|
30
|
+
/*
|
|
31
|
+
* TODO: in some cases we have multiple instances on the same UTC date, we need to add a suffix to them
|
|
32
|
+
* ex:
|
|
33
|
+
* both these days are in 13th UTC
|
|
34
|
+
* 3/12/2022, 4:30:00 PM PACIFIC
|
|
35
|
+
* 3/13/2022, 4:30:00 PM PACIFIC
|
|
36
|
+
* */
|
|
37
|
+
function getOutlierIdByDate(taskId, date) {
|
|
38
|
+
const outlierSuffix = (0, format_1.default)((0, utcToZonedTime_1.default)(date, 'UTC'), 'yyyy-MM-dd', { timeZone: 'UTC' });
|
|
39
|
+
return getOutlierIdBySuffix(taskId, outlierSuffix);
|
|
40
|
+
}
|
|
41
|
+
exports.getOutlierIdByDate = getOutlierIdByDate;
|
|
42
|
+
function getOutlierIdDetail(outlierId) {
|
|
43
|
+
if (!outlierId) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
const idParts = outlierId.split('_');
|
|
47
|
+
if (idParts.length !== 2 ||
|
|
48
|
+
!(0, isUUID_1.default)(idParts[0]) ||
|
|
49
|
+
idParts[1].length !== 10 ||
|
|
50
|
+
!(0, isValid_1.default)((0, parse_1.default)(idParts[1], 'yyyy-MM-dd', new Date()))) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
baseId: idParts[0],
|
|
55
|
+
outlierPostFix: idParts[1],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
exports.getOutlierIdDetail = getOutlierIdDetail;
|
|
59
|
+
function getBaseIdFromTaskInstanceId(id) {
|
|
60
|
+
if (!id) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
const idParts = id.split('_');
|
|
64
|
+
if (idParts.length !== 2 ||
|
|
65
|
+
!(0, isUUID_1.default)(idParts[0]) ||
|
|
66
|
+
idParts[1].length !== 10 ||
|
|
67
|
+
!(0, isValid_1.default)((0, parse_1.default)(idParts[1], 'yyyy-MM-dd', new Date()))) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
baseId: idParts[0],
|
|
72
|
+
outlierSuffix: idParts[1],
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
exports.getBaseIdFromTaskInstanceId = getBaseIdFromTaskInstanceId;
|
|
76
|
+
function getRecentTaskInstances(params) {
|
|
77
|
+
const rule = en_rrule_1.EnRRule.fromString(params.recurrence);
|
|
78
|
+
const nowUTC = new Date();
|
|
79
|
+
const previousRuleInstance = rule.before(nowUTC, true);
|
|
80
|
+
const nextRuleInstance = rule.after(nowUTC, false);
|
|
81
|
+
return {
|
|
82
|
+
previous: previousRuleInstance ? { taskInstanceId: getOutlierIdByDate(params.baseTaskId, previousRuleInstance), dueDate: previousRuleInstance.getTime() } : undefined,
|
|
83
|
+
next: nextRuleInstance ? { taskInstanceId: getOutlierIdByDate(params.baseTaskId, nextRuleInstance), dueDate: nextRuleInstance.getTime() } : undefined,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
exports.getRecentTaskInstances = getRecentTaskInstances;
|
|
87
|
+
function getDueDateByOutlierId(outlierID, recurrence) {
|
|
88
|
+
const rule = en_rrule_1.EnRRule.fromString(recurrence);
|
|
89
|
+
const outlierIdDetail = getOutlierIdDetail(outlierID);
|
|
90
|
+
if (!outlierIdDetail) {
|
|
91
|
+
throw new Error(`invalid outlier id ${outlierID}`);
|
|
92
|
+
}
|
|
93
|
+
const afterDate = (0, parseISO_1.default)(`${outlierIdDetail.outlierPostFix}T00:00:00+00`);
|
|
94
|
+
const beforeDate = (0, sub_1.default)((0, add_1.default)(afterDate, { days: 1 }), { seconds: 1 });
|
|
95
|
+
const ruleInstances = rule.between(afterDate, beforeDate, true);
|
|
96
|
+
if (!ruleInstances || !ruleInstances.length) {
|
|
97
|
+
logger.warn(`can not find task instance for outlierID: ${outlierID} recurrence: ${recurrence}`);
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
else if (ruleInstances.length > 1) {
|
|
101
|
+
logger.warn(`found multiple task instance for outlierID: ${outlierID} recurrence: ${recurrence}`);
|
|
102
|
+
}
|
|
103
|
+
return ruleInstances[0].getTime();
|
|
104
|
+
}
|
|
105
|
+
exports.getDueDateByOutlierId = getDueDateByOutlierId;
|
|
106
|
+
function getRecurringTaskInstanceIds(params) {
|
|
107
|
+
const rule = en_rrule_1.EnRRule.fromString(params.recurrence);
|
|
108
|
+
// RRule doesn't count the millis
|
|
109
|
+
const ruleInstances = rule.between(new Date(Math.floor(params.after / 1000) * 1000), new Date(params.before), true);
|
|
110
|
+
return ruleInstances.map(date => {
|
|
111
|
+
getOutlierIdByDate(params.baseTaskId, date);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
exports.getRecurringTaskInstanceIds = getRecurringTaskInstanceIds;
|
|
115
|
+
var LatestCompletedAction;
|
|
116
|
+
(function (LatestCompletedAction) {
|
|
117
|
+
LatestCompletedAction[LatestCompletedAction["UpdateWithRecentlyUpdatedOutlier"] = 0] = "UpdateWithRecentlyUpdatedOutlier";
|
|
118
|
+
LatestCompletedAction[LatestCompletedAction["UpdateWithLatestOutlierInDb"] = 1] = "UpdateWithLatestOutlierInDb";
|
|
119
|
+
LatestCompletedAction[LatestCompletedAction["DoNothing"] = 2] = "DoNothing";
|
|
120
|
+
})(LatestCompletedAction = exports.LatestCompletedAction || (exports.LatestCompletedAction = {}));
|
|
121
|
+
var TaskStatus;
|
|
122
|
+
(function (TaskStatus) {
|
|
123
|
+
TaskStatus["open"] = "open";
|
|
124
|
+
TaskStatus["completed"] = "completed";
|
|
125
|
+
TaskStatus["deleted"] = "deleted";
|
|
126
|
+
})(TaskStatus = exports.TaskStatus || (exports.TaskStatus = {}));
|
|
127
|
+
/**
|
|
128
|
+
* Check the LatestCompletedStatus on the base task
|
|
129
|
+
* This function could be called from Task Service and/or Conduit to see what they need to change after an Outlier mutation
|
|
130
|
+
* This function could be called on TaskUpdate and TaskCreate mutation
|
|
131
|
+
*
|
|
132
|
+
* Please note that:
|
|
133
|
+
* on Recurrence change you need to update the latestCompleted based on Database
|
|
134
|
+
*/
|
|
135
|
+
function getLatestCompletedAction(baseTask, existingLatestCompletedTask, recentlyUpdatedOutlier) {
|
|
136
|
+
// existing latest completed is no more completed
|
|
137
|
+
if (baseTask.latestCompletedTaskId && baseTask.latestCompletedTaskId === (recentlyUpdatedOutlier === null || recentlyUpdatedOutlier === void 0 ? void 0 : recentlyUpdatedOutlier.taskId) && (recentlyUpdatedOutlier === null || recentlyUpdatedOutlier === void 0 ? void 0 : recentlyUpdatedOutlier.status) !== TaskStatus.completed) {
|
|
138
|
+
return LatestCompletedAction.UpdateWithLatestOutlierInDb;
|
|
139
|
+
// existing latest is not valid anymore
|
|
140
|
+
}
|
|
141
|
+
else if (existingLatestCompletedTask && (!baseTask.repeatAfterCompletion && !(0, rrule_2.isValidTimestamp)(existingLatestCompletedTask.dueDate, baseTask.recurrence))) {
|
|
142
|
+
return LatestCompletedAction.UpdateWithLatestOutlierInDb;
|
|
143
|
+
// existing latest still is the latest
|
|
144
|
+
}
|
|
145
|
+
else if (existingLatestCompletedTask && recentlyUpdatedOutlier && existingLatestCompletedTask.dueDate > recentlyUpdatedOutlier.dueDate) {
|
|
146
|
+
return LatestCompletedAction.DoNothing;
|
|
147
|
+
// there is no existing latest completed but we have recently updated completed
|
|
148
|
+
}
|
|
149
|
+
else if (!existingLatestCompletedTask &&
|
|
150
|
+
recentlyUpdatedOutlier &&
|
|
151
|
+
recentlyUpdatedOutlier.status === TaskStatus.completed &&
|
|
152
|
+
(baseTask.repeatAfterCompletion || (0, rrule_2.isValidTimestamp)(recentlyUpdatedOutlier.dueDate, baseTask.recurrence))) {
|
|
153
|
+
return LatestCompletedAction.UpdateWithRecentlyUpdatedOutlier;
|
|
154
|
+
// recently updated is newer than existing
|
|
155
|
+
}
|
|
156
|
+
else if (existingLatestCompletedTask && recentlyUpdatedOutlier && existingLatestCompletedTask.dueDate < recentlyUpdatedOutlier.dueDate && recentlyUpdatedOutlier.status === TaskStatus.completed) {
|
|
157
|
+
return LatestCompletedAction.UpdateWithRecentlyUpdatedOutlier;
|
|
158
|
+
// recently is the same as existing and it's deleted
|
|
159
|
+
}
|
|
160
|
+
else if (recentlyUpdatedOutlier && recentlyUpdatedOutlier.status === TaskStatus.deleted && recentlyUpdatedOutlier && (recentlyUpdatedOutlier === null || recentlyUpdatedOutlier === void 0 ? void 0 : recentlyUpdatedOutlier.taskId) === (existingLatestCompletedTask === null || existingLatestCompletedTask === void 0 ? void 0 : existingLatestCompletedTask.taskId)) {
|
|
161
|
+
return LatestCompletedAction.UpdateWithLatestOutlierInDb;
|
|
162
|
+
// recently is is not the same as existing and it's deleted
|
|
163
|
+
}
|
|
164
|
+
else if (recentlyUpdatedOutlier && recentlyUpdatedOutlier.status === TaskStatus.deleted && recentlyUpdatedOutlier && (recentlyUpdatedOutlier === null || recentlyUpdatedOutlier === void 0 ? void 0 : recentlyUpdatedOutlier.taskId) !== (existingLatestCompletedTask === null || existingLatestCompletedTask === void 0 ? void 0 : existingLatestCompletedTask.taskId)) {
|
|
165
|
+
return LatestCompletedAction.DoNothing;
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
return LatestCompletedAction.UpdateWithLatestOutlierInDb;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
exports.getLatestCompletedAction = getLatestCompletedAction;
|
|
172
|
+
// TODO: add more unit tests
|
|
173
|
+
function getCalculatedOutlierId(params) {
|
|
174
|
+
const rule = en_rrule_1.EnRRule.fromString(params.recurrence);
|
|
175
|
+
const start = new Date(params.lastCompletedRecurrenceDueDate || 0);
|
|
176
|
+
const firstDueDate = rule.after(start, false);
|
|
177
|
+
if (firstDueDate !== null && Number.isNaN(firstDueDate.getTime())) {
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
180
|
+
if (params.repeatAfterCompletion) {
|
|
181
|
+
if (!params.lastCompletedRecurrenceDueDate) {
|
|
182
|
+
start.setHours(23, 59, 59, 0);
|
|
183
|
+
const firstDueDateRAC = rule.after(start, false);
|
|
184
|
+
return getOutlierIdByDate(params.baseTaskId, firstDueDateRAC || start);
|
|
185
|
+
}
|
|
186
|
+
const originalStart = rule.enOptions.recurrenceStart;
|
|
187
|
+
if (!originalStart) {
|
|
188
|
+
throw new Error('Encountered an after completion recurrence without starting date');
|
|
189
|
+
}
|
|
190
|
+
// computes the next occurrence after midnight starting at start
|
|
191
|
+
const startEndOfDayInTz = luxon_1.DateTime.fromJSDate(start)
|
|
192
|
+
.setZone(rule.enOptions.tzid || 'utc', { keepLocalTime: true })
|
|
193
|
+
.set({ hour: 23, minute: 59, second: 59 }).toJSDate();
|
|
194
|
+
const startWithTaskTimeInTz = luxon_1.DateTime.fromJSDate(start)
|
|
195
|
+
.setZone(rule.enOptions.tzid || 'utc', { keepLocalTime: true })
|
|
196
|
+
.set({ hour: originalStart.hour, minute: originalStart.minute, second: originalStart.second }).toJSDate();
|
|
197
|
+
const newRule = getRRuleFromNewStart(params.recurrence, startWithTaskTimeInTz.getTime());
|
|
198
|
+
let firstDueDateRAC = newRule.after(startEndOfDayInTz, true);
|
|
199
|
+
let outlierId = getOutlierIdByDate(params.baseTaskId, firstDueDateRAC || start);
|
|
200
|
+
let i = 0;
|
|
201
|
+
while (params.lastCompletedRecurrenceDueDate && firstDueDateRAC &&
|
|
202
|
+
outlierId <= getOutlierIdByDate(params.baseTaskId, new Date(params.lastCompletedRecurrenceDueDate)) &&
|
|
203
|
+
i++ < 10 /* paranoiac infinite loop protection */) {
|
|
204
|
+
/*
|
|
205
|
+
* Handles such use cases:
|
|
206
|
+
* Given a daily Repeat After Completion at 2am in GMT+5,
|
|
207
|
+
* - user last completed it the 17th at 10am GMT+5 (=> 17th in UTC, outlierId has a 17 suffix)
|
|
208
|
+
* - the calculated next outlierId without this block would also be for the 17th
|
|
209
|
+
* (18th at 2am in GMT+5 => 17th in UTC)
|
|
210
|
+
* - so we get the next occurrence, otherwise we'd incorrectly returned the completed outlier (TK-4709)
|
|
211
|
+
*/
|
|
212
|
+
firstDueDateRAC = newRule.after(firstDueDateRAC, false);
|
|
213
|
+
if (firstDueDateRAC) {
|
|
214
|
+
outlierId = getOutlierIdByDate(params.baseTaskId, firstDueDateRAC);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return outlierId;
|
|
218
|
+
}
|
|
219
|
+
const recentDueDate = rule.before(new Date(), false);
|
|
220
|
+
let dueDate;
|
|
221
|
+
if (firstDueDate && recentDueDate > firstDueDate) {
|
|
222
|
+
dueDate = recentDueDate; // we show the most recent overdue task
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
dueDate = firstDueDate; // if a future task instance is completed, we show the one after that
|
|
226
|
+
}
|
|
227
|
+
return getOutlierIdByDate(params.baseTaskId, dueDate || start);
|
|
228
|
+
}
|
|
229
|
+
exports.getCalculatedOutlierId = getCalculatedOutlierId;
|
|
230
|
+
function getRRuleFromNewStart(recurrence, start) {
|
|
231
|
+
const originalOptions = en_rrule_1.EnRRule.parseString(recurrence);
|
|
232
|
+
return new en_rrule_1.EnRRule({
|
|
233
|
+
...originalOptions,
|
|
234
|
+
optionsCreatedFromRRuleStr: true,
|
|
235
|
+
dtstart: (0, en_rrule_1.getRRuleDate)(new Date(start), originalOptions.tzid || 'utc'),
|
|
236
|
+
tzid: originalOptions.tzid || 'utc',
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
exports.getRRuleFromNewStart = getRRuleFromNewStart;
|
|
240
|
+
// this is used for repeatAfterCompletion tasks
|
|
241
|
+
function getNewRACRecurrenceBasedOnOutlierId(recurrence, outlierDueDate) {
|
|
242
|
+
// computes the next occurrence after midnight starting at outlierDueDate
|
|
243
|
+
const originalRule = en_rrule_1.EnRRule.fromString(recurrence);
|
|
244
|
+
const originalStart = originalRule.enOptions.recurrenceStart;
|
|
245
|
+
if (!originalStart) {
|
|
246
|
+
return getRRuleFromNewStart(recurrence, outlierDueDate).toString();
|
|
247
|
+
}
|
|
248
|
+
const outlierEndOfDayInTz = luxon_1.DateTime.fromMillis(outlierDueDate)
|
|
249
|
+
.setZone(originalRule.enOptions.tzid || 'utc', { keepLocalTime: true })
|
|
250
|
+
.set({ hour: 23, minute: 59, second: 59 }).toJSDate();
|
|
251
|
+
const outlierWithTaskTimeInTz = luxon_1.DateTime.fromMillis(outlierDueDate)
|
|
252
|
+
.setZone(originalRule.enOptions.tzid || 'utc', { keepLocalTime: true })
|
|
253
|
+
.set({ hour: originalStart.hour, minute: originalStart.minute, second: originalStart.second }).toJSDate();
|
|
254
|
+
const newRule = getRRuleFromNewStart(recurrence, outlierWithTaskTimeInTz.getTime());
|
|
255
|
+
let newStartDate = newRule.after(outlierEndOfDayInTz, true);
|
|
256
|
+
if (!newStartDate) { // reached until date
|
|
257
|
+
return recurrence;
|
|
258
|
+
}
|
|
259
|
+
// special handling for one month after completion and today is the 31st (rrule annoyingly skips a month to keep 31)
|
|
260
|
+
if (outlierEndOfDayInTz.getDate() === 31 && originalRule.enOptions.freq === rrule_1.Frequency.MONTHLY) {
|
|
261
|
+
const nextMonth = new Date(outlierEndOfDayInTz.getFullYear(), outlierEndOfDayInTz.getMonth() + 1, 1); // works even for Dec->Jan
|
|
262
|
+
newStartDate = (0, set_1.default)(nextMonth, {
|
|
263
|
+
date: (0, lastDayOfMonth_1.default)(nextMonth).getDate(),
|
|
264
|
+
hours: newStartDate.getHours(),
|
|
265
|
+
minutes: newStartDate.getMinutes(),
|
|
266
|
+
seconds: newStartDate.getSeconds(),
|
|
267
|
+
milliseconds: newStartDate.getMilliseconds(),
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
return getRRuleFromNewStart(recurrence, newStartDate.getTime()).toString();
|
|
271
|
+
}
|
|
272
|
+
exports.getNewRACRecurrenceBasedOnOutlierId = getNewRACRecurrenceBasedOnOutlierId;
|
|
273
|
+
//# sourceMappingURL=outlier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outlier.js","sourceRoot":"","sources":["../../../src/helpers/outlier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outlier.spec.d.ts","sourceRoot":"","sources":["../../../src/helpers/outlier.spec.ts"],"names":[],"mappings":""}
|