@ancon/wildcat-utils 1.44.0-timezone-refactor.1 → 1.44.1

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 (104) hide show
  1. package/checkout/checkoutHasWallet.d.ts +3 -0
  2. package/checkout/getCheckoutRequestItemFromCheckoutItem.d.ts +2 -2
  3. package/checkout/getCheckoutRequestItemFromCheckoutItem.js +1 -1
  4. package/checkout/getCheckoutRequestItemFromCheckoutItem.mjs +26 -14
  5. package/checkout/getCheckoutWalletTopUpMetaData.d.ts +7 -0
  6. package/checkout/getCheckoutWalletTopUpMetaData.js +1 -0
  7. package/checkout/getCheckoutWalletTopUpMetaData.mjs +15 -0
  8. package/checkout/getWalletMetaFromCheckout.d.ts +3 -0
  9. package/checkout/index.d.ts +4 -1
  10. package/checkout/index.js +1 -1
  11. package/checkout/index.mjs +25 -19
  12. package/checkout/isWalletTopUpCheckout.d.ts +2 -0
  13. package/checkout/isWalletTopUpCheckout.js +1 -0
  14. package/checkout/isWalletTopUpCheckout.mjs +12 -0
  15. package/checkout/isWalletTopUpCheckoutItem.d.ts +2 -0
  16. package/checkout/isWalletTopUpCheckoutItem.js +1 -0
  17. package/checkout/isWalletTopUpCheckoutItem.mjs +9 -0
  18. package/courses/constants.js +1 -1
  19. package/courses/constants.mjs +1 -1
  20. package/date/convertToLocalTimezone.d.ts +8 -0
  21. package/date/convertToLocalTimezone.js +1 -0
  22. package/date/convertToLocalTimezone.mjs +12 -0
  23. package/date/convertToSpecificTimezone.d.ts +9 -0
  24. package/date/convertToSpecificTimezone.js +1 -0
  25. package/date/convertToSpecificTimezone.mjs +6 -0
  26. package/date/getTimezoneUtcOffsetDifference.d.ts +8 -0
  27. package/date/getTimezoneUtcOffsetDifference.js +1 -0
  28. package/date/getTimezoneUtcOffsetDifference.mjs +8 -0
  29. package/date/index.d.ts +5 -1
  30. package/date/index.js +1 -1
  31. package/date/index.mjs +14 -6
  32. package/date/isDSTShiftPresentInRange.d.ts +8 -0
  33. package/date/isDSTShiftPresentInRange.js +1 -0
  34. package/date/isDSTShiftPresentInRange.mjs +9 -0
  35. package/hangfire/createHangfirePoller.d.ts +8 -2
  36. package/hangfire/createHangfirePoller.js +1 -1
  37. package/hangfire/createHangfirePoller.mjs +72 -62
  38. package/hangfire/createMakeHangfireRequest.d.ts +10 -1
  39. package/hangfire/createMakeHangfireRequest.js +1 -1
  40. package/hangfire/createMakeHangfireRequest.mjs +16 -14
  41. package/index.js +1 -1
  42. package/index.mjs +216 -198
  43. package/outlet/getOutletCurrentActiveOperatingHour.js +1 -1
  44. package/outlet/getOutletCurrentActiveOperatingHour.mjs +26 -21
  45. package/outlet/getOutletCurrentAvailabilityInfo.js +1 -1
  46. package/outlet/getOutletCurrentAvailabilityInfo.mjs +18 -15
  47. package/outlet/getOutletCurrentClosingTimeText.js +1 -1
  48. package/outlet/getOutletCurrentClosingTimeText.mjs +15 -12
  49. package/outlet/getOutletNextOpeningTagInformation.js +1 -1
  50. package/outlet/getOutletNextOpeningTagInformation.mjs +13 -10
  51. package/outlet/getOutletNextOpeningTimeText.js +1 -1
  52. package/outlet/getOutletNextOpeningTimeText.mjs +12 -9
  53. package/outlet/getOutletNextReadyToOrderTime.js +1 -1
  54. package/outlet/getOutletNextReadyToOrderTime.mjs +38 -26
  55. package/outlet/getOutletPickerTimesForDay.js +1 -1
  56. package/outlet/getOutletPickerTimesForDay.mjs +101 -46
  57. package/outlet/getOutletPickerTimesForWeek.js +1 -1
  58. package/outlet/getOutletPickerTimesForWeek.mjs +13 -8
  59. package/outlet/getOutletTagInformation.js +1 -1
  60. package/outlet/getOutletTagInformation.mjs +64 -62
  61. package/outlet/getOutletTodayOpeningTimes.js +1 -1
  62. package/outlet/getOutletTodayOpeningTimes.mjs +21 -21
  63. package/outlet/getServiceIntervalEnd.js +1 -1
  64. package/outlet/getServiceIntervalEnd.mjs +11 -10
  65. package/outlet/getServiceIntervalStart.js +1 -1
  66. package/outlet/getServiceIntervalStart.mjs +7 -6
  67. package/outlet/getServiceIntervalTimeSpanMoment.d.ts +9 -0
  68. package/outlet/getServiceIntervalTimeSpanMoment.js +1 -0
  69. package/outlet/getServiceIntervalTimeSpanMoment.mjs +9 -0
  70. package/outlet/getTimezoneAdjustedServiceInterval.d.ts +14 -0
  71. package/outlet/getTimezoneAdjustedServiceInterval.js +1 -0
  72. package/outlet/getTimezoneAdjustedServiceInterval.mjs +26 -0
  73. package/outlet/index.js +1 -1
  74. package/outlet/index.mjs +69 -66
  75. package/outlet/searchNextOpeningMoment.js +1 -1
  76. package/outlet/searchNextOpeningMoment.mjs +61 -58
  77. package/outlet/types.d.ts +6 -0
  78. package/outlet/types.js +1 -1
  79. package/outlet/types.mjs +3 -2
  80. package/package.json +56 -11
  81. package/time/convertSecondsToTimeSpan.d.ts +9 -0
  82. package/time/convertSecondsToTimeSpan.js +1 -0
  83. package/time/convertSecondsToTimeSpan.mjs +12 -0
  84. package/time/convertTimeSpanToSeconds.d.ts +6 -0
  85. package/time/convertTimeSpanToSeconds.js +1 -0
  86. package/time/convertTimeSpanToSeconds.mjs +8 -0
  87. package/time/createTimeSpan.js +1 -1
  88. package/time/createTimeSpan.mjs +10 -5
  89. package/time/formatTimeSpan.js +1 -1
  90. package/time/formatTimeSpan.mjs +5 -4
  91. package/time/getDurationBetweenTimeSpans.d.ts +2 -2
  92. package/time/getDurationBetweenTimeSpans.js +1 -1
  93. package/time/getDurationBetweenTimeSpans.mjs +11 -9
  94. package/time/getEndTimeSpanOfTimePeriod.js +1 -1
  95. package/time/getEndTimeSpanOfTimePeriod.mjs +8 -6
  96. package/time/index.d.ts +3 -1
  97. package/time/index.js +1 -1
  98. package/time/index.mjs +16 -12
  99. package/outlet/getMomentFromDateAndTimeString.d.ts +0 -3
  100. package/outlet/getMomentFromDateAndTimeString.js +0 -1
  101. package/outlet/getMomentFromDateAndTimeString.mjs +0 -17
  102. package/outlet/getNextTenthMinute.d.ts +0 -2
  103. package/outlet/getNextTenthMinute.js +0 -1
  104. package/outlet/getNextTenthMinute.mjs +0 -7
