@ancon/wildcat-utils 1.52.0-check-optimizations.2 → 1.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/index.d.ts +2 -1
- package/api/index.js +1 -1
- package/api/index.mjs +17 -14
- package/api/isPartialContentResponse.d.ts +3 -0
- package/api/isPartialContentResponse.js +1 -0
- package/api/isPartialContentResponse.mjs +7 -0
- package/check/getOrganizedCheckItemModifications.d.ts +2 -2
- package/check/getOrganizedCheckItemModifications.js +1 -1
- package/check/getOrganizedCheckItemModifications.mjs +68 -74
- package/check/getUniqueCheckItemModificationId.d.ts +2 -2
- package/check/getUniqueCheckItemModificationId.js +1 -1
- package/check/getUniqueCheckItemModificationId.mjs +5 -5
- package/hangfire/createHangfirePoller.d.ts +3 -1
- package/hangfire/createHangfirePoller.js +1 -1
- package/hangfire/createHangfirePoller.mjs +84 -81
- package/hangfire/createMakeHangfireRequest.d.ts +4 -2
- package/hangfire/createMakeHangfireRequest.js +1 -1
- package/hangfire/createMakeHangfireRequest.mjs +8 -6
- package/hangfire/index.js +1 -1
- package/hangfire/index.mjs +10 -9
- package/hangfire/isHangfireResponse.js +1 -1
- package/hangfire/isHangfireResponse.mjs +3 -2
- package/index.js +1 -1
- package/index.mjs +282 -280
- package/multilingual/createLocalizedCheckDetails.d.ts +2 -2
- package/multilingual/createLocalizedCheckDetails.js +1 -1
- package/multilingual/createLocalizedCheckDetails.mjs +27 -31
- package/package.json +6 -1
- package/signalr/SignalR.js +1 -1
- package/signalr/SignalR.mjs +3 -2
- package/signalr/index.js +1 -1
- package/signalr/index.mjs +5 -4
package/api/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import generateBackoffWithEqualJitter from './generateBackoffWithEqualJitter';
|
|
|
4
4
|
import generateBackoffWithVariableJitter from './generateBackoffWithVariableJitter';
|
|
5
5
|
import isAcceptedResponse from './isAcceptedResponse';
|
|
6
6
|
import isNoContentResponse from './isNoContentResponse';
|
|
7
|
+
import isPartialContentResponse from './isPartialContentResponse';
|
|
7
8
|
import APIFilterBuilder from './APIFilterBuilder';
|
|
8
9
|
import getMediaImageClosestSize from './getMediaImageClosestSize';
|
|
9
|
-
export { getUrlAndParams, getEndpointWithVersion, generateBackoffWithEqualJitter, generateBackoffWithVariableJitter, isAcceptedResponse, isNoContentResponse, APIFilterBuilder, getMediaImageClosestSize, };
|
|
10
|
+
export { getUrlAndParams, getEndpointWithVersion, generateBackoffWithEqualJitter, generateBackoffWithVariableJitter, isAcceptedResponse, isNoContentResponse, isPartialContentResponse, APIFilterBuilder, getMediaImageClosestSize, };
|
package/api/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./getUrlAndParams.js"),t=require("./getEndpointWithVersion.js"),i=require("./generateBackoffWithEqualJitter.js"),r=require("./generateBackoffWithVariableJitter.js"),a=require("./isAcceptedResponse.js"),n=require("./isNoContentResponse.js"),o=require("./APIFilterBuilder.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./getUrlAndParams.js"),t=require("./getEndpointWithVersion.js"),i=require("./generateBackoffWithEqualJitter.js"),r=require("./generateBackoffWithVariableJitter.js"),a=require("./isAcceptedResponse.js"),n=require("./isNoContentResponse.js"),s=require("./isPartialContentResponse.js"),o=require("./APIFilterBuilder.js"),p=require("./getMediaImageClosestSize.js");require("../number/randomIntFromInterval.js");require("axios");require("./types.js");exports.getUrlAndParams=e;exports.getEndpointWithVersion=t;exports.generateBackoffWithEqualJitter=i;exports.generateBackoffWithVariableJitter=r;exports.isAcceptedResponse=a;exports.isNoContentResponse=n;exports.isPartialContentResponse=s;exports.APIFilterBuilder=o;exports.getMediaImageClosestSize=p;
|
package/api/index.mjs
CHANGED
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
import { default as
|
|
2
|
-
import { default as
|
|
1
|
+
import { default as f } from "./getUrlAndParams.mjs";
|
|
2
|
+
import { default as i } from "./getEndpointWithVersion.mjs";
|
|
3
3
|
import { default as l } from "./generateBackoffWithEqualJitter.mjs";
|
|
4
|
-
import { default as
|
|
5
|
-
import { default as
|
|
6
|
-
import { default as
|
|
7
|
-
import { default as
|
|
8
|
-
import { default as
|
|
4
|
+
import { default as m } from "./generateBackoffWithVariableJitter.mjs";
|
|
5
|
+
import { default as u } from "./isAcceptedResponse.mjs";
|
|
6
|
+
import { default as g } from "./isNoContentResponse.mjs";
|
|
7
|
+
import { default as h } from "./isPartialContentResponse.mjs";
|
|
8
|
+
import { default as B } from "./APIFilterBuilder.mjs";
|
|
9
|
+
import { default as P } from "./getMediaImageClosestSize.mjs";
|
|
9
10
|
import "../number/randomIntFromInterval.mjs";
|
|
11
|
+
import "axios";
|
|
10
12
|
import "./types.mjs";
|
|
11
13
|
export {
|
|
12
|
-
|
|
14
|
+
B as APIFilterBuilder,
|
|
13
15
|
l as generateBackoffWithEqualJitter,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
m as generateBackoffWithVariableJitter,
|
|
17
|
+
i as getEndpointWithVersion,
|
|
18
|
+
P as getMediaImageClosestSize,
|
|
19
|
+
f as getUrlAndParams,
|
|
20
|
+
u as isAcceptedResponse,
|
|
21
|
+
g as isNoContentResponse,
|
|
22
|
+
h as isPartialContentResponse
|
|
20
23
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const a=require("axios");function i(t){return(t==null?void 0:t.status)===a.HttpStatusCode.PartialContent}module.exports=i;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CheckItem } from '@ancon/wildcat-types';
|
|
2
2
|
import { OrganizedCheckItemModification } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Organizes all check item modifications including addon products into a array for easier visual representation.
|
|
@@ -7,4 +7,4 @@ import { OrganizedCheckItemModification } from './types';
|
|
|
7
7
|
* @param addOnProducts - The list of check item add-on products.
|
|
8
8
|
* @returns An array where the modifications are sorted by their modification kind and positions.
|
|
9
9
|
*/
|
|
10
|
-
export default function getOrganizedCheckItemModifications(currency: string, modifications:
|
|
10
|
+
export default function getOrganizedCheckItemModifications(currency: string, modifications: CheckItem['modifications'], addOnProducts: CheckItem['addOnProducts']): OrganizedCheckItemModification[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const h=require("@ancon/wildcat-types"),M=require("../toString-b771abdf.js"),P=require("../identity-58f9497d.js"),x=require("../_baseIteratee-374c60ca.js"),k=require("../_getTag-3d3032da.js"),$=require("../isObjectLike-963267e9.js"),O=require("./getUniqueCheckItemModificationId.js");require("../_baseIsEqual-7e335f42.js");require("../isObject-361bd834.js");function L(n){return function(i,r,e){for(var d=-1,t=Object(i),o=e(i),c=o.length;c--;){var a=o[n?c:++d];if(r(t[a],a,t)===!1)break}return i}}var E=L();const _=E;function G(n,i){return n&&_(n,i,k.keys)}function Q(n,i){return function(r,e){if(r==null)return r;if(!k.isArrayLike(r))return n(r,e);for(var d=r.length,t=i?d:-1,o=Object(r);(i?t--:++t<d)&&e(o[t],t,o)!==!1;);return r}}var U=Q(G);const Z=U;function z(n,i){var r=-1,e=k.isArrayLike(n)?Array(n.length):[];return Z(n,function(d,t,o){e[++r]=i(d,t,o)}),e}function V(n,i){var r=n.length;for(n.sort(i);r--;)n[r]=n[r].value;return n}function j(n,i){if(n!==i){var r=n!==void 0,e=n===null,d=n===n,t=M.isSymbol(n),o=i!==void 0,c=i===null,a=i===i,u=M.isSymbol(i);if(!c&&!u&&!t&&n>i||t&&o&&a&&!c&&!u||e&&o&&a||!r&&a||!d)return 1;if(!e&&!t&&!u&&n<i||u&&r&&d&&!e&&!t||c&&r&&d||!o&&d||!a)return-1}return 0}function H(n,i,r){for(var e=-1,d=n.criteria,t=i.criteria,o=d.length,c=r.length;++e<o;){var a=j(d[e],t[e]);if(a){if(e>=c)return a;var u=r[e];return a*(u=="desc"?-1:1)}}return n.index-i.index}function J(n,i,r){i.length?i=M.arrayMap(i,function(t){return $.isArray(t)?function(o){return P.baseGet(o,t.length===1?t[0]:t)}:t}):i=[P.identity];var e=-1;i=M.arrayMap(i,k.baseUnary(x.baseIteratee));var d=z(n,function(t,o,c){var a=M.arrayMap(i,function(u){return u(t)});return{criteria:a,index:++e,value:t}});return V(d,function(t,o){return H(t,o,r)})}function C(n,i,r,e){return n==null?[]:($.isArray(i)||(i=i==null?[]:[i]),r=e?void 0:r,$.isArray(r)||(r=r==null?[]:[r]),J(n,i,r))}function K(n,i,r){const{add:e,replace:d,remove:t}=
|
|
1
|
+
"use strict";const h=require("@ancon/wildcat-types"),M=require("../toString-b771abdf.js"),P=require("../identity-58f9497d.js"),x=require("../_baseIteratee-374c60ca.js"),k=require("../_getTag-3d3032da.js"),$=require("../isObjectLike-963267e9.js"),O=require("./getUniqueCheckItemModificationId.js");require("../_baseIsEqual-7e335f42.js");require("../isObject-361bd834.js");function L(n){return function(i,r,e){for(var d=-1,t=Object(i),o=e(i),c=o.length;c--;){var a=o[n?c:++d];if(r(t[a],a,t)===!1)break}return i}}var E=L();const _=E;function G(n,i){return n&&_(n,i,k.keys)}function Q(n,i){return function(r,e){if(r==null)return r;if(!k.isArrayLike(r))return n(r,e);for(var d=r.length,t=i?d:-1,o=Object(r);(i?t--:++t<d)&&e(o[t],t,o)!==!1;);return r}}var U=Q(G);const Z=U;function z(n,i){var r=-1,e=k.isArrayLike(n)?Array(n.length):[];return Z(n,function(d,t,o){e[++r]=i(d,t,o)}),e}function V(n,i){var r=n.length;for(n.sort(i);r--;)n[r]=n[r].value;return n}function j(n,i){if(n!==i){var r=n!==void 0,e=n===null,d=n===n,t=M.isSymbol(n),o=i!==void 0,c=i===null,a=i===i,u=M.isSymbol(i);if(!c&&!u&&!t&&n>i||t&&o&&a&&!c&&!u||e&&o&&a||!r&&a||!d)return 1;if(!e&&!t&&!u&&n<i||u&&r&&d&&!e&&!t||c&&r&&d||!o&&d||!a)return-1}return 0}function H(n,i,r){for(var e=-1,d=n.criteria,t=i.criteria,o=d.length,c=r.length;++e<o;){var a=j(d[e],t[e]);if(a){if(e>=c)return a;var u=r[e];return a*(u=="desc"?-1:1)}}return n.index-i.index}function J(n,i,r){i.length?i=M.arrayMap(i,function(t){return $.isArray(t)?function(o){return P.baseGet(o,t.length===1?t[0]:t)}:t}):i=[P.identity];var e=-1;i=M.arrayMap(i,k.baseUnary(x.baseIteratee));var d=z(n,function(t,o,c){var a=M.arrayMap(i,function(u){return u(t)});return{criteria:a,index:++e,value:t}});return V(d,function(t,o){return H(t,o,r)})}function C(n,i,r,e){return n==null?[]:($.isArray(i)||(i=i==null?[]:[i]),r=e?void 0:r,$.isArray(r)||(r=r==null?[]:[r]),J(n,i,r))}function K(n,i,r){const{add:e,replace:d,remove:t}=i.reduce((a,u)=>{const{modification:A,position:s,freeAmount:f,name:y,quantity:p,cost:g,replacementName:T}=u,m=g===0;if(u.modification===h.ModificationType.Add){(f>0||m)&&a.add.push({id:O(u,"-free"),modificationType:A,name:y,freeAmount:m?p:f,quantity:m?p:f,currency:n,position:s,cost:0});const q=p-f;q>0&&!m&&a.add.push({id:O(u),modificationType:A,name:y,quantity:q,freeAmount:0,currency:n,position:s,cost:g*q})}return u.modification===h.ModificationType.Replace&&a.replace.push({id:O(u),modificationType:A,name:y,replacementName:T,freeAmount:f,quantity:p,currency:n,position:s,cost:g}),u.modification===h.ModificationType.Remove&&a.remove.push({id:O(u),modificationType:A,name:y,freeAmount:f,quantity:p,currency:n,position:s,cost:g}),a},{add:[],replace:[],remove:[]}),o=(r||[]).reduce((a,u)=>{const{product:A,addOnFreeAmount:s,quantity:f,addOnPosition:y,addOnGroupId:p,productPriceInclTax:g}=u,{hasVariants:T,variantName:m,productName:q,productId:B,variantId:F}=A,b=g.unitPrice.amount===0;(s>0||b)&&a.push({id:`${p}-${B}-free`,modificationType:h.ModificationType.Add,name:T?m:q,freeAmount:b?f:s,quantity:b?f:s,currency:n,position:y,cost:0,variantId:F});const w=f-s;return w>0&&!b&&a.push({id:`${p}-${B}`,modificationType:h.ModificationType.Add,name:T?m:q,freeAmount:0,quantity:w,currency:n,position:y,cost:g.unitPrice.amount*w,variantId:F}),a},[]);return[...C([...e,...o],["position"],["asc"]),...C(d,["position"],["asc"]),...C(t,["position"],["asc"])]}module.exports=K;
|
|
@@ -8,10 +8,10 @@ import T from "./getUniqueCheckItemModificationId.mjs";
|
|
|
8
8
|
import "../_baseIsEqual-4ee44a4c.mjs";
|
|
9
9
|
import "../isObject-b8638513.mjs";
|
|
10
10
|
function U(n) {
|
|
11
|
-
return function(i, t,
|
|
12
|
-
for (var
|
|
13
|
-
var
|
|
14
|
-
if (t(r[
|
|
11
|
+
return function(i, t, a) {
|
|
12
|
+
for (var e = -1, r = Object(i), u = a(i), f = u.length; f--; ) {
|
|
13
|
+
var o = u[n ? f : ++e];
|
|
14
|
+
if (t(r[o], o, r) === !1)
|
|
15
15
|
break;
|
|
16
16
|
}
|
|
17
17
|
return i;
|
|
@@ -23,12 +23,12 @@ function V(n, i) {
|
|
|
23
23
|
return n && z(n, i, L);
|
|
24
24
|
}
|
|
25
25
|
function H(n, i) {
|
|
26
|
-
return function(t,
|
|
26
|
+
return function(t, a) {
|
|
27
27
|
if (t == null)
|
|
28
28
|
return t;
|
|
29
29
|
if (!P(t))
|
|
30
|
-
return n(t,
|
|
31
|
-
for (var
|
|
30
|
+
return n(t, a);
|
|
31
|
+
for (var e = t.length, r = i ? e : -1, u = Object(t); (i ? r-- : ++r < e) && a(u[r], r, u) !== !1; )
|
|
32
32
|
;
|
|
33
33
|
return t;
|
|
34
34
|
};
|
|
@@ -36,10 +36,10 @@ function H(n, i) {
|
|
|
36
36
|
var J = H(V);
|
|
37
37
|
const K = J;
|
|
38
38
|
function W(n, i) {
|
|
39
|
-
var t = -1,
|
|
40
|
-
return K(n, function(
|
|
41
|
-
|
|
42
|
-
}),
|
|
39
|
+
var t = -1, a = P(n) ? Array(n.length) : [];
|
|
40
|
+
return K(n, function(e, r, u) {
|
|
41
|
+
a[++t] = i(e, r, u);
|
|
42
|
+
}), a;
|
|
43
43
|
}
|
|
44
44
|
function X(n, i) {
|
|
45
45
|
var t = n.length;
|
|
@@ -49,22 +49,22 @@ function X(n, i) {
|
|
|
49
49
|
}
|
|
50
50
|
function Y(n, i) {
|
|
51
51
|
if (n !== i) {
|
|
52
|
-
var t = n !== void 0,
|
|
53
|
-
if (!f && !
|
|
52
|
+
var t = n !== void 0, a = n === null, e = n === n, r = F(n), u = i !== void 0, f = i === null, o = i === i, d = F(i);
|
|
53
|
+
if (!f && !d && !r && n > i || r && u && o && !f && !d || a && u && o || !t && o || !e)
|
|
54
54
|
return 1;
|
|
55
|
-
if (!
|
|
55
|
+
if (!a && !r && !d && n < i || d && t && e && !a && !r || f && t && e || !u && e || !o)
|
|
56
56
|
return -1;
|
|
57
57
|
}
|
|
58
58
|
return 0;
|
|
59
59
|
}
|
|
60
60
|
function _(n, i, t) {
|
|
61
|
-
for (var
|
|
62
|
-
var
|
|
63
|
-
if (
|
|
64
|
-
if (
|
|
65
|
-
return
|
|
66
|
-
var
|
|
67
|
-
return
|
|
61
|
+
for (var a = -1, e = n.criteria, r = i.criteria, u = e.length, f = t.length; ++a < u; ) {
|
|
62
|
+
var o = Y(e[a], r[a]);
|
|
63
|
+
if (o) {
|
|
64
|
+
if (a >= f)
|
|
65
|
+
return o;
|
|
66
|
+
var d = t[a];
|
|
67
|
+
return o * (d == "desc" ? -1 : 1);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
return n.index - i.index;
|
|
@@ -75,110 +75,104 @@ function j(n, i, t) {
|
|
|
75
75
|
return E(u, r.length === 1 ? r[0] : r);
|
|
76
76
|
} : r;
|
|
77
77
|
}) : i = [x];
|
|
78
|
-
var
|
|
78
|
+
var a = -1;
|
|
79
79
|
i = q(i, Q(G));
|
|
80
|
-
var
|
|
81
|
-
var
|
|
82
|
-
return
|
|
80
|
+
var e = W(n, function(r, u, f) {
|
|
81
|
+
var o = q(i, function(d) {
|
|
82
|
+
return d(r);
|
|
83
83
|
});
|
|
84
|
-
return { criteria:
|
|
84
|
+
return { criteria: o, index: ++a, value: r };
|
|
85
85
|
});
|
|
86
|
-
return X(
|
|
86
|
+
return X(e, function(r, u) {
|
|
87
87
|
return _(r, u, t);
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
|
-
function C(n, i, t,
|
|
91
|
-
return n == null ? [] : ($(i) || (i = i == null ? [] : [i]), t =
|
|
90
|
+
function C(n, i, t, a) {
|
|
91
|
+
return n == null ? [] : ($(i) || (i = i == null ? [] : [i]), t = a ? void 0 : t, $(t) || (t = t == null ? [] : [t]), j(n, i, t));
|
|
92
92
|
}
|
|
93
93
|
function rn(n, i, t) {
|
|
94
|
-
const { add:
|
|
95
|
-
(
|
|
94
|
+
const { add: a, replace: e, remove: r } = i.reduce(
|
|
95
|
+
(o, d) => {
|
|
96
96
|
const {
|
|
97
97
|
modification: h,
|
|
98
|
-
position:
|
|
99
|
-
freeAmount:
|
|
100
|
-
name: m
|
|
98
|
+
position: p,
|
|
99
|
+
freeAmount: c,
|
|
100
|
+
name: m,
|
|
101
101
|
quantity: s,
|
|
102
102
|
cost: g,
|
|
103
103
|
replacementName: O
|
|
104
|
-
} =
|
|
105
|
-
if (
|
|
106
|
-
(
|
|
107
|
-
id: T(
|
|
104
|
+
} = d, A = g === 0;
|
|
105
|
+
if (d.modification === y.Add) {
|
|
106
|
+
(c > 0 || A) && o.add.push({
|
|
107
|
+
id: T(d, "-free"),
|
|
108
108
|
modificationType: h,
|
|
109
109
|
name: m,
|
|
110
|
-
freeAmount: A ? s :
|
|
111
|
-
quantity: A ? s :
|
|
110
|
+
freeAmount: A ? s : c,
|
|
111
|
+
quantity: A ? s : c,
|
|
112
112
|
currency: n,
|
|
113
|
-
position:
|
|
113
|
+
position: p,
|
|
114
114
|
cost: 0
|
|
115
115
|
});
|
|
116
|
-
const b = s -
|
|
117
|
-
b > 0 && !A &&
|
|
118
|
-
id: T(
|
|
116
|
+
const b = s - c;
|
|
117
|
+
b > 0 && !A && o.add.push({
|
|
118
|
+
id: T(d),
|
|
119
119
|
modificationType: h,
|
|
120
120
|
name: m,
|
|
121
121
|
quantity: b,
|
|
122
122
|
freeAmount: 0,
|
|
123
123
|
currency: n,
|
|
124
|
-
position:
|
|
124
|
+
position: p,
|
|
125
125
|
cost: g * b
|
|
126
126
|
});
|
|
127
127
|
}
|
|
128
|
-
return
|
|
129
|
-
id: T(
|
|
128
|
+
return d.modification === y.Replace && o.replace.push({
|
|
129
|
+
id: T(d),
|
|
130
130
|
modificationType: h,
|
|
131
131
|
name: m,
|
|
132
132
|
replacementName: O,
|
|
133
|
-
freeAmount:
|
|
133
|
+
freeAmount: c,
|
|
134
134
|
quantity: s,
|
|
135
135
|
currency: n,
|
|
136
|
-
position:
|
|
136
|
+
position: p,
|
|
137
137
|
cost: g
|
|
138
|
-
}),
|
|
139
|
-
id: T(
|
|
138
|
+
}), d.modification === y.Remove && o.remove.push({
|
|
139
|
+
id: T(d),
|
|
140
140
|
modificationType: h,
|
|
141
141
|
name: m,
|
|
142
|
-
freeAmount:
|
|
142
|
+
freeAmount: c,
|
|
143
143
|
quantity: s,
|
|
144
144
|
currency: n,
|
|
145
|
-
position:
|
|
145
|
+
position: p,
|
|
146
146
|
cost: g
|
|
147
|
-
}),
|
|
147
|
+
}), o;
|
|
148
148
|
},
|
|
149
149
|
{
|
|
150
150
|
add: [],
|
|
151
151
|
replace: [],
|
|
152
152
|
remove: []
|
|
153
153
|
}
|
|
154
|
-
), u = (t
|
|
154
|
+
), u = (t || []).reduce((o, d) => {
|
|
155
155
|
const {
|
|
156
156
|
product: h,
|
|
157
|
-
|
|
158
|
-
quantity:
|
|
159
|
-
|
|
157
|
+
addOnFreeAmount: p,
|
|
158
|
+
quantity: c,
|
|
159
|
+
addOnPosition: m,
|
|
160
160
|
addOnGroupId: s,
|
|
161
161
|
productPriceInclTax: g
|
|
162
|
-
} =
|
|
163
|
-
|
|
164
|
-
variantName: A = "",
|
|
165
|
-
productName: b = "",
|
|
166
|
-
productId: w,
|
|
167
|
-
variantId: B
|
|
168
|
-
} = h ?? {}, M = g.unitPrice === 0;
|
|
169
|
-
(c > 0 || M) && a.push({
|
|
162
|
+
} = d, { hasVariants: O, variantName: A, productName: b, productId: w, variantId: B } = h, M = g.unitPrice.amount === 0;
|
|
163
|
+
(p > 0 || M) && o.push({
|
|
170
164
|
id: `${s}-${w}-free`,
|
|
171
165
|
modificationType: y.Add,
|
|
172
166
|
name: O ? A : b,
|
|
173
|
-
freeAmount: M ?
|
|
174
|
-
quantity: M ?
|
|
167
|
+
freeAmount: M ? c : p,
|
|
168
|
+
quantity: M ? c : p,
|
|
175
169
|
currency: n,
|
|
176
170
|
position: m,
|
|
177
171
|
cost: 0,
|
|
178
172
|
variantId: B
|
|
179
173
|
});
|
|
180
|
-
const k =
|
|
181
|
-
return k > 0 && !M &&
|
|
174
|
+
const k = c - p;
|
|
175
|
+
return k > 0 && !M && o.push({
|
|
182
176
|
id: `${s}-${w}`,
|
|
183
177
|
modificationType: y.Add,
|
|
184
178
|
name: O ? A : b,
|
|
@@ -186,13 +180,13 @@ function rn(n, i, t) {
|
|
|
186
180
|
quantity: k,
|
|
187
181
|
currency: n,
|
|
188
182
|
position: m,
|
|
189
|
-
cost: g.unitPrice * k,
|
|
183
|
+
cost: g.unitPrice.amount * k,
|
|
190
184
|
variantId: B
|
|
191
|
-
}),
|
|
185
|
+
}), o;
|
|
192
186
|
}, []);
|
|
193
187
|
return [
|
|
194
|
-
...C([...
|
|
195
|
-
...C(
|
|
188
|
+
...C([...a, ...u], ["position"], ["asc"]),
|
|
189
|
+
...C(e, ["position"], ["asc"]),
|
|
196
190
|
...C(r, ["position"], ["asc"])
|
|
197
191
|
];
|
|
198
192
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CheckItemModification } from '@ancon/wildcat-types';
|
|
2
2
|
/**
|
|
3
3
|
* Generate a unique ID for a Check Item Modification
|
|
4
4
|
* @param modification - Check Item Modification
|
|
5
5
|
* @param suffix - Optional suffix to append to the ID
|
|
6
6
|
* @returns Unique ID string
|
|
7
7
|
*/
|
|
8
|
-
export default function getUniqueCheckItemModificationId(modification:
|
|
8
|
+
export default function getUniqueCheckItemModificationId(modification: CheckItemModification, suffix?: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function
|
|
1
|
+
"use strict";function u(i,e){const{modification:n,ingredientId:o,replaceId:$,addOnGroupId:c,quantity:d,cost:a,freeAmount:r,name:t,replacementName:m,position:p}=i;return`modification-${n}-${o}-${$??0}-${c}-${d}-${a}-${r}-${t}-${m??t}-${p}${e?`-${e}`:""}`}module.exports=u;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function
|
|
1
|
+
function u(n, e) {
|
|
2
2
|
const {
|
|
3
3
|
modification: i,
|
|
4
4
|
ingredientId: o,
|
|
@@ -7,12 +7,12 @@ function p(n, e) {
|
|
|
7
7
|
quantity: d,
|
|
8
8
|
cost: c,
|
|
9
9
|
freeAmount: r,
|
|
10
|
-
name: t
|
|
10
|
+
name: t,
|
|
11
11
|
replacementName: m,
|
|
12
|
-
position:
|
|
12
|
+
position: p
|
|
13
13
|
} = n;
|
|
14
|
-
return `modification-${i}-${o}-${$ ?? 0}-${a
|
|
14
|
+
return `modification-${i}-${o}-${$ ?? 0}-${a}-${d}-${c}-${r}-${t}-${m ?? t}-${p}${e ? `-${e}` : ""}`;
|
|
15
15
|
}
|
|
16
16
|
export {
|
|
17
|
-
|
|
17
|
+
u as default
|
|
18
18
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AxiosResponse } from 'axios';
|
|
1
2
|
import { APIHeaders } from '@ancon/wildcat-types';
|
|
2
3
|
import type { Logger } from '../logger';
|
|
3
4
|
declare type HangfirePollerConfig = {
|
|
@@ -47,11 +48,12 @@ declare class HangfirePoller {
|
|
|
47
48
|
private waitForNetworkOnline;
|
|
48
49
|
private executeWorkerRequest;
|
|
49
50
|
private deleteWorker;
|
|
50
|
-
createWorker(groupId: string, { workerId, url, headers, onFinished, maxLifeTimeMillis, }: {
|
|
51
|
+
createWorker<TPartialContent = unknown>(groupId: string, { workerId, url, headers, onFinished, onPartialContent, maxLifeTimeMillis, }: {
|
|
51
52
|
workerId: string;
|
|
52
53
|
url: string;
|
|
53
54
|
headers?: APIHeaders;
|
|
54
55
|
onFinished?: (forced: boolean) => void | Promise<void>;
|
|
56
|
+
onPartialContent?: (response: AxiosResponse<TPartialContent>) => void | Promise<void>;
|
|
55
57
|
/** Max lifetime in milliseconds. When exceeded the worker executes one final request and exits. */
|
|
56
58
|
maxLifeTimeMillis?: number;
|
|
57
59
|
}): Promise<unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var I=Object.defineProperty;var k=(s,e,r)=>e in s?I(s,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[e]=r;var o=(s,e,r)=>(k(s,typeof e!="symbol"?e+"":e,r),r);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("axios"),h=require("@ancon/wildcat-types"),g=require("../error/createCodedError.js"),G=require("../error/isNotFoundError.js"),x=require("../error/serializeError.js"),z=require("../error/isErrorWithStatusCode.js"),R=require("../api/isNoContentResponse.js"),M=require("../api/isPartialContentResponse.js"),E=require("../shared/wait.js");require("../error/isCodedError.js");require("../error/isAPIError.js");class y{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=q.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 g(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(i=>this.executeWorkerRequest(i))}),this.groups.forEach((e,r)=>{this.enabledGroups.has(r)||e.forEach(i=>{i.maxLifeTimeMillis!=null&&Date.now()-i.createdAt>i.maxLifeTimeMillis&&this.executeWorkerRequest(i)})}),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){var u,d,f,p,b,W;const i=e.maxLifeTimeMillis!=null&&Date.now()-e.createdAt>e.maxLifeTimeMillis,n=!r&&!i&&this.busyWorkers.has(e.workerId);if(this.config.debug("*executeWorkerRequest*",{workerId:e.workerId,isBusy:n,force:r}),n){this.config.debug("*executeWorkerRequest* worker is busy",e.workerId);return}this.busyWorkers.add(e.workerId),await this.waitForNetworkOnline(),this.config.debug("*executeWorkerRequest* request",{isNetworkOnline:this.config.getIsNetworkOnline()});const c={...await this.config.getRequestHeaders(),...e.headers},a=2;let l=0;for(;l<=a;)try{const t=await this.axiosInstance({url:e.url,method:"get",timeout:this.config.pollerInterval,headers:c});if(!R(t))M(t)?(await((u=e.onPartialContent)==null?void 0:u.call(e,t)),this.busyWorkers.delete(e.workerId)):(e.resolve(t),(d=e.onFinished)==null||d.call(e,r),this.deleteWorker(e.groupId,e.workerId));else if(i){this.config.debug("*executeWorkerRequest* worker lifetime exceeded, forcing exit",e.workerId);const m=x(g(new Error("The Hangfire worker lifetime has been exceeded"),h.ErrorCode.GenericUnexpectedHangfireError));e.reject(m),(f=e.onFinished)==null||f.call(e,!0),this.deleteWorker(e.groupId,e.workerId)}else this.busyWorkers.delete(e.workerId);break}catch(t){if(z(t)){if(G(t)){this.config.debug("*executeWorkerRequest* worker is expired or invalid",e.workerId);const m=x(g(new Error("The Hangfire worker is expired or invalid"),h.ErrorCode.HangfireWorkerExpiredOrInvalid));e.reject(m),(p=e.onFinished)==null||p.call(e,r)}else e.reject(t),(b=e.onFinished)==null||b.call(e,r);this.deleteWorker(e.groupId,e.workerId);break}else if(this.config.debug("*executeWorkerRequest* not an api error"),(W=this.config.logger)==null||W.warn(`Hangfire worker request error: ${JSON.stringify({attempt:l,groupId:e.groupId,workerId:e.workerId,error:x(t)})}`,{CorrelationId:c["x-correlation-id"]}),r&&l<a)l+=1,this.config.debug(`*executeWorkerRequest* retrying non-API error (attempt ${l})`),await E(500);else{this.busyWorkers.delete(e.workerId);break}}}deleteWorker(e,r){const i=this.groups.get(e);i&&(this.config.debug("*delete worker*",i.size,i),i.delete(r),this.workerByIdMap.delete(r),this.busyWorkers.delete(r),i.size<1&&(this.groups.delete(e),this.enabledGroups.delete(e),this.enabledGroups.size<1&&this.stopTimer()))}createWorker(e,{workerId:r,url:i,headers:n,onFinished:c,onPartialContent:a,maxLifeTimeMillis:l}){if(!this.groups.has(e)){if(this.groups.size>=this.config.maxGroupsSize){const d=g(new Error("Max number of Hangfire groups exceeded"),h.ErrorCode.GenericUnexpectedHangfireError,{count:this.groups.size});throw this.destroy(),d}this.groups.set(e,new Map)}const u=this.groups.get(e);return new Promise((d,f)=>{if(u.has(r))throw g(new Error("Duplicate Hangfire worker ID"),h.ErrorCode.GenericUnexpectedHangfireError);if(u.size>=this.config.maxWorkersSize){const b=g(new Error("Max number of Hangfire workers in group exceeded"),h.ErrorCode.GenericUnexpectedHangfireError,{groupId:e,count:u.size});throw f(b),this.destroy(),b}const p={workerId:r,groupId:e,url:i,resolve:d,reject:f,headers:n,onFinished:c,onPartialContent:a,createdAt:Date.now(),maxLifeTimeMillis:l};u.set(r,p),this.workerByIdMap.set(r,p),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){if(this.config.debug("*disable*",e),this.config.maxParallelWorkers!=null){const i=[...this.enabledGroups].reduce((n,c)=>{var a;return n+(((a=this.groups.get(c))==null?void 0:a.size)??0)},0);if(i<=this.config.maxParallelWorkers){this.config.debug("*disable* skipped, parallel workers within limit",{totalEnabledWorkers:i,maxParallelWorkers:this.config.maxParallelWorkers});return}}this.enabledGroups.delete(e);const r=this.groups.size>0&&[...this.workerByIdMap.values()].some(i=>i.maxLifeTimeMillis!=null);this.enabledGroups.size<1&&!r&&this.stopTimer()}destroy(){this.config.debug("*destroy*"),this.groups.clear(),this.stopTimer()}}function T(s){return new y(s)}exports.HangfirePoller=y;exports.default=T;
|