@ancon/wildcat-utils 1.43.7 → 1.44.0-r13-2.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.
- package/_baseIsEqual-12d01a44.mjs +169 -0
- package/_baseIsEqual-bcac9024.js +1 -0
- package/_baseIteratee-075c204c.js +1 -0
- package/_baseIteratee-4c4d0995.mjs +97 -0
- package/_baseSlice-4d543985.mjs +10 -0
- package/_baseSlice-e1b41ceb.js +1 -0
- package/_getTag-4e44633b.mjs +382 -0
- package/_getTag-b8923c48.js +1 -0
- package/checkout/getCheckoutOrderStatusTexts.js +1 -1
- package/checkout/getCheckoutOrderStatusTexts.mjs +7 -5
- package/checkout/index.js +1 -1
- package/checkout/index.mjs +55 -53
- package/checkout/isCheckoutItemsAreEqual.js +1 -1
- package/checkout/isCheckoutItemsAreEqual.mjs +14 -13
- package/date/createLocalTimezoneDate.d.ts +8 -0
- package/date/createLocalTimezoneDate.js +1 -0
- package/date/createLocalTimezoneDate.mjs +8 -0
- package/date/createLocalTimezoneMoment.d.ts +9 -0
- package/date/createLocalTimezoneMoment.js +1 -0
- package/date/createLocalTimezoneMoment.mjs +8 -0
- package/date/getFormattedUTCDateTime.d.ts +10 -0
- package/date/getFormattedUTCDateTime.js +1 -0
- package/date/getFormattedUTCDateTime.mjs +8 -0
- package/date/index.d.ts +4 -0
- package/date/index.js +1 -0
- package/date/index.mjs +9 -0
- package/hangfire/createHangfirePoller.d.ts +8 -2
- package/hangfire/createHangfirePoller.js +1 -1
- package/hangfire/createHangfirePoller.mjs +72 -62
- package/hangfire/createMakeHangfireRequest.d.ts +10 -1
- package/hangfire/createMakeHangfireRequest.js +1 -1
- package/hangfire/createMakeHangfireRequest.mjs +16 -14
- package/identity-1bae7cf8.js +1 -0
- package/identity-6eafe87b.mjs +64 -0
- package/index.d.ts +2 -0
- package/index.js +1 -1
- package/index.mjs +80 -58
- package/logger/index.js +1 -1
- package/logger/index.mjs +8 -7
- package/logger/pascalCaseFormatter.js +1 -1
- package/logger/pascalCaseFormatter.mjs +21 -27
- package/order/getCheckOrderItemsMappedByTicketItemStatus.js +1 -1
- package/order/getCheckOrderItemsMappedByTicketItemStatus.mjs +15 -13
- package/order/getCheckOrderMinimumStatusTicketItem.js +1 -1
- package/order/getCheckOrderMinimumStatusTicketItem.mjs +19 -17
- package/order/index.js +1 -1
- package/order/index.mjs +11 -9
- package/outlet/getExpressAvailableOrderFormats.js +1 -1
- package/outlet/getExpressAvailableOrderFormats.mjs +27 -26
- package/outlet/getExpressNextAvailabilityShiftTime.d.ts +2 -2
- package/outlet/getExpressNextAvailabilityShiftTime.js +1 -1
- package/outlet/getExpressNextAvailabilityShiftTime.mjs +19 -18
- package/outlet/getExpressServiceIntervalEnd.d.ts +2 -2
- package/outlet/getExpressServiceIntervalEnd.js +1 -1
- package/outlet/getExpressServiceIntervalEnd.mjs +7 -9
- package/outlet/getExpressServiceIntervalStart.d.ts +2 -2
- package/outlet/getExpressServiceIntervalStart.js +1 -1
- package/outlet/getExpressServiceIntervalStart.mjs +7 -9
- package/outlet/getListOutletOpeningHoursTable.d.ts +1 -1
- package/outlet/getListOutletOpeningHoursTable.js +1 -1
- package/outlet/getListOutletOpeningHoursTable.mjs +135 -150
- package/outlet/getMomentFromDateAndTimeString.js +1 -1
- package/outlet/getMomentFromDateAndTimeString.mjs +1 -1
- package/outlet/getOutletActiveOpeningInterval.d.ts +2 -2
- package/outlet/getOutletActiveOpeningInterval.js +1 -1
- package/outlet/getOutletActiveOpeningInterval.mjs +15 -12
- package/outlet/getOutletAvailabilityInfo.js +1 -1
- package/outlet/getOutletAvailabilityInfo.mjs +23 -25
- package/outlet/getOutletCurrentActiveOperatingHour.js +1 -1
- package/outlet/getOutletCurrentActiveOperatingHour.mjs +16 -15
- package/outlet/getOutletCurrentAvailabilityInfo.js +1 -1
- package/outlet/getOutletCurrentAvailabilityInfo.mjs +27 -26
- package/outlet/getOutletCurrentClosingTimeText.js +1 -1
- package/outlet/getOutletCurrentClosingTimeText.mjs +14 -10
- package/outlet/getOutletDeliveryFee.js +1 -1
- package/outlet/getOutletDeliveryFee.mjs +5 -5
- package/outlet/getOutletFormattedAddress.d.ts +9 -1
- package/outlet/getOutletFormattedAddress.js +1 -1
- package/outlet/getOutletFormattedAddress.mjs +9 -4
- package/outlet/getOutletNextOpeningTagInformation.js +1 -1
- package/outlet/getOutletNextOpeningTagInformation.mjs +8 -7
- package/outlet/getOutletNextOpeningTimeText.js +1 -1
- package/outlet/getOutletNextOpeningTimeText.mjs +10 -8
- package/outlet/getOutletNextReadyToOrderTime.js +1 -1
- package/outlet/getOutletNextReadyToOrderTime.mjs +11 -11
- package/outlet/getOutletPickerTimesForDay.js +1 -1
- package/outlet/getOutletPickerTimesForDay.mjs +33 -34
- package/outlet/getOutletPickerTimesForWeek.js +1 -1
- package/outlet/getOutletPickerTimesForWeek.mjs +4 -3
- package/outlet/getOutletTagInformation.d.ts +1 -1
- package/outlet/getOutletTagInformation.js +1 -1
- package/outlet/getOutletTagInformation.mjs +69 -70
- package/outlet/getOutletTodayOpeningTimes.js +1 -1
- package/outlet/getOutletTodayOpeningTimes.mjs +43 -39
- package/outlet/getPartitionedOutletsList.js +1 -1
- package/outlet/getPartitionedOutletsList.mjs +4 -4
- package/outlet/getPickerIntervalsForDay.js +1 -1
- package/outlet/getPickerIntervalsForDay.mjs +20 -12
- package/outlet/getServiceIntervalEnd.d.ts +1 -1
- package/outlet/getServiceIntervalEnd.js +1 -1
- package/outlet/getServiceIntervalEnd.mjs +12 -10
- package/outlet/getServiceIntervalRange.d.ts +1 -2
- package/outlet/getServiceIntervalRange.js +1 -1
- package/outlet/getServiceIntervalRange.mjs +8 -12
- package/outlet/getServiceIntervalStart.d.ts +1 -1
- package/outlet/getServiceIntervalStart.js +1 -1
- package/outlet/getServiceIntervalStart.mjs +6 -7
- package/outlet/getServiceIntervalsForOrderFormat.d.ts +7 -8
- package/outlet/getStructuredOutletAddress.js +1 -1
- package/outlet/getStructuredOutletAddress.mjs +7 -7
- package/outlet/index.js +1 -1
- package/outlet/index.mjs +73 -68
- package/outlet/searchNextOpeningMoment.d.ts +1 -1
- package/outlet/searchNextOpeningMoment.js +1 -1
- package/outlet/searchNextOpeningMoment.mjs +49 -56
- package/outlet/serviceDateTimesFromOpeningHours.d.ts +3 -5
- package/outlet/serviceDateTimesFromOpeningHours.js +1 -1
- package/outlet/serviceDateTimesFromOpeningHours.mjs +342 -27
- package/outlet/types.d.ts +0 -2
- package/package.json +21 -1
- package/time/getEndTimeSpanOfTimePeriod.js +1 -1
- package/time/getEndTimeSpanOfTimePeriod.mjs +5 -9
- package/{toString-e631a957.mjs → toString-3b91b335.mjs} +12 -11
- package/toString-9eae9442.js +1 -0
- package/_baseIsEqual-39cef2eb.mjs +0 -530
- package/_baseIsEqual-b3df9240.js +0 -1
- package/_baseIteratee-13e892b8.mjs +0 -151
- package/_baseIteratee-be26bb18.js +0 -1
- package/toString-425512fc.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("@ancon/wildcat-types"),A=require("../order/getCheckOrderItemsMappedByTicketItemStatus.js"),k=require("./getCheckoutItemsMappedByTicketItemStatus.js"),v=require("./isWoltDeliveryInProgress.js");require("../order/getCheckOrderMinimumStatusTicketItem.js");require("../toString-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("@ancon/wildcat-types"),A=require("../order/getCheckOrderItemsMappedByTicketItemStatus.js"),k=require("./getCheckoutItemsMappedByTicketItemStatus.js"),v=require("./isWoltDeliveryInProgress.js");require("../order/getCheckOrderMinimumStatusTicketItem.js");require("../toString-9eae9442.js");require("../isArray-640f9811.js");require("../_baseIteratee-075c204c.js");require("../_getTag-b8923c48.js");require("../_baseIsEqual-bcac9024.js");require("../identity-1bae7cf8.js");require("../order/getMultiProductSubProductsTicketItems.js");var m=(e=>(e.OrderConfirmedHostWillApproveAndProcess="orderConfirmedHostWillApproveAndProcess",e.OrderConfirmedRestaurantAdminWillAcceptSoon="orderConfirmedRestaurantAdminWillAcceptSoon",e.YourOrderHasBeenApprovedByHost="yourOrderHasBeenApprovedByHost",e.OrderCanceledHostWillUpdateAndProcessAgain="orderCanceledHostWillUpdateAndProcessAgain",e.OrderCanceledYouCanManageYourOrderAgain="orderCanceledYouCanManageYourOrderAgain",e.YourOrderIsBeingProcessed="yourOrderIsBeingProcessed",e.YourOrderWasCancelled="yourOrderWasCancelled",e.ProcessingPayment="processingPayment",e.YourOrderIsBeingPrepared="yourOrderIsBeingPrepared",e.YourOrderIsReadyToCollect="yourOrderIsReadyToCollect",e.YourOrderIsReadyHostWillCollect="yourOrderIsReadyHostWillCollect",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.OneItemIsReadyHostWillCollect="oneItemIsReadyHostWillCollect",e.MultipleItemsAreReadyToCollect="multipleItemsAreReadyToCollect",e.MultipleItemsAreReadyHostWillCollect="multipleItemsAreReadyHostWillCollect",e.EnjoyMealWhileOtherItemsBeingPrepared="enjoyMealWhileOtherItemsBeingPrepared",e.ThereWasAnError="thereWasAnError",e.YourOrderReadyToPickupFromLocker="yourOrderReadyToPickupFromLocker",e))(m||{});function B(e){switch(e){case t.CheckoutStatus.Error:return"thereWasAnError";case t.CheckoutStatus.Created:case t.CheckoutStatus.Ready:case t.CheckoutStatus.Processing:case t.CheckoutStatus.Authorized:return"yourOrderIsBeingProcessed";case t.CheckoutStatus.Canceled:return"yourOrderWasCancelled";case t.CheckoutStatus.Received:return"processingPayment";default:return null}}function T(e){switch(e){case t.TicketStatus.Pending:case t.TicketStatus.PendingAccept:return"yourOrderIsBeingProcessed";case t.TicketStatus.Preparing:return"yourOrderIsBeingPrepared";case t.TicketStatus.Ready:return"yourOrderIsReadyToCollect";case t.TicketStatus.Closed:return"yourOrderHasBeenCompleted";case t.TicketStatus.Canceled:return"yourOrderWasCancelled";default:throw new Error(`Unhandled ticket status "${e}" in getTranslationKeyByTicketStatus()`)}}function H(e){const{isHost:o,preOrderStatus:d,preOrderAttendeeStatus:l,preOrderCancelInfo:i}=e;if(l===t.AttendeePreOrderStatus.Confirmed)switch(d){case t.PreOrderStatus.Started:{const{cancelActor:a,canceledAt:r}=i??{};return!!a&&!!r?o?"orderCanceledYouCanManageYourOrderAgain":"orderCanceledHostWillUpdateAndProcessAgain":"orderConfirmedHostWillApproveAndProcess"}case t.PreOrderStatus.Waiting:return o?"orderConfirmedRestaurantAdminWillAcceptSoon":"yourOrderHasBeenApprovedByHost"}return null}function S(e,{checkoutStatus:o,ticketStatus:d,customersFetchTableOrders:l}){const i=(e==null?void 0:e.orderFormat)===t.OrderFormat.Delivery,a=(e==null?void 0:e.orderFormat)===t.OrderFormat.TakeAway,r=(e==null?void 0:e.orderFormat)===t.OrderFormat.TableOrder;if(i||a||r&&!l)return!1;const n=o!=null,s=d!=null;if(n){const c=o===t.CheckoutStatus.Captured,u=o===t.CheckoutStatus.InProgress;return c||u}if(s){const c=d===t.TicketStatus.Preparing,u=d===t.TicketStatus.Ready;return c||u}return!1}function W(e,{checkoutStatus:o,ticketStatus:d,customersFetchTableOrders:l,pickupTimeUpdated:i,preOrderOptions:a},r){const n=a&&!a.isHost;if(r&&S(e,{checkoutStatus:o,ticketStatus:d,customersFetchTableOrders:l})){if(r.ready>0)return r.ready<2?n?["oneItemIsReadyHostWillCollect"]:["oneItemIsReadyToCollect"]:n?r.ready===r.all?["yourOrderIsReadyHostWillCollect"]:["multipleItemsAreReadyHostWillCollect",{count:r.ready}]:["multipleItemsAreReadyToCollect",{count:r.ready}];if(r.done>0&&r.done<r.all)return["enjoyMealWhileOtherItemsBeingPrepared",{count:Math.max(0,r.all-r.done-r.ready)}]}if(d!=null)return[T(d)];if(a&&(o===t.CheckoutStatus.Created||o===t.CheckoutStatus.Authorized)){const g=H(a);if(g)return[g]}const s=(e==null?void 0:e.orderFormat)===t.OrderFormat.Delivery,c=B(o);if(c)return[c];const u=o===t.CheckoutStatus.Captured,f=o===t.CheckoutStatus.InProgress,h=o===t.CheckoutStatus.Done,I=o===t.CheckoutStatus.DeliveryInProgress,P=o===t.CheckoutStatus.ReadyToCollect,p=(e==null?void 0:e.orderFormat)===t.OrderFormat.EatIn,y=(e==null?void 0:e.orderFormat)===t.OrderFormat.TakeAway,O=(e==null?void 0:e.orderFormat)===t.OrderFormat.TableOrder,C=(e==null?void 0:e.orderFormat)===t.OrderFormat.BoxPickup;if(u){if(O&&!l)return["yourOrderWillArriveAtYourTable"];if(s)return i?["modifiedDeliveryStartTime"]:["yourOrderHasBeenAcceptedEstimatedDeliveryStartTime"];if(i)return["modifiedPickUpTime"];if(r&&n&&(p||y)){if(r.ready===r.all)return["yourOrderIsReadyHostWillCollect"];if(r.done===r.all)return["yourOrderHasBeenCompleted"]}return["yourOrderHasBeenAcceptedPickupTime"]}if(f){if(s)return i?["modifiedDeliveryStartTime"]:v(e)?["yourOrderIsBeingDelivered"]:["yourOrderIsBeingPreparedEstimatedDeliveryStartTime"];if(r&&(p||y)){if(r.ready===r.all)return["yourOrderIsReadyToCollect"];if(r.done===r.all)return["yourOrderHasBeenCompleted"]}if(O){if(r){if(r.ready===r.all)return l?["yourOrderIsReadyToCollect"]:["yourOrderWillArriveAtYourTable"];if(r.done===r.all)return l?["yourOrderHasBeenCompleted"]:["yourOrderWillArriveAtYourTable"]}return i?["modifiedPickUpTime"]:l?["yourOrderIsBeingPrepared"]:["yourOrderWillArriveAtYourTable"]}return i?["modifiedPickUpTime"]:["yourOrderIsBeingPrepared"]}if(h)return p||y?["yourOrderHasBeenCompleted"]:s?["deliveryWasCompleted"]:["yourOrderHasBeenCompleted"];if(I){if(C)switch(e==null?void 0:e.deliveryStatus){case t.CheckoutDeliveryStatus.PickedUp:return["yourOrderHasBeenCompleted"];case t.CheckoutDeliveryStatus.Delivered:return["yourOrderReadyToPickupFromLocker"];default:return["yourOrderIsBeingPrepared"]}if(s)return["yourOrderIsBeingDelivered"]}if(P)return s?["yourOrderIsBeingDelivered"]:C?["yourOrderReadyToPickupFromLocker"]:r&&n&&(p||y)&&r.done===r.all?["yourOrderHasBeenCompleted"]:["yourOrderIsReadyToCollect"];throw new Error("Could not resolve translation key in getTranslationKey()")}const Y={orderConfirmedHostWillApproveAndProcess:()=>({title:`Order confirmed!
|
|
2
2
|
The host will approve and process the pre-order.`,message:"Please contact the host if you want to edit your order."}),orderConfirmedRestaurantAdminWillAcceptSoon:()=>({title:`Order confirmed!
|
|
3
3
|
The restaurant admin will accept your pre-order soon.`}),yourOrderHasBeenApprovedByHost:()=>({title:"Your order has been approved by host!",message:"The restaurant admin will accept and process the pre-order"}),orderCanceledHostWillUpdateAndProcessAgain:()=>({title:`Order canceled!
|
|
4
4
|
The host will update and process the pre-order again.`,message:"Please contact the host if you want to edit your order."}),orderCanceledYouCanManageYourOrderAgain:()=>({title:`Order canceled!
|
|
@@ -3,10 +3,12 @@ import W from "../order/getCheckOrderItemsMappedByTicketItemStatus.mjs";
|
|
|
3
3
|
import T from "./getCheckoutItemsMappedByTicketItemStatus.mjs";
|
|
4
4
|
import Y from "./isWoltDeliveryInProgress.mjs";
|
|
5
5
|
import "../order/getCheckOrderMinimumStatusTicketItem.mjs";
|
|
6
|
-
import "../toString-
|
|
6
|
+
import "../toString-3b91b335.mjs";
|
|
7
7
|
import "../isArray-0d9c7aaa.mjs";
|
|
8
|
-
import "../_baseIteratee-
|
|
9
|
-
import "../
|
|
8
|
+
import "../_baseIteratee-4c4d0995.mjs";
|
|
9
|
+
import "../_getTag-4e44633b.mjs";
|
|
10
|
+
import "../_baseIsEqual-12d01a44.mjs";
|
|
11
|
+
import "../identity-6eafe87b.mjs";
|
|
10
12
|
import "../order/getMultiProductSubProductsTicketItems.mjs";
|
|
11
13
|
var w = /* @__PURE__ */ ((e) => (e.OrderConfirmedHostWillApproveAndProcess = "orderConfirmedHostWillApproveAndProcess", e.OrderConfirmedRestaurantAdminWillAcceptSoon = "orderConfirmedRestaurantAdminWillAcceptSoon", e.YourOrderHasBeenApprovedByHost = "yourOrderHasBeenApprovedByHost", e.OrderCanceledHostWillUpdateAndProcessAgain = "orderCanceledHostWillUpdateAndProcessAgain", e.OrderCanceledYouCanManageYourOrderAgain = "orderCanceledYouCanManageYourOrderAgain", e.YourOrderIsBeingProcessed = "yourOrderIsBeingProcessed", e.YourOrderWasCancelled = "yourOrderWasCancelled", e.ProcessingPayment = "processingPayment", e.YourOrderIsBeingPrepared = "yourOrderIsBeingPrepared", e.YourOrderIsReadyToCollect = "yourOrderIsReadyToCollect", e.YourOrderIsReadyHostWillCollect = "yourOrderIsReadyHostWillCollect", 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.OneItemIsReadyHostWillCollect = "oneItemIsReadyHostWillCollect", e.MultipleItemsAreReadyToCollect = "multipleItemsAreReadyToCollect", e.MultipleItemsAreReadyHostWillCollect = "multipleItemsAreReadyHostWillCollect", e.EnjoyMealWhileOtherItemsBeingPrepared = "enjoyMealWhileOtherItemsBeingPrepared", e.ThereWasAnError = "thereWasAnError", e.YourOrderReadyToPickupFromLocker = "yourOrderReadyToPickupFromLocker", e))(w || {});
|
|
12
14
|
function R(e) {
|
|
@@ -397,7 +399,7 @@ function M(e, t) {
|
|
|
397
399
|
done: i.done.length
|
|
398
400
|
};
|
|
399
401
|
}
|
|
400
|
-
function
|
|
402
|
+
function V(e, t, d = S) {
|
|
401
403
|
const { isSkipTicketStatus: l, isCheckOrder: i } = t;
|
|
402
404
|
let a;
|
|
403
405
|
if (!l) {
|
|
@@ -411,5 +413,5 @@ function N(e, t, d = S) {
|
|
|
411
413
|
}
|
|
412
414
|
export {
|
|
413
415
|
w as TranslationKey,
|
|
414
|
-
|
|
416
|
+
V as default
|
|
415
417
|
};
|
package/checkout/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./getCheckoutItemModifications.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./getCheckoutItemModifications.js"),r=require("./getCheckoutProductName.js"),e=require("./getCheckoutOrderStatusTexts.js"),u=require("./getCheckoutItemsMappedByTicketItemStatus.js"),c=require("./isCheckoutOrderSummary.js"),i=require("./buildCheckoutRequestItem.js"),s=require("./getCheckoutGrandTotalAmount.js"),a=require("./getCheckoutRequestItemFromCheckoutItem.js"),k=require("./isCheckoutItemsAreEqual.js"),h=require("./checkoutHasWallet.js"),n=require("./getWalletMetaFromCheckout.js"),l=require("./isPreOrderServiceTime.js"),C=require("./isPreOrderCheckout.js"),q=require("./isUpdatingCheckoutAllowed.js"),g=require("./isCheckoutAlreadyPaidStatus.js"),t=require("./getCheckoutPaymentErrorTranslationTexts.js"),m=require("./isDeletingCheckoutAllowed.js"),d=require("./getTotalCheckoutItemsQuantity.js"),T=require("./getCheckoutPenguinLockersMetaData.js"),_=require("./getUniqueCheckoutPenguinDeliveryCodes.js"),y=require("./isWoltDeliveryInProgress.js"),p=require("./isWalletTopUpCheckoutItem.js"),I=require("./isWalletTopUpCheckout.js"),P=require("./getCheckoutWalletTopUpMetaData.js");require("@ancon/wildcat-types");require("../currency/getFormattedCurrency.js");require("../currency/getFormattedCurrencyPostfix.js");require("../order/getCheckOrderItemsMappedByTicketItemStatus.js");require("../order/getCheckOrderMinimumStatusTicketItem.js");require("../toString-9eae9442.js");require("../isArray-640f9811.js");require("../_baseIteratee-075c204c.js");require("../_getTag-b8923c48.js");require("../_baseIsEqual-bcac9024.js");require("../identity-1bae7cf8.js");require("../order/getMultiProductSubProductsTicketItems.js");require("axios");require("../error/isSerializedAPIError.js");exports.getCheckoutGroupedModifications=o;exports.getCheckoutProductName=r;exports.TranslationKey=e.TranslationKey;exports.getCheckoutOrderStatusTexts=e.default;exports.getCheckoutItemsMappedByTicketItemStatus=u;exports.isCheckoutOrderSummary=c;exports.buildCheckoutRequestItem=i;exports.getCheckoutGrandTotalAmount=s;exports.getCheckoutRequestItemFromCheckoutItem=a;exports.isCheckoutItemsAreEqual=k;exports.checkoutHasWallet=h;exports.getWalletMetaFromCheckout=n;exports.isPreOrderServiceTime=l;exports.isPreOrderCheckout=C;exports.isUpdatingCheckoutAllowed=q;exports.isCheckoutAlreadyPaidStatus=g;exports.CheckoutPaymentErrorTranslationKey=t.CheckoutPaymentErrorTranslationKey;exports.getCheckoutPaymentErrorTranslationTexts=t.default;exports.isDeletingCheckoutAllowed=m;exports.getTotalCheckoutItemsQuantity=d;exports.getCheckoutPenguinLockersMetaData=T;exports.getUniqueCheckoutPenguinDeliveryCodes=_;exports.isWoltDeliveryInProgress=y;exports.isWalletTopUpCheckoutItem=p;exports.isWalletTopUpCheckout=I;exports.getCheckoutWalletTopUpMetaData=P;
|
package/checkout/index.mjs
CHANGED
|
@@ -1,64 +1,66 @@
|
|
|
1
|
-
import { default as
|
|
2
|
-
import { default as
|
|
3
|
-
import { TranslationKey as
|
|
4
|
-
import { default as
|
|
5
|
-
import { default as
|
|
6
|
-
import { default as
|
|
7
|
-
import { default as
|
|
8
|
-
import { default as
|
|
9
|
-
import { default as
|
|
10
|
-
import { default as
|
|
11
|
-
import { default as
|
|
12
|
-
import { default as
|
|
13
|
-
import { default as
|
|
14
|
-
import { default as
|
|
15
|
-
import { default as
|
|
16
|
-
import { CheckoutPaymentErrorTranslationKey as
|
|
17
|
-
import { default as
|
|
18
|
-
import { default as
|
|
19
|
-
import { default as
|
|
20
|
-
import { default as
|
|
21
|
-
import { default as
|
|
22
|
-
import { default as
|
|
23
|
-
import { default as
|
|
24
|
-
import { default as
|
|
1
|
+
import { default as h } from "./getCheckoutItemModifications.mjs";
|
|
2
|
+
import { default as n } from "./getCheckoutProductName.mjs";
|
|
3
|
+
import { TranslationKey as T, default as y } from "./getCheckoutOrderStatusTexts.mjs";
|
|
4
|
+
import { default as P } from "./getCheckoutItemsMappedByTicketItemStatus.mjs";
|
|
5
|
+
import { default as A } from "./isCheckoutOrderSummary.mjs";
|
|
6
|
+
import { default as M } from "./buildCheckoutRequestItem.mjs";
|
|
7
|
+
import { default as U } from "./getCheckoutGrandTotalAmount.mjs";
|
|
8
|
+
import { default as O } from "./getCheckoutRequestItemFromCheckoutItem.mjs";
|
|
9
|
+
import { default as E } from "./isCheckoutItemsAreEqual.mjs";
|
|
10
|
+
import { default as F } from "./checkoutHasWallet.mjs";
|
|
11
|
+
import { default as K } from "./getWalletMetaFromCheckout.mjs";
|
|
12
|
+
import { default as b } from "./isPreOrderServiceTime.mjs";
|
|
13
|
+
import { default as H } from "./isPreOrderCheckout.mjs";
|
|
14
|
+
import { default as N } from "./isUpdatingCheckoutAllowed.mjs";
|
|
15
|
+
import { default as j } from "./isCheckoutAlreadyPaidStatus.mjs";
|
|
16
|
+
import { CheckoutPaymentErrorTranslationKey as J, default as V } from "./getCheckoutPaymentErrorTranslationTexts.mjs";
|
|
17
|
+
import { default as Y } from "./isDeletingCheckoutAllowed.mjs";
|
|
18
|
+
import { default as _ } from "./getTotalCheckoutItemsQuantity.mjs";
|
|
19
|
+
import { default as tt } from "./getCheckoutPenguinLockersMetaData.mjs";
|
|
20
|
+
import { default as ot } from "./getUniqueCheckoutPenguinDeliveryCodes.mjs";
|
|
21
|
+
import { default as at } from "./isWoltDeliveryInProgress.mjs";
|
|
22
|
+
import { default as mt } from "./isWalletTopUpCheckoutItem.mjs";
|
|
23
|
+
import { default as lt } from "./isWalletTopUpCheckout.mjs";
|
|
24
|
+
import { default as pt } from "./getCheckoutWalletTopUpMetaData.mjs";
|
|
25
25
|
import "@ancon/wildcat-types";
|
|
26
26
|
import "../currency/getFormattedCurrency.mjs";
|
|
27
27
|
import "../currency/getFormattedCurrencyPostfix.mjs";
|
|
28
28
|
import "../order/getCheckOrderItemsMappedByTicketItemStatus.mjs";
|
|
29
29
|
import "../order/getCheckOrderMinimumStatusTicketItem.mjs";
|
|
30
|
-
import "../toString-
|
|
30
|
+
import "../toString-3b91b335.mjs";
|
|
31
31
|
import "../isArray-0d9c7aaa.mjs";
|
|
32
|
-
import "../_baseIteratee-
|
|
33
|
-
import "../
|
|
32
|
+
import "../_baseIteratee-4c4d0995.mjs";
|
|
33
|
+
import "../_getTag-4e44633b.mjs";
|
|
34
|
+
import "../_baseIsEqual-12d01a44.mjs";
|
|
35
|
+
import "../identity-6eafe87b.mjs";
|
|
34
36
|
import "../order/getMultiProductSubProductsTicketItems.mjs";
|
|
35
37
|
import "axios";
|
|
36
38
|
import "../error/isSerializedAPIError.mjs";
|
|
37
39
|
export {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
40
|
+
J as CheckoutPaymentErrorTranslationKey,
|
|
41
|
+
T as TranslationKey,
|
|
42
|
+
M as buildCheckoutRequestItem,
|
|
43
|
+
F as checkoutHasWallet,
|
|
44
|
+
U as getCheckoutGrandTotalAmount,
|
|
45
|
+
h as getCheckoutGroupedModifications,
|
|
46
|
+
P as getCheckoutItemsMappedByTicketItemStatus,
|
|
47
|
+
y as getCheckoutOrderStatusTexts,
|
|
48
|
+
V as getCheckoutPaymentErrorTranslationTexts,
|
|
49
|
+
tt as getCheckoutPenguinLockersMetaData,
|
|
50
|
+
n as getCheckoutProductName,
|
|
51
|
+
O as getCheckoutRequestItemFromCheckoutItem,
|
|
52
|
+
pt as getCheckoutWalletTopUpMetaData,
|
|
53
|
+
_ as getTotalCheckoutItemsQuantity,
|
|
54
|
+
ot as getUniqueCheckoutPenguinDeliveryCodes,
|
|
55
|
+
K as getWalletMetaFromCheckout,
|
|
56
|
+
j as isCheckoutAlreadyPaidStatus,
|
|
57
|
+
E as isCheckoutItemsAreEqual,
|
|
58
|
+
A as isCheckoutOrderSummary,
|
|
59
|
+
Y as isDeletingCheckoutAllowed,
|
|
60
|
+
H as isPreOrderCheckout,
|
|
61
|
+
b as isPreOrderServiceTime,
|
|
62
|
+
N as isUpdatingCheckoutAllowed,
|
|
63
|
+
lt as isWalletTopUpCheckout,
|
|
64
|
+
mt as isWalletTopUpCheckoutItem,
|
|
65
|
+
at as isWoltDeliveryInProgress
|
|
64
66
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const u=require("../_baseIsEqual-
|
|
1
|
+
"use strict";const u=require("../_baseIsEqual-bcac9024.js");require("../_getTag-b8923c48.js");require("../isArray-640f9811.js");function a(e,r){return u.baseIsEqual(e,r)}function i(e){return Object.keys(e).forEach(r=>e[r]===void 0&&delete e[r]),e}function s(e,r){return a({modifications:e.modifications.map(i),variantId:e.variantId,upsellGroupId:e.upsellGroupId},{modifications:r.modifications.map(i),variantId:r.variantId,upsellGroupId:r.upsellGroupId})}module.exports=s;
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
import { b as o } from "../_baseIsEqual-
|
|
1
|
+
import { b as o } from "../_baseIsEqual-12d01a44.mjs";
|
|
2
|
+
import "../_getTag-4e44633b.mjs";
|
|
2
3
|
import "../isArray-0d9c7aaa.mjs";
|
|
3
|
-
function
|
|
4
|
-
return o(
|
|
4
|
+
function t(r, a) {
|
|
5
|
+
return o(r, a);
|
|
5
6
|
}
|
|
6
|
-
function i(
|
|
7
|
-
return Object.keys(
|
|
7
|
+
function i(r) {
|
|
8
|
+
return Object.keys(r).forEach((a) => r[a] === void 0 && delete r[a]), r;
|
|
8
9
|
}
|
|
9
|
-
function
|
|
10
|
-
return
|
|
11
|
-
{
|
|
12
|
-
modifications: a.modifications.map(i),
|
|
13
|
-
variantId: a.variantId,
|
|
14
|
-
upsellGroupId: a.upsellGroupId
|
|
15
|
-
},
|
|
10
|
+
function d(r, a) {
|
|
11
|
+
return t(
|
|
16
12
|
{
|
|
17
13
|
modifications: r.modifications.map(i),
|
|
18
14
|
variantId: r.variantId,
|
|
19
15
|
upsellGroupId: r.upsellGroupId
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
modifications: a.modifications.map(i),
|
|
19
|
+
variantId: a.variantId,
|
|
20
|
+
upsellGroupId: a.upsellGroupId
|
|
20
21
|
}
|
|
21
22
|
);
|
|
22
23
|
}
|
|
23
24
|
export {
|
|
24
|
-
|
|
25
|
+
d as default
|
|
25
26
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This function creates a date object from the input value of `YYYY-MM-DDTHH:mm:ssZ` format in local timezone
|
|
3
|
+
* by ignoring the 'Z' from being added to the date.
|
|
4
|
+
*
|
|
5
|
+
* @param value The input in `YYYY-MM-DDTHH:mm:ssZ` format
|
|
6
|
+
* @returns The date object in local timezone
|
|
7
|
+
*/
|
|
8
|
+
export default function createLocalTimezoneDate(value: string): Date;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const t=require("./createLocalTimezoneMoment.js");require("moment");function r(e){return t(e).toDate()}module.exports=r;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
/**
|
|
3
|
+
* This function creates a Moment object from the input value of `YYYY-MM-DDTHH:mm:ssZ` format in local timezone
|
|
4
|
+
* by ignoring the 'Z' from being added to the date.
|
|
5
|
+
*
|
|
6
|
+
* @param value The input in `YYYY-MM-DDTHH:mm:ssZ` format
|
|
7
|
+
* @returns Moment instance in local timezone
|
|
8
|
+
*/
|
|
9
|
+
export default function createLocalTimezoneMoment(value: string): moment.Moment;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const t=require("moment"),o="YYYY-MM-DDTHH:mm:ss";function m(e){return t(e,o)}module.exports=m;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MomentInput } from 'moment';
|
|
2
|
+
/**
|
|
3
|
+
* This converts the input date to UTC and returns the formatted date time. If no input is provided,
|
|
4
|
+
* it returns the current UTC date time
|
|
5
|
+
*
|
|
6
|
+
* @param input The input date to be converted to UTC
|
|
7
|
+
* @param format The format of the output date. Default is 'YYYY-MM-DDTHH:mm:ss'
|
|
8
|
+
* @returns The formatted UTC date time
|
|
9
|
+
*/
|
|
10
|
+
export default function getFormattedUTCDateTime(input?: MomentInput, format?: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const m=require("moment"),r="YYYY-MM-DDTHH:mm:ss";function o(t,e=r){return m.utc(t).format(e)}module.exports=o;
|
package/date/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import createLocalTimezoneDate from './createLocalTimezoneDate';
|
|
2
|
+
import createLocalTimezoneMoment from './createLocalTimezoneMoment';
|
|
3
|
+
import getFormattedUTCDateTime from './getFormattedUTCDateTime';
|
|
4
|
+
export { createLocalTimezoneDate, createLocalTimezoneMoment, getFormattedUTCDateTime, };
|
package/date/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./createLocalTimezoneDate.js"),t=require("./createLocalTimezoneMoment.js"),a=require("./getFormattedUTCDateTime.js");require("moment");exports.createLocalTimezoneDate=e;exports.createLocalTimezoneMoment=t;exports.getFormattedUTCDateTime=a;
|
package/date/index.mjs
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as o } from "./createLocalTimezoneDate.mjs";
|
|
2
|
+
import { default as m } from "./createLocalTimezoneMoment.mjs";
|
|
3
|
+
import { default as l } from "./getFormattedUTCDateTime.mjs";
|
|
4
|
+
import "moment";
|
|
5
|
+
export {
|
|
6
|
+
o as createLocalTimezoneDate,
|
|
7
|
+
m as createLocalTimezoneMoment,
|
|
8
|
+
l as getFormattedUTCDateTime
|
|
9
|
+
};
|
|
@@ -6,6 +6,10 @@ declare type HangfirePollerConfig = {
|
|
|
6
6
|
maxGroupsSize: number;
|
|
7
7
|
/** Max number of simultaneous workers per group */
|
|
8
8
|
maxWorkersSize: number;
|
|
9
|
+
/** Successful response interceptor */
|
|
10
|
+
responseInterceptor?: (response: any) => any;
|
|
11
|
+
/** Failed response interceptor */
|
|
12
|
+
responseRejectionInterceptor?: (error: any) => any;
|
|
9
13
|
/**
|
|
10
14
|
* Function returning a boolean indicating whether connected
|
|
11
15
|
* @example () => isNetworkOnlineSelector(getStore().getState())
|
|
@@ -27,16 +31,18 @@ declare class HangfirePoller {
|
|
|
27
31
|
private workerByIdMap;
|
|
28
32
|
private timer;
|
|
29
33
|
private config;
|
|
34
|
+
private axiosInstance;
|
|
30
35
|
constructor(options?: Partial<HangfirePollerConfig>);
|
|
31
36
|
private stopTimer;
|
|
32
37
|
private startTimer;
|
|
33
38
|
private waitForNetworkOnline;
|
|
34
39
|
private executeWorkerRequest;
|
|
35
40
|
private deleteWorker;
|
|
36
|
-
createWorker(groupId: string, { workerId, url, headers, }: {
|
|
41
|
+
createWorker(groupId: string, { workerId, url, headers, onFinished, }: {
|
|
37
42
|
workerId: string;
|
|
38
43
|
url: string;
|
|
39
|
-
headers
|
|
44
|
+
headers?: APIHeaders;
|
|
45
|
+
onFinished?: (forced: boolean) => void | Promise<void>;
|
|
40
46
|
}): Promise<unknown>;
|
|
41
47
|
/** Trigger a worker to execute immediately, ignoring busy state */
|
|
42
48
|
triggerWorker(workerId: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var p=Object.defineProperty;var b=(i,e,r)=>e in i?p(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var o=(i,e,r)=>(b(i,typeof e!="symbol"?e+"":e,r),r);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const W=require("axios"),h=require("@ancon/wildcat-types"),c=require("../error/createCodedError.js"),m=require("../error/isNotFoundError.js"),x=require("../error/serializeError.js"),k=require("../error/isErrorWithStatusCode.js"),y=require("../api/isNoContentResponse.js"),E=require("../shared/wait.js");require("../error/isCodedError.js");require("../error/isAPIError.js");class f{constructor(e){o(this,"busyWorkers",new Set);o(this,"enabledGroups",new Set);o(this,"groups",new Map);o(this,"workerByIdMap",new Map);o(this,"timer",null);o(this,"config",{pollerInterval:5e3,maxGroupsSize:50,maxWorkersSize:20,responseInterceptor:void 0,responseRejectionInterceptor:void 0,getIsNetworkOnline(){return!0},async getRequestHeaders(){return{}},debug(...e){console.log(...e)}});o(this,"axiosInstance");this.config={...this.config,...e??null},this.axiosInstance=W.create(),(this.config.responseInterceptor||this.config.responseRejectionInterceptor)&&this.axiosInstance.interceptors.response.use(this.config.responseInterceptor,this.config.responseRejectionInterceptor)}stopTimer(){this.timer!=null&&(this.config.debug("*stop timer*"),clearInterval(this.timer),this.timer=null)}startTimer(){if(this.timer!=null)throw c(new Error("Timer already started"),h.ErrorCode.GenericUnexpectedHangfireError);this.config.debug("*start timer*"),this.timer=setInterval(()=>{this.config.debug("*tick*",{busyWorkers:this.busyWorkers.size,enabledGroups:this.enabledGroups.size,groups:this.groups}),this.enabledGroups.forEach(e=>{const r=this.groups.get(e);r&&r.forEach(t=>this.executeWorkerRequest(t))}),this.groups.size<1&&this.stopTimer()},this.config.pollerInterval)}async waitForNetworkOnline(e=5){let r=0;for(;!this.config.getIsNetworkOnline()&&r<e+1;)r+=1,await E(1e3)}async executeWorkerRequest(e,r=!1){const t=r!==!0&&this.busyWorkers.has(e.workerId);this.config.debug("*executeWorkerRequest*",{workerId:e.workerId,isBusy:t,force:r}),t?this.config.debug("*executeWorkerRequest* worker is busy",e.workerId):(this.busyWorkers.add(e.workerId),await this.waitForNetworkOnline(),this.config.debug("*executeWorkerRequest* request",{isNetworkOnline:this.config.getIsNetworkOnline()}),this.axiosInstance({url:e.url,method:"get",timeout:this.config.pollerInterval,headers:{...await this.config.getRequestHeaders(),...e.headers}}).then(s=>{var n;s&&!y(s)?(e.resolve(s),(n=e.onFinished)==null||n.call(e,r),this.deleteWorker(e.groupId,e.workerId)):this.busyWorkers.delete(e.workerId)}).catch(s=>{var n,u;if(k(s)){if(m(s)){this.config.debug("*executeWorkerRequest* worker is expired or invalid",e.workerId);const a=x(c(new Error("The Hangfire worker is expired or invalid"),h.ErrorCode.HangfireWorkerExpiredOrInvalid));e.reject(a),(n=e.onFinished)==null||n.call(e,r)}else e.reject(s),(u=e.onFinished)==null||u.call(e,r);this.deleteWorker(e.groupId,e.workerId)}else this.config.debug("*executeWorkerRequest* not an api error"),this.busyWorkers.delete(e.workerId)}))}deleteWorker(e,r){const t=this.groups.get(e);t&&(this.config.debug("*delete worker*",t.size,t),t.delete(r),this.workerByIdMap.delete(r),this.busyWorkers.delete(r),t.size<1&&(this.groups.delete(e),this.enabledGroups.delete(e),this.enabledGroups.size<1&&this.stopTimer()))}createWorker(e,{workerId:r,url:t,headers:s,onFinished:n}){if(!this.groups.has(e)){if(this.groups.size>=this.config.maxGroupsSize){const a=c(new Error("Max number of Hangfire groups exceeded"),h.ErrorCode.GenericUnexpectedHangfireError,{count:this.groups.size});throw this.destroy(),a}this.groups.set(e,new Map)}const u=this.groups.get(e);return new Promise((a,l)=>{if(u.has(r))throw c(new Error("Duplicate Hangfire worker ID"),h.ErrorCode.GenericUnexpectedHangfireError);if(u.size>=this.config.maxWorkersSize){const g=c(new Error("Max number of Hangfire workers in group exceeded"),h.ErrorCode.GenericUnexpectedHangfireError,{groupId:e,count:u.size});throw l(g),this.destroy(),g}const d={workerId:r,groupId:e,url:t,resolve:a,reject:l,headers:s,onFinished:n};u.set(r,d),this.workerByIdMap.set(r,d),this.enabledGroups.has(e)||this.enabledGroups.add(e),this.timer==null&&this.enabledGroups.size>0&&this.startTimer()})}triggerWorker(e){this.config.debug("*triggerWorker*");const r=this.workerByIdMap.get(e);r?this.executeWorkerRequest(r,!0):this.config.debug("*triggerWorker* worker not found",e)}triggerAllWorkers(){this.config.debug("*triggerAllWorkers*");for(const e of this.workerByIdMap.values())this.executeWorkerRequest(e)}enableWorkers(e){this.config.debug("*enable*",e),this.enabledGroups.add(e),this.groups.has(e)&&this.timer==null&&this.startTimer()}disableWorkers(e){this.config.debug("*disable*",e),this.enabledGroups.delete(e),this.enabledGroups.size<1&&this.stopTimer()}destroy(){this.config.debug("*destroy*"),this.groups.clear(),this.stopTimer()}}function q(i){return new f(i)}exports.HangfirePoller=f;exports.default=q;
|