@8ms/helpers 1.6.2 → 1.7.0

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.
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Convert a number 1000 seconds into HH:MM:SS
3
- * https://stackoverflow.com/a/1322771
2
+ * Convert a number of seconds into HH:MM:SS
3
+ * https://www.codevertiser.com/convert-seconds-to-hours-and-minutes-javascript/
4
4
  */
5
5
  declare const getDurationHours: ({ seconds }: {
6
6
  seconds: number;
@@ -1,24 +1,21 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const intervalToDuration_1 = __importDefault(require("date-fns/intervalToDuration"));
7
3
  /**
8
- * Convert a number 1000 seconds into HH:MM:SS
9
- * https://stackoverflow.com/a/1322771
4
+ * Convert a number of seconds into HH:MM:SS
5
+ * https://www.codevertiser.com/convert-seconds-to-hours-and-minutes-javascript/
10
6
  */
11
7
  const getDurationHours = ({ seconds }) => {
12
8
  let response = '00:00:00';
13
9
  if (seconds > 0) {
14
- const duration = (0, intervalToDuration_1.default)({
15
- start: 0,
16
- end: seconds * 1000,
17
- });
10
+ const calculated = {
11
+ hours: Math.floor(seconds / 3600),
12
+ minutes: Math.floor((seconds % 3600) / 60),
13
+ seconds: seconds % 60,
14
+ };
18
15
  const output = {
19
- hours: duration.hours < 10 ? '0' + duration.hours : duration.hours,
20
- minutes: duration.minutes < 10 ? '0' + duration.minutes : duration.minutes,
21
- seconds: duration.seconds < 10 ? '0' + duration.seconds : duration.seconds,
16
+ hours: calculated.hours < 10 ? '0' + calculated.hours : calculated.hours,
17
+ minutes: calculated.minutes < 10 ? '0' + calculated.minutes : calculated.minutes,
18
+ seconds: calculated.seconds < 10 ? '0' + calculated.seconds : calculated.seconds,
22
19
  };
23
20
  response = `${output.hours}:${output.minutes}:${output.seconds}`;
24
21
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Convert a number 1000 seconds into MM:SS
3
- * https://stackoverflow.com/a/1322771
2
+ * Convert a number of seconds into MM:SS
3
+ * https://www.codevertiser.com/convert-seconds-to-hours-and-minutes-javascript/
4
4
  */
5
5
  declare const getDurationMinutes: ({ seconds }: {
6
6
  seconds: number;
@@ -1,23 +1,19 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const intervalToDuration_1 = __importDefault(require("date-fns/intervalToDuration"));
7
3
  /**
8
- * Convert a number 1000 seconds into MM:SS
9
- * https://stackoverflow.com/a/1322771
4
+ * Convert a number of seconds into MM:SS
5
+ * https://www.codevertiser.com/convert-seconds-to-hours-and-minutes-javascript/
10
6
  */
11
7
  const getDurationMinutes = ({ seconds }) => {
12
8
  let response = '00:00';
13
9
  if (seconds > 0) {
14
- const duration = (0, intervalToDuration_1.default)({
15
- start: 0,
16
- end: seconds * 1000,
17
- });
10
+ const calculated = {
11
+ minutes: Math.floor((seconds % 3600) / 60),
12
+ seconds: seconds % 60,
13
+ };
18
14
  const output = {
19
- minutes: duration.minutes < 10 ? '0' + duration.minutes : duration.minutes,
20
- seconds: duration.seconds < 10 ? '0' + duration.seconds : duration.seconds,
15
+ minutes: calculated.minutes < 10 ? '0' + calculated.minutes : calculated.minutes,
16
+ seconds: calculated.seconds < 10 ? '0' + calculated.seconds : calculated.seconds,
21
17
  };
22
18
  response = `${output.minutes}:${output.seconds}`;
23
19
  }
@@ -6,7 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const getMidnight = ({ input, setMidnight = true }) => {
7
7
  let dateInstance = input;
8
8
  if (setMidnight) {
9
- dateInstance.setHours(0, 0, 0, 0);
9
+ if (0 === dateInstance.getTimezoneOffset()) {
10
+ dateInstance.setHours(0, 0, 0, 0);
11
+ }
12
+ else {
13
+ dateInstance.setHours(1, 0, 0, 0);
14
+ }
10
15
  }
11
16
  return dateInstance;
12
17
  };
package/date/getMonday.js CHANGED
@@ -7,6 +7,7 @@ const getISODay_1 = __importDefault(require("date-fns/getISODay"));
7
7
  const isMonday_1 = __importDefault(require("date-fns/isMonday"));
8
8
  const subDays_1 = __importDefault(require("date-fns/subDays"));
9
9
  const getDate_1 = __importDefault(require("./getDate"));
10
+ const getMidnight_1 = __importDefault(require("./getMidnight"));
10
11
  const getToday_1 = __importDefault(require("./getToday"));
11
12
  /**
12
13
  * Retrieve the closest last Monday relative to the input or today.
@@ -16,11 +17,18 @@ const getToday_1 = __importDefault(require("./getToday"));
16
17
  const getMonday = ({ weeksAgo, input, setMidnight = true, setTimeZone = false }) => {
17
18
  let dateInstance;
18
19
  if (input) {
19
- dateInstance = (0, getDate_1.default)({ input, setMidnight, setTimeZone });
20
+ dateInstance = (0, getDate_1.default)({
21
+ input,
22
+ setMidnight: false,
23
+ setTimeZone
24
+ });
20
25
  }
21
26
  else {
22
27
  // As we are getting today's date we don't want to convert this timezone
23
- dateInstance = (0, getToday_1.default)({ setMidnight });
28
+ dateInstance = (0, getToday_1.default)({
29
+ setMidnight: false,
30
+ });
31
+ // console.log('dateInstance', dateInstance);
24
32
  }
25
33
  if (!(0, isMonday_1.default)(dateInstance)) {
26
34
  // Get the ISO Day of week (Monday - 1 to Sunday - 7)
@@ -30,6 +38,11 @@ const getMonday = ({ weeksAgo, input, setMidnight = true, setTimeZone = false })
30
38
  }
31
39
  // Move it back a given number of weeks
32
40
  dateInstance = (0, subDays_1.default)(dateInstance, 7 * weeksAgo);
41
+ // console.log('dateInstance', dateInstance);
42
+ dateInstance = (0, getMidnight_1.default)({
43
+ input: dateInstance,
44
+ setMidnight
45
+ });
33
46
  return dateInstance;
34
47
  };
35
48
  exports.default = getMonday;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@8ms/helpers",
3
3
  "license": "UNLICENSED",
4
- "version": "1.6.2",
4
+ "version": "1.7.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/8millionstories-organisation/8ms-helpers-ts.git"