@@ -1,2 +1,5 @@
1
1
  import { CheckoutSummary, CheckoutDetails } from '@ancon/wildcat-types';
2
+ /**
3
+ * @deprecated Use `isWalletTopUpCheckout` instead
4
+ */
2
5
  export default function checkoutHasWallet(checkout: CheckoutSummary | CheckoutDetails): boolean;
@@ -1,3 +1,3 @@
1
- import { CheckoutItem } from '@ancon/wildcat-types';
1
+ import { CheckoutItem, CheckoutMetaDataItemData } from '@ancon/wildcat-types';
2
2
  import { CheckoutRequestItem } from './types';
3
- export default function getCheckoutRequestItemFromCheckoutItem(item: CheckoutItem, meta?: any): CheckoutRequestItem;
3
+ export default function getCheckoutRequestItemFromCheckoutItem(item: CheckoutItem, meta?: CheckoutMetaDataItemData): CheckoutRequestItem;
@@ -1 +1 @@
1
- "use strict";const d=require("@ancon/wildcat-types");function l(t,u){const{product:r,quantity:p,modifications:s,upsellGroupId:I,totalPriceInclTax:y}=t;return r.productType===d.ProductType.PrepaidWallet?{productType:r.productType,variantType:r.variantType,price:{unitPrice:y.amount},metaData:JSON.stringify({id:u==null?void 0:u.id}),quantity:p,modifications:[]}:{variantId:r.variantId,quantity:p,modifications:s.map(e=>({modification:e.modification,ingredientId:e.ingredientId,quantity:e==null?void 0:e.quantity,freeAmount:e==null?void 0:e.freeAmount,addOnGroupId:(e==null?void 0:e.groupId)||void 0,replaceId:e.replaceId||void 0,description:e==null?void 0:e.description})),upsellGroupId:I}}module.exports=l;
1
+ "use strict";const n=require("./isWalletTopUpCheckoutItem.js");require("@ancon/wildcat-types");function y(t,u){const{product:r,quantity:p,modifications:a,upsellGroupId:s,totalPriceInclTax:I}=t;if(n(t)){let e=null;if(u){const l=u;e=JSON.stringify({id:l.id,prepaidWalletNumber:l.prepaidWalletNumber})}return{productType:r.productType,variantType:r.variantType,price:{unitPrice:I.amount},metaData:e,quantity:p,modifications:[]}}return{variantId:r.variantId,quantity:p,modifications:a.map(e=>({modification:e.modification,ingredientId:e.ingredientId,quantity:e==null?void 0:e.quantity,freeAmount:e==null?void 0:e.freeAmount,addOnGroupId:(e==null?void 0:e.groupId)||void 0,replaceId:e.replaceId||void 0,description:e==null?void 0:e.description})),upsellGroupId:s}}module.exports=y;
@@ -1,17 +1,29 @@
1
- import { ProductType as d } from "@ancon/wildcat-types";
2
- function n(t, p) {
3
- const { product: r, quantity: u, modifications: I, upsellGroupId: s, totalPriceInclTax: y } = t;
4
- return r.productType === d.PrepaidWallet ? {
5
- productType: r.productType,
6
- variantType: r.variantType,
7
- price: { unitPrice: y.amount },
8
- metaData: JSON.stringify({ id: p == null ? void 0 : p.id }),
9
- quantity: u,
10
- modifications: []
11
- } : {
1
+ import n from "./isWalletTopUpCheckoutItem.mjs";
2
+ import "@ancon/wildcat-types";
3
+ function v(t, p) {
4
+ const { product: r, quantity: u, modifications: a, upsellGroupId: I, totalPriceInclTax: s } = t;
5
+ if (n(t)) {
6
+ let e = null;
7
+ if (p) {
8
+ const l = p;
9
+ e = JSON.stringify({
10
+ id: l.id,
11
+ prepaidWalletNumber: l.prepaidWalletNumber
12
+ });
13
+ }
14
+ return {
15
+ productType: r.productType,
16
+ variantType: r.variantType,
17
+ price: { unitPrice: s.amount },
18
+ metaData: e,
19
+ quantity: u,
20
+ modifications: []
21
+ };
22
+ }
23
+ return {
12
24
  variantId: r.variantId,
13
25
  quantity: u,
14
- modifications: I.map((e) => ({
26
+ modifications: a.map((e) => ({
15
27
  modification: e.modification,
16
28
  ingredientId: e.ingredientId,
17
29
  quantity: e == null ? void 0 : e.quantity,
@@ -20,9 +32,9 @@ function n(t, p) {
20
32
  replaceId: e.replaceId || void 0,
21
33
  description: e == null ? void 0 : e.description
22
34
  })),
23
- upsellGroupId: s
35
+ upsellGroupId: I
24
36
  };
25
37
  }
26
38
  export {
27
- n as default
39
+ v as default
28
40
  };
@@ -0,0 +1,7 @@
1
+ import { CheckoutItem, CheckoutMetaDataItem, CheckoutMetaDataItemWalletData } from '@ancon/wildcat-types';
2
+ declare type Checkout = {
3
+ items: Array<CheckoutItem>;
4
+ metaData: Array<CheckoutMetaDataItem>;
5
+ };
6
+ export default function getCheckoutWalletTopUpMetaData<T extends Checkout>(checkout: T | undefined | null): CheckoutMetaDataItemWalletData | undefined;
7
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";const s=require("@ancon/wildcat-types"),l=require("./isWalletTopUpCheckoutItem.js");function d(t){var i,r;const a=(i=t==null?void 0:t.items)==null?void 0:i.find(l);if(a){const e=(r=t==null?void 0:t.metaData)==null?void 0:r.find(({checkoutItemId:n,metaDataType:p})=>n===a.id&&p===s.CheckoutMetaDataType.Wallet);return e==null?void 0:e.metaData}}module.exports=d;
@@ -0,0 +1,15 @@
1
+ import { CheckoutMetaDataType as n } from "@ancon/wildcat-types";
2
+ import f from "./isWalletTopUpCheckoutItem.mjs";
3
+ function o(t) {
4
+ var e, i;
5
+ const r = (e = t == null ? void 0 : t.items) == null ? void 0 : e.find(f);
6
+ if (r) {
7
+ const a = (i = t == null ? void 0 : t.metaData) == null ? void 0 : i.find(
8
+ ({ checkoutItemId: p, metaDataType: m }) => p === r.id && m === n.Wallet
9
+ );
10
+ return a == null ? void 0 : a.metaData;
11
+ }
12
+ }
13
+ export {
14
+ o as default
15
+ };
@@ -1,4 +1,7 @@
1
1
  import { CheckoutMetaDataItem, CheckoutSummary } from '@ancon/wildcat-types';
2
2
  declare type MetaData = CheckoutMetaDataItem['metaData'];
3
+ /**
4
+ * @deprecated Use `getCheckoutWalletTopUpMetaData` instead
5
+ */
3
6
  export default function getWalletMetaFromCheckout(checkout: CheckoutSummary): MetaData | undefined;
4
7
  export {};
@@ -19,4 +19,7 @@ import getTotalCheckoutItemsQuantity from './getTotalCheckoutItemsQuantity';
19
19
  import getCheckoutPenguinLockersMetaData from './getCheckoutPenguinLockersMetaData';
20
20
  import getUniqueCheckoutPenguinDeliveryCodes from './getUniqueCheckoutPenguinDeliveryCodes';
21
21
  import isWoltDeliveryInProgress from './isWoltDeliveryInProgress';
22
- export { TranslationKey, getCheckoutGroupedModifications, getCheckoutProductName, getCheckoutOrderStatusTexts, getCheckoutItemsMappedByTicketItemStatus, isCheckoutOrderSummary, buildCheckoutRequestItem, getCheckoutGrandTotalAmount, getCheckoutRequestItemFromCheckoutItem, isCheckoutItemsAreEqual, checkoutHasWallet, getWalletMetaFromCheckout, isPreOrderCheckout, isPreOrderServiceTime, isUpdatingCheckoutAllowed, isCheckoutAlreadyPaidStatus, CheckoutPaymentErrorTranslationKey, getCheckoutPaymentErrorTranslationTexts, isDeletingCheckoutAllowed, getTotalCheckoutItemsQuantity, getCheckoutPenguinLockersMetaData, getUniqueCheckoutPenguinDeliveryCodes, isWoltDeliveryInProgress, };
22
+ import isWalletTopUpCheckoutItem from './isWalletTopUpCheckoutItem';
23
+ import isWalletTopUpCheckout from './isWalletTopUpCheckout';
24
+ import getCheckoutWalletTopUpMetaData from './getCheckoutWalletTopUpMetaData';
25
+ export { TranslationKey, getCheckoutGroupedModifications, getCheckoutProductName, getCheckoutOrderStatusTexts, getCheckoutItemsMappedByTicketItemStatus, isCheckoutOrderSummary, buildCheckoutRequestItem, getCheckoutGrandTotalAmount, getCheckoutRequestItemFromCheckoutItem, isCheckoutItemsAreEqual, checkoutHasWallet, getWalletMetaFromCheckout, isPreOrderCheckout, isPreOrderServiceTime, isUpdatingCheckoutAllowed, isCheckoutAlreadyPaidStatus, CheckoutPaymentErrorTranslationKey, getCheckoutPaymentErrorTranslationTexts, isDeletingCheckoutAllowed, getTotalCheckoutItemsQuantity, getCheckoutPenguinLockersMetaData, getUniqueCheckoutPenguinDeliveryCodes, isWoltDeliveryInProgress, isWalletTopUpCheckoutItem, isWalletTopUpCheckout, getCheckoutWalletTopUpMetaData, };
package/checkout/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./getCheckoutItemModifications.js"),u=require("./getCheckoutProductName.js"),e=require("./getCheckoutOrderStatusTexts.js"),o=require("./getCheckoutItemsMappedByTicketItemStatus.js"),c=require("./isCheckoutOrderSummary.js"),i=require("./buildCheckoutRequestItem.js"),s=require("./getCheckoutGrandTotalAmount.js"),k=require("./getCheckoutRequestItemFromCheckoutItem.js"),a=require("./isCheckoutItemsAreEqual.js"),h=require("./checkoutHasWallet.js"),n=require("./getWalletMetaFromCheckout.js"),l=require("./isPreOrderServiceTime.js"),q=require("./isPreOrderCheckout.js"),C=require("./isUpdatingCheckoutAllowed.js"),d=require("./isCheckoutAlreadyPaidStatus.js"),t=require("./getCheckoutPaymentErrorTranslationTexts.js"),g=require("./isDeletingCheckoutAllowed.js"),m=require("./getTotalCheckoutItemsQuantity.js"),y=require("./getCheckoutPenguinLockersMetaData.js"),_=require("./getUniqueCheckoutPenguinDeliveryCodes.js"),P=require("./isWoltDeliveryInProgress.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=r;exports.getCheckoutProductName=u;exports.TranslationKey=e.TranslationKey;exports.getCheckoutOrderStatusTexts=e.default;exports.getCheckoutItemsMappedByTicketItemStatus=o;exports.isCheckoutOrderSummary=c;exports.buildCheckoutRequestItem=i;exports.getCheckoutGrandTotalAmount=s;exports.getCheckoutRequestItemFromCheckoutItem=k;exports.isCheckoutItemsAreEqual=a;exports.checkoutHasWallet=h;exports.getWalletMetaFromCheckout=n;exports.isPreOrderServiceTime=l;exports.isPreOrderCheckout=q;exports.isUpdatingCheckoutAllowed=C;exports.isCheckoutAlreadyPaidStatus=d;exports.CheckoutPaymentErrorTranslationKey=t.CheckoutPaymentErrorTranslationKey;exports.getCheckoutPaymentErrorTranslationTexts=t.default;exports.isDeletingCheckoutAllowed=g;exports.getTotalCheckoutItemsQuantity=m;exports.getCheckoutPenguinLockersMetaData=y;exports.getUniqueCheckoutPenguinDeliveryCodes=_;exports.isWoltDeliveryInProgress=P;
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;
@@ -1,14 +1,14 @@
1
1
  import { default as h } from "./getCheckoutItemModifications.mjs";
2
2
  import { default as n } from "./getCheckoutProductName.mjs";
3
- import { TranslationKey as y, default as P } from "./getCheckoutOrderStatusTexts.mjs";
4
- import { default as I } from "./getCheckoutItemsMappedByTicketItemStatus.mjs";
5
- import { default as S } from "./isCheckoutOrderSummary.mjs";
6
- import { default as D } from "./buildCheckoutRequestItem.mjs";
7
- import { default as O } from "./getCheckoutGrandTotalAmount.mjs";
8
- import { default as E } from "./getCheckoutRequestItemFromCheckoutItem.mjs";
9
- import { default as w } from "./isCheckoutItemsAreEqual.mjs";
10
- import { default as G } from "./checkoutHasWallet.mjs";
11
- import { default as R } from "./getWalletMetaFromCheckout.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
12
  import { default as b } from "./isPreOrderServiceTime.mjs";
13
13
  import { default as H } from "./isPreOrderCheckout.mjs";
14
14
  import { default as N } from "./isUpdatingCheckoutAllowed.mjs";
@@ -19,6 +19,9 @@ import { default as _ } from "./getTotalCheckoutItemsQuantity.mjs";
19
19
  import { default as tt } from "./getCheckoutPenguinLockersMetaData.mjs";
20
20
  import { default as ot } from "./getUniqueCheckoutPenguinDeliveryCodes.mjs";
21
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";
22
25
  import "@ancon/wildcat-types";
23
26
  import "../currency/getFormattedCurrency.mjs";
24
27
  import "../currency/getFormattedCurrencyPostfix.mjs";
@@ -35,26 +38,29 @@ import "axios";
35
38
  import "../error/isSerializedAPIError.mjs";
36
39
  export {
37
40
  J as CheckoutPaymentErrorTranslationKey,
38
- y as TranslationKey,
39
- D as buildCheckoutRequestItem,
40
- G as checkoutHasWallet,
41
- O as getCheckoutGrandTotalAmount,
41
+ T as TranslationKey,
42
+ M as buildCheckoutRequestItem,
43
+ F as checkoutHasWallet,
44
+ U as getCheckoutGrandTotalAmount,
42
45
  h as getCheckoutGroupedModifications,
43
- I as getCheckoutItemsMappedByTicketItemStatus,
44
- P as getCheckoutOrderStatusTexts,
46
+ P as getCheckoutItemsMappedByTicketItemStatus,
47
+ y as getCheckoutOrderStatusTexts,
45
48
  V as getCheckoutPaymentErrorTranslationTexts,
46
49
  tt as getCheckoutPenguinLockersMetaData,
47
50
  n as getCheckoutProductName,
48
- E as getCheckoutRequestItemFromCheckoutItem,
51
+ O as getCheckoutRequestItemFromCheckoutItem,
52
+ pt as getCheckoutWalletTopUpMetaData,
49
53
  _ as getTotalCheckoutItemsQuantity,
50
54
  ot as getUniqueCheckoutPenguinDeliveryCodes,
51
- R as getWalletMetaFromCheckout,
55
+ K as getWalletMetaFromCheckout,
52
56
  j as isCheckoutAlreadyPaidStatus,
53
- w as isCheckoutItemsAreEqual,
54
- S as isCheckoutOrderSummary,
57
+ E as isCheckoutItemsAreEqual,
58
+ A as isCheckoutOrderSummary,
55
59
  Y as isDeletingCheckoutAllowed,
56
60
  H as isPreOrderCheckout,
57
61
  b as isPreOrderServiceTime,
58
62
  N as isUpdatingCheckoutAllowed,
63
+ lt as isWalletTopUpCheckout,
64
+ mt as isWalletTopUpCheckoutItem,
59
65
  at as isWoltDeliveryInProgress
60
66
  };
@@ -0,0 +1,2 @@
1
+ import { CheckoutDetails } from '@ancon/wildcat-types';
2
+ export default function isWalletTopUpCheckout(checkout: CheckoutDetails | undefined | null): boolean;
@@ -0,0 +1 @@
1
+ "use strict";const c=require("@ancon/wildcat-types"),i=require("./isWalletTopUpCheckoutItem.js");function a(t){if(t){const{orderFormat:e,items:r}=t,s=e===c.OrderFormat.System,o=r.some(i);return s&&o}return!1}module.exports=a;
@@ -0,0 +1,12 @@
1
+ import { OrderFormat as s } from "@ancon/wildcat-types";
2
+ import a from "./isWalletTopUpCheckoutItem.mjs";
3
+ function l(t) {
4
+ if (t) {
5
+ const { orderFormat: e, items: o } = t, r = e === s.System, m = o.some(a);
6
+ return r && m;
7
+ }
8
+ return !1;
9
+ }
10
+ export {
11
+ l as default
12
+ };
@@ -0,0 +1,2 @@
1
+ import { CheckoutItem } from '@ancon/wildcat-types';
2
+ export default function isWalletTopUpCheckoutItem({ product, }: CheckoutItem): boolean;
@@ -0,0 +1 @@
1
+ "use strict";const t=require("@ancon/wildcat-types");function p({product:e}){return e.productType===t.ProductType.PrepaidWallet&&e.variantType===t.VariantType.CardTopUp}module.exports=p;
@@ -0,0 +1,9 @@
1
+ import { ProductType as t, VariantType as p } from "@ancon/wildcat-types";
2
+ function r({
3
+ product: e
4
+ }) {
5
+ return e.productType === t.PrepaidWallet && e.variantType === p.CardTopUp;
6
+ }
7
+ export {
8
+ r as default
9
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={1:"#a8537b",2:"#5874cb",3:"#7e6bab",4:"#939cb0",5:"#2ab5f4",6:"#23d6c4",7:"#30b479",8:"#ecb82a",9:"#f25c4e",10:"#816257",11:"#803459",12:"#183fa0",13:"#4f4082",14:"#5d6576",15:"#1588cf",16:"#128a7f",17:"#227246",18:"#e98e23",19:"#d63b2C",20:"#5c3f36"};exports.CourseColorsMapByOrder=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={1:"#a8537b",2:"#5874cb",3:"#7e6bab",4:"#cbe34f",5:"#2ab5f4",6:"#23d6c4",7:"#30b479",8:"#ecb82a",9:"#f25c4e",10:"#816257",11:"#803459",12:"#183fa0",13:"#4f4082",14:"#5d6576",15:"#1588cf",16:"#128a7f",17:"#227246",18:"#e98e23",19:"#d63b2C",20:"#5c3f36"};exports.CourseColorsMapByOrder=e;
@@ -2,7 +2,7 @@ const b = {
2
2
  1: "#a8537b",
3
3
  2: "#5874cb",
4
4
  3: "#7e6bab",
5
- 4: "#939cb0",
5
+ 4: "#cbe34f",
6
6
  5: "#2ab5f4",
7
7
  6: "#23d6c4",
8
8
  7: "#30b479",
@@ -0,0 +1,8 @@
1
+ import moment, { Moment } from 'moment';
2
+ /**
3
+ * This function converts a given moment object to the local timezone by adjusting the UTC offset.
4
+ * @param dateTimeMoment The moment object to convert to the local timezone.
5
+ * @param keepLocalTime Optional flag that specifies whether the offset would be changed without modifying the actual time itself.
6
+ * @returns The moment object converted to the local timezone.
7
+ */
8
+ export default function convertToLocalTimezone(dateTimeMoment: Moment, keepLocalTime?: boolean): moment.Moment;
@@ -0,0 +1 @@
1
+ "use strict";const c=require("moment"),n=require("./getTimezoneUtcOffsetDifference.js");function o(e,f){const t=c();return n(t,e)?e.clone().utcOffset(t.utcOffset(),f):e}module.exports=o;
@@ -0,0 +1,12 @@
1
+ import o from "moment";
2
+ import c from "./getTimezoneUtcOffsetDifference.mjs";
3
+ function s(f, e) {
4
+ const t = o();
5
+ return c(
6
+ t,
7
+ f
8
+ ) ? f.clone().utcOffset(t.utcOffset(), e) : f;
9
+ }
10
+ export {
11
+ s as default
12
+ };
@@ -0,0 +1,9 @@
1
+ import { Moment } from 'moment';
2
+ /**
3
+ * This function converts a given date time moment to a specific timezone.
4
+ * @param dateTimeMoment The date time moment to convert
5
+ * @param timezoneOffset The specific timezone offset
6
+ * @param keepLocalTime An optional flag that specifies whether the offset would be changed without modifying the actual time itself.
7
+ * @returns The converted date time moment
8
+ */
9
+ export default function convertToSpecificTimezone(dateTimeMoment: Moment, timezoneOffset: number, keepLocalTime?: boolean): Moment;
@@ -0,0 +1 @@
1
+ "use strict";function u(f,c,t){return f.utcOffset()-c?f.clone().utcOffset(c,t):f}module.exports=u;
@@ -0,0 +1,6 @@
1
+ function r(f, c, t) {
2
+ return f.utcOffset() - c ? f.clone().utcOffset(c, t) : f;
3
+ }
4
+ export {
5
+ r as default
6
+ };
@@ -0,0 +1,8 @@
1
+ import { MomentInput } from 'moment';
2
+ /**
3
+ * This function gets the difference between the UTC offsets of two moment inputs.
4
+ * @param momentInputA The first moment input
5
+ * @param momentInputB The second moment input
6
+ * @returns The difference between the UTC offsets of the two moment inputs
7
+ */
8
+ export default function getTimezoneUtcOffsetDifference(momentInputA: MomentInput, momentInputB: MomentInput): number;
@@ -0,0 +1 @@
1
+ "use strict";const t=require("moment");function o(e,n){const c=t(e),f=t(n);return c.utcOffset()-f.utcOffset()}module.exports=o;
@@ -0,0 +1,8 @@
1
+ import t from "moment";
2
+ function c(e, f) {
3
+ const n = t(e), o = t(f);
4
+ return n.utcOffset() - o.utcOffset();
5
+ }
6
+ export {
7
+ c as default
8
+ };
package/date/index.d.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  import createLocalTimezoneDate from './createLocalTimezoneDate';
2
2
  import createLocalTimezoneMoment from './createLocalTimezoneMoment';
3
3
  import getFormattedUTCDateTime from './getFormattedUTCDateTime';
4
- export { createLocalTimezoneDate, createLocalTimezoneMoment, getFormattedUTCDateTime, };
4
+ import convertToLocalTimezone from './convertToLocalTimezone';
5
+ import convertToSpecificTimezone from './convertToSpecificTimezone';
6
+ import getTimezoneUtcOffsetDifference from './getTimezoneUtcOffsetDifference';
7
+ import isDSTShiftPresentInRange from './isDSTShiftPresentInRange';
8
+ export { createLocalTimezoneDate, createLocalTimezoneMoment, getFormattedUTCDateTime, convertToLocalTimezone, convertToSpecificTimezone, getTimezoneUtcOffsetDifference, isDSTShiftPresentInRange, };
package/date/index.js CHANGED
@@ -1 +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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./createLocalTimezoneDate.js"),t=require("./createLocalTimezoneMoment.js"),o=require("./getFormattedUTCDateTime.js"),r=require("./convertToLocalTimezone.js"),i=require("./convertToSpecificTimezone.js"),n=require("./getTimezoneUtcOffsetDifference.js"),c=require("./isDSTShiftPresentInRange.js");require("moment");exports.createLocalTimezoneDate=e;exports.createLocalTimezoneMoment=t;exports.getFormattedUTCDateTime=o;exports.convertToLocalTimezone=r;exports.convertToSpecificTimezone=i;exports.getTimezoneUtcOffsetDifference=n;exports.isDSTShiftPresentInRange=c;
package/date/index.mjs CHANGED
@@ -1,9 +1,17 @@
1
- import { default as o } from "./createLocalTimezoneDate.mjs";
2
- import { default as m } from "./createLocalTimezoneMoment.mjs";
3
- import { default as l } from "./getFormattedUTCDateTime.mjs";
1
+ import { default as a } from "./createLocalTimezoneDate.mjs";
2
+ import { default as f } from "./createLocalTimezoneMoment.mjs";
3
+ import { default as i } from "./getFormattedUTCDateTime.mjs";
4
+ import { default as c } from "./convertToLocalTimezone.mjs";
5
+ import { default as s } from "./convertToSpecificTimezone.mjs";
6
+ import { default as p } from "./getTimezoneUtcOffsetDifference.mjs";
7
+ import { default as u } from "./isDSTShiftPresentInRange.mjs";
4
8
  import "moment";
5
9
  export {
6
- o as createLocalTimezoneDate,
7
- m as createLocalTimezoneMoment,
8
- l as getFormattedUTCDateTime
10
+ c as convertToLocalTimezone,
11
+ s as convertToSpecificTimezone,
12
+ a as createLocalTimezoneDate,
13
+ f as createLocalTimezoneMoment,
14
+ i as getFormattedUTCDateTime,
15
+ p as getTimezoneUtcOffsetDifference,
16
+ u as isDSTShiftPresentInRange
9
17
  };
@@ -0,0 +1,8 @@
1
+ import { MomentInput } from 'moment';
2
+ /**
3
+ * This function checks if a DST shift is present in the given date time range.
4
+ * @param start The start date time of the range
5
+ * @param start The end date time of the range
6
+ * @returns A boolean indicating if a DST shift is present in the given date time range
7
+ */
8
+ export default function isDSTShiftPresentInRange(start: MomentInput, end: MomentInput): boolean;
@@ -0,0 +1 @@
1
+ "use strict";const t=require("moment"),c=require("./getTimezoneUtcOffsetDifference.js");function o(e,n){const f=t(e),s=t(n);return!!c(f,s)}module.exports=o;
@@ -0,0 +1,9 @@
1
+ import t from "moment";
2
+ import r from "./getTimezoneUtcOffsetDifference.mjs";
3
+ function c(e, f) {
4
+ const n = t(e), o = t(f);
5
+ return !!r(n, o);
6
+ }
7
+ export {
8
+ c as default
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: APIHeaders;
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 f=Object.defineProperty;var p=(i,e,r)=>e in i?f(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var o=(i,e,r)=>(p(i,typeof e!="symbol"?e+"":e,r),r);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("axios"),u=require("@ancon/wildcat-types"),a=require("../error/createCodedError.js"),k=require("../error/isNotFoundError.js"),w=require("../error/serializeError.js"),W=require("../error/isErrorWithStatusCode.js"),m=require("../api/isNoContentResponse.js"),x=require("../shared/wait.js");require("../error/isCodedError.js");require("../error/isAPIError.js");class g{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,getIsNetworkOnline(){return!0},async getRequestHeaders(){return{}},debug(...e){console.log(...e)}});this.config={...this.config,...e??null}}stopTimer(){this.timer!=null&&(this.config.debug("*stop timer*"),clearInterval(this.timer),this.timer=null)}startTimer(){if(this.timer!=null)throw a(new Error("Timer already started"),u.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 x(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()}),b({url:e.url,method:"get",timeout:this.config.pollerInterval,headers:{...await this.config.getRequestHeaders(),...e.headers}}).then(s=>{s&&!m(s)?(e.resolve(s),this.deleteWorker(e.groupId,e.workerId)):this.busyWorkers.delete(e.workerId)}).catch(s=>{if(W(s)){if(k(s)){this.config.debug("*executeWorkerRequest* worker is expired or invalid",e.workerId);const n=w(a(new Error("The Hangfire worker is expired or invalid"),u.ErrorCode.HangfireWorkerExpiredOrInvalid));e.reject(n)}else e.reject(s);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}){if(!this.groups.has(e)){if(this.groups.size>=this.config.maxGroupsSize){const l=a(new Error("Max number of Hangfire groups exceeded"),u.ErrorCode.GenericUnexpectedHangfireError,{count:this.groups.size});throw this.destroy(),l}this.groups.set(e,new Map)}const n=this.groups.get(e);return new Promise((l,h)=>{if(n.has(r))throw a(new Error("Duplicate Hangfire worker ID"),u.ErrorCode.GenericUnexpectedHangfireError);if(n.size>=this.config.maxWorkersSize){const c=a(new Error("Max number of Hangfire workers in group exceeded"),u.ErrorCode.GenericUnexpectedHangfireError,{groupId:e,count:n.size});throw h(c),this.destroy(),c}const d={workerId:r,groupId:e,url:t,resolve:l,reject:h,headers:s};n.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 y(i){return new g(i)}exports.HangfirePoller=g;exports.default=y;
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;