@ancon/wildcat-utils 1.44.0-r13-2-tz.53 → 1.44.0-r13-2-tz.54

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"),f=require("moment"),y=require("../date/isDSTShiftPresentInRange.js"),P=require("./getPickerIntervalsForDay.js"),x=require("./getSettingsForOrderFormat.js"),R=require("./getServiceIntervalStart.js"),h=require("./types.js"),_=require("./generatePickerTimesForDay.js"),I=require("./getServiceIntervalEnd.js"),M=require("./getOutletNextReadyToOrderTime.js");require("../date/getTimezoneUtcOffsetDifference.js");require("../shared/constants.js");require("../date/createLocalTimezoneMoment.js");require("./getServiceIntervalsForOrderFormat.js");require("../time/getTimeSpanParts.js");require("./getNextTenthMinute.js");require("./getServiceIntervalTimeSpanMoment.js");require("./hoursAndMinutesToMinutes.js");require("./isOutletAcceptingPreOrders.js");require("./getOutletTagInformation.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getTimezoneAdjustedServiceInterval.js");require("../date/convertToSpecificTimezone.js");require("./searchNextOpeningMoment.js");require("./getOutletNextServiceTimeOffset.js");function E(s,T,O,k){const{preparationTime:g="00:00:00"}=x(T,s==null?void 0:s.orderFormatSettings)??{},a=M(s,T);console.log("nextReadyOrderTime",a.format());let u=a.clone();const o=f(O);if(console.log("specificDateMoment",o.format()),o>a)u=a.clone().set({year:o.year(),month:o.month(),date:o.date()}),console.log("specificDateMoment > nextReadyOrderTime",u.format());else{const t=a.diff(o,"day");if(console.log("ELSE specificDateMoment > nextReadyOrderTime",t),t>0)return[]}let e=[];const D=P(u,s==null?void 0:s.serviceDateTimes,T);let q;if(D.forEach(t=>{!q&&t.type&&(e=[]);const r=R(u,t,g),d=I(u,t,g);console.log("intervalStartTime, intervalEndTime",r.format(),d.format()),r<a&&(console.log("Add the time that has already passed today"),r.add(a.valueOf()-r.valueOf(),"millisecond"));const n=_(r,d,e,void 0,k);if(n.length>0)switch(t.state){case S.IntervalState.Closed:{const i=n[0],c=n[n.length-1];e=e.filter(({timestamp:m})=>m<i.timestamp||m>c.timestamp);break}case S.IntervalState.Opened:default:{let i=n;const c=y(r,d);console.log("isDSTShiftInterval",c),c&&(i=n.filter(m=>{const p=f(m.timestamp).utc(!0),l=f(r).utc(!0);return console.log("=>",p.format(),l.format()),p.isSameOrAfter(l)})),e=e.concat(i);break}}q=t.type}),e.length){const t=e[0],r=e[e.length-1];if(y(t.timestamp,r.timestamp)){const n=Math.max(f(t.timestamp).utcOffset(),f(r.timestamp).utcOffset());return e.map((i,c)=>{const m=f(i.timestamp).utcOffset()===n;if(e.some((l,v)=>l.timestamp===i.timestamp&&v!==c)){const l=m?h.PickerTimeTimezoneTag.Summer:h.PickerTimeTimezoneTag.Standard;return{...i,timezoneTag:l}}return i})}}return e}module.exports=E;
1
+ "use strict";const S=require("@ancon/wildcat-types"),l=require("moment"),y=require("../date/isDSTShiftPresentInRange.js"),D=require("./getPickerIntervalsForDay.js"),P=require("./getSettingsForOrderFormat.js"),x=require("./getServiceIntervalStart.js"),h=require("./types.js"),R=require("./generatePickerTimesForDay.js"),_=require("./getServiceIntervalEnd.js"),I=require("./getOutletNextReadyToOrderTime.js");require("../date/getTimezoneUtcOffsetDifference.js");require("../shared/constants.js");require("../date/createLocalTimezoneMoment.js");require("./getServiceIntervalsForOrderFormat.js");require("../time/getTimeSpanParts.js");require("./getNextTenthMinute.js");require("./getServiceIntervalTimeSpanMoment.js");require("./hoursAndMinutesToMinutes.js");require("./isOutletAcceptingPreOrders.js");require("./getOutletTagInformation.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getTimezoneAdjustedServiceInterval.js");require("../date/convertToSpecificTimezone.js");require("./searchNextOpeningMoment.js");require("./getOutletNextServiceTimeOffset.js");function M(s,p,O,k){const{preparationTime:g="00:00:00"}=P(p,s==null?void 0:s.orderFormatSettings)??{},a=I(s,p);console.log("nextReadyOrderTime",a.format());let f=a.clone();const c=l(O);if(console.log("specificDateMoment",c.format()),c>a)f=a.clone().set({year:c.year(),month:c.month(),date:c.date()}),console.log("specificDateMoment > nextReadyOrderTime",f.format());else{const r=a.diff(c,"day");if(console.log("ELSE specificDateMoment > nextReadyOrderTime",r),r>0)return[]}let e=[];const v=D(f,s==null?void 0:s.serviceDateTimes,p);let q;if(v.forEach(r=>{!q&&r.type&&(e=[]);const i=x(f,r,g),d=_(f,r,g);console.log("intervalStartTime, intervalEndTime",i.format(),d.format()),i<a&&(console.log("Add the time that has already passed today"),i.add(a.valueOf()-i.valueOf(),"millisecond"));const n=R(i,d,e,void 0,k);if(n.length>0)switch(r.state){case S.IntervalState.Closed:{const o=n[0],m=n[n.length-1];e=e.filter(({timestamp:t})=>t<o.timestamp||t>m.timestamp);break}case S.IntervalState.Opened:default:{let o=n;const m=y(i,d);console.log("isDSTShiftInterval",m),m&&(o=n.filter(t=>{const u=l(t.timestamp).utc(!0),T=l(i).utc(!0);return console.log("=>",u.format(),T.format()),u.isSameOrAfter(T)})),e=e.concat(o);break}}q=r.type}),e.length){const r=e[0],i=e[e.length-1];if(y(r.timestamp,i.timestamp)){const n=Math.max(l(r.timestamp).utcOffset(),l(i.timestamp).utcOffset()),o=e.map(t=>t.timeLabel),m=o.filter((t,u)=>o.indexOf(t)!==u);return e.map(t=>{if(m.includes(t.timeLabel)){const T=l(t.timestamp).utcOffset()===n?h.PickerTimeTimezoneTag.Summer:h.PickerTimeTimezoneTag.Standard;return{...t,timezoneTag:T}}return t})}}return e}module.exports=M;
@@ -1,13 +1,13 @@
1
1
  import { IntervalState as h } from "@ancon/wildcat-types";
