@ancon/wildcat-utils 1.40.30 → 1.40.32

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 r=require("@ancon/wildcat-types"),a=require("moment"),T=require("../shared/constants.js"),d=require("./getExpressServiceIntervalStart.js"),u=require("./getExpressServiceIntervalEnd.js");require("../time/getTimeSpanParts.js");const l=[r.OrderFormat.TakeAway,r.OrderFormat.EatIn];function k(i){var c;if(!((c=i.openingHours)!=null&&c.length))return[];const s=a(),{openingHours:p,supportedOrderFormats:m}=i,y=[...p].reduce((t,e,E,f)=>{switch(e.type){case r.IntervalType.Exception:{const o=a(e.periodFrom),n=a(e.periodTo),O=d(o,e),F=u(n,e);if(s.isBetween(O,F,"minute","[]"))return e.state===r.IntervalState.Closed?(f.splice(1),r.OrderFormat.None):e.orderFormat}break;case r.IntervalType.Interval:default:if(e.dayOfWeek===r.DayOfWeek.Everyday||e.dayOfWeek===T.DaysOfWeekMap[s.isoWeekday()]){const o=d(s,e),n=u(s,e);if(s.isBetween(o,n,"minute","[]"))return t|e.orderFormat}break}return t},r.OrderFormat.None);return l.filter(t=>(y&t)===t&&(m&t)===t)}module.exports=k;
1
+ "use strict";const r=require("@ancon/wildcat-types"),i=require("moment"),l=require("../shared/constants.js"),u=require("./getExpressServiceIntervalStart.js"),p=require("./getExpressServiceIntervalEnd.js");require("../time/getTimeSpanParts.js");const k=[r.OrderFormat.TakeAway,r.OrderFormat.EatIn];function E(c){var d;if(!((d=c.openingHours)!=null&&d.length))return[];const s=i(),{openingHours:m,supportedOrderFormats:f,timeZoneOffset:o}=c,y=[...m].reduce((t,e,g,O)=>{switch(e.type){case r.IntervalType.Exception:{const n=i(e.periodFrom),a=i(e.periodTo),F=u(n,e,o),T=p(a,e,o);if(s.isBetween(F,T,void 0,"[]"))return e.state===r.IntervalState.Closed?(O.splice(1),r.OrderFormat.None):e.orderFormat}break;case r.IntervalType.Interval:default:if(e.dayOfWeek===r.DayOfWeek.Everyday||e.dayOfWeek===l.DaysOfWeekMap[s.isoWeekday()]){const n=u(s,e,o),a=p(s,e,o);if(s.isBetween(n,a,void 0,"[]"))return t|e.orderFormat}break}return t},r.OrderFormat.None);return k.filter(t=>(y&t)===t&&(f&t)===t)}module.exports=E;
@@ -1,49 +1,62 @@
1
- import { OrderFormat as o, DayOfWeek as T, IntervalType as p, IntervalState as g } from "@ancon/wildcat-types";
2
- import n from "moment";
3
- import { DaysOfWeekMap as F } from "../shared/constants.mjs";
4
- import d from "./getExpressServiceIntervalStart.mjs";
5
- import f from "./getExpressServiceIntervalEnd.mjs";
1
+ import { OrderFormat as s, DayOfWeek as g, IntervalType as d, IntervalState as F } from "@ancon/wildcat-types";
2
+ import i from "moment";
3
+ import { DaysOfWeekMap as l } from "../shared/constants.mjs";
4
+ import f from "./getExpressServiceIntervalStart.mjs";
5
+ import c from "./getExpressServiceIntervalEnd.mjs";
6
6
  import "../time/getTimeSpanParts.mjs";
