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.

@@ -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":""}