@odynn/awayz-hotels 0.6.26 → 0.6.28
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/dist/components/HotelResult/HotelResult.js +18 -18
- package/dist/hooks/useHotelDetails/useHotelDetails.js +61 -60
- package/dist/lib/hooks/useHotelDetails/useHotelDetails.types.d.ts +29 -0
- package/dist/lib/main.d.ts +0 -1
- package/dist/lib/utilities/hotelUtils/hotelUtils.d.ts +4 -0
- package/dist/utilities/hotelUtils/hotelUtils.js +47 -46
- package/package.json +1 -1
|
@@ -7,17 +7,17 @@ import { useState as i, useRef as T, useEffect as a } from "react";
|
|
|
7
7
|
import { e as R, f as k, d as G, g as J, h as m, i as x } from "../../index-5WzIR8j6.js";
|
|
8
8
|
import { HotelChains as V } from "../../definitions/HotelChains.js";
|
|
9
9
|
import { EHotelSortOption as y } from "../../enums/index.js";
|
|
10
|
-
import { getHotelImageUrls as b, getBookingOptions as z,
|
|
11
|
-
import { Ratings as
|
|
12
|
-
import { UnavailableDate as
|
|
10
|
+
import { getHotelImageUrls as b, getBookingOptions as z, isDuffelHotelId as M, loadImageWithFallback as Z } from "../../utilities/hotelUtils/hotelUtils.js";
|
|
11
|
+
import { Ratings as $, ERatingColor as _ } from "../Banners/Ratings/Ratings.js";
|
|
12
|
+
import { UnavailableDate as AA } from "../Banners/UnavailableDate/UnavailableDate.js";
|
|
13
13
|
import '../../assets/_styles.css';/* empty css */
|
|
14
|
-
const
|
|
15
|
-
function
|
|
14
|
+
const QA = (...A) => A.join(" ");
|
|
15
|
+
function CA(A) {
|
|
16
16
|
if (!A || isNaN(A) || A < 0) return "N/A";
|
|
17
17
|
let g = A == null ? void 0 : A.toString().split(".")[0];
|
|
18
18
|
return g == null ? void 0 : g.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
19
19
|
}
|
|
20
|
-
const CA = "data:image/png;base64,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", fA = ({
|
|
20
|
+
const gA = "data:image/png;base64,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", sA = ({
|
|
21
21
|
details: A,
|
|
22
22
|
onHotelSelect: g,
|
|
23
23
|
onViewDetails: q,
|
|
@@ -27,17 +27,17 @@ const CA = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAGiCAYAAAAfl6KSAA
|
|
|
27
27
|
showBookableTag: S = !1,
|
|
28
28
|
showNightsFreeTag: U = !0,
|
|
29
29
|
customBookableTag: D = y.BOOKABLE,
|
|
30
|
-
customFallbackImage: j =
|
|
30
|
+
customFallbackImage: j = gA,
|
|
31
31
|
showBestValueTag: n = !0
|
|
32
32
|
}) => {
|
|
33
33
|
var c, H, h, w;
|
|
34
|
-
const [B, o] = i(I), l = T(null), [
|
|
35
|
-
const r = await
|
|
34
|
+
const [B, o] = i(I), l = T(null), [u, N] = i(""), v = b(A.images)[0], d = ((h = (H = (c = A.cashBookingOffers) == null ? void 0 : c.photos) == null ? void 0 : H[0]) == null ? void 0 : h.url) ?? "", F = async () => {
|
|
35
|
+
const r = await Z(
|
|
36
36
|
v,
|
|
37
37
|
d,
|
|
38
38
|
j
|
|
39
39
|
);
|
|
40
|
-
|
|
40
|
+
N(r);
|
|
41
41
|
};
|
|
42
42
|
a(() => {
|
|
43
43
|
F();
|
|
@@ -67,7 +67,7 @@ const CA = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAGiCAYAAAAfl6KSAA
|
|
|
67
67
|
"div",
|
|
68
68
|
{
|
|
69
69
|
ref: l,
|
|
70
|
-
className:
|
|
70
|
+
className: QA(
|
|
71
71
|
p ? "hotel-result" : "awayz-hotel-result",
|
|
72
72
|
// insufficient_points ? 'insufficient-points' : '',
|
|
73
73
|
B ? "go-to-journey-button" : ""
|
|
@@ -88,7 +88,7 @@ const CA = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAGiCAYAAAAfl6KSAA
|
|
|
88
88
|
{
|
|
89
89
|
className: "hotel-image",
|
|
90
90
|
style: {
|
|
91
|
-
backgroundImage: `url(${
|
|
91
|
+
backgroundImage: `url(${u})`
|
|
92
92
|
},
|
|
93
93
|
children: /* @__PURE__ */ C("div", { className: "hotel-chain", children: [
|
|
94
94
|
/* @__PURE__ */ Q(R, {}),
|
|
@@ -104,10 +104,10 @@ const CA = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAGiCAYAAAAfl6KSAA
|
|
|
104
104
|
/* @__PURE__ */ Q("p", { children: D })
|
|
105
105
|
] }),
|
|
106
106
|
/* @__PURE__ */ Q(
|
|
107
|
-
|
|
107
|
+
$,
|
|
108
108
|
{
|
|
109
109
|
starRating: A.chainRating ?? 0,
|
|
110
|
-
starColor:
|
|
110
|
+
starColor: _.PRIMARY,
|
|
111
111
|
userRating: A.reviewRating ?? "",
|
|
112
112
|
fill: !0
|
|
113
113
|
}
|
|
@@ -129,7 +129,7 @@ const CA = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAGiCAYAAAAfl6KSAA
|
|
|
129
129
|
/* @__PURE__ */ Q("p", { className: "hotel-address", children: A.address })
|
|
130
130
|
] }),
|
|
131
131
|
/* @__PURE__ */ Q(
|
|
132
|
-
|
|
132
|
+
AA,
|
|
133
133
|
{
|
|
134
134
|
hasPoints: L,
|
|
135
135
|
isAvailable: s,
|
|
@@ -141,9 +141,9 @@ const CA = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAGiCAYAAAAfl6KSAA
|
|
|
141
141
|
] })
|
|
142
142
|
] }),
|
|
143
143
|
s && /* @__PURE__ */ C("div", { className: "payments", children: [
|
|
144
|
-
X && /* @__PURE__ */ C("div", { className: "payment-details", children: [
|
|
144
|
+
X && !M(A.hotelId) && /* @__PURE__ */ C("div", { className: "payment-details", children: [
|
|
145
145
|
/* @__PURE__ */ Q("p", { children: "POINTS" }),
|
|
146
|
-
/* @__PURE__ */ Q("p", { children:
|
|
146
|
+
/* @__PURE__ */ Q("p", { children: CA(
|
|
147
147
|
P ? A.awardPoints : A.points
|
|
148
148
|
) }),
|
|
149
149
|
A.bestValue === "points" && n && /* @__PURE__ */ Q("p", { className: "best-value", children: "Best Value" })
|
|
@@ -172,5 +172,5 @@ const CA = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAGiCAYAAAAfl6KSAA
|
|
|
172
172
|
);
|
|
173
173
|
};
|
|
174
174
|
export {
|
|
175
|
-
|
|
175
|
+
sA as HotelResult
|
|
176
176
|
};
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
import { g as
|
|
2
|
-
import { b as
|
|
3
|
-
import { E as
|
|
1
|
+
import { g as oe } from "../../dateUtils-C1hKW8MF.js";
|
|
2
|
+
import { b as ae } from "../../index-CJj9N0Xq.js";
|
|
3
|
+
import { E as N } from "../../DateFormats-DZD30Nea.js";
|
|
4
4
|
import "../../arrayExtensions-CFEBYUok.js";
|
|
5
|
-
import { useState as
|
|
6
|
-
import
|
|
7
|
-
import { isPartialHotelDetails as
|
|
8
|
-
import { useAwayzContext as
|
|
5
|
+
import { useState as ce, useMemo as D } from "react";
|
|
6
|
+
import se from "../../stores/useHotelsStore.js";
|
|
7
|
+
import { isPartialHotelDetails as ie, fetchTransferPartners as re, fetchPointsCheck as ne, fetchAvailableRooms as le, combineUpdatedHotelData as T, fallbackBestCheckout as he, fetchBestCheckout as ue } from "./useHotelDetails.api.js";
|
|
8
|
+
import { useAwayzContext as De, useWallet as fe } from "@odynn/awayz-core";
|
|
9
9
|
import { useQuery as r } from "@tanstack/react-query";
|
|
10
10
|
import { h as n } from "../../moment-BGjjqtLQ.js";
|
|
11
|
-
import { livePointsCheckTimeout as
|
|
12
|
-
import { HotelChains as
|
|
13
|
-
import { IhgFreeNightCards as
|
|
14
|
-
import { HotelService as
|
|
15
|
-
import { calculatePointsAsCash as
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
import { livePointsCheckTimeout as me } from "../../configs/defaults.js";
|
|
12
|
+
import { HotelChains as ke } from "../../definitions/HotelChains.js";
|
|
13
|
+
import { IhgFreeNightCards as de } from "../../definitions/IhgFreeNightCards.js";
|
|
14
|
+
import { HotelService as pe } from "../../services/hotel/HotelService.js";
|
|
15
|
+
import { calculatePointsAsCash as ge } from "../../utilities/pointsAsCashUtils.js";
|
|
16
|
+
import { isDuffelHotelId as ye } from "../../utilities/hotelUtils/hotelUtils.js";
|
|
17
|
+
const Ee = (a) => {
|
|
18
|
+
var H, R, O, q, A, S, G, _, B, w, K, P, E;
|
|
18
19
|
if (!a)
|
|
19
20
|
throw new Error(
|
|
20
21
|
"Hotel is required in order to initiate the hotel details flow"
|
|
21
22
|
);
|
|
22
|
-
const { user: f, config: m } =
|
|
23
|
+
const { user: f, config: m } = De(), { updateHotel: g, searchParams: o } = se(), s = ie(a), [e, U] = ce({
|
|
23
24
|
checkinDate: s ? n(a.checkinDate) : o == null ? void 0 : o.checkinDate,
|
|
24
25
|
checkoutDate: s ? n(a.checkoutDate) : o == null ? void 0 : o.checkoutDate
|
|
25
26
|
}), {
|
|
@@ -36,18 +37,18 @@ const Pe = (a) => {
|
|
|
36
37
|
],
|
|
37
38
|
queryFn: () => {
|
|
38
39
|
var c;
|
|
39
|
-
return
|
|
40
|
+
return pe.searchByHotelId({
|
|
40
41
|
hotel_group: a.hotelGroup,
|
|
41
42
|
hotel_id: a.hotelId,
|
|
42
43
|
check_in_date: n(e.checkinDate).format(
|
|
43
|
-
|
|
44
|
+
N.ServerDate
|
|
44
45
|
),
|
|
45
46
|
check_out_date: n(e.checkoutDate).format(
|
|
46
|
-
|
|
47
|
+
N.ServerDate
|
|
47
48
|
),
|
|
48
49
|
guests: a.guests,
|
|
49
50
|
rooms: a.rooms,
|
|
50
|
-
currency: ((c = f == null ? void 0 : f.userRegion) == null ? void 0 : c.currency) ||
|
|
51
|
+
currency: ((c = f == null ? void 0 : f.userRegion) == null ? void 0 : c.currency) || ae,
|
|
51
52
|
cash_or_points: ["cash", "points"],
|
|
52
53
|
use_duffel: m == null ? void 0 : m.supportsDuffel
|
|
53
54
|
});
|
|
@@ -57,22 +58,22 @@ const Pe = (a) => {
|
|
|
57
58
|
}), t = D(() => {
|
|
58
59
|
var c;
|
|
59
60
|
return s ? i != null && i.success && ((c = i.data) != null && c[0]) ? i.data[0] : {} : a;
|
|
60
|
-
}, [s, i, a]), h = D(() =>
|
|
61
|
-
|
|
61
|
+
}, [s, i, a]), h = D(() => oe(e.checkinDate, e.checkoutDate), [e]), I = (c, l) => {
|
|
62
|
+
U({
|
|
62
63
|
checkinDate: n(c),
|
|
63
64
|
checkoutDate: n(l)
|
|
64
65
|
});
|
|
65
|
-
}, { userCards: u } =
|
|
66
|
+
}, { userCards: u } = fe(), y = D(() => (t == null ? void 0 : t.hotelGroup) === ke.IHG ? de.some(
|
|
66
67
|
(c) => u == null ? void 0 : u.some((l) => l.name === c)
|
|
67
|
-
) : !0, [u]), { data:
|
|
68
|
+
) : !0, [u]), { data: L, isFetching: W } = r({
|
|
68
69
|
queryKey: ["transferPartners", t.hotelGroup],
|
|
69
|
-
queryFn: () =>
|
|
70
|
+
queryFn: () => re(t.hotelGroup),
|
|
70
71
|
enabled: !!t.hotelGroup,
|
|
71
72
|
placeholderData: []
|
|
72
73
|
}), {
|
|
73
|
-
data:
|
|
74
|
+
data: z,
|
|
74
75
|
isFetching: v,
|
|
75
|
-
isFetched:
|
|
76
|
+
isFetched: M
|
|
76
77
|
} = r({
|
|
77
78
|
queryKey: [
|
|
78
79
|
"hotelPointsCheck",
|
|
@@ -82,13 +83,13 @@ const Pe = (a) => {
|
|
|
82
83
|
(q = e == null ? void 0 : e.checkoutDate) == null ? void 0 : q.valueOf()
|
|
83
84
|
],
|
|
84
85
|
queryFn: ({ signal: c }) => {
|
|
85
|
-
const l = AbortSignal.timeout(
|
|
86
|
-
return
|
|
86
|
+
const l = AbortSignal.timeout(me), te = AbortSignal.any([c, l]);
|
|
87
|
+
return ne({
|
|
87
88
|
hotel: t,
|
|
88
89
|
checkinDate: e.checkinDate,
|
|
89
90
|
checkoutDate: e.checkoutDate,
|
|
90
91
|
updateHotel: g,
|
|
91
|
-
signal:
|
|
92
|
+
signal: te
|
|
92
93
|
});
|
|
93
94
|
},
|
|
94
95
|
enabled: !!e.checkinDate && !!e.checkoutDate && !!t.liveScrapingCheckNeeded && (!s || k),
|
|
@@ -100,23 +101,23 @@ const Pe = (a) => {
|
|
|
100
101
|
pointsHotelDetails: t,
|
|
101
102
|
pointsRooms: t.rooms ?? []
|
|
102
103
|
}
|
|
103
|
-
}), { pointsRooms:
|
|
104
|
+
}), { pointsRooms: Q, pointsHotelDetails: d } = z || {
|
|
104
105
|
pointsHotelDetails: t,
|
|
105
106
|
pointsRooms: []
|
|
106
107
|
}, {
|
|
107
|
-
data:
|
|
108
|
+
data: Y,
|
|
108
109
|
isFetching: C,
|
|
109
|
-
isFetched:
|
|
110
|
+
isFetched: j
|
|
110
111
|
} = r({
|
|
111
112
|
queryKey: [
|
|
112
113
|
"fetchAvailableRooms",
|
|
113
114
|
(A = t.cashBookingOffers) == null ? void 0 : A.accommodationId,
|
|
114
115
|
(S = e == null ? void 0 : e.checkinDate) == null ? void 0 : S.valueOf(),
|
|
115
|
-
(
|
|
116
|
+
(G = e == null ? void 0 : e.checkoutDate) == null ? void 0 : G.valueOf(),
|
|
116
117
|
o == null ? void 0 : o.guests,
|
|
117
118
|
o == null ? void 0 : o.rooms
|
|
118
119
|
],
|
|
119
|
-
queryFn: () =>
|
|
120
|
+
queryFn: () => le({
|
|
120
121
|
hotel: t,
|
|
121
122
|
checkinDate: e.checkinDate,
|
|
122
123
|
checkoutDate: e.checkoutDate,
|
|
@@ -125,22 +126,22 @@ const Pe = (a) => {
|
|
|
125
126
|
updateHotel: g,
|
|
126
127
|
numberOfNights: h
|
|
127
128
|
}),
|
|
128
|
-
enabled: !!e.checkinDate && !!e.checkoutDate && !!((
|
|
129
|
+
enabled: !!e.checkinDate && !!e.checkoutDate && !!((_ = t.cashBookingOffers) != null && _.accommodationId) && (!s || k),
|
|
129
130
|
retry: !1,
|
|
130
131
|
placeholderData: {
|
|
131
132
|
cashHotelDetails: t,
|
|
132
133
|
cashRooms: []
|
|
133
134
|
}
|
|
134
|
-
}), { cashRooms:
|
|
135
|
+
}), { cashRooms: J, cashHotelDetails: p } = Y || {
|
|
135
136
|
cashHotelDetails: t,
|
|
136
137
|
cashRooms: []
|
|
137
|
-
},
|
|
138
|
-
() =>
|
|
138
|
+
}, V = D(
|
|
139
|
+
() => T(t, d, p),
|
|
139
140
|
[t, d, p]
|
|
140
141
|
), {
|
|
141
|
-
data:
|
|
142
|
-
isFetching:
|
|
143
|
-
isFetched:
|
|
142
|
+
data: X,
|
|
143
|
+
isFetching: Z,
|
|
144
|
+
isFetched: $
|
|
144
145
|
} = r({
|
|
145
146
|
queryKey: [
|
|
146
147
|
"bestCheckout",
|
|
@@ -150,57 +151,57 @@ const Pe = (a) => {
|
|
|
150
151
|
(w = e == null ? void 0 : e.checkoutDate) == null ? void 0 : w.valueOf(),
|
|
151
152
|
y
|
|
152
153
|
],
|
|
153
|
-
queryFn: () =>
|
|
154
|
-
|
|
154
|
+
queryFn: () => ue(
|
|
155
|
+
V,
|
|
155
156
|
h,
|
|
156
157
|
y
|
|
157
158
|
),
|
|
158
|
-
enabled: !(
|
|
159
|
+
enabled: !ye(t.hotelId) && !v && (t.liveScrapingCheckNeeded ? M : !0) && !C && ((K = t.cashBookingOffers) != null && K.accommodationId ? j : !0) && h > 0 && t.points >= 0 && (!s || k),
|
|
159
160
|
retry: !1,
|
|
160
161
|
placeholderData: {
|
|
161
|
-
bestCheckout:
|
|
162
|
+
bestCheckout: he(t, h),
|
|
162
163
|
isAvailable: !1
|
|
163
164
|
}
|
|
164
|
-
}), { bestCheckout: F, isAvailable: b } =
|
|
165
|
+
}), { bestCheckout: F, isAvailable: b } = X || {
|
|
165
166
|
isAvailable: !1
|
|
166
|
-
}, { data:
|
|
167
|
+
}, { data: ee } = r({
|
|
167
168
|
queryKey: [
|
|
168
169
|
"pointsAsCash",
|
|
169
170
|
t.hotelId,
|
|
170
171
|
t.hotelGroup,
|
|
171
|
-
(
|
|
172
|
-
(
|
|
172
|
+
(P = e == null ? void 0 : e.checkinDate) == null ? void 0 : P.valueOf(),
|
|
173
|
+
(E = e == null ? void 0 : e.checkoutDate) == null ? void 0 : E.valueOf()
|
|
173
174
|
],
|
|
174
|
-
queryFn: () =>
|
|
175
|
-
enabled:
|
|
175
|
+
queryFn: () => ge(F.totalCashCost),
|
|
176
|
+
enabled: $ && b,
|
|
176
177
|
retry: !1
|
|
177
178
|
});
|
|
178
179
|
return {
|
|
179
|
-
transferPartners:
|
|
180
|
-
loadingTransferPartners:
|
|
180
|
+
transferPartners: L || [],
|
|
181
|
+
loadingTransferPartners: W,
|
|
181
182
|
// Hotel Details
|
|
182
183
|
loadingHotelDetails: x,
|
|
183
184
|
// Points Check
|
|
184
|
-
pointsRooms:
|
|
185
|
+
pointsRooms: Q || [],
|
|
185
186
|
loadingLivePointsCheck: v,
|
|
186
187
|
// Cash Rooms
|
|
187
|
-
cashRooms:
|
|
188
|
+
cashRooms: J || [],
|
|
188
189
|
loadingCashRooms: C,
|
|
189
190
|
// Best Checkout
|
|
190
191
|
bestCheckout: F,
|
|
191
|
-
loadingBestCheckout:
|
|
192
|
+
loadingBestCheckout: Z,
|
|
192
193
|
// Combined availability
|
|
193
194
|
isAvailable: b,
|
|
194
195
|
// Points as Cash
|
|
195
|
-
pointsAsCash:
|
|
196
|
-
hotelDetails:
|
|
196
|
+
pointsAsCash: ee,
|
|
197
|
+
hotelDetails: T(
|
|
197
198
|
t,
|
|
198
199
|
d,
|
|
199
200
|
p
|
|
200
201
|
),
|
|
201
|
-
updateDates:
|
|
202
|
+
updateDates: I
|
|
202
203
|
};
|
|
203
204
|
};
|
|
204
205
|
export {
|
|
205
|
-
|
|
206
|
+
Ee as useHotelDetails
|
|
206
207
|
};
|
|
@@ -187,3 +187,32 @@ export interface IBestCheckout {
|
|
|
187
187
|
*/
|
|
188
188
|
valueCents?: number;
|
|
189
189
|
}
|
|
190
|
+
export interface ITransferPartner {
|
|
191
|
+
partnerProgram: string;
|
|
192
|
+
ratio: number;
|
|
193
|
+
bonus: number;
|
|
194
|
+
transferMinutes: number;
|
|
195
|
+
minimumTransfer: number;
|
|
196
|
+
transferDenominator: number;
|
|
197
|
+
stepBonus: {
|
|
198
|
+
bonus: number;
|
|
199
|
+
stepThreshold: number;
|
|
200
|
+
};
|
|
201
|
+
steps: IStep[];
|
|
202
|
+
shortName: string;
|
|
203
|
+
program: string;
|
|
204
|
+
region: string;
|
|
205
|
+
partnerProgramCategory: string[];
|
|
206
|
+
transferTime: string;
|
|
207
|
+
programLogo: string;
|
|
208
|
+
}
|
|
209
|
+
export interface IStep {
|
|
210
|
+
text: string;
|
|
211
|
+
links: ITransferLink[];
|
|
212
|
+
id: string;
|
|
213
|
+
}
|
|
214
|
+
export interface ITransferLink {
|
|
215
|
+
text: string;
|
|
216
|
+
url: string;
|
|
217
|
+
id: string;
|
|
218
|
+
}
|
package/dist/lib/main.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { IAirlineProgram } from './services/wallet/WalletService.types';
|
|
|
4
4
|
import { checkNthNightFree } from './utilities/hotelUtils/freeNightUtils';
|
|
5
5
|
import { IPointsAsCash } from './utilities/pointsAsCashUtils';
|
|
6
6
|
export { ESearchType } from './services/hotel/HotelService.types';
|
|
7
|
-
export type { IStep, ITransferLink, ITransferPartner } from '@type-op/shared';
|
|
8
7
|
export * from './components';
|
|
9
8
|
export * from './configs';
|
|
10
9
|
export * from './enums';
|
|
@@ -56,6 +56,10 @@ export declare function getHotelImageUrls(images?: ImageData[] | null): string[]
|
|
|
56
56
|
*/
|
|
57
57
|
export declare const loadImageWithFallback: (priorityImage: string, secondaryImage: string, customFallbackImage: string) => Promise<string>;
|
|
58
58
|
export declare const calculateStringSimilarity: (searchQuery: string, searchText: string) => number;
|
|
59
|
+
/**
|
|
60
|
+
* Returns true if the hotel ID belongs to a Duffel hotel
|
|
61
|
+
*/
|
|
62
|
+
export declare const isDuffelHotelId: (hotelId?: string) => boolean;
|
|
59
63
|
/**
|
|
60
64
|
* Sorts search results based on their relevance to the user query and predefined search types
|
|
61
65
|
* Used primarily for sorting location results in the autocomplete search
|
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
import { HotelChains as
|
|
2
|
-
var
|
|
3
|
-
static initParams(
|
|
4
|
-
return [
|
|
1
|
+
import { HotelChains as y } from "../../definitions/HotelChains.js";
|
|
2
|
+
var h = class u {
|
|
3
|
+
static initParams(e, r) {
|
|
4
|
+
return [e.replace(/\s+/g, "").toLowerCase(), r.replace(/\s+/g, "").toLowerCase()];
|
|
5
5
|
}
|
|
6
|
-
static checkThanosType(
|
|
7
|
-
if (typeof
|
|
6
|
+
static checkThanosType(e) {
|
|
7
|
+
if (typeof e != "string") throw new Error("first argument should be a string");
|
|
8
8
|
}
|
|
9
|
-
static checkRivalType(
|
|
10
|
-
if (typeof
|
|
9
|
+
static checkRivalType(e) {
|
|
10
|
+
if (typeof e != "string") throw new Error("second argument should be a string");
|
|
11
11
|
}
|
|
12
|
-
static checkAvengersType(
|
|
13
|
-
if (!Array.isArray(
|
|
14
|
-
if (
|
|
12
|
+
static checkAvengersType(e) {
|
|
13
|
+
if (!Array.isArray(e)) throw new Error("second argument should be an array of strings");
|
|
14
|
+
if (e.find((r) => typeof r != "string")) throw new Error("second argument should be an array of strings");
|
|
15
15
|
}
|
|
16
|
-
sortMatch(
|
|
17
|
-
return u.checkThanosType(
|
|
16
|
+
sortMatch(e, r) {
|
|
17
|
+
return u.checkThanosType(e), u.checkAvengersType(r), r.map((s, o) => ({ member: s, index: o, rating: this.similarity(e, s) })).sort((s, o) => s.rating - o.rating);
|
|
18
18
|
}
|
|
19
|
-
}, g = class extends
|
|
20
|
-
similarity(
|
|
21
|
-
|
|
22
|
-
let [r, s] =
|
|
19
|
+
}, g = class extends h {
|
|
20
|
+
similarity(t, e) {
|
|
21
|
+
h.checkThanosType(t), h.checkRivalType(e);
|
|
22
|
+
let [r, s] = h.initParams(t, e), [o, a] = [r.length, s.length];
|
|
23
23
|
if (!r.length && !s.length || r === s) return 1;
|
|
24
24
|
if (o < 2 || a < 2) return 0;
|
|
25
25
|
let c = /* @__PURE__ */ new Map();
|
|
26
26
|
for (let n = 0; n < o - 1; n++) {
|
|
27
|
-
let i = r.slice(n, n + 2),
|
|
28
|
-
c.set(i,
|
|
27
|
+
let i = r.slice(n, n + 2), p = c.has(i) ? c.get(i) + 1 : 1;
|
|
28
|
+
c.set(i, p);
|
|
29
29
|
}
|
|
30
30
|
let l = 0;
|
|
31
31
|
for (let n = 0; n < a - 1; n++) {
|
|
32
|
-
let i = s.slice(n, n + 2),
|
|
33
|
-
|
|
32
|
+
let i = s.slice(n, n + 2), p = c.has(i) ? c.get(i) : 0;
|
|
33
|
+
p > 0 && (c.set(i, p - 1), ++l);
|
|
34
34
|
}
|
|
35
35
|
return 2 * l / (o + a - 2);
|
|
36
36
|
}
|
|
37
|
-
distance(
|
|
38
|
-
return 1 - this.similarity(
|
|
37
|
+
distance(t, e) {
|
|
38
|
+
return 1 - this.similarity(t, e);
|
|
39
39
|
}
|
|
40
40
|
}, m = new g(), w = { diceCoefficient: m }, v = w;
|
|
41
|
-
const d = (
|
|
42
|
-
var
|
|
43
|
-
const
|
|
41
|
+
const d = (t) => {
|
|
42
|
+
var p;
|
|
43
|
+
const e = t.freeNight || t.nthNightFree !== 0 ? t.awardPoints : t.points, r = {
|
|
44
44
|
type: "",
|
|
45
45
|
value: -1
|
|
46
|
-
}, s = typeof
|
|
47
|
-
return
|
|
48
|
-
transferPartners: ((
|
|
49
|
-
...
|
|
50
|
-
value:
|
|
46
|
+
}, s = typeof t.cashValue.amount == "number" ? t.cashValue.amount : parseFloat(t.cashValue.amount), o = { ...r }, { cashBookingOffers: a } = t, c = (a == null ? void 0 : a.cheapestRateCurrency) || t.cashValue.currency, l = a == null ? void 0 : a.cheapestRateTotalAmount, n = l && l > 0 ? l : s, i = y.isHotelChain(t.hotelGroup);
|
|
47
|
+
return t.bestValue === "cash" ? (r.type = "cash", r.value = n, o.type = "points", o.value = e || -1) : t.bestValue === "points" && (r.type = "points", r.value = e || -1, o.type = "cash", o.value = n), {
|
|
48
|
+
transferPartners: ((p = t.partners) == null ? void 0 : p.map((f) => ({
|
|
49
|
+
...f,
|
|
50
|
+
value: e ? Math.ceil(e * f.ratio) : -1
|
|
51
51
|
}))) || [],
|
|
52
52
|
bestBookingOption: r,
|
|
53
53
|
alternateBookingOption: o,
|
|
54
|
-
points:
|
|
55
|
-
hasPoints: typeof
|
|
54
|
+
points: e || -1,
|
|
55
|
+
hasPoints: typeof e == "number" && e > 0,
|
|
56
56
|
cashAmount: n,
|
|
57
57
|
cashCurrency: c,
|
|
58
58
|
duffelCashBookingOffers: a,
|
|
59
59
|
isHotelChain: i
|
|
60
60
|
};
|
|
61
|
-
}, C = (
|
|
62
|
-
function k(
|
|
63
|
-
return !
|
|
61
|
+
}, C = (t) => (t == null ? void 0 : t.hotelGroup) === y.IHG ? t.freeNight || t.nthNightFree ? t.awardPoints : t.points : t.awardPoints;
|
|
62
|
+
function k(t) {
|
|
63
|
+
return !t || !Array.isArray(t) || t.length === 0 ? [] : t.map((e) => typeof e == "string" ? e : e && typeof e == "object" && "url" in e ? e.url : "").filter((e) => e !== "");
|
|
64
64
|
}
|
|
65
|
-
const A = async (
|
|
65
|
+
const A = async (t, e, r) => {
|
|
66
66
|
const s = (o) => new Promise((a, c) => {
|
|
67
67
|
const l = new Image();
|
|
68
68
|
l.src = o, l.onload = () => a(o), l.onerror = () => c();
|
|
69
69
|
});
|
|
70
|
-
return
|
|
71
|
-
}, T = (
|
|
72
|
-
const r =
|
|
70
|
+
return t && await s(t).catch(() => !1) ? t : e && await s(e).catch(() => !1) ? e : r;
|
|
71
|
+
}, T = (t, e) => {
|
|
72
|
+
const r = t.toLowerCase().trim(), s = e.toLowerCase().trim();
|
|
73
73
|
return v.diceCoefficient.similarity(r, s) * 100;
|
|
74
|
-
}, P = (
|
|
75
|
-
const o =
|
|
74
|
+
}, P = (t) => (t == null ? void 0 : t.startsWith("duff_")) ?? !1, L = (t, e, r, s) => {
|
|
75
|
+
const o = t.toLowerCase().trim(), a = s.map((n) => {
|
|
76
76
|
const i = n.description.toLowerCase().trim();
|
|
77
77
|
return {
|
|
78
78
|
...n,
|
|
79
|
-
score: T(
|
|
79
|
+
score: T(t, n.description),
|
|
80
80
|
startsWithText: i
|
|
81
81
|
};
|
|
82
82
|
}), c = a.filter(
|
|
83
|
-
(n) => n.startsWithText.startsWith(o) && n.score >=
|
|
83
|
+
(n) => n.startsWithText.startsWith(o) && n.score >= e
|
|
84
84
|
), l = a.filter(
|
|
85
|
-
(n) => n.score <
|
|
85
|
+
(n) => n.score < e
|
|
86
86
|
);
|
|
87
87
|
return c.sort((n, i) => i.score - n.score), l.sort(
|
|
88
88
|
(n, i) => r[n.searchType] - r[i.searchType]
|
|
@@ -93,6 +93,7 @@ export {
|
|
|
93
93
|
d as getBookingOptions,
|
|
94
94
|
k as getHotelImageUrls,
|
|
95
95
|
C as getPointsValue,
|
|
96
|
+
P as isDuffelHotelId,
|
|
96
97
|
A as loadImageWithFallback,
|
|
97
|
-
|
|
98
|
+
L as sortLocationResults
|
|
98
99
|
};
|