@8ms/helpers 1.1.24 → 1.1.25

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.
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ var addHours_1 = __importDefault(require("date-fns/addHours"));
6
7
  var parse_1 = __importDefault(require("date-fns/parse"));
8
+ var subHours_1 = __importDefault(require("date-fns/subHours"));
7
9
  /**
8
10
  * Convert a (number | string | Date) into a Date object.
9
11
  */
@@ -46,6 +48,13 @@ var getDate = function (_a) {
46
48
  if (setMidnight) {
47
49
  date.setHours(0, 0, 0, 0);
48
50
  }
51
+ // Accommodate for DST
52
+ if (date.getTimezoneOffset() < 0) {
53
+ date = (0, addHours_1.default)(date, 1);
54
+ }
55
+ else if (date.getTimezoneOffset() > 0) {
56
+ date = (0, subHours_1.default)(date, 1);
57
+ }
49
58
  return date;
50
59
  };
51
60
  exports.default = getDate;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var addDays_1 = __importDefault(require("date-fns/addDays"));
7
7
  var eachWeekOfInterval_1 = __importDefault(require("date-fns/eachWeekOfInterval"));
8
8
  var getFinancialYear_1 = __importDefault(require("./getFinancialYear"));
9
+ var index_1 = require("./index");
9
10
  /**
10
11
  * Get the current financial year.
11
12
  */
