@ancon/wildcat-utils 1.44.0-r13-2-tz.4 → 1.44.0-r13-2-tz.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const S=require("@ancon/wildcat-types"),
|
|
1
|
+
"use strict";const S=require("@ancon/wildcat-types"),m=require("moment"),p=require("../date/isDSTShiftPresent.js"),P=require("./getPickerIntervalsForDay.js"),v=require("./getSettingsForOrderFormat.js"),_=require("./getServiceIntervalStart.js"),y=require("./types.js"),x=require("./generatePickerTimesForDay.js"),z=require("./getServiceIntervalEnd.js"),F=require("./getOutletNextReadyToOrderTime.js");require("../shared/constants.js");require("../date/createLocalTimezoneMoment.js");require("./getServiceIntervalsForOrderFormat.js");require("../time/getTimeSpanParts.js");require("./getNextTenthMinute.js");require("./hoursAndMinutesToMinutes.js");require("./isOutletAcceptingPreOrders.js");require("./getOutletTagInformation.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getMomentFromDateAndTimeString.js");require("./searchNextOpeningMoment.js");require("./getOutletNextServiceTimeOffset.js");function I(s,f,g,O){const{preparationTime:d="00:00:00"}=v(f,s==null?void 0:s.orderFormatSettings)??{},r=F(s,f);console.log("nextReadyOrderTime",r);let u=r.clone();const o=m(g);if(o>r)u=r.clone().set({year:o.year(),month:o.month(),date:o.date()});else if(r.diff(o,"day")>0)return[];let e=[];const h=P(u,s==null?void 0:s.serviceDateTimes,f);let q;if(h.forEach(t=>{!q&&t.type&&(e=[]);const i=_(u,t,d),l=z(u,t,d);i<r&&i.add(r.valueOf()-i.valueOf(),"millisecond");const n=x(i,l,e,void 0,O);if(n.length>0)switch(t.state){case S.IntervalState.Closed:{const a=n[0],T=n[n.length-1];e=e.filter(({timestamp:c})=>c<a.timestamp||c>T.timestamp);break}case S.IntervalState.Opened:default:{let a=n;p(i,l)&&(a=n.filter(c=>{const k=m(c.timestamp).utc(!0),D=r.clone().utc(!0);return k.isSameOrAfter(D)})),e=e.concat(a);break}}q=t.type}),e.length){const t=e[0],i=e[e.length-1];if(p(t.timestamp,i.timestamp)){const n=Math.max(m(t.timestamp).utcOffset(),m(i.timestamp).utcOffset());return e.map(a=>{const c=m(a.timestamp).utcOffset()===n?y.PickerTimeTimezoneTag.Summer:y.PickerTimeTimezoneTag.Standard;return{...a,timezoneTag:c}})}}return e}module.exports=I;
|
|
@@ -4,7 +4,7 @@ import y from "../date/isDSTShiftPresent.mjs";
|
|
|
4
4
|
import v from "./getPickerIntervalsForDay.mjs";
|
|
5
5
|
import x from "./getSettingsForOrderFormat.mjs";
|
|
6
6
|
import F from "./getServiceIntervalStart.mjs";
|
|
7
|
-
import { PickerTimeTimezoneTag as
|
|
7
|
+
import { PickerTimeTimezoneTag as O } from "./types.mjs";
|
|
8
8
|
import M from "./generatePickerTimesForDay.mjs";
|
|
9
9
|
import z from "./getServiceIntervalEnd.mjs";
|
|
10
10
|
import E from "./getOutletNextReadyToOrderTime.mjs";
|
|
@@ -21,28 +21,29 @@ import "./getOutletCurrentActiveOperatingHour.mjs";
|
|
|
21
21
|
import "./getMomentFromDateAndTimeString.mjs";
|
|
22
22
|
import "./searchNextOpeningMoment.mjs";
|
|
23
23
|
import "./getOutletNextServiceTimeOffset.mjs";
|
|
24
|
-
function $(
|
|
25
|
-
const { preparationTime: l = "00:00:00" } = x(p,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
function $(o, p, h, k) {
|
|
25
|
+
const { preparationTime: l = "00:00:00" } = x(p, o == null ? void 0 : o.orderFormatSettings) ?? {}, i = E(o, p);
|
|
26
|
+
console.log("nextReadyOrderTime", i);
|
|
27
|
+
let c = i.clone();
|
|
28
|
+
const a = f(h);
|
|
29
|
+
if (a > i)
|
|
30
|
+
c = i.clone().set({
|
|
30
31
|
year: a.year(),
|
|
31
32
|
month: a.month(),
|
|
32
33
|
date: a.date()
|
|
33
34
|
});
|
|
34
|
-
else if (
|
|
35
|
+
else if (i.diff(a, "day") > 0)
|
|
35
36
|
return [];
|
|
36
37
|
let t = [];
|
|
37
38
|
const u = v(
|
|
38
39
|
c,
|
|
39
|
-
|
|
40
|
+
o == null ? void 0 : o.serviceDateTimes,
|
|
40
41
|
p
|
|
41
42
|
);
|
|
42
43
|
let S;
|
|
43
44
|
if (u.forEach((e) => {
|
|
44
45
|
!S && e.type && (t = []);
|
|
45
|
-
const
|
|
46
|
+
const r = F(
|
|
46
47
|
c,
|
|
47
48
|
e,
|
|
48
49
|
l
|
|
@@ -51,21 +52,21 @@ function $(m, p, O, k) {
|
|
|
51
52
|
e,
|
|
52
53
|
l
|
|
53
54
|
);
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
r < i && r.add(
|
|
56
|
+
i.valueOf() - r.valueOf(),
|
|
56
57
|
"millisecond"
|
|
57
58
|
);
|
|
58
|
-
const
|
|
59
|
-
|
|
59
|
+
const m = M(
|
|
60
|
+
r,
|
|
60
61
|
T,
|
|
61
62
|
t,
|
|
62
63
|
void 0,
|
|
63
64
|
k
|
|
64
65
|
);
|
|
65
|
-
if (
|
|
66
|
+
if (m.length > 0)
|
|
66
67
|
switch (e.state) {
|
|
67
68
|
case g.Closed: {
|
|
68
|
-
const n =
|
|
69
|
+
const n = m[0], d = m[m.length - 1];
|
|
69
70
|
t = t.filter(
|
|
70
71
|
({ timestamp: s }) => s < n.timestamp || s > d.timestamp
|
|
71
72
|
);
|
|
@@ -73,12 +74,12 @@ function $(m, p, O, k) {
|
|
|
73
74
|
}
|
|
74
75
|
case g.Opened:
|
|
75
76
|
default: {
|
|
76
|
-
let n =
|
|
77
|
+
let n = m;
|
|
77
78
|
y(
|
|
78
|
-
|
|
79
|
+
r,
|
|
79
80
|
T
|
|
80
|
-
) && (n =
|
|
81
|
-
const D = f(s.timestamp).utc(!0), P =
|
|
81
|
+
) && (n = m.filter((s) => {
|
|
82
|
+
const D = f(s.timestamp).utc(!0), P = i.clone().utc(!0);
|
|
82
83
|
return D.isSameOrAfter(P);
|
|
83
84
|
})), t = t.concat(n);
|
|
84
85
|
break;
|
|
@@ -86,17 +87,17 @@ function $(m, p, O, k) {
|
|
|
86
87
|
}
|
|
87
88
|
S = e.type;
|
|
88
89
|
}), t.length) {
|
|
89
|
-
const e = t[0],
|
|
90
|
+
const e = t[0], r = t[t.length - 1];
|
|
90
91
|
if (y(
|
|
91
92
|
e.timestamp,
|
|
92
|
-
|
|
93
|
+
r.timestamp
|
|
93
94
|
)) {
|
|
94
|
-
const
|
|
95
|
+
const m = Math.max(
|
|
95
96
|
f(e.timestamp).utcOffset(),
|
|
96
|
-
f(
|
|
97
|
+
f(r.timestamp).utcOffset()
|
|
97
98
|
);
|
|
98
99
|
return t.map((n) => {
|
|
99
|
-
const s = f(n.timestamp).utcOffset() ===
|
|
100
|
+
const s = f(n.timestamp).utcOffset() === m ? O.Summer : O.Standard;
|
|
100
101
|
return { ...n, timezoneTag: s };
|
|
101
102
|
});
|
|
102
103
|
}
|