2
- import p from "moment";
2
+ import f from "moment";
3
3
  import O from "../date/isDSTShiftPresentInRange.mjs";
4
4
  import x from "./getPickerIntervalsForDay.mjs";
5
- import R from "./getSettingsForOrderFormat.mjs";
6
- import M from "./getServiceIntervalStart.mjs";
5
+ import P from "./getSettingsForOrderFormat.mjs";
6
+ import R from "./getServiceIntervalStart.mjs";
7
7
  import { PickerTimeTimezoneTag as u } from "./types.mjs";
8
- import E from "./generatePickerTimesForDay.mjs";
9
- import I from "./getServiceIntervalEnd.mjs";
10
- import F from "./getOutletNextReadyToOrderTime.mjs";
8
+ import M from "./generatePickerTimesForDay.mjs";
9
+ import b from "./getServiceIntervalEnd.mjs";
10
+ import E from "./getOutletNextReadyToOrderTime.mjs";
11
11
  import "../date/getTimezoneUtcOffsetDifference.mjs";
12
12
  import "../shared/constants.mjs";
13
13
  import "../date/createLocalTimezoneMoment.mjs";
@@ -24,107 +24,106 @@ import "./getTimezoneAdjustedServiceInterval.mjs";
24
24
  import "../date/convertToSpecificTimezone.mjs";
25
25
  import "./searchNextOpeningMoment.mjs";
26
26
  import "./getOutletNextServiceTimeOffset.mjs";
