@ancon/wildcat-utils 1.43.0-timezone-refactor.8 → 1.43.0

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.
Files changed (147) hide show
  1. package/_baseIsEqual-39cef2eb.mjs +530 -0
  2. package/_baseIsEqual-b3df9240.js +1 -0
  3. package/_baseIteratee-13e892b8.mjs +151 -0
  4. package/_baseIteratee-be26bb18.js +1 -0
  5. package/card/getScannedWalletReadingInfo.d.ts +2 -2
  6. package/card/getScannedWalletReadingInfo.js +1 -1
  7. package/card/getScannedWalletReadingInfo.mjs +6 -6
  8. package/checkout/getCheckoutOrderStatusTexts.js +1 -1
  9. package/checkout/getCheckoutOrderStatusTexts.mjs +5 -7
  10. package/checkout/getCheckoutPenguinLockersMetaData.js +1 -1
  11. package/checkout/getCheckoutPenguinLockersMetaData.mjs +2 -2
  12. package/checkout/index.js +1 -1
  13. package/checkout/index.mjs +47 -49
  14. package/checkout/isCheckoutItemsAreEqual.js +1 -1
  15. package/checkout/isCheckoutItemsAreEqual.mjs +13 -14
  16. package/currency/getFormattedCurrency.d.ts +15 -0
  17. package/currency/getFormattedCurrency.js +1 -1
  18. package/currency/getFormattedCurrency.mjs +25 -10
  19. package/index.d.ts +1 -2
  20. package/index.js +1 -1
  21. package/index.mjs +237 -255
  22. package/license/getLicenseUIState.d.ts +1 -1
  23. package/license/getLicenseUIState.js +1 -1
  24. package/license/getLicenseUIState.mjs +30 -11
  25. package/logger/index.js +1 -1
  26. package/logger/index.mjs +7 -8
  27. package/logger/pascalCaseFormatter.js +1 -1
  28. package/logger/pascalCaseFormatter.mjs +27 -21
  29. package/order/getCheckOrderItemsMappedByTicketItemStatus.js +1 -1
  30. package/order/getCheckOrderItemsMappedByTicketItemStatus.mjs +13 -15
  31. package/order/getCheckOrderMinimumStatusTicketItem.js +1 -1
  32. package/order/getCheckOrderMinimumStatusTicketItem.mjs +17 -19
  33. package/order/index.js +1 -1
  34. package/order/index.mjs +9 -11
  35. package/outlet/constants.d.ts +1 -0
  36. package/outlet/constants.js +1 -1
  37. package/outlet/constants.mjs +4 -3
  38. package/outlet/getExpressAvailableOrderFormats.js +1 -1
  39. package/outlet/getExpressAvailableOrderFormats.mjs +26 -27
  40. package/outlet/getExpressNextAvailabilityShiftTime.d.ts +2 -2
  41. package/outlet/getExpressNextAvailabilityShiftTime.js +1 -1
  42. package/outlet/getExpressNextAvailabilityShiftTime.mjs +18 -19
  43. package/outlet/getExpressServiceIntervalEnd.d.ts +2 -2
  44. package/outlet/getExpressServiceIntervalEnd.js +1 -1
  45. package/outlet/getExpressServiceIntervalEnd.mjs +9 -7
  46. package/outlet/getExpressServiceIntervalStart.d.ts +2 -2
  47. package/outlet/getExpressServiceIntervalStart.js +1 -1
  48. package/outlet/getExpressServiceIntervalStart.mjs +9 -7
  49. package/outlet/getListOutletOpeningHoursTable.d.ts +1 -1
  50. package/outlet/getListOutletOpeningHoursTable.js +1 -1
  51. package/outlet/getListOutletOpeningHoursTable.mjs +150 -135
  52. package/outlet/getMomentFromDateAndTimeString.js +1 -1
  53. package/outlet/getMomentFromDateAndTimeString.mjs +1 -1
  54. package/outlet/getOutletActiveOpeningInterval.d.ts +2 -2
  55. package/outlet/getOutletActiveOpeningInterval.js +1 -1
  56. package/outlet/getOutletActiveOpeningInterval.mjs +12 -15
  57. package/outlet/getOutletAvailabilityInfo.js +1 -1
  58. package/outlet/getOutletAvailabilityInfo.mjs +25 -23
  59. package/outlet/getOutletCurrentActiveOperatingHour.js +1 -1
  60. package/outlet/getOutletCurrentActiveOperatingHour.mjs +15 -16
  61. package/outlet/getOutletCurrentAvailabilityInfo.js +1 -1
  62. package/outlet/getOutletCurrentAvailabilityInfo.mjs +26 -27
  63. package/outlet/getOutletCurrentClosingTimeText.js +1 -1
  64. package/outlet/getOutletCurrentClosingTimeText.mjs +10 -14
  65. package/outlet/getOutletDeliveryFee.js +1 -1
  66. package/outlet/getOutletDeliveryFee.mjs +5 -5
  67. package/outlet/getOutletFormattedAddress.d.ts +1 -9
  68. package/outlet/getOutletFormattedAddress.js +1 -1
  69. package/outlet/getOutletFormattedAddress.mjs +4 -9
  70. package/outlet/getOutletNextOpeningTagInformation.js +1 -1
  71. package/outlet/getOutletNextOpeningTagInformation.mjs +7 -8
  72. package/outlet/getOutletNextOpeningTimeText.js +1 -1
  73. package/outlet/getOutletNextOpeningTimeText.mjs +8 -10
  74. package/outlet/getOutletNextReadyToOrderTime.js +1 -1
  75. package/outlet/getOutletNextReadyToOrderTime.mjs +29 -21
  76. package/outlet/getOutletNextServiceTimeOffset.d.ts +11 -0
  77. package/outlet/getOutletNextServiceTimeOffset.js +1 -0
  78. package/outlet/getOutletNextServiceTimeOffset.mjs +10 -0
  79. package/outlet/getOutletPickerTimesForDay.js +1 -1
  80. package/outlet/getOutletPickerTimesForDay.mjs +38 -36
  81. package/outlet/getOutletPickerTimesForWeek.js +1 -1
  82. package/outlet/getOutletPickerTimesForWeek.mjs +2 -2
  83. package/outlet/getOutletTagInformation.d.ts +1 -1
  84. package/outlet/getOutletTagInformation.js +1 -1
  85. package/outlet/getOutletTagInformation.mjs +70 -69
  86. package/outlet/getOutletTodayOpeningTimes.js +1 -1
  87. package/outlet/getOutletTodayOpeningTimes.mjs +39 -43
  88. package/outlet/getPartitionedOutletsList.js +1 -1
  89. package/outlet/getPartitionedOutletsList.mjs +4 -4
  90. package/outlet/getPickerIntervalsForDay.js +1 -1
  91. package/outlet/getPickerIntervalsForDay.mjs +12 -20
  92. package/outlet/getServiceIntervalEnd.d.ts +1 -1
  93. package/outlet/getServiceIntervalEnd.js +1 -1
  94. package/outlet/getServiceIntervalEnd.mjs +10 -12
  95. package/outlet/getServiceIntervalRange.d.ts +2 -1
  96. package/outlet/getServiceIntervalRange.js +1 -1
  97. package/outlet/getServiceIntervalRange.mjs +12 -8
  98. package/outlet/getServiceIntervalStart.d.ts +1 -1
  99. package/outlet/getServiceIntervalStart.js +1 -1
  100. package/outlet/getServiceIntervalStart.mjs +7 -6
  101. package/outlet/getServiceIntervalsForOrderFormat.d.ts +8 -7
  102. package/outlet/getStructuredOutletAddress.js +1 -1
  103. package/outlet/getStructuredOutletAddress.mjs +7 -7
  104. package/outlet/index.d.ts +2 -1
  105. package/outlet/index.js +1 -1
  106. package/outlet/index.mjs +68 -71
  107. package/outlet/searchNextOpeningMoment.d.ts +1 -1
  108. package/outlet/searchNextOpeningMoment.js +1 -1
  109. package/outlet/searchNextOpeningMoment.mjs +56 -49
  110. package/outlet/serviceDateTimesFromOpeningHours.d.ts +5 -3
  111. package/outlet/serviceDateTimesFromOpeningHours.js +1 -1
  112. package/outlet/serviceDateTimesFromOpeningHours.mjs +27 -342
  113. package/outlet/types.d.ts +2 -0
  114. package/package.json +16 -21
  115. package/quantity/getFormattedQuantity.d.ts +24 -0
  116. package/quantity/getFormattedQuantity.js +1 -0
  117. package/quantity/getFormattedQuantity.mjs +30 -0
  118. package/quantity/index.d.ts +2 -0
  119. package/quantity/index.js +1 -0
  120. package/quantity/index.mjs +4 -0
  121. package/time/getEndTimeSpanOfTimePeriod.js +1 -1
  122. package/time/getEndTimeSpanOfTimePeriod.mjs +9 -5
  123. package/toString-425512fc.js +1 -0
  124. package/{toString-3b91b335.mjs → toString-e631a957.mjs} +11 -12
  125. package/_baseIsEqual-12d01a44.mjs +0 -169
  126. package/_baseIsEqual-bcac9024.js +0 -1
  127. package/_baseIteratee-075c204c.js +0 -1
  128. package/_baseIteratee-4c4d0995.mjs +0 -97
  129. package/_baseSlice-4d543985.mjs +0 -10
  130. package/_baseSlice-e1b41ceb.js +0 -1
  131. package/_getTag-4e44633b.mjs +0 -382
  132. package/_getTag-b8923c48.js +0 -1
  133. package/date/createLocalTimezoneDate.d.ts +0 -8
  134. package/date/createLocalTimezoneDate.js +0 -1
  135. package/date/createLocalTimezoneDate.mjs +0 -8
  136. package/date/createLocalTimezoneMoment.d.ts +0 -9
  137. package/date/createLocalTimezoneMoment.js +0 -1
  138. package/date/createLocalTimezoneMoment.mjs +0 -8
  139. package/date/getFormattedUTCDateTime.d.ts +0 -10
  140. package/date/getFormattedUTCDateTime.js +0 -1
  141. package/date/getFormattedUTCDateTime.mjs +0 -8
  142. package/date/index.d.ts +0 -4
  143. package/date/index.js +0 -1
  144. package/date/index.mjs +0 -9
  145. package/identity-1bae7cf8.js +0 -1
  146. package/identity-6eafe87b.mjs +0 -64
  147. package/toString-9eae9442.js +0 -1
