@driveflux/time 6.0.4 → 6.0.5
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/config.js +8 -9
- package/dist/index.js +21 -25
- package/dist/translations.js +6 -8
- package/package.json +4 -4
package/dist/config.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { initSingleton } from '@driveflux/singleton';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
? process.env.TIME_ZONE || 'Asia/Kuala_Lumpur'
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
export
|
|
8
|
-
export
|
|
2
|
+
var getConfig = function getConfig() {
|
|
3
|
+
return {
|
|
4
|
+
timezone: typeof process !== 'undefined' ? process.env.TIME_ZONE || 'Asia/Kuala_Lumpur' : 'Asia/Kuala_Lumpur'
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
export var config = initSingleton('timeConfig', getConfig);
|
|
8
|
+
export var resetConfig = function resetConfig() {
|
|
9
9
|
config = initSingleton('timeConfig', getConfig, true);
|
|
10
10
|
return config;
|
|
11
11
|
};
|
|
12
|
-
export
|
|
12
|
+
export var setConfig = function setConfig(key, value) {
|
|
13
13
|
config[key] = value;
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=config.js.map
|
package/dist/index.js
CHANGED
|
@@ -4,17 +4,16 @@ import { parse as fnsParse } from 'date-fns/parse';
|
|
|
4
4
|
import { startOfDay } from 'date-fns/startOfDay';
|
|
5
5
|
import * as dateFnsTz from 'date-fns-tz';
|
|
6
6
|
import { config } from './config.js';
|
|
7
|
-
|
|
7
|
+
var fromZonedTime = dateFnsTz.fromZonedTime, toZonedTime = dateFnsTz.toZonedTime;
|
|
8
8
|
/**
|
|
9
9
|
* @see https://date-fns.org/docs/format
|
|
10
|
-
*/
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export const EASY_FORMATS = {
|
|
10
|
+
*/ export var DEFAULT_DATE_FORMAT = 'dd-MM-yyyy';
|
|
11
|
+
export var DEFAULT_TIME_FORMAT = 'hh:mm a';
|
|
12
|
+
export var NUMBERED_TIME_FORMAT = 'hh:mm';
|
|
13
|
+
export var EASY_FORMATS = {
|
|
15
14
|
date: DEFAULT_DATE_FORMAT,
|
|
16
15
|
time: DEFAULT_TIME_FORMAT,
|
|
17
|
-
full:
|
|
16
|
+
full: "".concat(DEFAULT_DATE_FORMAT, " ").concat(DEFAULT_TIME_FORMAT)
|
|
18
17
|
};
|
|
19
18
|
/**
|
|
20
19
|
* Formats a date according to date-fns format
|
|
@@ -24,50 +23,47 @@ export const EASY_FORMATS = {
|
|
|
24
23
|
* - full: dd-MM-yyyy hh:mm a
|
|
25
24
|
*
|
|
26
25
|
* @see https://date-fns.org/docs/format
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
let dateFormat = providedDateFormat || DEFAULT_DATE_FORMAT;
|
|
26
|
+
*/ export var format = function format(date, providedDateFormat, timezone) {
|
|
27
|
+
var dateFormat = providedDateFormat || DEFAULT_DATE_FORMAT;
|
|
30
28
|
if (dateFormat in EASY_FORMATS) {
|
|
31
29
|
dateFormat = EASY_FORMATS[dateFormat];
|
|
32
30
|
}
|
|
33
|
-
|
|
34
|
-
? toZonedTime(new Date(date), timezone)
|
|
35
|
-
: new Date(date);
|
|
31
|
+
var newDate = timezone ? toZonedTime(new Date(date), timezone) : new Date(date);
|
|
36
32
|
return fnsFormat(newDate, dateFormat);
|
|
37
33
|
};
|
|
38
|
-
export
|
|
34
|
+
export var formatToLocal = function formatToLocal() {
|
|
35
|
+
var date = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : new Date(), providedDateFormat = arguments.length > 1 ? arguments[1] : void 0;
|
|
39
36
|
return format(new Date(date), providedDateFormat, config.timezone);
|
|
40
37
|
};
|
|
41
|
-
export
|
|
38
|
+
export var parse = function parse(date) {
|
|
42
39
|
return fnsParse(date, DEFAULT_DATE_FORMAT, new Date());
|
|
43
40
|
};
|
|
44
|
-
export
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
export var ensureExtremityOfDay = function ensureExtremityOfDay(date, startOrEnd, timezone) {
|
|
42
|
+
var extremity = startOrEnd === 'end' ? endOfDay : startOfDay;
|
|
43
|
+
var tz = timezone || getTimeZone();
|
|
47
44
|
// First convert date to UTC, apply start of day, then convert back to timezone
|
|
48
45
|
return fromZonedTime(extremity(toZonedTime(date, tz)), tz);
|
|
49
46
|
};
|
|
50
|
-
export
|
|
47
|
+
export var getTimeZone = function getTimeZone() {
|
|
51
48
|
return config.timezone;
|
|
52
49
|
};
|
|
53
50
|
/**
|
|
54
51
|
*
|
|
55
52
|
* @param date Date is in UTC and this will convert to a zoned time (00:00:00 => 16:00:00)
|
|
56
53
|
* @returns
|
|
57
|
-
*/
|
|
58
|
-
|
|
54
|
+
*/ export var zonedDate = function zonedDate() {
|
|
55
|
+
var date = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : new Date(), timezone = arguments.length > 1 ? arguments[1] : void 0;
|
|
59
56
|
return fromZonedTime(date, timezone || getTimeZone());
|
|
60
57
|
};
|
|
61
58
|
/**
|
|
62
59
|
*
|
|
63
60
|
* @param date Date is in UTC and this will convert to a zoned time (16:00:00 => 00:00:00)
|
|
64
61
|
* @returns
|
|
65
|
-
*/
|
|
66
|
-
|
|
62
|
+
*/ export var utcDate = function utcDate() {
|
|
63
|
+
var date = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : new Date(), timezone = arguments.length > 1 ? arguments[1] : void 0;
|
|
67
64
|
return toZonedTime(date, timezone || getTimeZone());
|
|
68
65
|
};
|
|
69
|
-
export
|
|
66
|
+
export var setTimeZone = function setTimeZone(timezone) {
|
|
70
67
|
config.timezone = timezone;
|
|
71
68
|
};
|
|
72
69
|
export * from './config.js';
|
|
73
|
-
//# sourceMappingURL=index.js.map
|
package/dist/translations.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { singleton } from '@driveflux/singleton';
|
|
2
|
-
export
|
|
2
|
+
export var translations = singleton('timeTranslations', {
|
|
3
3
|
am: 'am',
|
|
4
|
-
pm: 'pm'
|
|
4
|
+
pm: 'pm'
|
|
5
5
|
});
|
|
6
|
-
export
|
|
7
|
-
for
|
|
8
|
-
translations[key] =
|
|
9
|
-
ts[key];
|
|
6
|
+
export var setTranslations = function setTranslations(ts) {
|
|
7
|
+
for(var key in ts){
|
|
8
|
+
translations[key] = ts[key];
|
|
10
9
|
}
|
|
11
10
|
};
|
|
12
|
-
export
|
|
11
|
+
export var setTranslation = function setTranslation(key, value) {
|
|
13
12
|
translations[key] = value;
|
|
14
13
|
};
|
|
15
|
-
//# sourceMappingURL=translations.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@driveflux/time",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json",
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
"dist"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@driveflux/singleton": "3.0.
|
|
21
|
-
"date-fns": "^4.
|
|
20
|
+
"@driveflux/singleton": "3.0.3",
|
|
21
|
+
"date-fns": "^4.3.0",
|
|
22
22
|
"date-fns-tz": "^3.2.0"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@driveflux/fab": "4.0.
|
|
25
|
+
"@driveflux/fab": "4.0.3",
|
|
26
26
|
"@driveflux/tsconfig": "3.0.2",
|
|
27
27
|
"@types/node": "^25.9.1",
|
|
28
28
|
"del-cli": "^7.0.0",
|