@driveflux/time 5.0.2 → 5.0.3-next.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.
- package/dist/config.js +8 -7
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -27
- package/dist/index.js.map +1 -1
- package/dist/translations.js +6 -8
- package/package.json +6 -6
package/dist/config.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { singleton } from '@driveflux/singleton';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
var getConfig = function() {
|
|
3
|
+
return {
|
|
4
|
+
timezone: process.env.TIME_ZONE || 'Asia/Kuala_Lumpur'
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
export var config = singleton('timeConfig', getConfig());
|
|
8
|
+
export var resetConfig = function() {
|
|
7
9
|
config = singleton('timeConfig', getConfig(), true);
|
|
8
10
|
return config;
|
|
9
11
|
};
|
|
10
|
-
export
|
|
12
|
+
export var setConfig = function(key, value) {
|
|
11
13
|
config[key] = value;
|
|
12
14
|
};
|
|
13
|
-
//# sourceMappingURL=config.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -19,8 +19,8 @@ export declare const EASY_FORMATS: {
|
|
|
19
19
|
*
|
|
20
20
|
* @see https://date-fns.org/docs/format
|
|
21
21
|
*/
|
|
22
|
-
export declare const format: (date: string | Date, providedDateFormat?: string, timezone?: string) => string;
|
|
23
|
-
export declare const formatToLocal: (date?: string | Date,
|
|
22
|
+
export declare const format: (date: string | Date, providedDateFormat?: keyof typeof EASY_FORMATS | (string & {}), timezone?: string) => string;
|
|
23
|
+
export declare const formatToLocal: (date?: string | Date, providedDateFormat?: keyof typeof EASY_FORMATS | (string & {})) => string;
|
|
24
24
|
export declare const parse: (date: string) => Date;
|
|
25
25
|
export declare const ensureExtremityOfDay: (date: Date, startOrEnd: "start" | "end", timezone?: string) => Date;
|
|
26
26
|
export declare const getTimeZone: () => string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B;;GAEG;AACH,eAAO,MAAM,mBAAmB,eAAe,CAAA;AAC/C,eAAO,MAAM,mBAAmB,YAAY,CAAA;AAC5C,eAAO,MAAM,oBAAoB,UAAU,CAAA;AAC3C,eAAO,MAAM,YAAY;;;;CAIf,CAAA;AAEV;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,GAClB,MAAM,MAAM,GAAG,IAAI,EACnB,qBAAqB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B;;GAEG;AACH,eAAO,MAAM,mBAAmB,eAAe,CAAA;AAC/C,eAAO,MAAM,mBAAmB,YAAY,CAAA;AAC5C,eAAO,MAAM,oBAAoB,UAAU,CAAA;AAC3C,eAAO,MAAM,YAAY;;;;CAIf,CAAA;AAEV;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,GAClB,MAAM,MAAM,GAAG,IAAI,EACnB,qBAAqB,MAAM,OAAO,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EAC9D,WAAW,MAAM,WAWjB,CAAA;AAED,eAAO,MAAM,aAAa,GACzB,OAAM,MAAM,GAAG,IAAiB,EAChC,qBAAqB,MAAM,OAAO,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,WAG9D,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,SAEjC,CAAA;AAED,eAAO,MAAM,oBAAoB,GAChC,MAAM,IAAI,EACV,YAAY,OAAO,GAAG,KAAK,EAC3B,WAAW,MAAM,SAMjB,CAAA;AAED,eAAO,MAAM,WAAW,cAEvB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,WAAiB,EAAE,WAAW,QAAQ,SAE/D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,WAAiB,EAAE,WAAW,QAAQ,SAE7D,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,SAE3C,CAAA;AAED,cAAc,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
import * as dateFnsTz from 'date-fns-tz';
|
|
2
1
|
import { endOfDay } from 'date-fns/endOfDay';
|
|
3
2
|
import { format as fnsFormat } from 'date-fns/format';
|
|
4
3
|
import { parse as fnsParse } from 'date-fns/parse';
|
|
5
4
|
import { startOfDay } from 'date-fns/startOfDay';
|
|
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(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
|
|
39
|
-
|
|
34
|
+
export var formatToLocal = function() {
|
|
35
|
+
var date = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : new Date(), providedDateFormat = arguments.length > 1 ? arguments[1] : void 0;
|
|
36
|
+
return format(new Date(date), providedDateFormat, config.timezone);
|
|
40
37
|
};
|
|
41
|
-
export
|
|
38
|
+
export var parse = function(date) {
|
|
42
39
|
return fnsParse(date, DEFAULT_DATE_FORMAT, new Date());
|
|
43
40
|
};
|
|
44
|
-
export
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
export var ensureExtremityOfDay = function(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() {
|
|
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() {
|
|
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() {
|
|
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(timezone) {
|
|
70
67
|
config.timezone = timezone;
|
|
71
68
|
};
|
|
72
69
|
export * from './config.js';
|
|
73
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
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(ts) {
|
|
7
|
+
for(var key in ts){
|
|
8
|
+
translations[key] = ts[key];
|
|
10
9
|
}
|
|
11
10
|
};
|
|
12
|
-
export
|
|
11
|
+
export var setTranslation = function(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": "5.0.
|
|
3
|
+
"version": "5.0.3-next.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json",
|
|
@@ -17,16 +17,16 @@
|
|
|
17
17
|
"dist"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@driveflux/singleton": "2.0.
|
|
20
|
+
"@driveflux/singleton": "2.0.3-next.0",
|
|
21
21
|
"date-fns": "^4.1.0",
|
|
22
22
|
"date-fns-tz": "^3.2.0"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@driveflux/fab": "3.0.
|
|
26
|
-
"@driveflux/tsconfig": "2.0.
|
|
27
|
-
"@types/node": "^
|
|
25
|
+
"@driveflux/fab": "3.0.3-next.0",
|
|
26
|
+
"@driveflux/tsconfig": "2.0.3-next.0",
|
|
27
|
+
"@types/node": "^24.3.0",
|
|
28
28
|
"del-cli": "^6.0.0",
|
|
29
|
-
"typescript": "^5.
|
|
29
|
+
"typescript": "^5.9.2"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
32
|
"build": "fab",
|