@peacom/model 2.0.167 → 2.0.169
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/package.json +1 -1
- package/src/lib/model/time/constant.d.ts +22 -0
- package/src/lib/model/time/constant.js +14 -0
- package/src/lib/model/time/constant.js.map +1 -0
- package/src/lib/model/time/index.d.ts +1 -0
- package/src/lib/model/time/index.js +5 -0
- package/src/lib/model/time/index.js.map +1 -0
- package/src/lib/util/date/date.util.d.ts +5 -1
- package/src/lib/util/date/date.util.js +71 -3
- package/src/lib/util/date/date.util.js.map +1 -1
package/package.json
CHANGED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface RangeDate {
|
|
2
|
+
startDate: Date | string | null;
|
|
3
|
+
endDate: Date | string | null;
|
|
4
|
+
}
|
|
5
|
+
export declare enum DAY_OF_WEEK {
|
|
6
|
+
SUNDAY = "sunday",
|
|
7
|
+
MONDAY = "monday",
|
|
8
|
+
TUESDAY = "tuesday",
|
|
9
|
+
WEDNESDAY = "wednesday",
|
|
10
|
+
THURSDAY = "thursday",
|
|
11
|
+
FRIDAY = "friday",
|
|
12
|
+
SATURDAY = "saturday"
|
|
13
|
+
}
|
|
14
|
+
export interface WorkingTime {
|
|
15
|
+
[DAY_OF_WEEK.MONDAY]: Array<RangeDate>;
|
|
16
|
+
[DAY_OF_WEEK.SUNDAY]: Array<RangeDate>;
|
|
17
|
+
[DAY_OF_WEEK.TUESDAY]: Array<RangeDate>;
|
|
18
|
+
[DAY_OF_WEEK.WEDNESDAY]: Array<RangeDate>;
|
|
19
|
+
[DAY_OF_WEEK.THURSDAY]: Array<RangeDate>;
|
|
20
|
+
[DAY_OF_WEEK.FRIDAY]: Array<RangeDate>;
|
|
21
|
+
[DAY_OF_WEEK.SATURDAY]: Array<RangeDate>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DAY_OF_WEEK = void 0;
|
|
4
|
+
var DAY_OF_WEEK;
|
|
5
|
+
(function (DAY_OF_WEEK) {
|
|
6
|
+
DAY_OF_WEEK["SUNDAY"] = "sunday";
|
|
7
|
+
DAY_OF_WEEK["MONDAY"] = "monday";
|
|
8
|
+
DAY_OF_WEEK["TUESDAY"] = "tuesday";
|
|
9
|
+
DAY_OF_WEEK["WEDNESDAY"] = "wednesday";
|
|
10
|
+
DAY_OF_WEEK["THURSDAY"] = "thursday";
|
|
11
|
+
DAY_OF_WEEK["FRIDAY"] = "friday";
|
|
12
|
+
DAY_OF_WEEK["SATURDAY"] = "saturday";
|
|
13
|
+
})(DAY_OF_WEEK = exports.DAY_OF_WEEK || (exports.DAY_OF_WEEK = {}));
|
|
14
|
+
//# sourceMappingURL=constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../../../../packages/model/src/lib/model/time/constant.ts"],"names":[],"mappings":";;;AAKA,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;AACvB,CAAC,EARW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAQtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './constant';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/model/src/lib/model/time/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as moment from "moment-timezone";
|
|
2
|
+
import { RangeDate, WorkingTime } from "../../model/time";
|
|
2
3
|
type DateType = Date | string;
|
|
3
4
|
export declare function formatDateTimeTZ(date: DateType, timezone?: string, format?: string): string;
|
|
4
5
|
export declare const getDate: (date: DateType, tz?: string) => moment.Moment;
|
|
@@ -28,10 +29,13 @@ export declare function lastWeek(date: DateType, tz?: string): Date;
|
|
|
28
29
|
export declare function differentMinute(date: DateType, date1: DateType): number;
|
|
29
30
|
export declare function formatTimeTZ(date: DateType, timezone?: string, format?: string): string;
|
|
30
31
|
export declare const parseDateTimeByFormat: (dateStr: string, format?: string, timezone?: string) => Date;
|
|
31
|
-
export declare const getListHour: (fromTime: Date, toTime: Date,
|
|
32
|
+
export declare const getListHour: (fromTime: Date, toTime: Date, hourStep?: number) => Date[];
|
|
32
33
|
export declare const getLastRangeMinute: (rangeMin: number, fromDate?: Date) => {
|
|
33
34
|
start: Date;
|
|
34
35
|
end: Date;
|
|
35
36
|
};
|
|
36
37
|
export declare const getTimeZoneOffset: (timezone: string) => string;
|
|
38
|
+
export declare const getTimeOfDate: (date: Date) => number;
|
|
39
|
+
export declare const isRangeTimeOverlap: (range1: RangeDate, range2: RangeDate) => boolean;
|
|
40
|
+
export declare const isInWorkingHour: (workingHours: WorkingTime, date?: Date, tz?: string) => boolean;
|
|
37
41
|
export {};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTimeZoneOffset = exports.getLastRangeMinute = exports.getListHour = exports.parseDateTimeByFormat = exports.formatTimeTZ = exports.differentMinute = exports.lastWeek = exports.endLastMonth = exports.startLastMonth = exports.endOfMonth = exports.startOfMonth = exports.endOfWeek = exports.startOfWeek = exports.startOfWeeks = exports.addMin = exports.addMonths = exports.addDays = exports.addHours = exports.startOfDate = exports.endOfDate = exports.startOfHour = exports.endOfMin = exports.startOfMin = exports.endOfHour = exports.getDate = exports.formatDateTimeTZ = void 0;
|
|
3
|
+
exports.isInWorkingHour = exports.isRangeTimeOverlap = exports.getTimeOfDate = exports.getTimeZoneOffset = exports.getLastRangeMinute = exports.getListHour = exports.parseDateTimeByFormat = exports.formatTimeTZ = exports.differentMinute = exports.lastWeek = exports.endLastMonth = exports.startLastMonth = exports.endOfMonth = exports.startOfMonth = exports.endOfWeek = exports.startOfWeek = exports.startOfWeeks = exports.addMin = exports.addMonths = exports.addDays = exports.addHours = exports.startOfDate = exports.endOfDate = exports.startOfHour = exports.endOfMin = exports.startOfMin = exports.endOfHour = exports.getDate = exports.formatDateTimeTZ = void 0;
|
|
4
4
|
const constant_1 = require("./constant");
|
|
5
5
|
const moment = require("moment-timezone");
|
|
6
6
|
const string_util_1 = require("../string.util");
|
|
7
|
+
const time_1 = require("../../model/time");
|
|
7
8
|
function formatDateTimeTZ(date, timezone = constant_1.DEFAULT_TIME_ZONE, format = constant_1.DATE_TIME_FORMAT) {
|
|
8
9
|
if ((0, string_util_1.hasText)(timezone)) {
|
|
9
10
|
return moment(date).tz(timezone).format(format);
|
|
@@ -105,12 +106,12 @@ const parseDateTimeByFormat = (dateStr, format = constant_1.DATE_TIME_FORMAT, ti
|
|
|
105
106
|
.toDate();
|
|
106
107
|
};
|
|
107
108
|
exports.parseDateTimeByFormat = parseDateTimeByFormat;
|
|
108
|
-
const getListHour = (fromTime, toTime,
|
|
109
|
+
const getListHour = (fromTime, toTime, hourStep = 1) => {
|
|
109
110
|
const rs = [fromTime];
|
|
110
111
|
let isContinue = true;
|
|
111
112
|
let nextHour = fromTime;
|
|
112
113
|
while (isContinue) {
|
|
113
|
-
nextHour = addHours(nextHour,
|
|
114
|
+
nextHour = addHours(nextHour, hourStep);
|
|
114
115
|
if (nextHour.getTime() < toTime.getTime()) {
|
|
115
116
|
rs.push(nextHour);
|
|
116
117
|
}
|
|
@@ -146,4 +147,71 @@ const getTimeZoneOffset = (timezone) => {
|
|
|
146
147
|
return offset || '+00:00';
|
|
147
148
|
};
|
|
148
149
|
exports.getTimeZoneOffset = getTimeZoneOffset;
|
|
150
|
+
const getTimeOfDate = (date) => {
|
|
151
|
+
const today = new Date();
|
|
152
|
+
return Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());
|
|
153
|
+
};
|
|
154
|
+
exports.getTimeOfDate = getTimeOfDate;
|
|
155
|
+
const isRangeTimeOverlap = (range1, range2) => {
|
|
156
|
+
if (!range1 || !range1.endDate || !range1.startDate) {
|
|
157
|
+
throw new Error("Invalid range date (range1)");
|
|
158
|
+
}
|
|
159
|
+
if (!range2 || !range2.endDate || !range2.startDate) {
|
|
160
|
+
throw new Error("Invalid range date (range1)");
|
|
161
|
+
}
|
|
162
|
+
const range1From = (0, exports.getTimeOfDate)(new Date(range1.startDate));
|
|
163
|
+
const range1To = (0, exports.getTimeOfDate)(new Date(range1.endDate));
|
|
164
|
+
const range2From = (0, exports.getTimeOfDate)(new Date(range2.startDate));
|
|
165
|
+
const range2To = (0, exports.getTimeOfDate)(new Date(range2.endDate));
|
|
166
|
+
// console.log(`${range1From} - ${range1To} - ${range2From} - ${range2To}`)
|
|
167
|
+
return ((range1From <= range2To && range1To >= range2From) ||
|
|
168
|
+
(range1To <= range2From && range1From >= range2From) ||
|
|
169
|
+
(range1From >= range2To && range1To <= range2To));
|
|
170
|
+
};
|
|
171
|
+
exports.isRangeTimeOverlap = isRangeTimeOverlap;
|
|
172
|
+
const getWeekDay = (isoWeekDay) => {
|
|
173
|
+
switch (isoWeekDay) {
|
|
174
|
+
case 7:
|
|
175
|
+
return time_1.DAY_OF_WEEK.SUNDAY;
|
|
176
|
+
case 1:
|
|
177
|
+
return time_1.DAY_OF_WEEK.MONDAY;
|
|
178
|
+
case 2:
|
|
179
|
+
return time_1.DAY_OF_WEEK.TUESDAY;
|
|
180
|
+
case 3:
|
|
181
|
+
return time_1.DAY_OF_WEEK.WEDNESDAY;
|
|
182
|
+
case 4:
|
|
183
|
+
return time_1.DAY_OF_WEEK.THURSDAY;
|
|
184
|
+
case 5:
|
|
185
|
+
return time_1.DAY_OF_WEEK.FRIDAY;
|
|
186
|
+
case 6:
|
|
187
|
+
return time_1.DAY_OF_WEEK.SATURDAY;
|
|
188
|
+
default:
|
|
189
|
+
throw new Error('Invalid date');
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
const isInWorkingHour = (workingHours, date = new Date(), tz = constant_1.DEFAULT_TIME_ZONE) => {
|
|
193
|
+
const momentDate = (0, exports.getDate)(date, tz);
|
|
194
|
+
const weekDay = getWeekDay(momentDate.isoWeekday());
|
|
195
|
+
// console.log(`Day: ${weekDay} - ${momentDate} Hour: ${momentDate.hours()} - min: ${momentDate.minutes()} - sec: ${momentDate.seconds()}`)
|
|
196
|
+
const dayHours = workingHours[weekDay];
|
|
197
|
+
let rs = true;
|
|
198
|
+
const currentTime = momentDate.hours() * 60 + momentDate.minutes();
|
|
199
|
+
if (dayHours && dayHours.length) {
|
|
200
|
+
rs = false;
|
|
201
|
+
for (let i = 0; i < dayHours.length; i += 1) {
|
|
202
|
+
const hour = dayHours[i];
|
|
203
|
+
const fromDate = moment(hour.startDate).tz(tz);
|
|
204
|
+
const toDate = moment(hour.endDate).tz(tz);
|
|
205
|
+
const fromTime = fromDate.hours() * 60 + fromDate.minutes();
|
|
206
|
+
const toTime = toDate.hours() * 60 + toDate.minutes();
|
|
207
|
+
rs = currentTime >= fromTime && currentTime <= toTime;
|
|
208
|
+
// console.log(`Is WorkingHour ${fromDate.hours()}:${fromDate.minutes()} - to: ${toDate.hours()}:${toDate.minutes()}`, rs)
|
|
209
|
+
if (rs) {
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return rs;
|
|
215
|
+
};
|
|
216
|
+
exports.isInWorkingHour = isInWorkingHour;
|
|
149
217
|
//# sourceMappingURL=date.util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.util.js","sourceRoot":"","sources":["../../../../../../../packages/model/src/lib/util/date/date.util.ts"],"names":[],"mappings":";;;AAAA,yCAA+D;AAC/D,0CAA0C;AAC1C,gDAAuC;
|
|
1
|
+
{"version":3,"file":"date.util.js","sourceRoot":"","sources":["../../../../../../../packages/model/src/lib/util/date/date.util.ts"],"names":[],"mappings":"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"}
|