@ancon/wildcat-utils 1.21.0 → 1.21.2

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.
@@ -29,11 +29,13 @@ declare enum TranslationKey {
29
29
  ProcessingPayment = "processingPayment",
30
30
  YourOrderIsBeingPrepared = "yourOrderIsBeingPrepared",
31
31
  YourOrderIsReadyToCollect = "yourOrderIsReadyToCollect",
32
+ YourOrderIsBeingDelivered = "yourOrderIsBeingDelivered",
32
33
  YourOrderHasBeenCompleted = "yourOrderHasBeenCompleted",
33
34
  YourOrderWillArriveAtYourTable = "yourOrderWillArriveAtYourTable",
34
35
  ModifiedDeliveryStartTime = "modifiedDeliveryStartTime",
35
36
  ModifiedPickUpTime = "modifiedPickUpTime",
36
37
  YourOrderHasBeenAcceptedEstimatedDeliveryStartTime = "yourOrderHasBeenAcceptedEstimatedDeliveryStartTime",
38
+ YourOrderIsBeingPreparedEstimatedDeliveryStartTime = "yourOrderIsBeingPreparedEstimatedDeliveryStartTime",
37
39
  YourOrderHasBeenAcceptedEstimatedTime = "yourOrderHasBeenAcceptedEstimatedTime",
38
40
  YourOrderHasBeenAcceptedPickupTime = "yourOrderHasBeenAcceptedPickupTime",
39
41
  DeliveryWasCompleted = "deliveryWasCompleted",
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("@ancon/wildcat-types"),f=require("./getCheckoutItemsMappedByTicketItemStatus.js");var g=(e=>(e.YourOrderIsBeingProcessed="yourOrderIsBeingProcessed",e.YourOrderWasCancelled="yourOrderWasCancelled",e.ProcessingPayment="processingPayment",e.YourOrderIsBeingPrepared="yourOrderIsBeingPrepared",e.YourOrderIsReadyToCollect="yourOrderIsReadyToCollect",e.YourOrderHasBeenCompleted="yourOrderHasBeenCompleted",e.YourOrderWillArriveAtYourTable="yourOrderWillArriveAtYourTable",e.ModifiedDeliveryStartTime="modifiedDeliveryStartTime",e.ModifiedPickUpTime="modifiedPickUpTime",e.YourOrderHasBeenAcceptedEstimatedDeliveryStartTime="yourOrderHasBeenAcceptedEstimatedDeliveryStartTime",e.YourOrderHasBeenAcceptedEstimatedTime="yourOrderHasBeenAcceptedEstimatedTime",e.YourOrderHasBeenAcceptedPickupTime="yourOrderHasBeenAcceptedPickupTime",e.DeliveryWasCompleted="deliveryWasCompleted",e.OneItemIsReadyToCollect="oneItemIsReadyToCollect",e.MultipleItemsAreReadyToCollect="multipleItemsAreReadyToCollect",e.EnjoyMealWhileOtherItemsBeingPrepared="enjoyMealWhileOtherItemsBeingPrepared",e))(g||{});function m(e){switch(e){case r.CheckoutStatus.Created:case r.CheckoutStatus.Ready:case r.CheckoutStatus.Processing:case r.CheckoutStatus.Authorized:return"yourOrderIsBeingProcessed";case r.CheckoutStatus.Canceled:return"yourOrderWasCancelled";case r.CheckoutStatus.Received:return"processingPayment";case r.CheckoutStatus.ReadyToCollect:return"yourOrderIsReadyToCollect";default:return null}}function C(e){switch(e){case r.TicketStatus.Pending:case r.TicketStatus.PendingAccept:return"yourOrderIsBeingProcessed";case r.TicketStatus.Preparing:return"yourOrderIsBeingPrepared";case r.TicketStatus.Ready:return"yourOrderIsReadyToCollect";case r.TicketStatus.Closed:return"yourOrderHasBeenCompleted";case r.TicketStatus.Canceled:return"yourOrderWasCancelled";default:throw new Error(`Unhandled ticket status "${e}" in getTranslationKeyByTicketStatus()`)}}function T(e,{checkoutStatus:i,ticketStatus:a,customersFetchTableOrders:o}){const d=(e==null?void 0:e.orderFormat)===r.OrderFormat.Delivery,t=(e==null?void 0:e.orderFormat)===r.OrderFormat.TakeAway,l=(e==null?void 0:e.orderFormat)===r.OrderFormat.TableOrder;if(d||t||l&&!o)return!1;const u=i!=null,c=a!=null;if(u){const n=i===r.CheckoutStatus.Captured,s=i===r.CheckoutStatus.InProgress;return n||s}if(c){const n=a===r.TicketStatus.Preparing,s=a===r.TicketStatus.Ready;return n||s}return!1}function P(e,{checkoutStatus:i,ticketStatus:a,customersFetchTableOrders:o,pickupTimeUpdated:d},t){if(T(e,{checkoutStatus:i,ticketStatus:a,customersFetchTableOrders:o})){if(t.ready>0)return t.ready<2?["oneItemIsReadyToCollect"]:["multipleItemsAreReadyToCollect",{count:t.ready}];if(t.done>0&&t.done<t.all)return["enjoyMealWhileOtherItemsBeingPrepared",{count:Math.max(0,t.all-t.done-t.ready)}]}if(a!=null)return[C(a)];const l=m(i);if(l)return[l];const u=i===r.CheckoutStatus.Captured,c=i===r.CheckoutStatus.InProgress,n=i===r.CheckoutStatus.Done,s=(e==null?void 0:e.orderFormat)===r.OrderFormat.EatIn,p=(e==null?void 0:e.orderFormat)===r.OrderFormat.TakeAway,O=(e==null?void 0:e.orderFormat)===r.OrderFormat.TableOrder,y=(e==null?void 0:e.orderFormat)===r.OrderFormat.Delivery;if(u)return O&&!o?["yourOrderWillArriveAtYourTable"]:y?d?["modifiedDeliveryStartTime"]:["yourOrderHasBeenAcceptedEstimatedDeliveryStartTime"]:d?["modifiedPickUpTime"]:["yourOrderHasBeenAcceptedPickupTime"];if(c){if(y)return d?["modifiedDeliveryStartTime"]:["yourOrderHasBeenAcceptedEstimatedDeliveryStartTime"];if(s||p){if(t.ready===t.all)return["yourOrderIsReadyToCollect"];if(t.done===t.all)return["yourOrderHasBeenCompleted"]}return O?t.ready===t.all?o?["yourOrderIsReadyToCollect"]:["yourOrderWillArriveAtYourTable"]:t.done===t.all?o?["yourOrderHasBeenCompleted"]:["yourOrderWillArriveAtYourTable"]:d?["modifiedPickUpTime"]:o?["yourOrderIsBeingPrepared"]:["yourOrderWillArriveAtYourTable"]:d?["modifiedPickUpTime"]:["yourOrderIsBeingPrepared"]}if(n)return s||p?["yourOrderHasBeenCompleted"]:y?["deliveryWasCompleted"]:["yourOrderHasBeenCompleted"];throw new Error("Could not resolve translation key in getTranslationKey()")}const h={yourOrderIsBeingProcessed:()=>({title:"Your order is being processed"}),yourOrderWasCancelled:()=>({title:"Your order was canceled",message:"Sorry. Your order could not go through."}),processingPayment:()=>({title:"Processing payment",message:"Please wait while your payment is being processed"}),yourOrderIsBeingPrepared:()=>({title:"Your order is now being prepared!",message:"We will let you know when it is ready for pickup."}),yourOrderIsReadyToCollect:()=>({title:"Your order is ready to be collected!",message:"Please go ahead and show this screen at the collection point"}),yourOrderHasBeenCompleted:()=>({title:"Enjoy your meal!",message:"Your order has been completed!"}),yourOrderWillArriveAtYourTable:()=>({title:"Your order has been accepted!",message:"It will arrive at your table shortly"}),modifiedDeliveryStartTime:()=>({title:"Your delivery time was modified",message:"Delivery will start at approximately 00:00."}),modifiedPickUpTime:()=>({title:"Your pickup time was modified",message:"Pickup time: 00:00"}),yourOrderHasBeenAcceptedEstimatedDeliveryStartTime:()=>({title:"Your order has been accepted",message:"Estimated delivery start time: 00:00"}),yourOrderHasBeenAcceptedEstimatedTime:()=>({title:"Your order has been accepted",message:"Estimated time: 00:00"}),yourOrderHasBeenAcceptedPickupTime:()=>({title:"Your order has been accepted",message:"Pickup time: 00:00"}),deliveryWasCompleted:()=>({title:"Your order was completed",message:"Enjoy your meal!"}),oneItemIsReadyToCollect:()=>({title:"One item is ready to pick up!",message:"Please allow cashier or waiter to confirm that the prepared item has been successfully issued."}),multipleItemsAreReadyToCollect:()=>({title:"Multiple items are ready to pick up!",message:"Please allow cashier or waiter to confirm that the prepared items have been successfully issued."}),enjoyMealWhileOtherItemsBeingPrepared:({meta:e})=>({title:"Enjoy your meal while the rest of the items are being prepared!",message:`${e.count} more items are being prepared`})};function I(e,i,a=h){const o=f((e==null?void 0:e.items)??[]),[d,t]=P(e,i,{all:o.all.length,ready:o.ready.length,done:o.done.length}),l=a[d]({key:d,meta:t});if(!l)throw new Error("Could not resolve translation in getOrderStatusTexts()");return[l,d]}exports.TranslationKey=g;exports.default=I;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("@ancon/wildcat-types"),m=require("./getCheckoutItemsMappedByTicketItemStatus.js");var O=(e=>(e.YourOrderIsBeingProcessed="yourOrderIsBeingProcessed",e.YourOrderWasCancelled="yourOrderWasCancelled",e.ProcessingPayment="processingPayment",e.YourOrderIsBeingPrepared="yourOrderIsBeingPrepared",e.YourOrderIsReadyToCollect="yourOrderIsReadyToCollect",e.YourOrderIsBeingDelivered="yourOrderIsBeingDelivered",e.YourOrderHasBeenCompleted="yourOrderHasBeenCompleted",e.YourOrderWillArriveAtYourTable="yourOrderWillArriveAtYourTable",e.ModifiedDeliveryStartTime="modifiedDeliveryStartTime",e.ModifiedPickUpTime="modifiedPickUpTime",e.YourOrderHasBeenAcceptedEstimatedDeliveryStartTime="yourOrderHasBeenAcceptedEstimatedDeliveryStartTime",e.YourOrderIsBeingPreparedEstimatedDeliveryStartTime="yourOrderIsBeingPreparedEstimatedDeliveryStartTime",e.YourOrderHasBeenAcceptedEstimatedTime="yourOrderHasBeenAcceptedEstimatedTime",e.YourOrderHasBeenAcceptedPickupTime="yourOrderHasBeenAcceptedPickupTime",e.DeliveryWasCompleted="deliveryWasCompleted",e.OneItemIsReadyToCollect="oneItemIsReadyToCollect",e.MultipleItemsAreReadyToCollect="multipleItemsAreReadyToCollect",e.EnjoyMealWhileOtherItemsBeingPrepared="enjoyMealWhileOtherItemsBeingPrepared",e))(O||{});function f(e,i){switch(e){case r.CheckoutStatus.Created:case r.CheckoutStatus.Ready:case r.CheckoutStatus.Processing:case r.CheckoutStatus.Authorized:return"yourOrderIsBeingProcessed";case r.CheckoutStatus.Canceled:return"yourOrderWasCancelled";case r.CheckoutStatus.Received:return"processingPayment";case r.CheckoutStatus.ReadyToCollect:return i?"yourOrderIsBeingDelivered":"yourOrderIsReadyToCollect";default:return null}}function C(e){switch(e){case r.TicketStatus.Pending:case r.TicketStatus.PendingAccept:return"yourOrderIsBeingProcessed";case r.TicketStatus.Preparing:return"yourOrderIsBeingPrepared";case r.TicketStatus.Ready:return"yourOrderIsReadyToCollect";case r.TicketStatus.Closed:return"yourOrderHasBeenCompleted";case r.TicketStatus.Canceled:return"yourOrderWasCancelled";default:throw new Error(`Unhandled ticket status "${e}" in getTranslationKeyByTicketStatus()`)}}function T(e,{checkoutStatus:i,ticketStatus:a,customersFetchTableOrders:o}){const d=(e==null?void 0:e.orderFormat)===r.OrderFormat.Delivery,t=(e==null?void 0:e.orderFormat)===r.OrderFormat.TakeAway,l=(e==null?void 0:e.orderFormat)===r.OrderFormat.TableOrder;if(d||t||l&&!o)return!1;const u=i!=null,c=a!=null;if(u){const s=i===r.CheckoutStatus.Captured,n=i===r.CheckoutStatus.InProgress;return s||n}if(c){const s=a===r.TicketStatus.Preparing,n=a===r.TicketStatus.Ready;return s||n}return!1}function P(e,{checkoutStatus:i,ticketStatus:a,customersFetchTableOrders:o,pickupTimeUpdated:d},t){if(T(e,{checkoutStatus:i,ticketStatus:a,customersFetchTableOrders:o})){if(t.ready>0)return t.ready<2?["oneItemIsReadyToCollect"]:["multipleItemsAreReadyToCollect",{count:t.ready}];if(t.done>0&&t.done<t.all)return["enjoyMealWhileOtherItemsBeingPrepared",{count:Math.max(0,t.all-t.done-t.ready)}]}if(a!=null)return[C(a)];const l=(e==null?void 0:e.orderFormat)===r.OrderFormat.Delivery,u=f(i,l);if(u)return[u];const c=i===r.CheckoutStatus.Captured,s=i===r.CheckoutStatus.InProgress,n=i===r.CheckoutStatus.Done,y=(e==null?void 0:e.orderFormat)===r.OrderFormat.EatIn,p=(e==null?void 0:e.orderFormat)===r.OrderFormat.TakeAway,g=(e==null?void 0:e.orderFormat)===r.OrderFormat.TableOrder;if(c)return g&&!o?["yourOrderWillArriveAtYourTable"]:l?d?["modifiedDeliveryStartTime"]:["yourOrderHasBeenAcceptedEstimatedDeliveryStartTime"]:d?["modifiedPickUpTime"]:["yourOrderHasBeenAcceptedPickupTime"];if(s){if(l)return d?["modifiedDeliveryStartTime"]:["yourOrderIsBeingPreparedEstimatedDeliveryStartTime"];if(y||p){if(t.ready===t.all)return["yourOrderIsReadyToCollect"];if(t.done===t.all)return["yourOrderHasBeenCompleted"]}return g?t.ready===t.all?o?["yourOrderIsReadyToCollect"]:["yourOrderWillArriveAtYourTable"]:t.done===t.all?o?["yourOrderHasBeenCompleted"]:["yourOrderWillArriveAtYourTable"]:d?["modifiedPickUpTime"]:o?["yourOrderIsBeingPrepared"]:["yourOrderWillArriveAtYourTable"]:d?["modifiedPickUpTime"]:["yourOrderIsBeingPrepared"]}if(n)return y||p?["yourOrderHasBeenCompleted"]:l?["deliveryWasCompleted"]:["yourOrderHasBeenCompleted"];throw new Error("Could not resolve translation key in getTranslationKey()")}const I={yourOrderIsBeingProcessed:()=>({title:"Your order is being processed"}),yourOrderWasCancelled:()=>({title:"Your order was canceled",message:"Sorry. Your order could not go through."}),processingPayment:()=>({title:"Processing payment",message:"Please wait while your payment is being processed"}),yourOrderIsBeingPrepared:()=>({title:"Your order is now being prepared!",message:"We will let you know when it is ready for pickup."}),yourOrderIsReadyToCollect:()=>({title:"Your order is ready to be collected!",message:"Please go ahead and show this screen at the collection point"}),yourOrderIsBeingDelivered:()=>({title:"Your order is being delivered",message:"It will arrive at your door shortly. Enjoy your meal!"}),yourOrderHasBeenCompleted:()=>({title:"Enjoy your meal!",message:"Your order has been completed!"}),yourOrderWillArriveAtYourTable:()=>({title:"Your order has been accepted!",message:"It will arrive at your table shortly"}),modifiedDeliveryStartTime:()=>({title:"Your delivery time was modified",message:"Delivery will start at approximately 00:00."}),modifiedPickUpTime:()=>({title:"Your pickup time was modified",message:"Pickup time: 00:00"}),yourOrderHasBeenAcceptedEstimatedDeliveryStartTime:()=>({title:"Your order has been accepted",message:"Estimated delivery start time: 00:00"}),yourOrderIsBeingPreparedEstimatedDeliveryStartTime:()=>({title:"Your order is now being prepared!",message:"Estimated delivery start time: 00:00"}),yourOrderHasBeenAcceptedEstimatedTime:()=>({title:"Your order has been accepted",message:"Estimated time: 00:00"}),yourOrderHasBeenAcceptedPickupTime:()=>({title:"Your order has been accepted",message:"Pickup time: 00:00"}),deliveryWasCompleted:()=>({title:"Your order was completed",message:"Enjoy your meal!"}),oneItemIsReadyToCollect:()=>({title:"One item is ready to pick up!",message:"Please allow cashier or waiter to confirm that the prepared item has been successfully issued."}),multipleItemsAreReadyToCollect:()=>({title:"Multiple items are ready to pick up!",message:"Please allow cashier or waiter to confirm that the prepared items have been successfully issued."}),enjoyMealWhileOtherItemsBeingPrepared:({meta:e})=>({title:"Enjoy your meal while the rest of the items are being prepared!",message:`${e.count} more items are being prepared`})};function h(e,i,a=I){const o=m((e==null?void 0:e.items)??[]),[d,t]=P(e,i,{all:o.all.length,ready:o.ready.length,done:o.done.length}),l=a[d]({key:d,meta:t});if(!l)throw new Error("Could not resolve translation in getOrderStatusTexts()");return[l,d]}exports.TranslationKey=O;exports.default=h;
@@ -1,35 +1,35 @@
1
- import { CheckoutStatus as t, OrderFormat as s, TicketStatus as a } from "@ancon/wildcat-types";
2
- import m from "./getCheckoutItemsMappedByTicketItemStatus.mjs";
3
- var P = /* @__PURE__ */ ((e) => (e.YourOrderIsBeingProcessed = "yourOrderIsBeingProcessed", e.YourOrderWasCancelled = "yourOrderWasCancelled", e.ProcessingPayment = "processingPayment", e.YourOrderIsBeingPrepared = "yourOrderIsBeingPrepared", e.YourOrderIsReadyToCollect = "yourOrderIsReadyToCollect", e.YourOrderHasBeenCompleted = "yourOrderHasBeenCompleted", e.YourOrderWillArriveAtYourTable = "yourOrderWillArriveAtYourTable", e.ModifiedDeliveryStartTime = "modifiedDeliveryStartTime", e.ModifiedPickUpTime = "modifiedPickUpTime", e.YourOrderHasBeenAcceptedEstimatedDeliveryStartTime = "yourOrderHasBeenAcceptedEstimatedDeliveryStartTime", e.YourOrderHasBeenAcceptedEstimatedTime = "yourOrderHasBeenAcceptedEstimatedTime", e.YourOrderHasBeenAcceptedPickupTime = "yourOrderHasBeenAcceptedPickupTime", e.DeliveryWasCompleted = "deliveryWasCompleted", e.OneItemIsReadyToCollect = "oneItemIsReadyToCollect", e.MultipleItemsAreReadyToCollect = "multipleItemsAreReadyToCollect", e.EnjoyMealWhileOtherItemsBeingPrepared = "enjoyMealWhileOtherItemsBeingPrepared", e))(P || {});
4
- function C(e) {
1
+ import { OrderFormat as n, CheckoutStatus as i, TicketStatus as s } from "@ancon/wildcat-types";
2
+ import f from "./getCheckoutItemsMappedByTicketItemStatus.mjs";
3
+ var I = /* @__PURE__ */ ((e) => (e.YourOrderIsBeingProcessed = "yourOrderIsBeingProcessed", e.YourOrderWasCancelled = "yourOrderWasCancelled", e.ProcessingPayment = "processingPayment", e.YourOrderIsBeingPrepared = "yourOrderIsBeingPrepared", e.YourOrderIsReadyToCollect = "yourOrderIsReadyToCollect", e.YourOrderIsBeingDelivered = "yourOrderIsBeingDelivered", e.YourOrderHasBeenCompleted = "yourOrderHasBeenCompleted", e.YourOrderWillArriveAtYourTable = "yourOrderWillArriveAtYourTable", e.ModifiedDeliveryStartTime = "modifiedDeliveryStartTime", e.ModifiedPickUpTime = "modifiedPickUpTime", e.YourOrderHasBeenAcceptedEstimatedDeliveryStartTime = "yourOrderHasBeenAcceptedEstimatedDeliveryStartTime", e.YourOrderIsBeingPreparedEstimatedDeliveryStartTime = "yourOrderIsBeingPreparedEstimatedDeliveryStartTime", e.YourOrderHasBeenAcceptedEstimatedTime = "yourOrderHasBeenAcceptedEstimatedTime", e.YourOrderHasBeenAcceptedPickupTime = "yourOrderHasBeenAcceptedPickupTime", e.DeliveryWasCompleted = "deliveryWasCompleted", e.OneItemIsReadyToCollect = "oneItemIsReadyToCollect", e.MultipleItemsAreReadyToCollect = "multipleItemsAreReadyToCollect", e.EnjoyMealWhileOtherItemsBeingPrepared = "enjoyMealWhileOtherItemsBeingPrepared", e))(I || {});
4
+ function P(e, t) {
5
5
  switch (e) {
6
- case t.Created:
7
- case t.Ready:
8
- case t.Processing:
9
- case t.Authorized:
6
+ case i.Created:
7
+ case i.Ready:
8
+ case i.Processing:
9
+ case i.Authorized:
10
10
  return "yourOrderIsBeingProcessed";
11
- case t.Canceled:
11
+ case i.Canceled:
12
12
  return "yourOrderWasCancelled";
13
- case t.Received:
13
+ case i.Received:
14
14
  return "processingPayment";
15
- case t.ReadyToCollect:
16
- return "yourOrderIsReadyToCollect";
15
+ case i.ReadyToCollect:
16
+ return t ? "yourOrderIsBeingDelivered" : "yourOrderIsReadyToCollect";
17
17
  default:
18
18
  return null;
19
19
  }
20
20
  }
21
- function I(e) {
21
+ function C(e) {
22
22
  switch (e) {
23
- case a.Pending:
24
- case a.PendingAccept:
23
+ case s.Pending:
24
+ case s.PendingAccept:
25
25
  return "yourOrderIsBeingProcessed";
26
- case a.Preparing:
26
+ case s.Preparing:
27
27
  return "yourOrderIsBeingPrepared";
28
- case a.Ready:
28
+ case s.Ready:
29
29
  return "yourOrderIsReadyToCollect";
30
- case a.Closed:
30
+ case s.Closed:
31
31
  return "yourOrderHasBeenCompleted";
32
- case a.Canceled:
32
+ case s.Canceled:
33
33
  return "yourOrderWasCancelled";
34
34
  default:
35
35
  throw new Error(
@@ -37,33 +37,33 @@ function I(e) {
37
37
  );
38
38
  }
39
39
  }
40
- function T(e, {
41
- checkoutStatus: i,
40
+ function B(e, {
41
+ checkoutStatus: t,
42
42
  ticketStatus: l,
43
43
  customersFetchTableOrders: o
44
44
  }) {
45
- const d = (e == null ? void 0 : e.orderFormat) === s.Delivery, r = (e == null ? void 0 : e.orderFormat) === s.TakeAway, n = (e == null ? void 0 : e.orderFormat) === s.TableOrder;
46
- if (d || r || n && !o)
45
+ const d = (e == null ? void 0 : e.orderFormat) === n.Delivery, r = (e == null ? void 0 : e.orderFormat) === n.TakeAway, a = (e == null ? void 0 : e.orderFormat) === n.TableOrder;
46
+ if (d || r || a && !o)
47
47
  return !1;
48
- const p = i != null, y = l != null;
49
- if (p) {
50
- const u = i === t.Captured, c = i === t.InProgress;
48
+ const y = t != null, p = l != null;
49
+ if (y) {
50
+ const u = t === i.Captured, c = t === i.InProgress;
51
51
  return u || c;
52
52
  }
53
- if (y) {
54
- const u = l === a.Preparing, c = l === a.Ready;
53
+ if (p) {
54
+ const u = l === s.Preparing, c = l === s.Ready;
55
55
  return u || c;
56
56
  }
57
57
  return !1;
58
58
  }
59
- function B(e, {
60
- checkoutStatus: i,
59
+ function T(e, {
60
+ checkoutStatus: t,
61
61
  ticketStatus: l,
62
62
  customersFetchTableOrders: o,
63
63
  pickupTimeUpdated: d
64
64
  }, r) {
65
- if (T(e, {
66
- checkoutStatus: i,
65
+ if (B(e, {
66
+ checkoutStatus: t,
67
67
  ticketStatus: l,
68
68
  customersFetchTableOrders: o
69
69
  })) {
@@ -79,17 +79,17 @@ function B(e, {
79
79
  ];
80
80
  }
81
81
  if (l != null)
82
- return [I(l)];
83
- const n = C(i);
84
- if (n)
85
- return [n];
86
- const p = i === t.Captured, y = i === t.InProgress, u = i === t.Done, c = (e == null ? void 0 : e.orderFormat) === s.EatIn, g = (e == null ? void 0 : e.orderFormat) === s.TakeAway, O = (e == null ? void 0 : e.orderFormat) === s.TableOrder, f = (e == null ? void 0 : e.orderFormat) === s.Delivery;
82
+ return [C(l)];
83
+ const a = (e == null ? void 0 : e.orderFormat) === n.Delivery, y = P(t, a);
84
+ if (y)
85
+ return [y];
86
+ const p = t === i.Captured, u = t === i.InProgress, c = t === i.Done, g = (e == null ? void 0 : e.orderFormat) === n.EatIn, m = (e == null ? void 0 : e.orderFormat) === n.TakeAway, O = (e == null ? void 0 : e.orderFormat) === n.TableOrder;
87
87
  if (p)
88
- return O && !o ? ["yourOrderWillArriveAtYourTable"] : f ? d ? ["modifiedDeliveryStartTime"] : ["yourOrderHasBeenAcceptedEstimatedDeliveryStartTime"] : d ? ["modifiedPickUpTime"] : ["yourOrderHasBeenAcceptedPickupTime"];
89
- if (y) {
90
- if (f)
91
- return d ? ["modifiedDeliveryStartTime"] : ["yourOrderHasBeenAcceptedEstimatedDeliveryStartTime"];
92
- if (c || g) {
88
+ return O && !o ? ["yourOrderWillArriveAtYourTable"] : a ? d ? ["modifiedDeliveryStartTime"] : ["yourOrderHasBeenAcceptedEstimatedDeliveryStartTime"] : d ? ["modifiedPickUpTime"] : ["yourOrderHasBeenAcceptedPickupTime"];
89
+ if (u) {
90
+ if (a)
91
+ return d ? ["modifiedDeliveryStartTime"] : ["yourOrderIsBeingPreparedEstimatedDeliveryStartTime"];
92
+ if (g || m) {
93
93
  if (r.ready === r.all)
94
94
  return ["yourOrderIsReadyToCollect"];
95
95
  if (r.done === r.all)
@@ -97,11 +97,11 @@ function B(e, {
97
97
  }
98
98
  return O ? r.ready === r.all ? o ? ["yourOrderIsReadyToCollect"] : ["yourOrderWillArriveAtYourTable"] : r.done === r.all ? o ? ["yourOrderHasBeenCompleted"] : ["yourOrderWillArriveAtYourTable"] : d ? ["modifiedPickUpTime"] : o ? ["yourOrderIsBeingPrepared"] : ["yourOrderWillArriveAtYourTable"] : d ? ["modifiedPickUpTime"] : ["yourOrderIsBeingPrepared"];
99
99
  }
100
- if (u)
101
- return c || g ? ["yourOrderHasBeenCompleted"] : f ? ["deliveryWasCompleted"] : ["yourOrderHasBeenCompleted"];
100
+ if (c)
101
+ return g || m ? ["yourOrderHasBeenCompleted"] : a ? ["deliveryWasCompleted"] : ["yourOrderHasBeenCompleted"];
102
102
  throw new Error("Could not resolve translation key in getTranslationKey()");
103
103
  }
104
- const h = {
104
+ const v = {
105
105
  yourOrderIsBeingProcessed: () => ({
106
106
  title: "Your order is being processed"
107
107
  }),
@@ -121,6 +121,10 @@ const h = {
121
121
  title: "Your order is ready to be collected!",
122
122
  message: "Please go ahead and show this screen at the collection point"
123
123
  }),
124
+ yourOrderIsBeingDelivered: () => ({
125
+ title: "Your order is being delivered",
126
+ message: "It will arrive at your door shortly. Enjoy your meal!"
127
+ }),
124
128
  yourOrderHasBeenCompleted: () => ({
125
129
  title: "Enjoy your meal!",
126
130
  message: "Your order has been completed!"
@@ -141,6 +145,10 @@ const h = {
141
145
  title: "Your order has been accepted",
142
146
  message: "Estimated delivery start time: 00:00"
143
147
  }),
148
+ yourOrderIsBeingPreparedEstimatedDeliveryStartTime: () => ({
149
+ title: "Your order is now being prepared!",
150
+ message: "Estimated delivery start time: 00:00"
151
+ }),
144
152
  yourOrderHasBeenAcceptedEstimatedTime: () => ({
145
153
  title: "Your order has been accepted",
146
154
  message: "Estimated time: 00:00"
@@ -166,19 +174,19 @@ const h = {
166
174
  message: `${e.count} more items are being prepared`
167
175
  })
168
176
  };
169
- function w(e, i, l = h) {
170
- const o = m(
177
+ function Y(e, t, l = v) {
178
+ const o = f(
171
179
  (e == null ? void 0 : e.items) ?? []
172
- ), [d, r] = B(e, i, {
180
+ ), [d, r] = T(e, t, {
173
181
  all: o.all.length,
174
182
  ready: o.ready.length,
175
183
  done: o.done.length
176
- }), n = l[d]({ key: d, meta: r });
177
- if (!n)
184
+ }), a = l[d]({ key: d, meta: r });
185
+ if (!a)
178
186
  throw new Error("Could not resolve translation in getOrderStatusTexts()");
179
- return [n, d];
187
+ return [a, d];
180
188
  }
181
189
  export {
182
- P as TranslationKey,
183
- w as default
190
+ I as TranslationKey,
191
+ Y as default
184
192
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ancon/wildcat-utils",
3
- "version": "1.21.0",
3
+ "version": "1.21.2",
4
4
  "private": false,
5
5
  "main": "index.js",
6
6
  "module": "index.mjs",
@@ -1,15 +1,15 @@
1
1
  import { SignalRHubName, SignalRSignalName } from '@ancon/wildcat-types';
2
2
  import { SignalRConfig, SignalREventListener } from './types';
3
3
  declare type SignalRConfigArg = Omit<SignalRConfig, 'hub'>;
4
- declare type ReduxSelectorsArg<RootState = unknown> = {
4
+ declare type ReduxSelectorsArg<RootState = unknown> = Partial<{
5
5
  clientIdSelector: (state: RootState) => string | null;
6
6
  isSignalROnlineSelector: (state: RootState) => boolean;
7
- };
8
- declare type ReduxActionsArg = {
7
+ }>;
8
+ declare type ReduxActionsArg = Partial<{
9
9
  setIsSignalROnlineAction: (payload: {
10
10
  isSignalROnline: boolean;
11
11
  }) => unknown;
12
- };
12
+ }>;
13
13
  declare type ReduxHooksArg = Partial<{
14
14
  useAppDispatch: () => (action: unknown) => unknown;
15
15
  useAppStore: <T = {}>() => {
@@ -17,7 +17,7 @@ declare type ReduxHooksArg = Partial<{
17
17
  };
18
18
  useAppSelector: <T extends (...args: any[]) => any>(selector: T) => ReturnType<T>;
19
19
  }>;
20
- declare function createUseSignalRHook(signalRConfig: SignalRConfigArg, selectors: ReduxSelectorsArg, actions: ReduxActionsArg, hooks?: ReduxHooksArg): (hub: SignalRHubName) => {
20
+ declare function createUseSignalRHook<RootState = unknown>(signalRConfig: SignalRConfigArg, selectors?: ReduxSelectorsArg<RootState>, actions?: ReduxActionsArg, hooks?: ReduxHooksArg): (hub: SignalRHubName) => {
21
21
  isHubConnected: boolean;
22
22
  join: (group: string) => Promise<void>;
23
23
  leave: (group: string) => Promise<void>;
@@ -1 +1 @@
1
- "use strict";const e=require("react"),l=require("react-redux"),U=require("./SignalR.js");require("@microsoft/signalr");require("@ancon/wildcat-types");require("../shared/wait.js");require("../api/generateBackoffWithEqualJitter.js");require("../number/randomIntFromInterval.js");function M(O,k,q,H){const{signalRApiUrl:h,logger:A,enableLogging:m}=O,{clientIdSelector:D,isSignalROnlineSelector:d}=k,{setIsSignalROnlineAction:f}=q,{useAppStore:w=l.useStore,useAppDispatch:x=l.useDispatch,useAppSelector:y=l.useSelector}=H??{};return function(G){const n=e.useRef(new U({signalRApiUrl:h,hub:G,logger:A,enableLogging:m})),i=w(),u=x(),g=y(D),[c,j]=e.useState(!1),[s,S]=e.useState(!1),R=e.useRef(c),o=e.useCallback(()=>{d(i.getState())||u(f({isSignalROnline:!0})),s||S(!0)},[u,s,i]),b=o,v=e.useCallback(()=>{d(i.getState())&&u(f({isSignalROnline:!1})),s&&S(!1)},[u,s,i]),p=e.useCallback(async t=>{n.current.groups.indexOf(t)<0&&await n.current.joinGroup(t)},[]),C=e.useCallback(async t=>{n.current.groups.indexOf(t)>=0&&await n.current.leaveGroup(t)},[]),E=e.useCallback((t,r,a)=>n.current.addSignalListener(t,r,a),[]),L=e.useCallback((t,r)=>n.current.removeSignalListener(t,r),[]),I=e.useCallback(()=>n.current.getHubConnectionId(),[]);return e.useEffect(()=>{R.current=c},[c]),e.useEffect(()=>{const t=n.current.addEventListener("connected",o),r=n.current.addEventListener("reconnected",b),a=n.current.addEventListener("disconnected",v);return R.current||j(!0),()=>{t(),r(),a()}},[o,v,b]),e.useEffect(()=>{n.current.setClientId(g||void 0)},[g]),e.useEffect(()=>{async function t(){await n.current.connect()}c&&t()},[c]),e.useEffect(()=>()=>{n.current.leaveAllGroups().then(()=>{n.current.disconnect()})},[n]),e.useMemo(()=>({isHubConnected:s,join:p,leave:C,subscribe:E,unsubscribe:L,getHubConnectionId:I}),[s,p,C,E,L,I])}}module.exports=M;
1
+ "use strict";const e=require("react"),f=require("react-redux"),U=require("./SignalR.js");require("@microsoft/signalr");require("@ancon/wildcat-types");require("../shared/wait.js");require("../api/generateBackoffWithEqualJitter.js");require("../number/randomIntFromInterval.js");function M(k,q,H,h){const{signalRApiUrl:A,logger:O,enableLogging:m}=k,{clientIdSelector:D,isSignalROnlineSelector:s}=q??{},{setIsSignalROnlineAction:u}=H??{},{useAppStore:w=f.useStore,useAppDispatch:x=f.useDispatch,useAppSelector:y=f.useSelector}=h??{};return function(G){const n=e.useRef(new U({signalRApiUrl:A,hub:G,logger:O,enableLogging:m})),o=w(),a=x(),g=y(D??(()=>{})),[r,j]=e.useState(!1),[c,v]=e.useState(!1),b=e.useRef(r),l=e.useCallback(()=>{(s==null?void 0:s(o.getState()))===!1&&u&&a(u({isSignalROnline:!0})),c||v(!0)},[a,c,o]),R=l,S=e.useCallback(()=>{(s==null?void 0:s(o.getState()))===!0&&u&&a(u({isSignalROnline:!1})),c&&v(!1)},[a,c,o]),p=e.useCallback(async t=>{n.current.groups.indexOf(t)<0&&await n.current.joinGroup(t)},[]),C=e.useCallback(async t=>{n.current.groups.indexOf(t)>=0&&await n.current.leaveGroup(t)},[]),E=e.useCallback((t,i,d)=>n.current.addSignalListener(t,i,d),[]),L=e.useCallback((t,i)=>n.current.removeSignalListener(t,i),[]),I=e.useCallback(()=>n.current.getHubConnectionId(),[]);return e.useEffect(()=>{b.current=r},[r]),e.useEffect(()=>{const t=n.current.addEventListener("connected",l),i=n.current.addEventListener("reconnected",R),d=n.current.addEventListener("disconnected",S);return b.current||j(!0),()=>{t(),i(),d()}},[l,S,R]),e.useEffect(()=>{n.current.setClientId(g||void 0)},[g]),e.useEffect(()=>{async function t(){await n.current.connect()}r&&t()},[r]),e.useEffect(()=>()=>{n.current.leaveAllGroups().then(()=>{n.current.disconnect()})},[n]),e.useMemo(()=>({isHubConnected:c,join:p,leave:C,subscribe:E,unsubscribe:L,getHubConnectionId:I}),[c,p,C,E,L,I])}}module.exports=M;
@@ -1,4 +1,4 @@
1
- import { useRef as O, useState as C, useCallback as t, useEffect as i, useMemo as z } from "react";
1
+ import { useRef as C, useState as H, useCallback as t, useEffect as o, useMemo as z } from "react";
2
2
  import { useStore as B, useDispatch as F, useSelector as J } from "react-redux";
3
3
  import K from "./SignalR.mjs";
4
4
  import "@microsoft/signalr";
@@ -6,70 +6,71 @@ import "@ancon/wildcat-types";
6
6
  import "../shared/wait.mjs";
7
7
  import "../api/generateBackoffWithEqualJitter.mjs";
8
8
  import "../number/randomIntFromInterval.mjs";
9
- function $(H, h, A, D) {
10
- const { signalRApiUrl: w, logger: x, enableLogging: y } = H, { clientIdSelector: G, isSignalROnlineSelector: d } = h, { setIsSignalROnlineAction: g } = A, {
9
+ function $(h, A, O, D) {
10
+ const { signalRApiUrl: w, logger: x, enableLogging: y } = h, { clientIdSelector: G, isSignalROnlineSelector: r } = A ?? {}, { setIsSignalROnlineAction: u } = O ?? {}, {
11
11
  useAppStore: j = B,
12
12
  useAppDispatch: k = F,
13
13
  useAppSelector: U = J
14
14
  } = D ?? {};
15
15
  return function(M) {
16
- const e = O(
16
+ const e = C(
17
17
  new K({
18
18
  signalRApiUrl: w,
19
19
  hub: M,
20
20
  logger: x,
21
21
  enableLogging: y
22
22
  })
23
- ), o = j(), u = k(), f = U(G), [s, q] = C(!1), [r, p] = C(!1), S = O(s), a = t(() => {
24
- d(o.getState()) || u(g({ isSignalROnline: !0 })), r || p(!0);
25
- }, [u, r, o]), R = a, v = t(() => {
26
- d(o.getState()) && u(g({ isSignalROnline: !1 })), r && p(!1);
27
- }, [u, r, o]), m = t(async (n) => {
23
+ ), a = j(), d = k(), g = U(G ?? (() => {
24
+ })), [c, q] = H(!1), [s, p] = H(!1), v = C(c), l = t(() => {
25
+ (r == null ? void 0 : r(a.getState())) === !1 && u && d(u({ isSignalROnline: !0 })), s || p(!0);
26
+ }, [d, s, a]), m = l, R = t(() => {
27
+ (r == null ? void 0 : r(a.getState())) === !0 && u && d(u({ isSignalROnline: !1 })), s && p(!1);
28
+ }, [d, s, a]), S = t(async (n) => {
28
29
  e.current.groups.indexOf(n) < 0 && await e.current.joinGroup(n);
29
30
  }, []), b = t(async (n) => {
30
31
  e.current.groups.indexOf(n) >= 0 && await e.current.leaveGroup(n);
31
32
  }, []), L = t(
32
- (n, c, l) => e.current.addSignalListener(
33
+ (n, i, f) => e.current.addSignalListener(
33
34
  n,
34
- c,
35
- l
35
+ i,
36
+ f
36
37
  ),
37
38
  []
38
39
  ), I = t(
39
- (n, c) => e.current.removeSignalListener(n, c),
40
+ (n, i) => e.current.removeSignalListener(n, i),
40
41
  []
41
42
  ), E = t(
42
43
  () => e.current.getHubConnectionId(),
43
44
  []
44
45
  );
45
- return i(() => {
46
- S.current = s;
47
- }, [s]), i(() => {
46
+ return o(() => {
47
+ v.current = c;
48
+ }, [c]), o(() => {
48
49
  const n = e.current.addEventListener(
49
50
  "connected",
50
- a
51
- ), c = e.current.addEventListener(
51
+ l
52
+ ), i = e.current.addEventListener(
52
53
  "reconnected",
53
- R
54
- ), l = e.current.addEventListener(
54
+ m
55
+ ), f = e.current.addEventListener(
55
56
  "disconnected",
56
- v
57
+ R
57
58
  );
58
- return S.current || q(!0), () => {
59
- n(), c(), l();
59
+ return v.current || q(!0), () => {
60
+ n(), i(), f();
60
61
  };
61
62
  }, [
62
- a,
63
- v,
64
- R
65
- ]), i(() => {
66
- e.current.setClientId(f || void 0);
67
- }, [f]), i(() => {
63
+ l,
64
+ R,
65
+ m
66
+ ]), o(() => {
67
+ e.current.setClientId(g || void 0);
68
+ }, [g]), o(() => {
68
69
  async function n() {
69
70
  await e.current.connect();
70
71
  }
71
- s && n();
72
- }, [s]), i(
72
+ c && n();
73
+ }, [c]), o(
73
74
  () => () => {
74
75
  e.current.leaveAllGroups().then(() => {
75
76
  e.current.disconnect();
@@ -78,14 +79,14 @@ function $(H, h, A, D) {
78
79
  [e]
79
80
  ), z(
80
81
  () => ({
81
- isHubConnected: r,
82
- join: m,
82
+ isHubConnected: s,
83
+ join: S,
83
84
  leave: b,
84
85
  subscribe: L,
85
86
  unsubscribe: I,
86
87
  getHubConnectionId: E
87
88
  }),
88
- [r, m, b, L, I, E]
89
+ [s, S, b, L, I, E]
89
90
  );
90
91
  };
91
92
  }