27
- function rt(m, T, D, k) {
28
- const { preparationTime: S = "00:00:00" } = R(T, m == null ? void 0 : m.orderFormatSettings) ?? {}, a = F(m, T);
27
+ function ie(o, g, k, D) {
28
+ const { preparationTime: S = "00:00:00" } = P(g, o == null ? void 0 : o.orderFormatSettings) ?? {}, a = E(o, g);
29
29
  console.log("nextReadyOrderTime", a.format());
30
- let l = a.clone();
31
- const n = p(D);
32
- if (console.log("specificDateMoment", n.format()), n > a)
33
- l = a.clone().set({
34
- year: n.year(),
35
- month: n.month(),
36
- date: n.date()
37
- }), console.log("specificDateMoment > nextReadyOrderTime", l.format());
30
+ let p = a.clone();
31
+ const s = f(k);
32
+ if (console.log("specificDateMoment", s.format()), s > a)
33
+ p = a.clone().set({
34
+ year: s.year(),
35
+ month: s.month(),
36
+ date: s.date()
37
+ }), console.log("specificDateMoment > nextReadyOrderTime", p.format());
38
38
  else {
39
- const e = a.diff(n, "day");
40
- if (console.log("ELSE specificDateMoment > nextReadyOrderTime", e), e > 0)
39
+ const i = a.diff(s, "day");
40
+ if (console.log("ELSE specificDateMoment > nextReadyOrderTime", i), i > 0)
41
41
  return [];
42
42
  }
43
- let t = [];
43
+ let e = [];
44
44
  const v = x(
45
- l,
46
- m == null ? void 0 : m.serviceDateTimes,
47
- T
45
+ p,
46
+ o == null ? void 0 : o.serviceDateTimes,
47
+ g
48
48
  );
49
49
  let y;
50
- if (v.forEach((e) => {
51
- !y && e.type && (t = []);
52
- const i = M(
53
- l,
54
- e,
50
+ if (v.forEach((i) => {
51
+ !y && i.type && (e = []);
52
+ const r = R(
53
+ p,
54
+ i,
55
55
  S
56
- ), d = I(
57
- l,
58
- e,
56
+ ), d = b(
57
+ p,
58
+ i,
59
59
  S
60
60
  );
61
61
  console.log(
62
62
  "intervalStartTime, intervalEndTime",
63
- i.format(),
63
+ r.format(),
64
64
  d.format()
65
- ), i < a && (console.log("Add the time that has already passed today"), i.add(
66
- a.valueOf() - i.valueOf(),
65
+ ), r < a && (console.log("Add the time that has already passed today"), r.add(
66
+ a.valueOf() - r.valueOf(),
67
67
  "millisecond"
68
68
  ));
69
- const o = E(
70
- i,
69
+ const m = M(
70
+ r,
71
71
  d,
72
- t,
72
+ e,
73
73
  void 0,
74
- k
74
+ D
75
75
  );
76
- if (o.length > 0)
77
- switch (e.state) {
76
+ if (m.length > 0)
77
+ switch (i.state) {
78
78
  case h.Closed: {
79
- const r = o[0], s = o[o.length - 1];
80
- t = t.filter(
81
- ({ timestamp: c }) => c < r.timestamp || c > s.timestamp
79
+ const n = m[0], c = m[m.length - 1];
80
+ e = e.filter(
81
+ ({ timestamp: t }) => t < n.timestamp || t > c.timestamp
82
82
  );
83
83
  break;
84
84
  }
85
85
  case h.Opened:
86
86
  default: {
87
- let r = o;
88
- const s = O(
89
- i,
87
+ let n = m;
88
+ const c = O(
89
+ r,
90
90
  d
91
91
  );
92
- console.log("isDSTShiftInterval", s), s && (r = o.filter((c) => {
93
- const g = p(c.timestamp).utc(!0), f = p(i).utc(!0);
92
+ console.log("isDSTShiftInterval", c), c && (n = m.filter((t) => {
93
+ const l = f(t.timestamp).utc(!0), T = f(r).utc(!0);
94
94
  return console.log(
95
95
  "=>",
96
- g.format(),
97
- f.format()
98
- ), g.isSameOrAfter(f);
99
- })), t = t.concat(r);
96
+ l.format(),
97
+ T.format()
98
+ ), l.isSameOrAfter(T);
99
+ })), e = e.concat(n);
100
100
  break;
101
101
  }
102
102
  }
103
- y = e.type;
104
- }), t.length) {
105
- const e = t[0], i = t[t.length - 1];
103
+ y = i.type;
104
+ }), e.length) {
105
+ const i = e[0], r = e[e.length - 1];
106
106
  if (O(
107
- e.timestamp,
108
- i.timestamp
107
+ i.timestamp,
108
+ r.timestamp
109
109
  )) {
110
- const o = Math.max(
111
- p(e.timestamp).utcOffset(),
112
- p(i.timestamp).utcOffset()
110
+ const m = Math.max(
111
+ f(i.timestamp).utcOffset(),
112
+ f(r.timestamp).utcOffset()
113
+ ), n = e.map((t) => t.timeLabel), c = n.filter(
114
+ (t, l) => n.indexOf(t) !== l
113
115
  );
114
- return t.map((r, s) => {
115
- const c = p(r.timestamp).utcOffset() === o;
116
- if (t.some(
117
- (f, P) => f.timestamp === r.timestamp && P !== s
118
- )) {
119
- const f = c ? u.Summer : u.Standard;
120
- return { ...r, timezoneTag: f };
116
+ return e.map((t) => {
117
+ if (c.includes(t.timeLabel)) {
118
+ const T = f(t.timestamp).utcOffset() === m ? u.Summer : u.Standard;
119
+ return { ...t, timezoneTag: T };
121
120
  }
122
- return r;
121
+ return t;
123
122
  });
124
123
  }
125
124
  }
126
- return t;
125
+ return e;
127
126
  }
128
127
  export {
129
- rt as default
128
+ ie as default
130
129
  };
package/outlet/types.d.ts CHANGED
@@ -32,7 +32,7 @@ export declare type PickerTime = {
32
32
  timestamp: number;
33
33
  timeLabel: string;
34
34
  dayLabel: string;
35
- /** This is available if the picker time is in an interval that has a DST shift */
35
+ /** This is available for time label duplicated picker times in an interval that has a DST shift */
36
36
  timezoneTag?: PickerTimeTimezoneTag;
37
37
  };
38
38
  export declare type PickerDay = PickerTime[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ancon/wildcat-utils",
3
- "version": "1.44.0-r13-2-tz.53",
3
+ "version": "1.44.0-r13-2-tz.54",
4
4
  "private": false,
5
5
  "main": "index.js",
6
6
  "module": "index.mjs",