@molopos/shared 2.0.53 → 2.0.55
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/date/index.d.ts +27 -0
- package/date/index.js +41 -5
- package/date/index.test.d.ts +1 -0
- package/date/index.test.js +53 -0
- package/lib/utils/index.js +1 -1
- package/lib/utils/index.test.js +0 -29
- package/package.json +1 -1
package/date/index.d.ts
CHANGED
|
@@ -63,6 +63,33 @@ export declare const formateToUnixIntegerddLLLyyyy: (date: Numberlike, locale: s
|
|
|
63
63
|
* formateTDate("2026-01-01", "en-US"); // "1 Jan 2026"
|
|
64
64
|
*/
|
|
65
65
|
export declare const formateTDate: (date: Date, lang: string) => string;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @returns The current date in Unix integer format
|
|
69
|
+
* @example 1719168000
|
|
70
|
+
*/
|
|
71
|
+
export declare const dateTimeNowUtcUnixInteger: () => number;
|
|
72
|
+
/**
|
|
73
|
+
* Format a date to a Unix integer
|
|
74
|
+
* @param date - The date to format (e.g. "2026-01-01", "2026-01-01T00:00:00.000Z", etc.)
|
|
75
|
+
* @returns The formatted date in Unix integer format
|
|
76
|
+
* @example 1719168000
|
|
77
|
+
*/
|
|
78
|
+
export declare const formateDateUnixInteger: (date: Date) => number;
|
|
79
|
+
/**
|
|
80
|
+
* Subtract days from the current date
|
|
81
|
+
* @param value - The number of days to subtract
|
|
82
|
+
* @returns The date minus the number of days
|
|
83
|
+
* @example 2026-01-01
|
|
84
|
+
*/
|
|
85
|
+
export declare const subtractDaysToDateTimeNowUtc: (value: number) => Date;
|
|
86
|
+
/**
|
|
87
|
+
* Subtract days from the current date
|
|
88
|
+
* @param value - The number of days to subtract
|
|
89
|
+
* @returns The date minus the number of days
|
|
90
|
+
* @example 2026-01-01
|
|
91
|
+
*/
|
|
92
|
+
export declare const subtractDaysToDateTime: (date: Date, value: number) => Date;
|
|
66
93
|
/**
|
|
67
94
|
* @example
|
|
68
95
|
* recurrenceDate({ date: new Date(), recurrence: RecurrenceEnum.Monthly }) // 23/06/2026
|
package/date/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.recurrenceDate = exports.formateTDate = exports.formateToUnixIntegerddLLLyyyy = exports.formateDDDateISO = exports.formateddLLDate = exports.formateDDDate = exports.formateMMLongDate = exports.addDaysToTimeNowUtcDate = exports.viewYyformateToYyyy = exports.formateToyyyy = exports.formateToRFC2822 = exports.formateToLLLL = exports.formateTodd = exports.formateToCccc = exports.dateTimeNowUtc = exports.formateToT = exports.formatDateDDMMYYToUtc = exports.formatDateToUtc = exports.formateHHmm = exports.formateYYDDMM = exports.formateddLLLyyyy = exports.formateDate = void 0;
|
|
3
|
+
exports.recurrenceDate = exports.subtractDaysToDateTime = exports.subtractDaysToDateTimeNowUtc = exports.formateDateUnixInteger = exports.dateTimeNowUtcUnixInteger = exports.formateTDate = exports.formateToUnixIntegerddLLLyyyy = exports.formateDDDateISO = exports.formateddLLDate = exports.formateDDDate = exports.formateMMLongDate = exports.addDaysToTimeNowUtcDate = exports.viewYyformateToYyyy = exports.formateToyyyy = exports.formateToRFC2822 = exports.formateToLLLL = exports.formateTodd = exports.formateToCccc = exports.dateTimeNowUtc = exports.formateToT = exports.formatDateDDMMYYToUtc = exports.formatDateToUtc = exports.formateHHmm = exports.formateYYDDMM = exports.formateddLLLyyyy = exports.formateDate = void 0;
|
|
4
4
|
const date_fns_1 = require("date-fns");
|
|
5
5
|
const luxon_1 = require("luxon");
|
|
6
6
|
const enum_1 = require("../enum");
|
|
@@ -128,21 +128,57 @@ const formateTDate = (date, lang) => {
|
|
|
128
128
|
return luxon_1.DateTime.fromJSDate(date).setLocale(lang).toFormat("t");
|
|
129
129
|
};
|
|
130
130
|
exports.formateTDate = formateTDate;
|
|
131
|
+
/**
|
|
132
|
+
*
|
|
133
|
+
* @returns The current date in Unix integer format
|
|
134
|
+
* @example 1719168000
|
|
135
|
+
*/
|
|
136
|
+
const dateTimeNowUtcUnixInteger = () => luxon_1.DateTime.fromJSDate((0, exports.dateTimeNowUtc)()).toUnixInteger();
|
|
137
|
+
exports.dateTimeNowUtcUnixInteger = dateTimeNowUtcUnixInteger;
|
|
138
|
+
/**
|
|
139
|
+
* Format a date to a Unix integer
|
|
140
|
+
* @param date - The date to format (e.g. "2026-01-01", "2026-01-01T00:00:00.000Z", etc.)
|
|
141
|
+
* @returns The formatted date in Unix integer format
|
|
142
|
+
* @example 1719168000
|
|
143
|
+
*/
|
|
144
|
+
const formateDateUnixInteger = (date) => luxon_1.DateTime.fromJSDate(date).toUnixInteger();
|
|
145
|
+
exports.formateDateUnixInteger = formateDateUnixInteger;
|
|
146
|
+
/**
|
|
147
|
+
* Subtract days from the current date
|
|
148
|
+
* @param value - The number of days to subtract
|
|
149
|
+
* @returns The date minus the number of days
|
|
150
|
+
* @example 2026-01-01
|
|
151
|
+
*/
|
|
152
|
+
const subtractDaysToDateTimeNowUtc = (value) => luxon_1.DateTime.utc().minus({ days: value }).toJSDate();
|
|
153
|
+
exports.subtractDaysToDateTimeNowUtc = subtractDaysToDateTimeNowUtc;
|
|
154
|
+
/**
|
|
155
|
+
* Subtract days from the current date
|
|
156
|
+
* @param value - The number of days to subtract
|
|
157
|
+
* @returns The date minus the number of days
|
|
158
|
+
* @example 2026-01-01
|
|
159
|
+
*/
|
|
160
|
+
const subtractDaysToDateTime = (date, value) => luxon_1.DateTime.fromJSDate(date).minus({ days: value }).toJSDate();
|
|
161
|
+
exports.subtractDaysToDateTime = subtractDaysToDateTime;
|
|
131
162
|
/**
|
|
132
163
|
* @example
|
|
133
164
|
* recurrenceDate({ date: new Date(), recurrence: RecurrenceEnum.Monthly }) // 23/06/2026
|
|
134
165
|
*/
|
|
135
166
|
const recurrenceDate = ({ date, recurrence, duration = 1, isRecurrence = true, }) => {
|
|
136
167
|
if (isRecurrence) {
|
|
168
|
+
const dateNow = (0, exports.dateTimeNowUtcUnixInteger)();
|
|
169
|
+
const dateInit = (0, exports.formateDateUnixInteger)(date);
|
|
170
|
+
const dateNowInit = dateInit > dateNow
|
|
171
|
+
? luxon_1.DateTime.fromJSDate(date)
|
|
172
|
+
: luxon_1.DateTime.fromJSDate((0, exports.dateTimeNowUtc)());
|
|
137
173
|
switch (recurrence) {
|
|
138
174
|
case enum_1.RecurrenceEnum.Daily:
|
|
139
|
-
return
|
|
175
|
+
return dateNowInit.plus({ days: duration }).toJSDate();
|
|
140
176
|
case enum_1.RecurrenceEnum.Weekly:
|
|
141
|
-
return
|
|
177
|
+
return dateNowInit.plus({ weeks: duration }).toJSDate();
|
|
142
178
|
case enum_1.RecurrenceEnum.Monthly:
|
|
143
|
-
return
|
|
179
|
+
return dateNowInit.plus({ months: duration }).toJSDate();
|
|
144
180
|
case enum_1.RecurrenceEnum.Yearly:
|
|
145
|
-
return
|
|
181
|
+
return dateNowInit.plus({ years: duration }).toJSDate();
|
|
146
182
|
}
|
|
147
183
|
}
|
|
148
184
|
else {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const _1 = require(".");
|
|
4
|
+
const enum_1 = require("../enum");
|
|
5
|
+
describe("Date", () => {
|
|
6
|
+
test("dateTimeNowUtc", () => {
|
|
7
|
+
const dateNow = (0, _1.dateTimeNowUtc)();
|
|
8
|
+
expect(dateNow).not.toBeNull();
|
|
9
|
+
expect(dateNow).toBeDefined();
|
|
10
|
+
});
|
|
11
|
+
test("dateTimeNowUtcUnixInteger", () => {
|
|
12
|
+
const dateNow = (0, _1.dateTimeNowUtcUnixInteger)();
|
|
13
|
+
expect(dateNow).not.toBeNull();
|
|
14
|
+
expect(dateNow).toBeDefined();
|
|
15
|
+
});
|
|
16
|
+
test("formateDateUnixInteger", () => {
|
|
17
|
+
const dateNow = (0, _1.formateDateUnixInteger)(new Date());
|
|
18
|
+
expect(dateNow).not.toBeNull();
|
|
19
|
+
expect(dateNow).toBeDefined();
|
|
20
|
+
});
|
|
21
|
+
test("subtractDaysToDateTimeNowUtc", () => {
|
|
22
|
+
const dateNow = (0, _1.subtractDaysToDateTimeNowUtc)(1);
|
|
23
|
+
expect(dateNow).not.toBeNull();
|
|
24
|
+
expect(dateNow).toBeDefined();
|
|
25
|
+
});
|
|
26
|
+
test("recurrenceDate", () => {
|
|
27
|
+
const dateNow = (0, _1.dateTimeNowUtc)();
|
|
28
|
+
const dateNextMonth = (0, _1.recurrenceDate)({
|
|
29
|
+
date: dateNow,
|
|
30
|
+
recurrence: enum_1.RecurrenceEnum.Monthly,
|
|
31
|
+
});
|
|
32
|
+
const dateNextYear = (0, _1.recurrenceDate)({
|
|
33
|
+
date: dateNow,
|
|
34
|
+
recurrence: enum_1.RecurrenceEnum.Yearly,
|
|
35
|
+
});
|
|
36
|
+
const dateNextWeek = (0, _1.recurrenceDate)({
|
|
37
|
+
date: dateNow,
|
|
38
|
+
recurrence: enum_1.RecurrenceEnum.Weekly,
|
|
39
|
+
});
|
|
40
|
+
const dateNextDay = (0, _1.recurrenceDate)({
|
|
41
|
+
date: dateNow,
|
|
42
|
+
recurrence: enum_1.RecurrenceEnum.Daily,
|
|
43
|
+
});
|
|
44
|
+
expect(dateNextDay).not.toBeNull();
|
|
45
|
+
expect(dateNextYear).not.toBeNull();
|
|
46
|
+
expect(dateNextMonth).not.toBeNull();
|
|
47
|
+
expect(dateNextWeek).not.toBeNull();
|
|
48
|
+
expect(dateNextDay).toBeDefined();
|
|
49
|
+
expect(dateNextYear).toBeDefined();
|
|
50
|
+
expect(dateNextMonth).toBeDefined();
|
|
51
|
+
expect(dateNextWeek).toBeDefined();
|
|
52
|
+
});
|
|
53
|
+
});
|
package/lib/utils/index.js
CHANGED
|
@@ -30,7 +30,7 @@ exports.calculDiscount = calculDiscount;
|
|
|
30
30
|
* @example
|
|
31
31
|
* formatePrice({ value: 2300, currency: 'EUR', locale: 'fr' }) // 23.00 €
|
|
32
32
|
*/
|
|
33
|
-
const formatePrice = ({ value, currency, locale = "en", isDivide = false, maximumFractionDigits =
|
|
33
|
+
const formatePrice = ({ value, currency, locale = "en", isDivide = false, maximumFractionDigits = 2, }) => {
|
|
34
34
|
const newValue = isNaNumber(value);
|
|
35
35
|
const numberCal = isDivide ? (0, exports.fromCents)(newValue) : newValue;
|
|
36
36
|
const lang = ["fr", "it"].includes(locale.toLowerCase()) ? "de" : locale;
|
package/lib/utils/index.test.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const __1 = require("../..");
|
|
4
|
-
const date_1 = require("../../date");
|
|
5
3
|
const index_1 = require("./index");
|
|
6
4
|
describe("Utils", () => {
|
|
7
5
|
test("fromCents", () => {
|
|
@@ -42,31 +40,4 @@ describe("Utils", () => {
|
|
|
42
40
|
expect(result).toBeDefined();
|
|
43
41
|
expect(result).toEqual("John Doe");
|
|
44
42
|
});
|
|
45
|
-
test("recurrenceDate", () => {
|
|
46
|
-
const dateNow = (0, __1.dateTimeNowUtc)();
|
|
47
|
-
const dateNextMonth = (0, date_1.recurrenceDate)({
|
|
48
|
-
date: dateNow,
|
|
49
|
-
recurrence: __1.RecurrenceEnum.Monthly,
|
|
50
|
-
});
|
|
51
|
-
const dateNextYear = (0, date_1.recurrenceDate)({
|
|
52
|
-
date: dateNow,
|
|
53
|
-
recurrence: __1.RecurrenceEnum.Yearly,
|
|
54
|
-
});
|
|
55
|
-
const dateNextWeek = (0, date_1.recurrenceDate)({
|
|
56
|
-
date: dateNow,
|
|
57
|
-
recurrence: __1.RecurrenceEnum.Weekly,
|
|
58
|
-
});
|
|
59
|
-
const dateNextDay = (0, date_1.recurrenceDate)({
|
|
60
|
-
date: dateNow,
|
|
61
|
-
recurrence: __1.RecurrenceEnum.Daily,
|
|
62
|
-
});
|
|
63
|
-
expect(dateNextDay).not.toBeNull();
|
|
64
|
-
expect(dateNextYear).not.toBeNull();
|
|
65
|
-
expect(dateNextMonth).not.toBeNull();
|
|
66
|
-
expect(dateNextWeek).not.toBeNull();
|
|
67
|
-
expect(dateNextDay).toBeDefined();
|
|
68
|
-
expect(dateNextYear).toBeDefined();
|
|
69
|
-
expect(dateNextMonth).toBeDefined();
|
|
70
|
-
expect(dateNextWeek).toBeDefined();
|
|
71
|
-
});
|
|
72
43
|
});
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@molopos/shared","publishConfig":{"access":"public"},"version":"2.0.
|
|
1
|
+
{"name":"@molopos/shared","publishConfig":{"access":"public"},"version":"2.0.55","description":"Shared between backend and frontend repos","license":"ISC","repository":{"type":"git","url":"https://github.com/unicubate/molopos-shared.git"},"dependencies":{"class-transformer":"^0.5.1","date-fns":"^4.4.0","luxon":"^3.7.2"}}
|