7
- const l = [o.TakeAway, o.EatIn];
8
- function h(i) {
9
- var m;
10
- if (!((m = i.openingHours) != null && m.length))
7
+ const x = [s.TakeAway, s.EatIn];
8
+ function h(m) {
9
+ var p;
10
+ if (!((p = m.openingHours) != null && p.length))
11
11
  return [];
12
- const r = n(), { openingHours: c, supportedOrderFormats: u } = i, y = [...c].reduce(
13
- (t, e, x, O) => {
12
+ const r = i(), { openingHours: u, supportedOrderFormats: y, timeZoneOffset: o } = m, O = [...u].reduce(
13
+ (t, e, D, k) => {
14
14
  switch (e.type) {
15
- case p.Exception:
15
+ case d.Exception:
16
16
  {
17
- const s = n(e.periodFrom), a = n(e.periodTo), k = d(
18
- s,
19
- e
20
- ), E = f(a, e);
21
- if (r.isBetween(k, E, "minute", "[]"))
22
- return e.state === g.Closed ? (O.splice(1), o.None) : e.orderFormat;
17
+ const a = i(e.periodFrom), n = i(e.periodTo), E = f(
18
+ a,
19
+ e,
20
+ o
21
+ ), T = c(
22
+ n,
23
+ e,
24
+ o
25
+ );
26
+ if (r.isBetween(E, T, void 0, "[]"))
27
+ return e.state === F.Closed ? (k.splice(1), s.None) : e.orderFormat;
23
28
  }
24
29
  break;
25
- case p.Interval:
30
+ case d.Interval:
26
31
  default:
27
32
  if (
28
33
  // Every day in the week
29
- e.dayOfWeek === T.Everyday || // Specific day in the week
30
- e.dayOfWeek === F[r.isoWeekday()]
34
+ e.dayOfWeek === g.Everyday || // Specific day in the week
35
+ e.dayOfWeek === l[r.isoWeekday()]
31
36
  ) {
32
- const s = d(r, e), a = f(r, e);
33
- if (r.isBetween(s, a, "minute", "[]"))
37
+ const a = f(
38
+ r,
39
+ e,
40
+ o
41
+ ), n = c(
42
+ r,
43
+ e,
44
+ o
45
+ );
46
+ if (r.isBetween(a, n, void 0, "[]"))
34
47
  return t | e.orderFormat;
35
48
  }
36
49
  break;
37
50
  }
38
51
  return t;
39
52
  },
40
- o.None
53
+ s.None
41
54
  );
42
- return l.filter(
55
+ return x.filter(
43
56
  (t) => (
44
57
  // Check if the order format is available
45
- (y & t) === t && // Check if the order format is supported by the outlet
46
- (u & t) === t
58
+ (O & t) === t && // Check if the order format is supported by the outlet
59
+ (y & t) === t
47
60
  )
48
61
  );
49
62
  }
@@ -1,2 +1,3 @@
1
1
  import { OpeningHours } from '@ancon/wildcat-types';
2
- export default function getExpressNextAvailabilityShiftTime(openingHours: Array<OpeningHours>): number;
2
+ import { Moment } from 'moment';
3
+ export default function getExpressNextAvailabilityShiftTime(openingHours: Array<OpeningHours>, timezoneOffset?: string): Moment;
@@ -1 +1 @@
1
- "use strict";const o=require("@ancon/wildcat-types"),s=require("moment"),u=require("../shared/constants.js"),y=require("./getExpressServiceIntervalStart.js"),l=require("./getExpressServiceIntervalEnd.js");require("../time/getTimeSpanParts.js");function m(f){const t=s();let r=t.clone().add(1,"day").startOf("day").valueOf();function a(e){const i=e.type===o.IntervalType.Exception,d=i?s(e.periodFrom):t,p=i?s(e.periodTo):t,n=y(d,e),c=l(p,e);n.isBetween(t,r)?r=n.valueOf():c.isBetween(t,r)&&(r=c.valueOf())}return f.forEach(e=>{switch(e.type){case o.IntervalType.Exception:a(e);break;case o.IntervalType.Interval:default:(e.dayOfWeek===o.DayOfWeek.Everyday||e.dayOfWeek===u.DaysOfWeekMap[t.isoWeekday()])&&a(e);break}}),r}module.exports=m;
1
+ "use strict";const o=require("@ancon/wildcat-types"),s=require("moment"),u=require("../shared/constants.js"),x=require("./getExpressServiceIntervalStart.js"),E=require("./getExpressServiceIntervalEnd.js");require("../time/getTimeSpanParts.js");function T(p,i){const t=s();let r=t.clone().add(1,"day").startOf("day");function n(e){const a=e.type===o.IntervalType.Exception,y=a?s(e.periodFrom):t,f=a?s(e.periodTo):t,c=x(y,e,i),d=E(f,e,i);c.isBetween(t,r)?r=c:d.isBetween(t,r)&&(r=d)}return p.forEach(e=>{switch(e.type){case o.IntervalType.Exception:n(e);break;case o.IntervalType.Interval:default:(e.dayOfWeek===o.DayOfWeek.Everyday||e.dayOfWeek===u.DaysOfWeekMap[t.isoWeekday()])&&n(e);break}}),r}module.exports=T;
@@ -1,30 +1,38 @@
1
- import { DayOfWeek as d, IntervalType as r } from "@ancon/wildcat-types";
1
+ import { DayOfWeek as y, IntervalType as r } from "@ancon/wildcat-types";
2
2
  import i from "moment";
3
- import { DaysOfWeekMap as y } from "../shared/constants.mjs";
4
- import x from "./getExpressServiceIntervalStart.mjs";
5
- import E from "./getExpressServiceIntervalEnd.mjs";
3
+ import { DaysOfWeekMap as x } from "../shared/constants.mjs";
4
+ import E from "./getExpressServiceIntervalStart.mjs";
5
+ import k from "./getExpressServiceIntervalEnd.mjs";
6
6
  import "../time/getTimeSpanParts.mjs";
7
- function h(n) {
7
+ function W(p, a) {
8
8
  const t = i();
9
- let o = t.clone().add(1, "day").startOf("day").valueOf();
10
- function a(e) {
11
- const f = e.type === r.Exception, p = f ? i(e.periodFrom) : t, c = f ? i(e.periodTo) : t, s = x(p, e), m = E(c, e);
12
- s.isBetween(t, o) ? o = s.valueOf() : m.isBetween(t, o) && (o = m.valueOf());
9
+ let o = t.clone().add(1, "day").startOf("day");
10
+ function s(e) {
11
+ const f = e.type === r.Exception, c = f ? i(e.periodFrom) : t, d = f ? i(e.periodTo) : t, m = E(
12
+ c,
13
+ e,
14
+ a
15
+ ), n = k(
16
+ d,
17
+ e,
18
+ a
19
+ );
20
+ m.isBetween(t, o) ? o = m : n.isBetween(t, o) && (o = n);
13
21
  }
14
- return n.forEach((e) => {
22
+ return p.forEach((e) => {
15
23
  switch (e.type) {
16
24
  case r.Exception:
17
- a(e);
25
+ s(e);
18
26
  break;
19
27
  case r.Interval:
20
28
  default:
21
29
  // Every day in the week
22
- (e.dayOfWeek === d.Everyday || // Specific day in the week
23
- e.dayOfWeek === y[t.isoWeekday()]) && a(e);
30
+ (e.dayOfWeek === y.Everyday || // Specific day in the week
31
+ e.dayOfWeek === x[t.isoWeekday()]) && s(e);
24
32
  break;
25
33
  }
26
34
  }), o;
27
35
  }
28
36
  export {
29
- h as default
37
+ W as default
30
38
  };
@@ -1,3 +1,3 @@
1
1
  import { OpeningHours } from '@ancon/wildcat-types';
2
2
  import { Moment } from 'moment';
3
- export default function getExpressServiceIntervalEnd(date: Moment, interval: OpeningHours): Moment;
3
+ export default function getExpressServiceIntervalEnd(date: Moment, interval: OpeningHours, outletTimezoneOffset?: string): Moment;
@@ -1 +1 @@
1
- "use strict";const r=require("../time/getTimeSpanParts.js");function u(o,e){const n=r(e.from),s=r(e.duration),t=o.clone().hour(n.hours).minute(n.minutes).second(0).millisecond(0);return t.add(t.utcOffset(),"minute"),t.add(s.hours,"hour").add(s.minutes,"minute"),t}module.exports=u;
1
+ "use strict";const n=require("../time/getTimeSpanParts.js");function d(e,s,u){const o=n(s.from),i=n(s.duration);let r=e.utcOffset();if(u){const c=n(u);r=c.hours*60+c.minutes}const t=e.clone().hour(o.hours).minute(o.minutes).second(0).millisecond(0),a=t.add(r,"minute").date()-e.date();return Math.abs(a)&&t.subtract(a,"day"),t.add(i.hours,"hour").add(i.minutes,"minute"),t}module.exports=d;
@@ -1,8 +1,14 @@
1
- import r from "../time/getTimeSpanParts.mjs";
2
- function d(s, e) {
3
- const n = r(e.from), o = r(e.duration), t = s.clone().hour(n.hours).minute(n.minutes).second(0).millisecond(0);
4
- return t.add(t.utcOffset(), "minute"), t.add(o.hours, "hour").add(o.minutes, "minute"), t;
1
+ import n from "../time/getTimeSpanParts.mjs";
2
+ function m(e, s, o) {
3
+ const u = n(s.from), a = n(s.duration);
4
+ let r = e.utcOffset();
5
+ if (o) {
6
+ const i = n(o);
7
+ r = i.hours * 60 + i.minutes;
8
+ }
9
+ const t = e.clone().hour(u.hours).minute(u.minutes).second(0).millisecond(0), d = t.add(r, "minute").date() - e.date();
10
+ return Math.abs(d) && t.subtract(d, "day"), t.add(a.hours, "hour").add(a.minutes, "minute"), t;
5
11
  }
6
12
  export {
7
- d as default
13
+ m as default
8
14
  };
@@ -1,3 +1,3 @@
1
1
  import { OpeningHours } from '@ancon/wildcat-types';
2
2
  import { Moment } from 'moment';
3
- export default function getExpressServiceIntervalStart(date: Moment, interval: OpeningHours): Moment;
3
+ export default function getExpressServiceIntervalStart(date: Moment, interval: OpeningHours, outletTimezoneOffset?: string): Moment;
@@ -1 +1 @@
1
- "use strict";const n=require("../time/getTimeSpanParts.js");function i(r,s){const e=n(s.from),t=r.clone().hour(e.hours).minute(e.minutes).second(0).millisecond(0);return t.add(t.utcOffset(),"minute"),t}module.exports=i;
1
+ "use strict";const o=require("../time/getTimeSpanParts.js");function c(t,u,s){const r=o(u.from);let n=t.utcOffset();if(s){const i=o(s);n=i.hours*60+i.minutes}const e=t.clone().hour(r.hours).minute(r.minutes).second(0).millisecond(0),a=e.add(n,"minute").date()-t.date();return Math.abs(a)&&e.subtract(a,"day"),e}module.exports=c;
@@ -1,8 +1,14 @@
1
- import s from "../time/getTimeSpanParts.mjs";
2
- function a(r, n) {
3
- const e = s(n.from), t = r.clone().hour(e.hours).minute(e.minutes).second(0).millisecond(0);
4
- return t.add(t.utcOffset(), "minute"), t;
1
+ import u from "../time/getTimeSpanParts.mjs";
2
+ function m(t, i, s) {
3
+ const a = u(i.from);
4
+ let r = t.utcOffset();
5
+ if (s) {
6
+ const o = u(s);
7
+ r = o.hours * 60 + o.minutes;
8
+ }
9
+ const e = t.clone().hour(a.hours).minute(a.minutes).second(0).millisecond(0), n = e.add(r, "minute").date() - t.date();
10
+ return Math.abs(n) && e.subtract(n, "day"), e;
5
11
  }
6
12
  export {
7
- a as default
13
+ m as default
8
14
  };
@@ -1 +1 @@
1
- "use strict";const u=require("@ancon/wildcat-types"),r=require("moment"),x=require("./getSettingsForOrderFormat.js"),v=require("./isOutletAcceptingPreOrders.js"),F=require("./getOutletTagInformation.js"),S=require("./getNextTenthMinute.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getMomentFromDateAndTimeString.js");require("./searchNextOpeningMoment.js");function _(e,p){var n,d,g;const t=(e==null?void 0:e.state)===u.OutletState.Open,{preparationTime:c="00:00:00"}=x(p,e==null?void 0:e.orderFormatSettings)??{},O=v((e==null?void 0:e.orderFormatSettings)||[]),T=((g=(d=(n=e==null?void 0:e.serviceDateTimes)==null?void 0:n.find)==null?void 0:d.call(n,s=>s.intervals))==null?void 0:g.intervals)||[],o=F.default(T,t,r(),r(),e==null?void 0:e.timeZoneOffset),f=!t&&O&&o.openingTime?o.openingTime:void 0,a=r(),m=r(f),i=(a>m?a:m).utc().second(0).millisecond(0);if(c){const[s,q]=c.split(":").map(Number);i.add(s,"hour").add(q,"minute")}return i.minute(S(i))}module.exports=_;
1
+ "use strict";const q=require("@ancon/wildcat-types"),r=require("moment"),u=require("./getSettingsForOrderFormat.js"),T=require("./isOutletAcceptingPreOrders.js"),f=require("./getOutletTagInformation.js"),v=require("./getNextTenthMinute.js"),x=require("./getServiceIntervalsForOrderFormat.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getMomentFromDateAndTimeString.js");require("./searchNextOpeningMoment.js");function F(e,i){const s=(e==null?void 0:e.state)===q.OutletState.Open,{preparationTime:t="00:00:00"}=u(i,e==null?void 0:e.orderFormatSettings)??{},m=T((e==null?void 0:e.orderFormatSettings)||[]),d=x(i,(e==null?void 0:e.serviceDateTimes)||[]),c=f.default(d,s,r(),r(),e==null?void 0:e.timeZoneOffset),g=!s&&m&&c.openingTime?c.openingTime:void 0,o=r(),a=r(g),n=(o>a?o:a).utc().second(0).millisecond(0);if(t){const[O,p]=t.split(":").map(Number);n.add(O,"hour").add(p,"minute")}return n.minute(v(n))}module.exports=F;
@@ -1,33 +1,33 @@
1
- import { OutletState as v } from "@ancon/wildcat-types";
2
- import i from "moment";
3
- import F from "./getSettingsForOrderFormat.mjs";
4
- import S from "./isOutletAcceptingPreOrders.mjs";
5
- import h from "./getOutletTagInformation.mjs";
6
- import N from "./getNextTenthMinute.mjs";
1
+ import { OutletState as O } from "@ancon/wildcat-types";
2
+ import n from "moment";
3
+ import T from "./getSettingsForOrderFormat.mjs";
4
+ import v from "./isOutletAcceptingPreOrders.mjs";
5
+ import x from "./getOutletTagInformation.mjs";
6
+ import F from "./getNextTenthMinute.mjs";
7
+ import S from "./getServiceIntervalsForOrderFormat.mjs";
7
8
  import "./constants.mjs";
8
9
  import "./getOutletCurrentActiveOperatingHour.mjs";
9
10
  import "./getMomentFromDateAndTimeString.mjs";
10
11
  import "./searchNextOpeningMoment.mjs";
11
- function Z(n, f) {
12
- var r, c, d;
13
- const s = (n == null ? void 0 : n.state) === v.Open, { preparationTime: o = "00:00:00" } = F(f, n == null ? void 0 : n.orderFormatSettings) ?? {}, g = S(
14
- (n == null ? void 0 : n.orderFormatSettings) || []
15
- ), O = ((d = (c = (r = n == null ? void 0 : n.serviceDateTimes) == null ? void 0 : r.find) == null ? void 0 : c.call(
16
- r,
17
- (m) => m.intervals
18
- )) == null ? void 0 : d.intervals) || [], t = h(
19
- O,
20
- s,
21
- i(),
22
- i(),
23
- n == null ? void 0 : n.timeZoneOffset
24
- ), T = !s && g && t.openingTime ? t.openingTime : void 0, p = i(), a = i(T), e = (p > a ? p : a).utc().second(0).millisecond(0);
12
+ function R(r, e) {
13
+ const m = (r == null ? void 0 : r.state) === O.Open, { preparationTime: o = "00:00:00" } = T(e, r == null ? void 0 : r.orderFormatSettings) ?? {}, a = v(
14
+ (r == null ? void 0 : r.orderFormatSettings) || []
15
+ ), c = S(
16
+ e,
17
+ (r == null ? void 0 : r.serviceDateTimes) || []
18
+ ), s = x(
19
+ c,
20
+ m,
21
+ n(),
22
+ n(),
23
+ r == null ? void 0 : r.timeZoneOffset
24
+ ), d = !m && a && s.openingTime ? s.openingTime : void 0, t = n(), p = n(d), i = (t > p ? t : p).utc().second(0).millisecond(0);
25
25
  if (o) {
26
- const [m, x] = o.split(":").map(Number);
27
- e.add(m, "hour").add(x, "minute");
26
+ const [f, g] = o.split(":").map(Number);
27
+ i.add(f, "hour").add(g, "minute");
28
28
  }
29
- return e.minute(N(e));
29
+ return i.minute(F(i));
30
30
  }
31
31
  export {
32
- Z as default
32
+ R as default
33
33
  };
@@ -1 +1 @@
1
- "use strict";const f=require("@ancon/wildcat-types"),O=require("moment"),S=require("./getPickerIntervalsForDay.js"),h=require("./getSettingsForOrderFormat.js"),l=require("./getServiceIntervalStart.js"),T=require("./generatePickerTimesForDay.js"),_=require("./getServiceIntervalEnd.js"),k=require("./getOutletNextReadyToOrderTime.js");require("../shared/constants.js");require("./getServiceIntervalsForOrderFormat.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");function D(e,o,p,y){const{preparationTime:m="00:00:00"}=h(o,e==null?void 0:e.orderFormatSettings)??{},n=k(e,o);let s=n.clone();const a=O(p);a>n&&(s=n.clone().set({year:a.year(),month:a.month(),date:a.date()}));let r=[];const g=S(s,e==null?void 0:e.serviceDateTimes,o);let q;return g.forEach(t=>{!q&&t.type&&(r=[]);const c=l(s,t,m,e==null?void 0:e.timeZoneOffset),u=_(s,t,m,e==null?void 0:e.timeZoneOffset);c<n&&c.add(n.valueOf()-c.valueOf(),"millisecond");const i=T(c,u,r,void 0,y);i.length>0&&t.state===f.IntervalState.Closed?r=r.filter(d=>d.timestamp<i[0].timestamp||d.timestamp>i[i.length-1].timestamp):i.length>0&&t.state===f.IntervalState.Open&&(r=r.concat(i)),q=t.type}),r}module.exports=D;
1
+ "use strict";const q=require("@ancon/wildcat-types"),O=require("moment"),l=require("./getPickerIntervalsForDay.js"),S=require("./getSettingsForOrderFormat.js"),h=require("./getServiceIntervalStart.js"),D=require("./generatePickerTimesForDay.js"),T=require("./getServiceIntervalEnd.js"),_=require("./getOutletNextReadyToOrderTime.js");require("../shared/constants.js");require("./getServiceIntervalsForOrderFormat.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");function k(e,f,p,u){const{preparationTime:o="00:00:00"}=S(f,e==null?void 0:e.orderFormatSettings)??{},i=_(e,f);let a=i.clone();const s=O(p).utc(!0);if(s>i)a=i.clone().set({year:s.year(),month:s.month(),date:s.date()});else if(i.diff(s,"day")>0)return[];let r=[];const y=l(a,e==null?void 0:e.serviceDateTimes,f);let d;return y.forEach(t=>{!d&&t.type&&(r=[]);const c=h(a,t,o,e==null?void 0:e.timeZoneOffset),g=T(a,t,o,e==null?void 0:e.timeZoneOffset);c<i&&c.add(i.valueOf()-c.valueOf(),"millisecond");const n=D(c,g,r,void 0,u);n.length>0&&t.state===q.IntervalState.Closed?r=r.filter(m=>m.timestamp<n[0].timestamp||m.timestamp>n[n.length-1].timestamp):n.length>0&&t.state===q.IntervalState.Open&&(r=r.concat(n)),d=t.type}),r}module.exports=k;
@@ -1,8 +1,8 @@
1
1
  import { IntervalState as d } from "@ancon/wildcat-types";
2
- import S from "moment";
3
- import k from "./getPickerIntervalsForDay.mjs";
4
- import T from "./getSettingsForOrderFormat.mjs";
5
- import D from "./getServiceIntervalStart.mjs";
2
+ import D from "moment";
3
+ import S from "./getPickerIntervalsForDay.mjs";
4
+ import k from "./getSettingsForOrderFormat.mjs";
5
+ import T from "./getServiceIntervalStart.mjs";
6
6
  import F from "./generatePickerTimesForDay.mjs";
7
7
  import x from "./getServiceIntervalEnd.mjs";
8
8
  import P from "./getOutletNextReadyToOrderTime.mjs";
@@ -16,51 +16,54 @@ import "./constants.mjs";
16
16
  import "./getOutletCurrentActiveOperatingHour.mjs";
17
17
  import "./getMomentFromDateAndTimeString.mjs";
18
18
  import "./searchNextOpeningMoment.mjs";
19
- function K(r, a, g, y) {
20
- const { preparationTime: s = "00:00:00" } = T(a, r == null ? void 0 : r.orderFormatSettings) ?? {}, m = P(r, a);
21
- let n = m.clone();
22
- const o = S(g);
23
- o > m && (n = m.clone().set({
24
- year: o.year(),
25
- month: o.month(),
26
- date: o.date()
27
- }));
28
- let e = [];
29
- const O = k(
30
- n,
31
- r == null ? void 0 : r.serviceDateTimes,
32
- a
19
+ function J(e, p, y, g) {
20
+ const { preparationTime: f = "00:00:00" } = k(p, e == null ? void 0 : e.orderFormatSettings) ?? {}, i = P(e, p);
21
+ let a = i.clone();
22
+ const n = D(y).utc(!0);
23
+ if (n > i)
24
+ a = i.clone().set({
25
+ year: n.year(),
26
+ month: n.month(),
27
+ date: n.date()
28
+ });
29
+ else if (i.diff(n, "day") > 0)
30
+ return [];
31
+ let r = [];
32
+ const O = S(
33
+ a,
34
+ e == null ? void 0 : e.serviceDateTimes,
35
+ p
33
36
  );
34
- let f;
35
- return O.forEach((i) => {
36
- !f && i.type && (e = []);
37
- const p = D(
38
- n,
39
- i,
40
- s,
41
- r == null ? void 0 : r.timeZoneOffset
37
+ let s;
38
+ return O.forEach((t) => {
39
+ !s && t.type && (r = []);
40
+ const o = T(
41
+ a,
42
+ t,
43
+ f,
44
+ e == null ? void 0 : e.timeZoneOffset
42
45
  ), h = x(
43
- n,
44
- i,
45
- s,
46
- r == null ? void 0 : r.timeZoneOffset
46
+ a,
47
+ t,
48
+ f,
49
+ e == null ? void 0 : e.timeZoneOffset
47
50
  );
48
- p < m && p.add(
49
- m.valueOf() - p.valueOf(),
51
+ o < i && o.add(
52
+ i.valueOf() - o.valueOf(),
50
53
  "millisecond"
51
54
  );
52
- const t = F(
53
- p,
55
+ const m = F(
56
+ o,
54
57
  h,
55
- e,
58
+ r,
56
59
  void 0,
57
- y
60
+ g
58
61
  );
59
- t.length > 0 && i.state === d.Closed ? e = e.filter(
60
- (c) => c.timestamp < t[0].timestamp || c.timestamp > t[t.length - 1].timestamp
61
- ) : t.length > 0 && i.state === d.Open && (e = e.concat(t)), f = i.type;
62
- }), e;
62
+ m.length > 0 && t.state === d.Closed ? r = r.filter(
63
+ (c) => c.timestamp < m[0].timestamp || c.timestamp > m[m.length - 1].timestamp
64
+ ) : m.length > 0 && t.state === d.Open && (r = r.concat(m)), s = t.type;
65
+ }), r;
63
66
  }
64
67
  export {
65
- K as default
68
+ J as default
66
69
  };
@@ -1 +1 @@
1
- "use strict";const n=require("./getOutletNextReadyToOrderTime.js"),l=require("./getOutletPickerTimesForDay.js");require("@ancon/wildcat-types");require("moment");require("./getSettingsForOrderFormat.js");require("./isOutletAcceptingPreOrders.js");require("./getOutletTagInformation.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getMomentFromDateAndTimeString.js");require("./searchNextOpeningMoment.js");require("./getNextTenthMinute.js");require("./getPickerIntervalsForDay.js");require("../shared/constants.js");require("./getServiceIntervalsForOrderFormat.js");require("./getServiceIntervalStart.js");require("./generatePickerTimesForDay.js");require("./getServiceIntervalEnd.js");require("./hoursAndMinutesToMinutes.js");function k(r,i,q){const c=n(r,i),u=[],t=c.clone();for(let e=0;e<7;e+=1)u.push(t.clone()),t.add(1,"day");return u.reduce((e,s)=>{const o=l(r,i,s,q);return e.push(o),e},[]).filter(e=>e.length>0)}module.exports=k;
1
+ "use strict";const n=require("./getOutletNextReadyToOrderTime.js"),l=require("./getOutletPickerTimesForDay.js");require("@ancon/wildcat-types");require("moment");require("./getSettingsForOrderFormat.js");require("./isOutletAcceptingPreOrders.js");require("./getOutletTagInformation.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getMomentFromDateAndTimeString.js");require("./searchNextOpeningMoment.js");require("./getNextTenthMinute.js");require("./getServiceIntervalsForOrderFormat.js");require("./getPickerIntervalsForDay.js");require("../shared/constants.js");require("./getServiceIntervalStart.js");require("./generatePickerTimesForDay.js");require("./getServiceIntervalEnd.js");require("./hoursAndMinutesToMinutes.js");function k(r,i,q){const c=n(r,i),u=[],t=c.clone();for(let e=0;e<7;e+=1)u.push(t.clone()),t.add(1,"day");return u.reduce((e,s)=>{const o=l(r,i,s,q);return e.push(o),e},[]).filter(e=>e.length>0)}module.exports=k;
@@ -10,9 +10,9 @@ import "./getOutletCurrentActiveOperatingHour.mjs";
10
10
  import "./getMomentFromDateAndTimeString.mjs";
11
11
  import "./searchNextOpeningMoment.mjs";
12
12
  import "./getNextTenthMinute.mjs";
13
+ import "./getServiceIntervalsForOrderFormat.mjs";
13
14
  import "./getPickerIntervalsForDay.mjs";
14
15
  import "../shared/constants.mjs";
15
- import "./getServiceIntervalsForOrderFormat.mjs";
16
16
  import "./getServiceIntervalStart.mjs";
17
17
  import "./generatePickerTimesForDay.mjs";
18
18
  import "./getServiceIntervalEnd.mjs";
@@ -1 +1 @@
1
- "use strict";function d(t,n=[]){if(t===void 0)return n.reduce((r,o)=>(r.push(...o.intervals.map(s=>({...s,orderFormats:o.orderFormats}))),r),[]);const u=n.some(r=>r.orderFormats===t);return n.reduce((r,o)=>(!u&&(o.orderFormats&t)!==t||(!u||o.orderFormats===t)&&r.push(...o.intervals.map(s=>({...s,orderFormats:o.orderFormats}))),r),[])}module.exports=d;
1
+ "use strict";const l=require("@ancon/wildcat-types");function a(n,s=[]){if(n===void 0)return s.reduce((r,t)=>(r.push(...t.intervals.map(o=>({...o,orderFormats:t.orderFormats}))),r),[]);const u=s.some(r=>r.orderFormats===n);return s.reduce((r,t)=>{const o=(t.orderFormats&n)!==n,d=t.intervals.filter(e=>e.type===l.IntervalType.Exception),p=!o&&d.length>0;return(!u||!p)&&o||(!u||t.orderFormats===n||p)&&r.push(...t.intervals.map(e=>({...e,orderFormats:t.orderFormats}))),r},[])}module.exports=a;
@@ -1,27 +1,33 @@
1
- function d(n, t = []) {
1
+ import { IntervalType as e } from "@ancon/wildcat-types";
2
+ function f(n, s = []) {
2
3
  if (n === void 0)
3
- return t.reduce(
4
- (r, o) => (r.push(
5
- ...o.intervals.map((u) => ({
6
- ...u,
7
- orderFormats: o.orderFormats
4
+ return s.reduce(
5
+ (r, t) => (r.push(
6
+ ...t.intervals.map((o) => ({
7
+ ...o,
8
+ orderFormats: t.orderFormats
8
9
  }))
9
10
  ), r),
10
11
  []
11
12
  );
12
- const s = t.some(
13
+ const u = s.some(
13
14
  (r) => r.orderFormats === n
14
15
  );
15
- return t.reduce(
16
- (r, o) => (!s && (o.orderFormats & n) !== n || (!s || o.orderFormats === n) && r.push(
17
- ...o.intervals.map((u) => ({
18
- ...u,
19
- orderFormats: o.orderFormats
20
- }))
21
- ), r),
16
+ return s.reduce(
17
+ (r, t) => {
18
+ const o = (t.orderFormats & n) !== n, l = t.intervals.filter(
19
+ (p) => p.type === e.Exception
20
+ ), d = !o && l.length > 0;
21
+ return (!u || !d) && o || (!u || t.orderFormats === n || d) && r.push(
22
+ ...t.intervals.map((p) => ({
23
+ ...p,
24
+ orderFormats: t.orderFormats
25
+ }))
26
+ ), r;
27
+ },
22
28
  []
23
29
  );
24
30
  }
25
31
  export {
26
- d as default
32
+ f as default
27
33
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ancon/wildcat-utils",
3
- "version": "1.40.30",
3
+ "version": "1.40.32",
4
4
  "private": false,
5
5
  "main": "index.js",
6
6
  "module": "index.mjs",