@@ -13,10 +14,11 @@ var getFinancialYearWeeks = function (_a) {
13
14
  var year = _a.year;
14
15
  var weeks = (0, eachWeekOfInterval_1.default)((0, getFinancialYear_1.default)({ year: year }), { weekStartsOn: 1 });
15
16
  var response = weeks.map(function (week, index) {
16
- var weekEnd = new Date(week.getTime());
17
+ var weekStart = new Date(week.getTime());
18
+ var weekEnd = (0, addDays_1.default)(weekStart, 6);
17
19
  return {
18
- start: week,
19
- end: (0, addDays_1.default)(weekEnd, 6),
20
+ start: (0, index_1.getTimezoneFixed)({ input: weekStart }),
21
+ end: (0, index_1.getTimezoneFixed)({ input: weekEnd }),
20
22
  financialWeek: (index + 1),
21
23
  financialYear: year,
22
24
  };
@@ -8,6 +8,7 @@ var isMonday_1 = __importDefault(require("date-fns/isMonday"));
8
8
  var subDays_1 = __importDefault(require("date-fns/subDays"));
9
9
  var getDate_1 = __importDefault(require("./getDate"));
10
10
  var getToday_1 = __importDefault(require("./getToday"));
11
+ var index_1 = require("./index");
11
12
  /**
12
13
  * Retrieve the closest last Monday relative to the input or today.
13
14
  * 0 weeksAgo - Tuesday (10th), return Monday (8th)
@@ -24,6 +25,6 @@ var getMonday = function (_a) {
24
25
  }
25
26
  // Move it back a given number of weeks
26
27
  date = (0, subDays_1.default)(date, 7 * weeksAgo);
27
- return date;
28
+ return (0, index_1.getTimezoneFixed)({ input: date });
28
29
  };
29
30
  exports.default = getMonday;
@@ -8,6 +8,7 @@ var isSunday_1 = __importDefault(require("date-fns/isSunday"));
8
8
  var subDays_1 = __importDefault(require("date-fns/subDays"));
9
9
  var getDate_1 = __importDefault(require("./getDate"));
10
10
  var getToday_1 = __importDefault(require("./getToday"));
11
+ var index_1 = require("./index");
11
12
  /**
12
13
  * Retrieve the closest last Sunday relative to the input or today.
13
14
  * 0 weeksAgo - Tuesday (17th), return Sunday (14th)
@@ -24,6 +25,6 @@ var getSunday = function (_a) {
24
25
  }
25
26
  // Move it back a given number of weeks
26
27
  date = (0, subDays_1.default)(date, 7 * weeksAgo);
27
- return date;
28
+ return (0, index_1.getTimezoneFixed)({ input: date });
28
29
  };
29
30
  exports.default = getSunday;
@@ -0,0 +1,5 @@
1
+ import { DateType } from './date';
2
+ declare const getTimezoneFixed: ({ input }: {
3
+ input: DateType;
4
+ }) => Date;
5
+ export default getTimezoneFixed;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var addHours_1 = __importDefault(require("date-fns/addHours"));
7
+ var subHours_1 = __importDefault(require("date-fns/subHours"));
8
+ var index_1 = require("./index");
9
+ var getTimezoneFixed = function (_a) {
10
+ var input = _a.input;
11
+ var inputDate = (0, index_1.getDate)({ input: input });
12
+ // Accommodate for DST
13
+ if (inputDate.getTimezoneOffset() < 0) {
14
+ inputDate = (0, addHours_1.default)(inputDate, 1);
15
+ }
16
+ else if (inputDate.getTimezoneOffset() > 0) {
17
+ inputDate = (0, subHours_1.default)(inputDate, 1);
18
+ }
19
+ return inputDate;
20
+ };
21
+ exports.default = getTimezoneFixed;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index_1 = require("./index");
3
4
  /**
4
5
  * Shortcut to get today's date.
5
6
  */
6
7
  var getToday = function () {
7
8
  var today = new Date();
8
9
  today.setHours(0, 0, 0, 0);
9
- return today;
10
+ return (0, index_1.getTimezoneFixed)({ input: today });
10
11
  };
11
12
  exports.default = getToday;
@@ -3,6 +3,7 @@ import { DurationType } from './duration';
3
3
  import { durationComparisons } from './durationComparisons';
4
4
  import { durations } from './durations';
5
5
  import { FinancialYearType } from './financialYear';
6
+ import getTimezoneFixed from './getTimezoneFixed';
6
7
  import { FinancialYearWeekType } from './financialYearWeek';
7
8
  import format from './format';
8
9
  import getDate from './getDate';
@@ -32,4 +33,4 @@ import { predefinedTimeframes, PredefinedTimeframesType } from './predefinedTime
32
33
  import { TimeframeType } from './timeframe';
33
34
  import { timeframes } from './timeframes';
34
35
  export type { DateType, DurationType, FinancialYearType, FinancialYearWeekType, PredefinedTimeframesType, TimeframeType, };
35
- export { durations, durationComparisons, predefinedTimeframes, timeframes, format, getDate, getDurationHours, getDurationMinutes, getExcelDate, getFinancialYear, getFinancialYearToDate, getFinancialYearWeeks, getLastWeek, getMax, getMin, getMonday, getNumber, getPredefinedTimeframe, getSunday, getThisWeek, getToday, getTwoWeeksAgo, getWeeksAgo, getYesterday, isDateValid, isLastWeek, isThisWeek, parseExcelDate, };
36
+ export { durations, durationComparisons, predefinedTimeframes, timeframes, format, getDate, getDurationHours, getDurationMinutes, getExcelDate, getFinancialYear, getFinancialYearToDate, getFinancialYearWeeks, getLastWeek, getMax, getMin, getMonday, getNumber, getPredefinedTimeframe, getSunday, getThisWeek, getTimezoneFixed, getToday, getTwoWeeksAgo, getWeeksAgo, getYesterday, isDateValid, isLastWeek, isThisWeek, parseExcelDate, };
@@ -3,11 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parseExcelDate = exports.isThisWeek = exports.isLastWeek = exports.isDateValid = exports.getYesterday = exports.getWeeksAgo = exports.getTwoWeeksAgo = exports.getToday = exports.getThisWeek = exports.getSunday = exports.getPredefinedTimeframe = exports.getNumber = exports.getMonday = exports.getMin = exports.getMax = exports.getLastWeek = exports.getFinancialYearWeeks = exports.getFinancialYearToDate = exports.getFinancialYear = exports.getExcelDate = exports.getDurationMinutes = exports.getDurationHours = exports.getDate = exports.format = exports.timeframes = exports.predefinedTimeframes = exports.durationComparisons = exports.durations = void 0;
6
+ exports.parseExcelDate = exports.isThisWeek = exports.isLastWeek = exports.isDateValid = exports.getYesterday = exports.getWeeksAgo = exports.getTwoWeeksAgo = exports.getToday = exports.getTimezoneFixed = exports.getThisWeek = exports.getSunday = exports.getPredefinedTimeframe = exports.getNumber = exports.getMonday = exports.getMin = exports.getMax = exports.getLastWeek = exports.getFinancialYearWeeks = exports.getFinancialYearToDate = exports.getFinancialYear = exports.getExcelDate = exports.getDurationMinutes = exports.getDurationHours = exports.getDate = exports.format = exports.timeframes = exports.predefinedTimeframes = exports.durationComparisons = exports.durations = void 0;
7
7
  var durationComparisons_1 = require("./durationComparisons");
8
8
  Object.defineProperty(exports, "durationComparisons", { enumerable: true, get: function () { return durationComparisons_1.durationComparisons; } });
9
9
  var durations_1 = require("./durations");
10
10
  Object.defineProperty(exports, "durations", { enumerable: true, get: function () { return durations_1.durations; } });
11
+ var getTimezoneFixed_1 = __importDefault(require("./getTimezoneFixed"));
12
+ exports.getTimezoneFixed = getTimezoneFixed_1.default;
11
13
  var format_1 = __importDefault(require("./format"));
12
14
  exports.format = format_1.default;
13
15
  var getDate_1 = __importDefault(require("./getDate"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@8ms/helpers",
3
- "version": "1.1.24",
3
+ "version": "1.1.25",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/8millionstories-organisation/8ms-helpers-ts.git"