@@ -1,46 +1,45 @@
1
1
  import { OutletState as p } from "@ancon/wildcat-types";
2
- import f from "moment";
3
- import T from "./getOutletTagInformation.mjs";
4
- import a from "./getOutletAvailabilityInfo.mjs";
5
- import "../date/createLocalTimezoneMoment.mjs";
6
- import "../time/getTimeSpanParts.mjs";
2
+ import T from "moment";
3
+ import a from "./getOutletTagInformation.mjs";
4
+ import d from "./getOutletAvailabilityInfo.mjs";
7
5
  import "./constants.mjs";
8
6
  import "./getOutletCurrentActiveOperatingHour.mjs";
9
7
  import "./getMomentFromDateAndTimeString.mjs";
10
8
  import "./searchNextOpeningMoment.mjs";
11
- function d(n, i) {
12
- let { openingTime: o } = n, { closingTime: e } = n;
13
- return !!i.openingTime && !!i.closingTime ? (n.openingTime ? n.openingTime.isBetween(
9
+ function u(o, i) {
10
+ let { openingTime: e } = o, { closingTime: n } = o;
11
+ return !!i.openingTime && !!i.closingTime ? (o.openingTime ? o.openingTime.isBetween(
14
12
  i.openingTime,
15
13
  i.closingTime
16
- ) && (o = i.openingTime) : o = i.openingTime, n.closingTime ? n.closingTime.isBetween(
14
+ ) && (e = i.openingTime) : e = i.openingTime, o.closingTime ? o.closingTime.isBetween(
17
15
  i.openingTime,
18
16
  i.closingTime
19
- ) && (e = i.closingTime) : e = i.closingTime) : ((!o && i.openingTime || i.openingTime && o && i.openingTime.isBefore(o)) && (o = i.openingTime), !e && i.closingTime ? e = i.closingTime : i.closingTime && e && (i.closingTime.isBefore(e) || (e = i.closingTime))), {
20
- openingTime: o,
21
- closingTime: e
17
+ ) && (n = i.closingTime) : n = i.closingTime) : ((!e && i.openingTime || i.openingTime && e && i.openingTime.isBefore(e)) && (e = i.openingTime), !n && i.closingTime ? n = i.closingTime : i.closingTime && n && (i.closingTime.isBefore(n) || (n = i.closingTime))), {
18
+ openingTime: e,
19
+ closingTime: n
22
20
  };
23
21
  }
24
- function y(n) {
25
- const { serviceDateTimes: i, state: o } = n, e = f(), g = o === p.Opened, s = i.reduce((m, r) => {
26
- const l = (r == null ? void 0 : r.intervals) || [], t = T(
27
- l,
28
- g,
29
- e,
30
- e
22
+ function b(o) {
23
+ const { serviceDateTimes: i, state: e, timeZoneOffset: n } = o, r = T(), m = e === p.Open, l = i.reduce((s, g) => {
24
+ const f = (g == null ? void 0 : g.intervals) || [], t = a(
25
+ f,
26
+ m,
27
+ r,
28
+ r,
29
+ n
31
30
  );
32
- return m ? m.openNow && !t.openNow ? m : {
33
- ...d(m, t),
34
- openNow: m.openNow || t.openNow,
35
- openDuringSpecifiedTime: m.openDuringSpecifiedTime || t.openDuringSpecifiedTime
31
+ return s ? s.openNow && !t.openNow ? s : {
32
+ ...u(s, t),
33
+ openNow: s.openNow || t.openNow,
34
+ openDuringSpecifiedTime: s.openDuringSpecifiedTime || t.openDuringSpecifiedTime
36
35
  } : t;
37
36
  }, void 0);
38
- return s ? a(
39
- s,
40
- e,
37
+ return l ? d(
38
+ l,
39
+ r,
41
40
  !1
42
41
  ) : null;
43
42
  }
44
43
  export {
45
- y as default
44
+ b as default
46
45
  };
@@ -1 +1 @@
1
- "use strict";const t=require("moment"),d=require("./getOutletTodayOpeningTimes.js");require("../_baseIteratee-075c204c.js");require("../_getTag-b8923c48.js");require("../isArray-640f9811.js");require("../_baseIsEqual-bcac9024.js");require("../identity-1bae7cf8.js");require("../toString-9eae9442.js");require("../noop-7ea3b37b.js");require("./getListOutletOpeningHoursTable.js");require("@ancon/wildcat-types");require("../shared/isWithinFlag.js");require("../shared/generateId.js");require("react");require("../time/getTimeSpanParts.js");require("../date/createLocalTimezoneMoment.js");function m(q,c){const n=t(),u=d(q);if(u){const s=u.find(e=>{const r=t(e.start),i=t(e.end);return n.isBetween(r,i)});if(s){const{end:e}=s,r=t(e),i=n.isSame(r,"day"),o=r.format(i?"LT":"ddd LT");return c("untilTime",{time:o})||""}}}module.exports=m;
1
+ "use strict";const r=require("moment"),q=require("./getOutletTodayOpeningTimes.js");require("../_baseIteratee-be26bb18.js");require("../_baseIsEqual-b3df9240.js");require("../isArray-640f9811.js");require("../toString-425512fc.js");require("../noop-7ea3b37b.js");require("./getListOutletOpeningHoursTable.js");require("@ancon/wildcat-types");require("../shared/isWithinFlag.js");require("../shared/generateId.js");require("react");function m(c,d){const i=r(),s=q(c);if(s){const u=s.find(e=>{const t=r(e.start),n=r(e.end);return i.isBetween(t,n)});if(u){const{end:e}=u,t=r(e),n=i.isSame(t,"day"),o=t.format(n?"LT":"ddd LT");return d("untilTime",{time:o})||""}}}module.exports=m;
@@ -1,32 +1,28 @@
1
- import e from "moment";
1
+ import n from "moment";
2
2
  import c from "./getOutletTodayOpeningTimes.mjs";
3
- import "../_baseIteratee-4c4d0995.mjs";
4
- import "../_getTag-4e44633b.mjs";
3
+ import "../_baseIteratee-13e892b8.mjs";
4
+ import "../_baseIsEqual-39cef2eb.mjs";
5
5
  import "../isArray-0d9c7aaa.mjs";
6
- import "../_baseIsEqual-12d01a44.mjs";
7
- import "../identity-6eafe87b.mjs";
8
- import "../toString-3b91b335.mjs";
6
+ import "../toString-e631a957.mjs";
9
7
  import "../noop-378485d5.mjs";
10
8
  import "./getListOutletOpeningHoursTable.mjs";
11
9
  import "@ancon/wildcat-types";
12
10
  import "../shared/isWithinFlag.mjs";
13
11
  import "../shared/generateId.mjs";
14
12
  import "react";
15
- import "../time/getTimeSpanParts.mjs";
16
- import "../date/createLocalTimezoneMoment.mjs";
17
- function H(p, d) {
18
- const n = e(), r = c(p);
13
+ function L(p, d) {
14
+ const i = n(), r = c(p);
19
15
  if (r) {
20
16
  const m = r.find((t) => {
21
- const o = e(t.start), i = e(t.end);
22
- return n.isBetween(o, i);
17
+ const e = n(t.start), o = n(t.end);
18
+ return i.isBetween(e, o);
23
19
  });
24
20
  if (m) {
25
- const { end: t } = m, o = e(t), i = n.isSame(o, "day"), s = o.format(i ? "LT" : "ddd LT");
21
+ const { end: t } = m, e = n(t), o = i.isSame(e, "day"), s = e.format(o ? "LT" : "ddd LT");
26
22
  return d("untilTime", { time: s }) || "";
27
23
  }
28
24
  }
29
25
  }
30
26
  export {
31
- H as default
27
+ L as default
32
28
  };
@@ -1 +1 @@
1
- "use strict";const e=require("@ancon/wildcat-types");function i(r){return r?r.find(t=>(t.orderFormats&e.OrderFormat.Delivery)===e.OrderFormat.Delivery):null}module.exports=i;
1
+ "use strict";const r=require("@ancon/wildcat-types");function i(e){return e?e.find(t=>(t.type&r.OrderFormat.Delivery)===r.OrderFormat.Delivery):null}module.exports=i;
@@ -1,9 +1,9 @@
1
- import { OrderFormat as e } from "@ancon/wildcat-types";
2
- function o(r) {
3
- return r ? r.find(
4
- (t) => (t.orderFormats & e.Delivery) === e.Delivery
1
+ import { OrderFormat as r } from "@ancon/wildcat-types";
2
+ function i(e) {
3
+ return e ? e.find(
4
+ (t) => (t.type & r.Delivery) === r.Delivery
5
5
  ) : null;
6
6
  }
7
7
  export {
8
- o as default
8
+ i as default
9
9
  };
@@ -1,9 +1 @@
1
- declare type StreetCity = {
2
- street: string;
3
- city: string;
4
- };
5
- declare type FormatOptions = {
6
- streetMaxLength?: number;
7
- };
8
- export default function getOutletFormattedAddress<OutletAddress extends StreetCity>(address: OutletAddress | undefined, options?: FormatOptions): string;
9
- export {};
1
+ export default function getOutletFormattedAddress(street: string, city: string, maxCharCount?: number): string;
@@ -1 +1 @@
1
- "use strict";const u=require("../string/truncate.js"),s=40;function a(e,t){if(e){const{street:r,city:n}=e,c=(t==null?void 0:t.streetMaxLength)||s;return[r&&u(r,c),n].filter(Boolean).join(", ")||""}return""}module.exports=a;
1
+ "use strict";function c(t,s,n=40){const e=t&&(t.length>n?`${t.substr(0,n-3)}...`:t),d=s||"",a=s?`${e},`:e;return`${e?a:""} ${d}`}module.exports=c;
@@ -1,12 +1,7 @@
1
- import c from "../string/truncate.mjs";
2
- const u = 40;
3
- function d(e, t) {
4
- if (e) {
5
- const { street: r, city: n } = e, a = (t == null ? void 0 : t.streetMaxLength) || u;
6
- return [r && c(r, a), n].filter(Boolean).join(", ") || "";
7
- }
8
- return "";
1
+ function c(t, d, n = 40) {
2
+ const e = t && (t.length > n ? `${t.substr(0, n - 3)}...` : t), a = d || "", s = d ? `${e},` : e;
3
+ return `${e ? s : ""} ${a}`;
9
4
  }
10
5
  export {
11
- d as default
6
+ c as default
12
7
  };
@@ -1 +1 @@
1
- "use strict";const s=require("@ancon/wildcat-types"),g=require("moment"),f=require("./getOutletTagInformation.js");require("../date/createLocalTimezoneMoment.js");require("../time/getTimeSpanParts.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getMomentFromDateAndTimeString.js");require("./searchNextOpeningMoment.js");function m(o){const r=g();return o.serviceDateTimes.reduce((e,t)=>{const i=(t==null?void 0:t.intervals)||[],n=f.default(i,o.state===s.OutletState.Opened,r,r);if(!e&&!n.openNow)return n;const u=(e==null?void 0:e.openingTime)&&n.openingTime&&n.openingTime.isBefore(e.openingTime);return!n.openNow&&u?n:e},void 0)}module.exports=m;
1
+ "use strict";const u=require("@ancon/wildcat-types"),f=require("moment"),g=require("./getOutletTagInformation.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getMomentFromDateAndTimeString.js");require("./searchNextOpeningMoment.js");function m(o){const i=f();return o.serviceDateTimes.reduce((e,r)=>{const t=(r==null?void 0:r.intervals)||[],n=g.default(t,o.state===u.OutletState.Open,i,i,o==null?void 0:o.timeZoneOffset);if(!e&&!n.openNow)return n;const s=(e==null?void 0:e.openingTime)&&n.openingTime&&n.openingTime.isBefore(e.openingTime);return!n.openNow&&s?n:e},void 0)}module.exports=m;
@@ -1,20 +1,19 @@
1
1
  import { OutletState as p } from "@ancon/wildcat-types";
2
2
  import f from "moment";
3
3
  import g from "./getOutletTagInformation.mjs";
4
- import "../date/createLocalTimezoneMoment.mjs";
5
- import "../time/getTimeSpanParts.mjs";
6
4
  import "./constants.mjs";
7
5
  import "./getOutletCurrentActiveOperatingHour.mjs";
8
6
  import "./getMomentFromDateAndTimeString.mjs";
9
7
  import "./searchNextOpeningMoment.mjs";
10
8
  function N(e) {
11
- const i = f();
12
- return e.serviceDateTimes.reduce((n, t) => {
13
- const r = (t == null ? void 0 : t.intervals) || [], o = g(
9
+ const t = f();
10
+ return e.serviceDateTimes.reduce((n, i) => {
11
+ const r = (i == null ? void 0 : i.intervals) || [], o = g(
14
12
  r,
15
- e.state === p.Opened,
16
- i,
17
- i
13
+ e.state === p.Open,
14
+ t,
15
+ t,
16
+ e == null ? void 0 : e.timeZoneOffset
18
17
  );
19
18
  if (!n && !o.openNow)
20
19
  return o;
@@ -1 +1 @@
1
- "use strict";const i=require("moment"),o=require("./getOutletNextOpeningTagInformation.js");require("@ancon/wildcat-types");require("./getOutletTagInformation.js");require("../date/createLocalTimezoneMoment.js");require("../time/getTimeSpanParts.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getMomentFromDateAndTimeString.js");require("./searchNextOpeningMoment.js");function u(t,r){const e=o(t);if(e&&!e.openNow&&e.openingTime){const n=i(e.openingTime).calendar({sameDay:"[Today] [at] LT",nextDay:"[Tomorrow] [at] LT",nextWeek:"ddd [at] LT"});return r("openingTime",{time:n})}return null}module.exports=u;
1
+ "use strict";const t=require("moment"),u=require("./getOutletNextOpeningTagInformation.js");require("@ancon/wildcat-types");require("./getOutletTagInformation.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getMomentFromDateAndTimeString.js");require("./searchNextOpeningMoment.js");function a(n,r){const o=t(),e=u(n);if(e&&!e.openNow&&e.openingTime){const i=t(e.openingTime).utcOffset(o.utcOffset()).calendar({sameDay:"[Today] [at] LT",nextDay:"[Tomorrow] [at] LT",nextWeek:"ddd [at] LT"});return r("openingTime",{time:i})}return null}module.exports=a;
@@ -1,27 +1,25 @@
1
- import i from "moment";
2
- import m from "./getOutletNextOpeningTagInformation.mjs";
1
+ import e from "moment";
2
+ import r from "./getOutletNextOpeningTagInformation.mjs";
3
3
  import "@ancon/wildcat-types";
4
4
  import "./getOutletTagInformation.mjs";
5
- import "../date/createLocalTimezoneMoment.mjs";
6
- import "../time/getTimeSpanParts.mjs";
7
5
  import "./constants.mjs";
8
6
  import "./getOutletCurrentActiveOperatingHour.mjs";
9
7
  import "./getMomentFromDateAndTimeString.mjs";
10
8
  import "./searchNextOpeningMoment.mjs";
11
- function c(e, o) {
12
- const t = m(e);
9
+ function s(o, n) {
10
+ const i = e(), t = r(o);
13
11
  if (t && !t.openNow && t.openingTime) {
14
- const n = i(t.openingTime).calendar({
12
+ const m = e(t.openingTime).utcOffset(i.utcOffset()).calendar({
15
13
  sameDay: "[Today] [at] LT",
16
14
  nextDay: "[Tomorrow] [at] LT",
17
15
  nextWeek: "ddd [at] LT"
18
16
  });
19
- return o("openingTime", {
20
- time: n
17
+ return n("openingTime", {
18
+ time: m
21
19
  });
22
20
  }
23
21
  return null;
24
22
  }
25
23
  export {
26
- c as default
24
+ s as default
27
25
  };
@@ -1 +1 @@
1
- "use strict";const O=require("@ancon/wildcat-types"),r=require("moment"),p=require("../time/getTimeSpanParts.js"),q=require("./getSettingsForOrderFormat.js"),u=require("./isOutletAcceptingPreOrders.js"),T=require("./getOutletTagInformation.js"),f=require("./getNextTenthMinute.js"),S=require("./getServiceIntervalsForOrderFormat.js");require("../date/createLocalTimezoneMoment.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getMomentFromDateAndTimeString.js");require("./searchNextOpeningMoment.js");function _(e,i){const t=(e==null?void 0:e.state)===O.OutletState.Opened,{preparationTime:s="00:00:00"}=q(i,e==null?void 0:e.orderFormatSettings)??{},g=u((e==null?void 0:e.orderFormatSettings)||[]),m=S(i,(e==null?void 0:e.serviceDateTimes)||[]),c=T.default(m,t,r(),r()),d=!t&&g&&c.openingTime?c.openingTime:void 0,o=r(),a=r(d),n=(o>a?o:a).second(0).millisecond(0);return s&&n.add(p(s)),n.minute(f(n))}module.exports=_;
1
+ "use strict";const f=require("@ancon/wildcat-types"),n=require("moment"),q=require("./getSettingsForOrderFormat.js"),T=require("./isOutletAcceptingPreOrders.js"),u=require("./getOutletTagInformation.js"),v=require("./getNextTenthMinute.js"),x=require("./getServiceIntervalsForOrderFormat.js"),_=require("./getOutletNextServiceTimeOffset.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getMomentFromDateAndTimeString.js");require("./searchNextOpeningMoment.js");require("../time/getTimeSpanParts.js");function I(e,r){const t=(e==null?void 0:e.state)===f.OutletState.Open,i=q(r,e==null?void 0:e.orderFormatSettings),m=(i==null?void 0:i.preparationTime)??"00:00:00",O=T((e==null?void 0:e.orderFormatSettings)||[]),d=x(r,(e==null?void 0:e.serviceDateTimes)||[]),c=u.default(d,t,n(),n(),e==null?void 0:e.timeZoneOffset),p=!t&&O&&c.openingTime?c.openingTime:void 0,a=n(),o=n(p),s=(a>o?a:o).utc().second(0).millisecond(0),g=_(r,m,e==null?void 0:e.deliveryIntegrationEnabled);return g>0&&s.add(g,"minute"),s.minute(v(s))}module.exports=I;
@@ -1,29 +1,37 @@
1
1
  import { OutletState as d } from "@ancon/wildcat-types";
2
- import i from "moment";
3
- import f from "../time/getTimeSpanParts.mjs";
4
- import O from "./getSettingsForOrderFormat.mjs";
5
- import T from "./isOutletAcceptingPreOrders.mjs";
6
- import S from "./getOutletTagInformation.mjs";
7
- import v from "./getNextTenthMinute.mjs";
8
- import x from "./getServiceIntervalsForOrderFormat.mjs";
9
- import "../date/createLocalTimezoneMoment.mjs";
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 I from "./getNextTenthMinute.mjs";
7
+ import S from "./getServiceIntervalsForOrderFormat.mjs";
8
+ import y from "./getOutletNextServiceTimeOffset.mjs";
10
9
  import "./constants.mjs";
11
10
  import "./getOutletCurrentActiveOperatingHour.mjs";
12
11
  import "./getMomentFromDateAndTimeString.mjs";
13
12
  import "./searchNextOpeningMoment.mjs";
14
- function j(r, e) {
15
- const m = (r == null ? void 0 : r.state) === d.Opened, { preparationTime: t = "00:00:00" } = O(e, r == null ? void 0 : r.orderFormatSettings) ?? {}, a = T(
16
- (r == null ? void 0 : r.orderFormatSettings) || []
17
- ), c = x(
18
- e,
19
- (r == null ? void 0 : r.serviceDateTimes) || []
20
- ), o = S(
21
- c,
22
- m,
23
- i(),
24
- i()
25
- ), g = !m && a && o.openingTime ? o.openingTime : void 0, s = i(), p = i(g), n = (s > p ? s : p).second(0).millisecond(0);
26
- return t && n.add(f(t)), n.minute(v(n));
13
+ import "../time/getTimeSpanParts.mjs";
14
+ function j(i, r) {
15
+ const s = (i == null ? void 0 : i.state) === d.Open, e = T(
16
+ r,
17
+ i == null ? void 0 : i.orderFormatSettings
18
+ ), a = (e == null ? void 0 : e.preparationTime) ?? "00:00:00", f = v(
19
+ (i == null ? void 0 : i.orderFormatSettings) || []
20
+ ), g = S(
21
+ r,
22
+ (i == null ? void 0 : i.serviceDateTimes) || []
23
+ ), o = x(
24
+ g,
25
+ s,
26
+ n(),
27
+ n(),
28
+ i == null ? void 0 : i.timeZoneOffset
29
+ ), O = !s && f && o.openingTime ? o.openingTime : void 0, t = n(), p = n(O), m = (t > p ? t : p).utc().second(0).millisecond(0), c = y(
30
+ r,
31
+ a,
32
+ i == null ? void 0 : i.deliveryIntegrationEnabled
33
+ );
34
+ return c > 0 && m.add(c, "minute"), m.minute(I(m));
27
35
  }
28
36
  export {
29
37
  j as default
@@ -0,0 +1,11 @@
1
+ import { OrderFormat } from '@ancon/wildcat-types';
2
+ /**
3
+ * Get the offset time for the service time of the outlet based on preparation time and Wolt delivery
4
+ * minimum drop off time.
5
+ *
6
+ * @param orderFormat Selected order format
7
+ * @param preparationTime Preparation time of the outlet
8
+ * @param deliveryIntegrationEnabled Outlet delivery integration enabled/disabled status
9
+ * @returns Offset minutes for the service time
10
+ */
11
+ export default function getOutletNextServiceTimeOffset(orderFormat: OrderFormat, preparationTime?: string, deliveryIntegrationEnabled?: boolean): number;
@@ -0,0 +1 @@
1
+ "use strict";const r=require("@ancon/wildcat-types"),o=require("../time/getTimeSpanParts.js"),u=require("./constants.js");function a(i,s="00:00:00",n){const e=o(s),t=e.hours*60+e.minutes;return(i&r.OrderFormat.Delivery)===r.OrderFormat.Delivery&&n?Math.max(t,u.WoltMinimumScheduleDropOffTime):t}module.exports=a;
@@ -0,0 +1,10 @@
1
+ import { OrderFormat as t } from "@ancon/wildcat-types";
2
+ import n from "../time/getTimeSpanParts.mjs";
3
+ import { WoltMinimumScheduleDropOffTime as a } from "./constants.mjs";
4
+ function l(i, o = "00:00:00", m) {
5
+ const e = n(o), r = e.hours * 60 + e.minutes;
6
+ return (i & t.Delivery) === t.Delivery && m ? Math.max(r, a) : r;
7
+ }
8
+ export {
9
+ l as default
10
+ };
@@ -1 +1 @@
1
- "use strict";const f=require("@ancon/wildcat-types"),g=require("moment"),O=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("../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");function k(e,o,l,m){const{preparationTime:u="00:00:00"}=S(o,e==null?void 0:e.orderFormatSettings)??{},i=_(e,o);let a=i.clone();const s=g(l);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 t=[];const p=O(a,e==null?void 0:e.serviceDateTimes,o);let d;return p.forEach(r=>{!d&&r.type&&(t=[]);const c=h(a,r,u),y=T(a,r,u);c<i&&c.add(i.valueOf()-c.valueOf(),"millisecond");const n=D(c,y,t,void 0,m);n.length>0&&r.state===f.IntervalState.Closed?t=t.filter(q=>q.timestamp<n[0].timestamp||q.timestamp>n[n.length-1].timestamp):n.length>0&&r.state===f.IntervalState.Opened&&(t=t.concat(n)),d=r.type}),t}module.exports=k;
1
+ "use strict";const m=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");require("./getOutletNextServiceTimeOffset.js");require("../time/getTimeSpanParts.js");function k(e,f,u,p){const{preparationTime:o="00:00:00"}=S(f,e==null?void 0:e.orderFormatSettings)??{},i=_(e,f);let a=i.clone();const s=O(u).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 q;return y.forEach(t=>{!q&&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,p);n.length>0&&t.state===m.IntervalState.Closed?r=r.filter(d=>d.timestamp<n[0].timestamp||d.timestamp>n[n.length-1].timestamp):n.length>0&&t.state===m.IntervalState.Open&&(r=r.concat(n)),q=t.type}),r}module.exports=k;
@@ -1,15 +1,13 @@
1
1
  import { IntervalState as d } from "@ancon/wildcat-types";
2
- import h from "moment";
3
- import D from "./getPickerIntervalsForDay.mjs";
4
- import S from "./getSettingsForOrderFormat.mjs";
5
- import k from "./getServiceIntervalStart.mjs";
6
- import T from "./generatePickerTimesForDay.mjs";
7
- import F from "./getServiceIntervalEnd.mjs";
8
- import x from "./getOutletNextReadyToOrderTime.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
+ import F from "./generatePickerTimesForDay.mjs";
7
+ import x from "./getServiceIntervalEnd.mjs";
8
+ import P from "./getOutletNextReadyToOrderTime.mjs";
9
9
  import "../shared/constants.mjs";
10
- import "../date/createLocalTimezoneMoment.mjs";
11
10
  import "./getServiceIntervalsForOrderFormat.mjs";
12
- import "../time/getTimeSpanParts.mjs";
13
11
  import "./getNextTenthMinute.mjs";
14
12
  import "./hoursAndMinutesToMinutes.mjs";
15
13
  import "./isOutletAcceptingPreOrders.mjs";
@@ -18,12 +16,14 @@ import "./constants.mjs";
18
16
  import "./getOutletCurrentActiveOperatingHour.mjs";
19
17
  import "./getMomentFromDateAndTimeString.mjs";
20
18
  import "./searchNextOpeningMoment.mjs";
21
- function Q(t, n, y, g) {
22
- const { preparationTime: f = "00:00:00" } = S(n, t == null ? void 0 : t.orderFormatSettings) ?? {}, i = x(t, n);
23
- let a = i.clone();
24
- const o = h(y);
19
+ import "./getOutletNextServiceTimeOffset.mjs";
20
+ import "../time/getTimeSpanParts.mjs";
21
+ function L(r, p, y, g) {
22
+ const { preparationTime: f = "00:00:00" } = k(p, r == null ? void 0 : r.orderFormatSettings) ?? {}, i = P(r, p);
23
+ let n = i.clone();
24
+ const o = D(y).utc(!0);
25
25
  if (o > i)
26
- a = i.clone().set({
26
+ n = i.clone().set({
27
27
  year: o.year(),
28
28
  month: o.month(),
29
29
  date: o.date()
@@ -31,39 +31,41 @@ function Q(t, n, y, g) {
31
31
  else if (i.diff(o, "day") > 0)
32
32
  return [];
33
33
  let e = [];
34
- const l = D(
35
- a,
36
- t == null ? void 0 : t.serviceDateTimes,
37
- n
34
+ const O = S(
35
+ n,
36
+ r == null ? void 0 : r.serviceDateTimes,
37
+ p
38
38
  );
39
39
  let s;
40
- return l.forEach((r) => {
41
- !s && r.type && (e = []);
42
- const p = k(
43
- a,
44
- r,
45
- f
46
- ), O = F(
47
- a,
48
- r,
49
- f
40
+ return O.forEach((t) => {
41
+ !s && t.type && (e = []);
42
+ const a = T(
43
+ n,
44
+ t,
45
+ f,
46
+ r == null ? void 0 : r.timeZoneOffset
47
+ ), h = x(
48
+ n,
49
+ t,
50
+ f,
51
+ r == null ? void 0 : r.timeZoneOffset
50
52
  );
51
- p < i && p.add(
52
- i.valueOf() - p.valueOf(),
53
+ a < i && a.add(
54
+ i.valueOf() - a.valueOf(),
53
55
  "millisecond"
54
56
  );
55
- const m = T(
56
- p,
57
- O,
57
+ const m = F(
58
+ a,
59
+ h,
58
60
  e,
59
61
  void 0,
60
62
  g
61
63
  );
62
- m.length > 0 && r.state === d.Closed ? e = e.filter(
64
+ m.length > 0 && t.state === d.Closed ? e = e.filter(
63
65
  (c) => c.timestamp < m[0].timestamp || c.timestamp > m[m.length - 1].timestamp
64
- ) : m.length > 0 && r.state === d.Opened && (e = e.concat(m)), s = r.type;
66
+ ) : m.length > 0 && t.state === d.Open && (e = e.concat(m)), s = t.type;
65
67
  }), e;
66
68
  }
67
69
  export {
68
- Q as default
70
+ L as default
69
71
  };
@@ -1 +1 @@
1
- "use strict";const n=require("./getOutletNextReadyToOrderTime.js"),l=require("./getOutletPickerTimesForDay.js");require("@ancon/wildcat-types");require("moment");require("../time/getTimeSpanParts.js");require("./getSettingsForOrderFormat.js");require("./isOutletAcceptingPreOrders.js");require("./getOutletTagInformation.js");require("../date/createLocalTimezoneMoment.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;
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("./getOutletNextServiceTimeOffset.js");require("../time/getTimeSpanParts.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;
@@ -2,17 +2,17 @@ import s from "./getOutletNextReadyToOrderTime.mjs";
2
2
  import u from "./getOutletPickerTimesForDay.mjs";
3
3
  import "@ancon/wildcat-types";
4
4
  import "moment";
5
- import "../time/getTimeSpanParts.mjs";
6
5
  import "./getSettingsForOrderFormat.mjs";
7
6
  import "./isOutletAcceptingPreOrders.mjs";
8
7
  import "./getOutletTagInformation.mjs";
9
- import "../date/createLocalTimezoneMoment.mjs";
10
8
  import "./constants.mjs";
11
9
  import "./getOutletCurrentActiveOperatingHour.mjs";
12
10
  import "./getMomentFromDateAndTimeString.mjs";
13
11
  import "./searchNextOpeningMoment.mjs";
14
12
  import "./getNextTenthMinute.mjs";
15
13
  import "./getServiceIntervalsForOrderFormat.mjs";
14
+ import "./getOutletNextServiceTimeOffset.mjs";
15
+ import "../time/getTimeSpanParts.mjs";
16
16
  import "./getPickerIntervalsForDay.mjs";
17
17
  import "../shared/constants.mjs";
18
18
  import "./getServiceIntervalStart.mjs";
@@ -12,5 +12,5 @@ export declare const DaysOfWeekMap: {
12
12
  7: number;
13
13
  };
14
14
  declare function getOutletTagInformation(operatingHours: ServiceDateTimeInterval[], open: boolean, // Derived by the `state` given by the server
15
- specificTime: Moment, currentTime: Moment): OutletTagInformation;
15
+ specificTime: Moment, currentTime: Moment, outletTimeZoneOffset?: string): OutletTagInformation;
16
16
  export default getOutletTagInformation;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("@ancon/wildcat-types"),x=require("moment"),u=require("../date/createLocalTimezoneMoment.js"),D=require("../time/getTimeSpanParts.js"),d=require("./constants.js"),M=require("./getOutletCurrentActiveOperatingHour.js"),k=require("./getMomentFromDateAndTimeString.js"),S=require("./searchNextOpeningMoment.js"),O={0:127,1:1,2:2,3:4,4:8,5:16,6:32,7:64};function T(n,e){const o=n.isSame(e,"d"),a={[e.format(d.OutletMapKeyFormatter)]:{intervals:[],exception:null,metadata:{dayOfWeek:O[e.isoWeekday()]}}};for(let s=o?1:0;s<d.OutletTimelineDayCount;s+=1){const i=x(n).add(s,"d");a[i.format(d.OutletMapKeyFormatter)]={intervals:[],exception:null,metadata:{dayOfWeek:O[i.isoWeekday()]}}}return a}function W(n,e){const o=u(e.periodFrom),t=u(e.periodTo);if(!o.isSame(t,"d"))Object.keys(n).forEach(s=>{const i=x(s);if(i.isSame(o,"d")||i.isSame(t,"d")||i.isBetween(o,t)){const c=n[s],r=c.exception?c.exception.position:0;e.position>r&&(c.exception=e)}});else{const s=o.format(d.OutletMapKeyFormatter),i=n[s];if(i){const m=i.exception?i.exception.position:0;e.position>m&&(i.exception=e)}}}function q(n,e){Object.keys(n).forEach(o=>{const t=n[o],{dayOfWeek:a}=t.metadata,{dayOfWeek:s}=e;(a&s)===a&&t.intervals.push(e)})}function E(n,e,o){const t=T(e,o);return n.forEach(a=>{a.type===v.IntervalType.Exception?W(t,a):q(t,a)}),t}function g(n,e,o,t){const a=E(n,o,t),s=t.format(d.OutletMapKeyFormatter),i=M(s,a[s],t)!==null,m=e;let c=null,r=null;if(e){const f=o.format(d.OutletMapKeyFormatter),l=M(f,a[f],o);if(l){const{hours:p,minutes:y}=D(l.duration);r=k(f,l.from),c=r.clone().add(p,"hours").add(y,"minutes")}}else r=S(a,o);if(!e&&!r){const f=n.filter(p=>p.state&&u(p.periodTo).isAfter(o)),[l]=f.sort((p,y)=>t.valueOf()-(u(p.periodTo).valueOf()-u(y.periodTo).valueOf()));if(l)return g(n,e,u(l.periodTo),t)}return{closingTime:c,openingTime:r,openDuringSpecifiedTime:m,openNow:i}}exports.DaysOfWeekMap=O;exports.default=g;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("@ancon/wildcat-types"),c=require("moment"),d=require("./constants.js"),M=require("./getOutletCurrentActiveOperatingHour.js"),v=require("./getMomentFromDateAndTimeString.js"),k=require("./searchNextOpeningMoment.js"),D={0:127,1:1,2:2,3:4,4:8,5:16,6:32,7:64};function S(o,t){const a=o.isSame(t,"d"),n={[t.format(d.OutletMapKeyFormatter)]:{intervals:[],exception:null,metadata:{dayOfWeek:D[t.isoWeekday()]}}};for(let i=a?1:0;i<d.OutletTimelineDayCount;i+=1){const s=c(o).add(i,"d");n[s.format(d.OutletMapKeyFormatter)]={intervals:[],exception:null,metadata:{dayOfWeek:D[s.isoWeekday()]}}}return n}function W(o,t){const a=c().utcOffset(),e=c(t.fromDate).utc(!1).subtract(a,"minutes"),n=c(t.toDate).utc(!1).subtract(a,"minutes");if(!e.isSame(n,"d"))Object.keys(o).forEach(s=>{const r=c(s);if(r.isSame(e,"d")||r.isSame(n,"d")||r.isBetween(e,n)){const u=o[s],l=u.exception?u.exception.position:0;t.position>l&&(u.exception=t)}});else{const s=e.format(d.OutletMapKeyFormatter),r=o[s];if(r){const y=r.exception?r.exception.position:0;t.position>y&&(r.exception=t)}}}function E(o,t){Object.keys(o).forEach(a=>{const e=o[a],{dayOfWeek:n}=e.metadata,{dayOfWeek:i}=t;(n&i)===n&&e.intervals.push(t)})}function I(o,t,a){const e=S(t,a);return o.forEach(n=>{n.type===g.IntervalType.Exception?W(e,n):E(e,n)}),e}function x(o,t,a,e,n){const i=I(o,a,e),s=e.format(d.OutletMapKeyFormatter),r=M(s,i[s],e)!==null,y=t;let u=null,l=null;if(t){const m=a.format(d.OutletMapKeyFormatter),p=M(m,i[m],a);if(p){const[f,O]=p.duration.split(":").map(Number);l=v(m,p.start),u=l.clone().add(f,"hours").add(O,"minutes")}}else l=k(i,a,n);if(!t&&!l){const m=o.filter(f=>f.state&&c(f.toDate).isAfter(a)),[p]=m.sort((f,O)=>e.valueOf()-(c(f.toDate).valueOf()-c(O.toDate).valueOf()));if(p)return x(o,t,c(p.toDate),e,n)}return{closingTime:u,openingTime:l,openDuringSpecifiedTime:y,openNow:r}}exports.DaysOfWeekMap=D;exports.default=x;