@driveflux/time 4.0.9 → 4.1.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.d.ts.map +1 -1
- package/dist/config.js +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -71
- package/dist/translations.d.ts.map +1 -1
- package/dist/translations.js +13 -0
- package/package.json +18 -16
- package/.turbo/turbo-build.log +0 -18
- package/.turbo/turbo-build:js.log +0 -5
- package/.turbo/turbo-build:types.log +0 -5
- package/.turbo/turbo-clean.log +0 -5
- package/CHANGELOG.md +0 -623
- package/build.js +0 -39
- package/dist/cjs/index.js +0 -129
- package/dist/cjs/index.js.map +0 -7
- package/dist/cjs/package.json +0 -3
- package/dist/index.js.map +0 -7
- package/src/config.ts +0 -21
- package/src/index.ts +0 -84
- package/src/translations.ts +0 -16
- package/tsconfig.json +0 -15
- package/tsconfig.tsbuildinfo +0 -1
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,MAAM,GAAG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,MAAM,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAA;CAChB,CAAA;AAMD,eAAO,IAAI,MAAM,EAAE,MAA6C,CAAA;AAEhE,eAAO,MAAM,WAAW,cAIvB,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,GAAG,SAAS,MAAM,MAAM,OAC5C,GAAG,SACD,MAAM,CAAC,GAAG,CAAC,SAGlB,CAAA"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { singleton } from '@driveflux/singleton';
|
|
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() {
|
|
9
|
+
config = singleton('timeConfig', getConfig(), true);
|
|
10
|
+
return config;
|
|
11
|
+
};
|
|
12
|
+
export var setConfig = function(key, value) {
|
|
13
|
+
config[key] = value;
|
|
14
|
+
};
|
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,
|
|
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,SACZ,MAAM,GAAG,IAAI,uBACE,MAAM,aAChB,MAAM,WAWjB,CAAA;AAED,eAAO,MAAM,aAAa,UACnB,MAAM,GAAG,IAAI,aACR,MAAM,WAGjB,CAAA;AAED,eAAO,MAAM,KAAK,SAAU,MAAM,SAEjC,CAAA;AAED,eAAO,MAAM,oBAAoB,SAC1B,IAAI,cACE,OAAO,GAAG,KAAK,aAChB,MAAM,SAMjB,CAAA;AAED,eAAO,MAAM,WAAW,cAEvB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,2BAAkC,QAAQ,SAE/D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,2BAAkC,QAAQ,SAE7D,CAAA;AAED,eAAO,MAAM,WAAW,aAAc,MAAM,SAE3C,CAAA;AAED,cAAc,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,80 +1,69 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import * as dateFnsTz from 'date-fns-tz';
|
|
2
|
+
import { endOfDay } from 'date-fns/endOfDay';
|
|
3
|
+
import { format as fnsFormat } from 'date-fns/format';
|
|
4
|
+
import { parse as fnsParse } from 'date-fns/parse';
|
|
5
|
+
import { startOfDay } from 'date-fns/startOfDay';
|
|
6
|
+
import { config } from './config.js';
|
|
7
|
+
var fromZonedTime = dateFnsTz.fromZonedTime, toZonedTime = dateFnsTz.toZonedTime;
|
|
8
|
+
/**
|
|
9
|
+
* @see https://date-fns.org/docs/format
|
|
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 = {
|
|
14
|
+
date: DEFAULT_DATE_FORMAT,
|
|
15
|
+
time: DEFAULT_TIME_FORMAT,
|
|
16
|
+
full: "".concat(DEFAULT_DATE_FORMAT, " ").concat(DEFAULT_TIME_FORMAT)
|
|
17
17
|
};
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Formats a date according to date-fns format
|
|
20
|
+
* There are 3 helper formats:
|
|
21
|
+
* - date: dd-MM-yyyy
|
|
22
|
+
* - time: hh:mm a
|
|
23
|
+
* - full: dd-MM-yyyy hh:mm a
|
|
24
|
+
*
|
|
25
|
+
* @see https://date-fns.org/docs/format
|
|
26
|
+
*/ export var format = function(date, providedDateFormat, timezone) {
|
|
27
|
+
var dateFormat = providedDateFormat || DEFAULT_DATE_FORMAT;
|
|
28
|
+
if (dateFormat in EASY_FORMATS) {
|
|
29
|
+
dateFormat = EASY_FORMATS[dateFormat];
|
|
30
|
+
}
|
|
31
|
+
var newDate = timezone ? toZonedTime(new Date(date), timezone) : new Date(date);
|
|
32
|
+
return fnsFormat(newDate, dateFormat);
|
|
20
33
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var DEFAULT_DATE_FORMAT = "dd-MM-yyyy";
|
|
25
|
-
var DEFAULT_TIME_FORMAT = "hh:mm a";
|
|
26
|
-
var NUMBERED_TIME_FORMAT = "hh:mm";
|
|
27
|
-
var EASY_FORMATS = {
|
|
28
|
-
date: DEFAULT_DATE_FORMAT,
|
|
29
|
-
time: DEFAULT_TIME_FORMAT,
|
|
30
|
-
full: `${DEFAULT_DATE_FORMAT} ${DEFAULT_TIME_FORMAT}`
|
|
34
|
+
export var formatToLocal = function() {
|
|
35
|
+
var date = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : new Date(), timezone = arguments.length > 1 ? arguments[1] : void 0;
|
|
36
|
+
return format(new Date(date), undefined, timezone || config.timezone);
|
|
31
37
|
};
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
if (dateFormat in EASY_FORMATS) {
|
|
35
|
-
dateFormat = EASY_FORMATS[dateFormat];
|
|
36
|
-
}
|
|
37
|
-
const newDate = timezone ? toZonedTime(new Date(date), timezone) : new Date(date);
|
|
38
|
-
return fnsFormat(newDate, dateFormat);
|
|
38
|
+
export var parse = function(date) {
|
|
39
|
+
return fnsParse(date, DEFAULT_DATE_FORMAT, new Date());
|
|
39
40
|
};
|
|
40
|
-
var
|
|
41
|
-
|
|
41
|
+
export var ensureExtremityOfDay = function(date, startOrEnd, timezone) {
|
|
42
|
+
var extremity = startOrEnd === 'end' ? endOfDay : startOfDay;
|
|
43
|
+
var tz = timezone || getTimeZone();
|
|
44
|
+
// First convert date to UTC, apply start of day, then convert back to timezone
|
|
45
|
+
return fromZonedTime(extremity(toZonedTime(date, tz)), tz);
|
|
42
46
|
};
|
|
43
|
-
var
|
|
44
|
-
|
|
47
|
+
export var getTimeZone = function() {
|
|
48
|
+
return config.timezone;
|
|
45
49
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
/**
|
|
51
|
+
*
|
|
52
|
+
* @param date Date is in UTC and this will convert to a zoned time (00:00:00 => 16:00:00)
|
|
53
|
+
* @returns
|
|
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;
|
|
56
|
+
return fromZonedTime(date, timezone || getTimeZone());
|
|
50
57
|
};
|
|
51
|
-
|
|
52
|
-
|
|
58
|
+
/**
|
|
59
|
+
*
|
|
60
|
+
* @param date Date is in UTC and this will convert to a zoned time (16:00:00 => 00:00:00)
|
|
61
|
+
* @returns
|
|
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;
|
|
64
|
+
return toZonedTime(date, timezone || getTimeZone());
|
|
53
65
|
};
|
|
54
|
-
var
|
|
55
|
-
|
|
66
|
+
export var setTimeZone = function(timezone) {
|
|
67
|
+
config.timezone = timezone;
|
|
56
68
|
};
|
|
57
|
-
|
|
58
|
-
return toZonedTime(date, timezone || getTimeZone());
|
|
59
|
-
};
|
|
60
|
-
var setTimeZone = (timezone) => {
|
|
61
|
-
config.timezone = timezone;
|
|
62
|
-
};
|
|
63
|
-
export {
|
|
64
|
-
DEFAULT_DATE_FORMAT,
|
|
65
|
-
DEFAULT_TIME_FORMAT,
|
|
66
|
-
EASY_FORMATS,
|
|
67
|
-
NUMBERED_TIME_FORMAT,
|
|
68
|
-
config,
|
|
69
|
-
ensureExtremityOfDay,
|
|
70
|
-
format,
|
|
71
|
-
formatToLocal,
|
|
72
|
-
getTimeZone,
|
|
73
|
-
parse,
|
|
74
|
-
resetConfig,
|
|
75
|
-
setConfig,
|
|
76
|
-
setTimeZone,
|
|
77
|
-
utcDate,
|
|
78
|
-
zonedDate
|
|
79
|
-
};
|
|
80
|
-
//# sourceMappingURL=index.js.map
|
|
69
|
+
export * from './config.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../src/translations.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;CAGvB,CAAA;AAEF,eAAO,MAAM,eAAe,OAAQ,OAAO,CAAC,OAAO,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../src/translations.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;CAGvB,CAAA;AAEF,eAAO,MAAM,eAAe,OAAQ,OAAO,CAAC,OAAO,YAAY,CAAC,SAK/D,CAAA;AAED,eAAO,MAAM,cAAc,QACrB,MAAM,OAAO,YAAY,SACvB,MAAM,SAGb,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { singleton } from '@driveflux/singleton';
|
|
2
|
+
export var translations = singleton('timeTranslations', {
|
|
3
|
+
am: 'am',
|
|
4
|
+
pm: 'pm'
|
|
5
|
+
});
|
|
6
|
+
export var setTranslations = function(ts) {
|
|
7
|
+
for(var key in ts){
|
|
8
|
+
translations[key] = ts[key];
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
export var setTranslation = function(key, value) {
|
|
12
|
+
translations[key] = value;
|
|
13
|
+
};
|
package/package.json
CHANGED
|
@@ -1,40 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@driveflux/time",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json",
|
|
7
7
|
".": {
|
|
8
8
|
"import": "./dist/index.js",
|
|
9
|
-
"require": "./dist/cjs/index.js",
|
|
10
9
|
"types": "./dist/index.d.ts"
|
|
11
10
|
},
|
|
12
11
|
"./config": {
|
|
13
12
|
"import": "./dist/config.js",
|
|
14
|
-
"require": "./dist/cjs/config.js",
|
|
15
13
|
"types": "./dist/config.d.ts"
|
|
16
14
|
}
|
|
17
15
|
},
|
|
18
|
-
"main": "dist/cjs/index.js",
|
|
19
|
-
"module": "dist/index.js",
|
|
20
|
-
"types": "dist/index.d.ts",
|
|
21
16
|
"dependencies": {
|
|
22
|
-
"@driveflux/singleton": "1.0
|
|
17
|
+
"@driveflux/singleton": "1.1.0",
|
|
23
18
|
"date-fns": "^3.6.0",
|
|
24
19
|
"date-fns-tz": "^3.1.3"
|
|
25
20
|
},
|
|
26
21
|
"devDependencies": {
|
|
27
|
-
"@
|
|
22
|
+
"@driveflux/fab": "2.1.0",
|
|
23
|
+
"@driveflux/tsconfig": "1.1.0",
|
|
24
|
+
"@types/node": "^20.14.10",
|
|
28
25
|
"del-cli": "^5.1.0",
|
|
29
|
-
"
|
|
30
|
-
"esbuild-register": "^3.5.0",
|
|
31
|
-
"typescript": "^5.5.2"
|
|
26
|
+
"typescript": "^5.5.3"
|
|
32
27
|
},
|
|
28
|
+
"files": [
|
|
29
|
+
"dist"
|
|
30
|
+
],
|
|
33
31
|
"scripts": {
|
|
34
|
-
"build": "
|
|
35
|
-
"build:js": "
|
|
36
|
-
"build:types": "
|
|
37
|
-
"clean": "
|
|
38
|
-
"type-check": "tsc --noEmit"
|
|
32
|
+
"build": "fab",
|
|
33
|
+
"build:js": "fab -t esm",
|
|
34
|
+
"build:types": "fab -t types",
|
|
35
|
+
"clean": "fab clean",
|
|
36
|
+
"type-check": "tsc --noEmit",
|
|
37
|
+
"check": "biome check --write ./src",
|
|
38
|
+
"lint:errors": "pnpm lint --diagnostic-level error",
|
|
39
|
+
"format": "biome format --write ./src",
|
|
40
|
+
"lint": "biome lint --write --unsafe ./src"
|
|
39
41
|
}
|
|
40
42
|
}
|
package/.turbo/turbo-build.log
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
[43m[30m WARN [39m[49m Issue while reading "/Users/flux/Projects/flux-master/.npmrc". Failed to replace env in config: ${NPM_TOKEN}
|
|
2
|
-
|
|
3
|
-
> @driveflux/time@4.0.8 build /Users/flux/Projects/flux-master/packages/time
|
|
4
|
-
> npm run clean && npm run build:types && npm run build:js
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
> @driveflux/time@4.0.8 clean
|
|
8
|
-
> del dist/**/*.js
|
|
9
|
-
|
|
10
|
-
[1G[0K[1G[0K\[1G[0K
|
|
11
|
-
> @driveflux/time@4.0.8 build:types
|
|
12
|
-
> tsc --build
|
|
13
|
-
|
|
14
|
-
[1G[0K[1G[0K\[1G[0K
|
|
15
|
-
> @driveflux/time@4.0.8 build:js
|
|
16
|
-
> node -r esbuild-register build.js
|
|
17
|
-
|
|
18
|
-
[1G[0K[1G[0K\[1G[0K
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
[36m@driveflux/time:build:js[0m: cache hit, replaying output [2me1c20c6096fa3cef[0m
|
|
2
|
-
[36m@driveflux/time:build:js: [0m
|
|
3
|
-
[36m@driveflux/time:build:js: [0m> @driveflux/time@2.0.2 build:js /Users/flux/Projects/flux/packages/time
|
|
4
|
-
[36m@driveflux/time:build:js: [0m> node -r esbuild-register build.js
|
|
5
|
-
[36m@driveflux/time:build:js: [0m
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
[35m@driveflux/time:build:types[0m: cache hit, replaying output [2mc7b18ac70021169a[0m
|
|
2
|
-
[35m@driveflux/time:build:types: [0m
|
|
3
|
-
[35m@driveflux/time:build:types: [0m> @driveflux/time@2.0.2 build:types /Users/flux/Projects/flux/packages/time
|
|
4
|
-
[35m@driveflux/time:build:types: [0m> tsc --build
|
|
5
|
-
[35m@driveflux/time:build:types: [0m
|
package/.turbo/turbo-clean.log
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
[36m@driveflux/time:clean[0m: cache hit, replaying output [2m930e69088212a470[0m
|
|
2
|
-
[36m@driveflux/time:clean: [0m
|
|
3
|
-
[36m@driveflux/time:clean: [0m> @driveflux/time@2.0.2 clean /Users/flux/Projects/flux/packages/time
|
|
4
|
-
[36m@driveflux/time:clean: [0m> del dist/**/*.js
|
|
5
|
-
[36m@driveflux/time:clean: [0m
|