@cityssm/utils-datetime 1.1.1 → 1.1.3
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/dateIntegerToDate.d.ts +3 -2
- package/dateIntegerToDate.js +2 -1
- package/dateIntegerToDate.ts +14 -7
- package/dateIntegerToString.d.ts +2 -1
- package/dateIntegerToString.ts +7 -3
- package/dateStringToDate.d.ts +1 -2
- package/dateStringToDate.js +5 -0
- package/dateStringToDate.ts +12 -7
- package/dateStringToInteger.d.ts +1 -2
- package/dateStringToInteger.js +4 -0
- package/dateStringToInteger.ts +8 -4
- package/dateToInteger.d.ts +2 -0
- package/dateToInteger.js +4 -1
- package/dateToInteger.ts +14 -3
- package/dateToString.d.ts +2 -0
- package/dateToString.js +3 -0
- package/dateToString.ts +14 -3
- package/dateToTimeInteger.d.ts +2 -0
- package/dateToTimeInteger.js +3 -0
- package/dateToTimeInteger.ts +16 -3
- package/dateToTimePeriodString.d.ts +2 -0
- package/dateToTimePeriodString.js +3 -0
- package/dateToTimePeriodString.ts +16 -3
- package/dateToTimeString.d.ts +2 -0
- package/dateToTimeString.js +3 -0
- package/dateToTimeString.ts +16 -3
- package/isValidDateInteger.ts +2 -2
- package/isValidDateString.ts +2 -2
- package/isValidTimeInteger.ts +2 -2
- package/isValidTimeString.ts +2 -2
- package/package.json +6 -6
- package/timeIntegerToPeriodString.d.ts +1 -1
- package/timeIntegerToPeriodString.js +2 -2
- package/timeIntegerToPeriodString.ts +5 -5
- package/timeIntegerToString.ts +2 -2
- package/timeStringToInteger.d.ts +1 -2
- package/timeStringToInteger.js +4 -0
- package/timeStringToInteger.ts +8 -4
package/dateIntegerToDate.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export declare function dateIntegerToDate(dateInteger:
|
|
2
|
-
export declare function dateIntegerToDate(dateInteger:
|
|
1
|
+
export declare function dateIntegerToDate<D extends number | undefined | null, T extends number | undefined | null>(dateInteger: D, timeInteger?: T): Date | undefined;
|
|
2
|
+
export declare function dateIntegerToDate(dateInteger: number, timeInteger?: number): Date | undefined;
|
|
3
|
+
export declare function dateIntegerToDate(dateInteger: undefined | null, timeInteger?: undefined | null): undefined;
|
package/dateIntegerToDate.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { isValidDateInteger } from './isValidDateInteger.js';
|
|
2
|
+
import { isValidTimeInteger } from './isValidTimeInteger.js';
|
|
2
3
|
export function dateIntegerToDate(dateInteger, timeInteger = 0) {
|
|
3
|
-
if (!isValidDateInteger(dateInteger)) {
|
|
4
|
+
if (!isValidDateInteger(dateInteger) || !isValidTimeInteger(timeInteger)) {
|
|
4
5
|
return undefined;
|
|
5
6
|
}
|
|
6
7
|
const dateString = `00000000${dateInteger.toString()}`.slice(-8);
|
package/dateIntegerToDate.ts
CHANGED
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
import { isValidDateInteger } from './isValidDateInteger.js'
|
|
2
|
+
import { isValidTimeInteger } from './isValidTimeInteger.js'
|
|
3
|
+
|
|
4
|
+
export function dateIntegerToDate<
|
|
5
|
+
D extends number | undefined | null,
|
|
6
|
+
T extends number | undefined | null
|
|
7
|
+
>(dateInteger: D, timeInteger?: T): Date | undefined
|
|
2
8
|
|
|
3
9
|
export function dateIntegerToDate(
|
|
4
10
|
dateInteger: number,
|
|
5
11
|
timeInteger?: number
|
|
6
|
-
): Date
|
|
12
|
+
): Date | undefined
|
|
13
|
+
|
|
7
14
|
export function dateIntegerToDate(
|
|
8
|
-
dateInteger:
|
|
9
|
-
timeInteger?:
|
|
15
|
+
dateInteger: undefined | null,
|
|
16
|
+
timeInteger?: undefined | null
|
|
10
17
|
): undefined
|
|
11
18
|
|
|
12
19
|
/**
|
|
13
|
-
* @param
|
|
14
|
-
* @param
|
|
15
|
-
* @returns
|
|
20
|
+
* @param dateInteger - A number representing a date (ex. 20241231)
|
|
21
|
+
* @param timeInteger - A number representing a time (ex. 2359)
|
|
22
|
+
* @returns - A Date object (ex. '2024-12-31 23:59')
|
|
16
23
|
*/
|
|
17
24
|
export function dateIntegerToDate(
|
|
18
25
|
dateInteger: number | undefined | null,
|
|
19
26
|
timeInteger: number | undefined | null = 0
|
|
20
27
|
): Date | undefined {
|
|
21
|
-
if (!isValidDateInteger(dateInteger)) {
|
|
28
|
+
if (!isValidDateInteger(dateInteger) || !isValidTimeInteger(timeInteger)) {
|
|
22
29
|
return undefined
|
|
23
30
|
}
|
|
24
31
|
|
package/dateIntegerToString.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { DateString } from './dateTimeTypes.js';
|
|
2
|
-
export declare function dateIntegerToString(dateInteger:
|
|
2
|
+
export declare function dateIntegerToString<D extends number | undefined | null>(dateInteger: D): DateString | '';
|
|
3
|
+
export declare function dateIntegerToString(dateInteger: number): DateString | '';
|
|
3
4
|
export declare function dateIntegerToString(dateInteger: null | undefined | 0): '';
|
package/dateIntegerToString.ts
CHANGED
|
@@ -3,13 +3,17 @@ import type { DateString } from './dateTimeTypes.js'
|
|
|
3
3
|
import { dateToString } from './dateToString.js'
|
|
4
4
|
import { isValidDateInteger } from './isValidDateInteger.js'
|
|
5
5
|
|
|
6
|
-
export function dateIntegerToString
|
|
6
|
+
export function dateIntegerToString<D extends number | undefined | null>(
|
|
7
|
+
dateInteger: D
|
|
8
|
+
): DateString | ''
|
|
9
|
+
|
|
10
|
+
export function dateIntegerToString(dateInteger: number): DateString | ''
|
|
7
11
|
export function dateIntegerToString(dateInteger: null | undefined | 0): ''
|
|
8
12
|
|
|
9
13
|
/**
|
|
10
14
|
* Formats a date number as a string.
|
|
11
|
-
* @param
|
|
12
|
-
* @returns
|
|
15
|
+
* @param dateInteger - A number representing a date.
|
|
16
|
+
* @returns - A string representing a date.
|
|
13
17
|
*/
|
|
14
18
|
export function dateIntegerToString(
|
|
15
19
|
dateInteger: number | undefined | null
|
package/dateStringToDate.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function dateStringToDate(dateString: DateString, timeString?: TimeString): Date;
|
|
1
|
+
export declare function dateStringToDate(dateString: string, timeString?: string): Date | undefined;
|
package/dateStringToDate.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
import { isValidDateString } from './isValidDateString.js';
|
|
2
|
+
import { isValidTimeString } from './isValidTimeString.js';
|
|
1
3
|
export function dateStringToDate(dateString, timeString = '00:00') {
|
|
4
|
+
if (!isValidDateString(dateString) || !isValidTimeString(timeString)) {
|
|
5
|
+
return undefined;
|
|
6
|
+
}
|
|
2
7
|
const datePieces = dateString.split('-');
|
|
3
8
|
const timePieces = timeString.split(':');
|
|
4
9
|
return new Date(Number.parseInt(datePieces[0], 10), Number.parseInt(datePieces[1], 10) - 1, Number.parseInt(datePieces[2], 10), Number.parseInt(timePieces[0], 10), Number.parseInt(timePieces[1], 10), 0, 0);
|
package/dateStringToDate.ts
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { isValidDateString } from './isValidDateString.js'
|
|
2
|
+
import { isValidTimeString } from './isValidTimeString.js'
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Formats a string date and time as a JavaScript Date object.
|
|
5
|
-
* @param
|
|
6
|
-
* @param
|
|
7
|
-
* @returns
|
|
6
|
+
* @param dateString - A string representing a date.
|
|
7
|
+
* @param timeString - A string representing a time.
|
|
8
|
+
* @returns - A JavaScript Date object.
|
|
8
9
|
*/
|
|
9
10
|
export function dateStringToDate(
|
|
10
|
-
dateString:
|
|
11
|
-
timeString
|
|
12
|
-
): Date {
|
|
11
|
+
dateString: string,
|
|
12
|
+
timeString = '00:00'
|
|
13
|
+
): Date | undefined {
|
|
14
|
+
if (!isValidDateString(dateString) || !isValidTimeString(timeString)) {
|
|
15
|
+
return undefined
|
|
16
|
+
}
|
|
17
|
+
|
|
13
18
|
const datePieces = dateString.split('-')
|
|
14
19
|
const timePieces = timeString.split(':')
|
|
15
20
|
|
package/dateStringToInteger.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function dateStringToInteger(dateString: DateString): number;
|
|
1
|
+
export declare function dateStringToInteger(dateString: string): number | undefined;
|
package/dateStringToInteger.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { dateStringToDate } from './dateStringToDate.js';
|
|
2
2
|
import { dateToInteger } from './dateToInteger.js';
|
|
3
|
+
import { isValidDateString } from './isValidDateString.js';
|
|
3
4
|
export function dateStringToInteger(dateString) {
|
|
5
|
+
if (!isValidDateString(dateString)) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
4
8
|
return dateToInteger(dateStringToDate(dateString));
|
|
5
9
|
}
|
package/dateStringToInteger.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { dateStringToDate } from './dateStringToDate.js'
|
|
2
|
-
import type { DateString } from './dateTimeTypes.js'
|
|
3
2
|
import { dateToInteger } from './dateToInteger.js'
|
|
3
|
+
import { isValidDateString } from './isValidDateString.js'
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Formats a date string as a number.
|
|
7
|
-
* @param
|
|
8
|
-
* @returns
|
|
7
|
+
* @param dateString - A date formatted as a string (ex. '2024-12-31')
|
|
8
|
+
* @returns - A number representing a date.
|
|
9
9
|
*/
|
|
10
|
-
export function dateStringToInteger(dateString:
|
|
10
|
+
export function dateStringToInteger(dateString: string): number | undefined {
|
|
11
|
+
if (!isValidDateString(dateString)) {
|
|
12
|
+
return undefined
|
|
13
|
+
}
|
|
14
|
+
|
|
11
15
|
return dateToInteger(dateStringToDate(dateString))
|
|
12
16
|
}
|
package/dateToInteger.d.ts
CHANGED
package/dateToInteger.js
CHANGED
package/dateToInteger.ts
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
|
+
export function dateToInteger<T extends Date | undefined>(dateObject: T): number | undefined
|
|
2
|
+
|
|
3
|
+
export function dateToInteger(dateObject: Date): number
|
|
4
|
+
export function dateToInteger(dateObject: undefined): undefined
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
7
|
* Formats a JavaScript Date object as a number.
|
|
3
|
-
* @param
|
|
4
|
-
* @returns
|
|
8
|
+
* @param dateObject - A JavaScript Date object.
|
|
9
|
+
* @returns - A number representing the date.
|
|
5
10
|
*/
|
|
6
|
-
export function dateToInteger(
|
|
11
|
+
export function dateToInteger(
|
|
12
|
+
dateObject: Date | undefined
|
|
13
|
+
): number | undefined {
|
|
14
|
+
if (dateObject === undefined) {
|
|
15
|
+
return undefined
|
|
16
|
+
}
|
|
17
|
+
|
|
7
18
|
return (
|
|
8
19
|
dateObject.getFullYear() * 10_000 +
|
|
9
20
|
(dateObject.getMonth() + 1) * 100 +
|
package/dateToString.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import type { DateString } from './dateTimeTypes.js';
|
|
2
|
+
export declare function dateToString<D extends Date | undefined>(dateObject: D): DateString | '';
|
|
2
3
|
export declare function dateToString(dateObject: Date): DateString;
|
|
4
|
+
export declare function dateToString(dateObject: undefined): '';
|
package/dateToString.js
CHANGED
package/dateToString.ts
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
import type { DateString } from './dateTimeTypes.js'
|
|
2
2
|
|
|
3
|
+
export function dateToString<D extends Date | undefined>(
|
|
4
|
+
dateObject: D
|
|
5
|
+
): DateString | ''
|
|
6
|
+
|
|
7
|
+
export function dateToString(dateObject: Date): DateString
|
|
8
|
+
export function dateToString(dateObject: undefined): ''
|
|
9
|
+
|
|
3
10
|
/**
|
|
4
11
|
* Formats a JavaScript Date object as a date string.
|
|
5
|
-
* @param
|
|
6
|
-
* @returns
|
|
12
|
+
* @param dateObject - A JavaScript Date object
|
|
13
|
+
* @returns - A date string.
|
|
7
14
|
*/
|
|
8
|
-
export function dateToString(dateObject: Date): DateString {
|
|
15
|
+
export function dateToString(dateObject: Date | undefined): DateString | '' {
|
|
16
|
+
if (dateObject === undefined) {
|
|
17
|
+
return ''
|
|
18
|
+
}
|
|
19
|
+
|
|
9
20
|
return Intl.DateTimeFormat('fr-CA', {
|
|
10
21
|
year: 'numeric',
|
|
11
22
|
month: '2-digit',
|
package/dateToTimeInteger.d.ts
CHANGED
package/dateToTimeInteger.js
CHANGED
package/dateToTimeInteger.ts
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
|
+
export function dateToTimeInteger<D extends Date | undefined>(
|
|
2
|
+
dateObject: D
|
|
3
|
+
): number | undefined
|
|
4
|
+
|
|
5
|
+
export function dateToTimeInteger(dateObject: Date): number
|
|
6
|
+
export function dateToTimeInteger(dateObject: undefined): undefined
|
|
7
|
+
|
|
1
8
|
/**
|
|
2
9
|
* Formats the time in a JavaScript Date as a number.
|
|
3
|
-
* @param
|
|
4
|
-
* @returns
|
|
10
|
+
* @param dateObject - A JavaScript Date object.
|
|
11
|
+
* @returns - A number representing a time.
|
|
5
12
|
*/
|
|
6
|
-
export function dateToTimeInteger(
|
|
13
|
+
export function dateToTimeInteger(
|
|
14
|
+
dateObject: Date | undefined
|
|
15
|
+
): number | undefined {
|
|
16
|
+
if (dateObject === undefined) {
|
|
17
|
+
return undefined
|
|
18
|
+
}
|
|
19
|
+
|
|
7
20
|
return dateObject.getHours() * 100 + dateObject.getMinutes()
|
|
8
21
|
}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import type { TimePeriodString } from './dateTimeTypes.js';
|
|
2
|
+
export declare function dateToTimePeriodString<D extends Date | undefined>(dateObject: D): TimePeriodString | '';
|
|
2
3
|
export declare function dateToTimePeriodString(dateObject: Date): TimePeriodString;
|
|
4
|
+
export declare function dateToTimePeriodString(dateObject: undefined): '';
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import type { TimePeriodString } from './dateTimeTypes.js'
|
|
2
2
|
|
|
3
|
+
export function dateToTimePeriodString<D extends Date | undefined>(
|
|
4
|
+
dateObject: D
|
|
5
|
+
): TimePeriodString | ''
|
|
6
|
+
|
|
7
|
+
export function dateToTimePeriodString(dateObject: Date): TimePeriodString
|
|
8
|
+
export function dateToTimePeriodString(dateObject: undefined): ''
|
|
9
|
+
|
|
3
10
|
/**
|
|
4
11
|
* Formats a JavaScript Date as a time period string.
|
|
5
|
-
* @param
|
|
6
|
-
* @returns
|
|
12
|
+
* @param dateObject - A JavaScript Date object.
|
|
13
|
+
* @returns - A time string formatted with the time period (ex. 1:23 a.m.)
|
|
7
14
|
*/
|
|
8
|
-
export function dateToTimePeriodString(
|
|
15
|
+
export function dateToTimePeriodString(
|
|
16
|
+
dateObject: Date | undefined
|
|
17
|
+
): TimePeriodString | '' {
|
|
18
|
+
if (dateObject === undefined) {
|
|
19
|
+
return ''
|
|
20
|
+
}
|
|
21
|
+
|
|
9
22
|
return Intl.DateTimeFormat('en-CA', {
|
|
10
23
|
hourCycle: 'h12',
|
|
11
24
|
hour: 'numeric',
|
package/dateToTimeString.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import type { TimeString } from './dateTimeTypes.js';
|
|
2
|
+
export declare function dateToTimeString<D extends Date | undefined>(dateObject: D): TimeString | '';
|
|
2
3
|
export declare function dateToTimeString(dateObject: Date): TimeString;
|
|
4
|
+
export declare function dateToTimeString(dateObject: undefined): '';
|
package/dateToTimeString.js
CHANGED
package/dateToTimeString.ts
CHANGED
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import type { TimeString } from './dateTimeTypes.js'
|
|
2
2
|
|
|
3
|
+
export function dateToTimeString<D extends Date | undefined>(
|
|
4
|
+
dateObject: D
|
|
5
|
+
): TimeString | ''
|
|
6
|
+
|
|
7
|
+
export function dateToTimeString(dateObject: Date): TimeString
|
|
8
|
+
export function dateToTimeString(dateObject: undefined): ''
|
|
9
|
+
|
|
3
10
|
/**
|
|
4
11
|
* Formats a JavaScript Date object as a time string.
|
|
5
|
-
* @param
|
|
6
|
-
* @returns
|
|
12
|
+
* @param dateObject - A JavaScript Date object.
|
|
13
|
+
* @returns - A string representing the time.
|
|
7
14
|
*/
|
|
8
|
-
export function dateToTimeString(
|
|
15
|
+
export function dateToTimeString(
|
|
16
|
+
dateObject: Date | undefined
|
|
17
|
+
): TimeString | '' {
|
|
18
|
+
if (dateObject === undefined) {
|
|
19
|
+
return ''
|
|
20
|
+
}
|
|
21
|
+
|
|
9
22
|
return Intl.DateTimeFormat('en-CA', {
|
|
10
23
|
hourCycle: 'h24',
|
|
11
24
|
hour: '2-digit',
|
package/isValidDateInteger.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Determines if a number is a valid date number.
|
|
3
|
-
* @param
|
|
4
|
-
* @returns
|
|
3
|
+
* @param possibleDateInteger - A possible date number
|
|
4
|
+
* @returns - True if the possible date integer is valid.
|
|
5
5
|
*/
|
|
6
6
|
export function isValidDateInteger(
|
|
7
7
|
possibleDateInteger: unknown
|
package/isValidDateString.ts
CHANGED
|
@@ -4,8 +4,8 @@ const dateStringRegex = /^\d{4}-[01]\d-[0-3]\d$/
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Determines if a string is a valid date string.
|
|
7
|
-
* @param
|
|
8
|
-
* @returns
|
|
7
|
+
* @param possibleDateString - A possible date string
|
|
8
|
+
* @returns - True when the possible date string is valid
|
|
9
9
|
*/
|
|
10
10
|
export function isValidDateString(
|
|
11
11
|
possibleDateString: unknown
|
package/isValidTimeInteger.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Determines if a number is a valid time number.
|
|
3
|
-
* @param
|
|
4
|
-
* @returns
|
|
3
|
+
* @param possibleTimeInteger - A possible time number
|
|
4
|
+
* @returns - True if the possible time integer is valid.
|
|
5
5
|
*/
|
|
6
6
|
export function isValidTimeInteger(
|
|
7
7
|
possibleTimeInteger: unknown
|
package/isValidTimeString.ts
CHANGED
|
@@ -4,8 +4,8 @@ const timeStringRegex = /^[01]\d:[0-5]\d$/
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Determines if a string is a valid time string.
|
|
7
|
-
* @param
|
|
8
|
-
* @returns
|
|
7
|
+
* @param possibleTimeString - A possible time string.
|
|
8
|
+
* @returns - True when the possible time string is valid.
|
|
9
9
|
*/
|
|
10
10
|
export function isValidTimeString(
|
|
11
11
|
possibleTimeString: unknown
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cityssm/utils-datetime",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "Date time utilities for Node.js applications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"date",
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
"test": "test"
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|
|
28
|
-
"test": "
|
|
29
|
-
"coverage": "c8
|
|
28
|
+
"test": "node --test",
|
|
29
|
+
"coverage": "c8 --reporter=lcov --reporter=text --reporter=text-summary node --test"
|
|
30
30
|
},
|
|
31
31
|
"author": "The Corporation of the City of Sault Ste. Marie",
|
|
32
32
|
"license": "MIT",
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@types/
|
|
35
|
-
"
|
|
36
|
-
"
|
|
34
|
+
"@types/node": "^20.14.5",
|
|
35
|
+
"eslint-config-cityssm": "^5.0.0",
|
|
36
|
+
"prettier-config-cityssm": "^1.0.0"
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TimePeriodString } from './dateTimeTypes.js';
|
|
2
|
-
export declare function timeIntegerToPeriodString(timeInteger
|
|
2
|
+
export declare function timeIntegerToPeriodString(timeInteger?: number | undefined | null): TimePeriodString | '';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { dateIntegerToDate } from './dateIntegerToDate.js';
|
|
2
2
|
import { dateToTimePeriodString } from './dateToTimePeriodString.js';
|
|
3
|
-
export function timeIntegerToPeriodString(timeInteger) {
|
|
4
|
-
return dateToTimePeriodString(dateIntegerToDate(19700101, timeInteger));
|
|
3
|
+
export function timeIntegerToPeriodString(timeInteger = 0) {
|
|
4
|
+
return dateToTimePeriodString(dateIntegerToDate(19700101, timeInteger ?? 0));
|
|
5
5
|
}
|
|
@@ -4,12 +4,12 @@ import { dateToTimePeriodString } from './dateToTimePeriodString.js'
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Formats a time represented as a number as a string.
|
|
7
|
-
* @param
|
|
8
|
-
* @returns
|
|
7
|
+
* @param timeInteger - A number representing a time.
|
|
8
|
+
* @returns - A string representing a time.
|
|
9
9
|
*/
|
|
10
10
|
export function timeIntegerToPeriodString(
|
|
11
|
-
timeInteger: number
|
|
12
|
-
): TimePeriodString {
|
|
11
|
+
timeInteger: number | undefined | null = 0
|
|
12
|
+
): TimePeriodString | '' {
|
|
13
13
|
// eslint-disable-next-line unicorn/numeric-separators-style
|
|
14
|
-
return dateToTimePeriodString(dateIntegerToDate(19700101, timeInteger))
|
|
14
|
+
return dateToTimePeriodString(dateIntegerToDate(19700101, timeInteger ?? 0))
|
|
15
15
|
}
|
package/timeIntegerToString.ts
CHANGED
|
@@ -2,8 +2,8 @@ import type { TimeString } from './dateTimeTypes.js'
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Formats a number representing a time as a string.
|
|
5
|
-
* @param
|
|
6
|
-
* @returns
|
|
5
|
+
* @param timeInteger - A number representing a time.
|
|
6
|
+
* @returns - A string representing a time.
|
|
7
7
|
*/
|
|
8
8
|
export function timeIntegerToString(
|
|
9
9
|
timeInteger: number | undefined | null
|
package/timeStringToInteger.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function timeStringToInteger(timeString: TimeString): number;
|
|
1
|
+
export declare function timeStringToInteger(timeString: string): number | undefined;
|
package/timeStringToInteger.js
CHANGED
package/timeStringToInteger.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { isValidTimeString } from './isValidTimeString.js'
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Formats a string representing a time as a number.
|
|
5
|
-
* @param
|
|
6
|
-
* @returns
|
|
5
|
+
* @param timeString - A string representing a time.
|
|
6
|
+
* @returns - A number representing a time.
|
|
7
7
|
*/
|
|
8
|
-
export function timeStringToInteger(timeString:
|
|
8
|
+
export function timeStringToInteger(timeString: string): number | undefined {
|
|
9
|
+
if (!isValidTimeString(timeString)) {
|
|
10
|
+
return undefined
|
|
11
|
+
}
|
|
12
|
+
|
|
9
13
|
return Number.parseInt(`0${timeString}`.replaceAll(':', ''), 10)
|
|
10
14
|
}
|