@bpd-library/utilities 2.0.24 → 2.0.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.
- package/dist/date.d.ts +2 -1
- package/dist/date.js +29 -2
- package/dist/date.js.map +1 -1
- package/dist/date.test.d.ts +1 -0
- package/dist/date.test.js +50 -0
- package/dist/date.test.js.map +1 -0
- package/package.json +2 -2
package/dist/date.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
declare const createDateFromApiString: (dateString: string) => Date;
|
|
1
2
|
declare const calculateDifferenceInDays: (date1: Date, date2: Date) => number;
|
|
2
3
|
declare const hasDatePassed: (date: Date | string) => boolean;
|
|
3
4
|
declare const betweenDates: (dateStart: Date, dateBetween: Date, dateEnd: Date) => boolean;
|
|
4
|
-
export { calculateDifferenceInDays, hasDatePassed, betweenDates };
|
|
5
|
+
export { createDateFromApiString, calculateDifferenceInDays, hasDatePassed, betweenDates };
|
package/dist/date.js
CHANGED
|
@@ -1,9 +1,36 @@
|
|
|
1
|
+
const amsterdamFormatter = new Intl.DateTimeFormat('en-US', {
|
|
2
|
+
timeZone: 'Europe/Amsterdam',
|
|
3
|
+
year: 'numeric',
|
|
4
|
+
month: 'numeric',
|
|
5
|
+
day: 'numeric',
|
|
6
|
+
hour: 'numeric',
|
|
7
|
+
minute: 'numeric',
|
|
8
|
+
second: 'numeric',
|
|
9
|
+
hour12: false,
|
|
10
|
+
});
|
|
11
|
+
const parseDateAsCET = (dateString) => {
|
|
12
|
+
const asUtc = new Date(`${dateString}Z`);
|
|
13
|
+
const parts = amsterdamFormatter.formatToParts(asUtc);
|
|
14
|
+
const getPart = (type) => { var _a; return parseInt(((_a = parts.find((p) => p.type === type)) === null || _a === void 0 ? void 0 : _a.value) || '0', 10); };
|
|
15
|
+
const amsterdamOffsetDate = new Date(Date.UTC(getPart('year'), getPart('month') - 1, getPart('day'), getPart('hour'), getPart('minute'), getPart('second'), asUtc.getUTCMilliseconds()));
|
|
16
|
+
const offsetMs = amsterdamOffsetDate.getTime() - asUtc.getTime();
|
|
17
|
+
return new Date(asUtc.getTime() - offsetMs);
|
|
18
|
+
};
|
|
19
|
+
const createDateFromApiString = (dateString) => {
|
|
20
|
+
const hasTimezone = /Z|[+-]\d{1,2}:?\d{2}$|[+-]\d{1,2}$/.test(dateString);
|
|
21
|
+
if (!hasTimezone) {
|
|
22
|
+
return parseDateAsCET(dateString);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return new Date(dateString);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
1
28
|
const calculateDifferenceInDays = (date1, date2) => {
|
|
2
29
|
return Math.abs((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24));
|
|
3
30
|
};
|
|
4
31
|
const hasDatePassed = (date) => {
|
|
5
32
|
if (typeof date === 'string')
|
|
6
|
-
date =
|
|
33
|
+
date = createDateFromApiString(date);
|
|
7
34
|
return Date.now() > date.getTime();
|
|
8
35
|
};
|
|
9
36
|
const betweenDates = (dateStart, dateBetween, dateEnd) => {
|
|
@@ -11,5 +38,5 @@ const betweenDates = (dateStart, dateBetween, dateEnd) => {
|
|
|
11
38
|
const beforeDateEnd = dateBetween < dateEnd;
|
|
12
39
|
return afterDateStart && beforeDateEnd;
|
|
13
40
|
};
|
|
14
|
-
export { calculateDifferenceInDays, hasDatePassed, betweenDates };
|
|
41
|
+
export { createDateFromApiString, calculateDifferenceInDays, hasDatePassed, betweenDates };
|
|
15
42
|
//# sourceMappingURL=date.js.map
|
package/dist/date.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.js","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"AACA,MAAM,kBAAkB,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;IACxD,QAAQ,EAAE,kBAAkB;IAC5B,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,KAAK;CAChB,CAAC,CAAC;AAMH,MAAM,cAAc,GAAG,CAAC,UAAkB,EAAQ,EAAE;IAGhD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;IAGzC,MAAM,KAAK,GAAG,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAGtD,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,WAC7B,OAAA,QAAQ,CAAC,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,0CAAE,KAAK,KAAI,GAAG,EAAE,EAAE,CAAC,CAAA,EAAA,CAAC;IAGnE,MAAM,mBAAmB,GAAG,IAAI,IAAI,CAChC,IAAI,CAAC,GAAG,CACJ,OAAO,CAAC,MAAM,CAAC,EACf,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EACpB,OAAO,CAAC,KAAK,CAAC,EACd,OAAO,CAAC,MAAM,CAAC,EACf,OAAO,CAAC,QAAQ,CAAC,EACjB,OAAO,CAAC,QAAQ,CAAC,EACjB,KAAK,CAAC,kBAAkB,EAAE,CAC7B,CACJ,CAAC;IAIF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAGjE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,UAAkB,EAAQ,EAAE;IAIzD,MAAM,WAAW,GAAG,oCAAoC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE1E,IAAI,CAAC,WAAW,EAAE;QAEd,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;KACrC;SAAM;QACH,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;KAC/B;AACL,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,KAAW,EAAE,KAAW,EAAU,EAAE;IACnE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAmB,EAAE,EAAE;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,SAAe,EAAE,WAAiB,EAAE,OAAa,EAAW,EAAE;IAChF,MAAM,cAAc,GAAG,WAAW,GAAG,SAAS,CAAC;IAC/C,MAAM,aAAa,GAAG,WAAW,GAAG,OAAO,CAAC;IAE5C,OAAO,cAAc,IAAI,aAAa,CAAC;AAC3C,CAAC,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC","sourcesContent":["// Cache the formatter for better performance\nconst amsterdamFormatter = new Intl.DateTimeFormat('en-US', {\n timeZone: 'Europe/Amsterdam',\n year: 'numeric',\n month: 'numeric',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n hour12: false,\n});\n\n/**\n * Converts a date string without timezone information to a Date object,\n * treating the time as CET (Central European Time - Europe/Amsterdam)\n */\nconst parseDateAsCET = (dateString: string): Date => {\n // Treat the input string as UTC by appending 'Z'\n // This allows native parsing and handles optional milliseconds automatically\n const asUtc = new Date(`${dateString}Z`);\n\n // Determine what this UTC time looks like in Amsterdam\n const parts = amsterdamFormatter.formatToParts(asUtc);\n\n // Helper to extract values from the parts array\n const getPart = (type: string) =>\n parseInt(parts.find((p) => p.type === type)?.value || '0', 10);\n\n // Create a UTC date that matches the Amsterdam components\n const amsterdamOffsetDate = new Date(\n Date.UTC(\n getPart('year'),\n getPart('month') - 1,\n getPart('day'),\n getPart('hour'),\n getPart('minute'),\n getPart('second'),\n asUtc.getUTCMilliseconds(), // Preserve milliseconds from original\n ),\n );\n\n // Calculate the offset and shift the original date\n // offset = (Amsterdam Time) - (UTC Time)\n const offsetMs = amsterdamOffsetDate.getTime() - asUtc.getTime();\n\n // We want the result to be: Input Time - Offset\n return new Date(asUtc.getTime() - offsetMs);\n};\n\nconst createDateFromApiString = (dateString: string): Date => {\n // Check if the date string already has timezone information\n // Timezone info is indicated by 'Z' suffix or '+'/'-' with offset\n // Supports formats like: Z, +01:00, -05:00, +0100, -0500, +1:00\n const hasTimezone = /Z|[+-]\\d{1,2}:?\\d{2}$|[+-]\\d{1,2}$/.test(dateString);\n\n if (!hasTimezone) {\n // If no timezone specified, treat as CET (Europe/Amsterdam)\n return parseDateAsCET(dateString);\n } else {\n return new Date(dateString);\n }\n};\n\nconst calculateDifferenceInDays = (date1: Date, date2: Date): number => {\n return Math.abs((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24));\n};\n\nconst hasDatePassed = (date: Date | string) => {\n if (typeof date === 'string') date = createDateFromApiString(date);\n return Date.now() > date.getTime();\n};\n\nconst betweenDates = (dateStart: Date, dateBetween: Date, dateEnd: Date): boolean => {\n const afterDateStart = dateBetween > dateStart;\n const beforeDateEnd = dateBetween < dateEnd;\n\n return afterDateStart && beforeDateEnd;\n};\n\nexport { createDateFromApiString, calculateDifferenceInDays, hasDatePassed, betweenDates };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { hasDatePassed } from './date';
|
|
2
|
+
describe('Date utilities', function () {
|
|
3
|
+
beforeEach(() => {
|
|
4
|
+
jasmine.clock().install();
|
|
5
|
+
jasmine.clock().mockDate(new Date('2024-06-15T12:00:00Z'));
|
|
6
|
+
});
|
|
7
|
+
afterEach(() => {
|
|
8
|
+
jasmine.clock().uninstall();
|
|
9
|
+
});
|
|
10
|
+
it('Should interpret date without timezone as CET and detect it has passed', function () {
|
|
11
|
+
const pastDate = '2024-06-15T13:00:00';
|
|
12
|
+
expect(hasDatePassed(pastDate)).toBe(true);
|
|
13
|
+
});
|
|
14
|
+
it('Should interpret date without timezone as CET and detect it has not passed', function () {
|
|
15
|
+
const futureDate = '2024-06-15T15:00:00';
|
|
16
|
+
expect(hasDatePassed(futureDate)).toBe(false);
|
|
17
|
+
});
|
|
18
|
+
it('Should respect timezone when explicitly provided with Z (UTC)', function () {
|
|
19
|
+
const pastDate = '2024-06-15T11:00:00Z';
|
|
20
|
+
expect(hasDatePassed(pastDate)).toBe(true);
|
|
21
|
+
const futureDate = '2024-06-15T13:00:00Z';
|
|
22
|
+
expect(hasDatePassed(futureDate)).toBe(false);
|
|
23
|
+
});
|
|
24
|
+
it('Should respect timezone when explicitly provided with offset', function () {
|
|
25
|
+
const exactDate = '2024-06-15T14:00:00+02:00';
|
|
26
|
+
expect(hasDatePassed(exactDate)).toBe(false);
|
|
27
|
+
const pastDate = '2024-06-15T13:59:00+02:00';
|
|
28
|
+
expect(hasDatePassed(pastDate)).toBe(true);
|
|
29
|
+
});
|
|
30
|
+
it('Should work with Date objects', function () {
|
|
31
|
+
const pastDate = new Date('2024-06-15T11:00:00Z');
|
|
32
|
+
expect(hasDatePassed(pastDate)).toBe(true);
|
|
33
|
+
const futureDate = new Date('2024-06-15T13:00:00Z');
|
|
34
|
+
expect(hasDatePassed(futureDate)).toBe(false);
|
|
35
|
+
});
|
|
36
|
+
it('Should handle winter time (CET = UTC+1)', function () {
|
|
37
|
+
jasmine.clock().mockDate(new Date('2024-01-15T12:00:00Z'));
|
|
38
|
+
const pastDate = '2024-01-15T12:00:00';
|
|
39
|
+
expect(hasDatePassed(pastDate)).toBe(true);
|
|
40
|
+
const futureDate = '2024-01-15T14:00:00';
|
|
41
|
+
expect(hasDatePassed(futureDate)).toBe(false);
|
|
42
|
+
});
|
|
43
|
+
it('Should handle dates with milliseconds', function () {
|
|
44
|
+
const pastDate = '2024-06-15T13:00:00.500';
|
|
45
|
+
expect(hasDatePassed(pastDate)).toBe(true);
|
|
46
|
+
const futureDate = '2024-06-15T15:00:00.123';
|
|
47
|
+
expect(hasDatePassed(futureDate)).toBe(false);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=date.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.test.js","sourceRoot":"","sources":["../src/date.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { hasDatePassed } from './date';\n\ndescribe('Date utilities', function () {\n beforeEach(() => {\n // Mock Date.now() to return a consistent timestamp for testing\n // Using 2024-06-15T14:00:00 CET (which is 2024-06-15T12:00:00 UTC in summer time)\n // CET is UTC+1 in winter, CEST (summer) is UTC+2\n jasmine.clock().install();\n jasmine.clock().mockDate(new Date('2024-06-15T12:00:00Z')); // 14:00 CEST\n });\n\n afterEach(() => {\n jasmine.clock().uninstall();\n });\n\n it('Should interpret date without timezone as CET and detect it has passed', function () {\n // This time is 13:00 CEST (11:00 UTC), which is before our mocked \"now\" (14:00 CEST = 12:00 UTC)\n const pastDate = '2024-06-15T13:00:00';\n expect(hasDatePassed(pastDate)).toBe(true);\n });\n\n it('Should interpret date without timezone as CET and detect it has not passed', function () {\n // This time is 15:00 CEST (13:00 UTC), which is after our mocked \"now\" (14:00 CEST = 12:00 UTC)\n const futureDate = '2024-06-15T15:00:00';\n expect(hasDatePassed(futureDate)).toBe(false);\n });\n\n it('Should respect timezone when explicitly provided with Z (UTC)', function () {\n // 11:00 UTC is before 12:00 UTC (our mocked now)\n const pastDate = '2024-06-15T11:00:00Z';\n expect(hasDatePassed(pastDate)).toBe(true);\n\n // 13:00 UTC is after 12:00 UTC (our mocked now)\n const futureDate = '2024-06-15T13:00:00Z';\n expect(hasDatePassed(futureDate)).toBe(false);\n });\n\n it('Should respect timezone when explicitly provided with offset', function () {\n // 14:00+02:00 is 12:00 UTC, exactly at our mocked now\n const exactDate = '2024-06-15T14:00:00+02:00';\n expect(hasDatePassed(exactDate)).toBe(false);\n\n // 13:59+02:00 is 11:59 UTC, before our mocked now\n const pastDate = '2024-06-15T13:59:00+02:00';\n expect(hasDatePassed(pastDate)).toBe(true);\n });\n\n it('Should work with Date objects', function () {\n const pastDate = new Date('2024-06-15T11:00:00Z');\n expect(hasDatePassed(pastDate)).toBe(true);\n\n const futureDate = new Date('2024-06-15T13:00:00Z');\n expect(hasDatePassed(futureDate)).toBe(false);\n });\n\n it('Should handle winter time (CET = UTC+1)', function () {\n // Mock to January when CET is UTC+1 (not daylight saving)\n jasmine.clock().mockDate(new Date('2024-01-15T12:00:00Z')); // 13:00 CET\n\n // 12:00 CET (11:00 UTC) is before our mocked \"now\" (13:00 CET = 12:00 UTC)\n const pastDate = '2024-01-15T12:00:00';\n expect(hasDatePassed(pastDate)).toBe(true);\n\n // 14:00 CET (13:00 UTC) is after our mocked \"now\" (13:00 CET = 12:00 UTC)\n const futureDate = '2024-01-15T14:00:00';\n expect(hasDatePassed(futureDate)).toBe(false);\n });\n\n it('Should handle dates with milliseconds', function () {\n // 13:00:00.500 CEST (11:00:00.500 UTC) is before our mocked \"now\" (14:00 CEST = 12:00 UTC)\n const pastDate = '2024-06-15T13:00:00.500';\n expect(hasDatePassed(pastDate)).toBe(true);\n\n // 15:00:00.123 CEST (13:00:00.123 UTC) is after our mocked \"now\" (14:00 CEST = 12:00 UTC)\n const futureDate = '2024-06-15T15:00:00.123';\n expect(hasDatePassed(futureDate)).toBe(false);\n });\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bpd-library/utilities",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.25",
|
|
4
4
|
"description": "Description",
|
|
5
5
|
"url": "https://github.com/{repo name}",
|
|
6
6
|
"license": "MIT",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@atomify/hooks": "1.1.11",
|
|
45
45
|
"@atomify/jsx": "1.7.1",
|
|
46
46
|
"@atomify/kit": "1.1.11",
|
|
47
|
-
"@bpd-library/types": "^2.0.
|
|
47
|
+
"@bpd-library/types": "^2.0.25",
|
|
48
48
|
"qs": "^6.9.4",
|
|
49
49
|
"query-string": "5"
|
|
50
50
|
}
|