@mirai/core 0.3.139 → 0.3.141
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/build/Core.constants.js +5 -1
- package/build/Core.constants.js.map +1 -1
- package/build/Core.js +1 -0
- package/build/Core.js.map +1 -1
- package/build/components/Finder/Finder.js +4 -0
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Finder/components/Calendar/Calendar.js +26 -2
- package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Finder/components/Calendar/Calendar.l10n.js +6 -1
- package/build/components/Finder/components/Calendar/Calendar.l10n.js.map +1 -1
- package/build/components/Finder/components/Calendar/helpers/calcMinStay.js +34 -0
- package/build/components/Finder/components/Calendar/helpers/calcMinStay.js.map +1 -0
- package/build/components/Finder/components/Calendar/helpers/calcTooltips.js +33 -0
- package/build/components/Finder/components/Calendar/helpers/calcTooltips.js.map +1 -0
- package/build/components/Finder/components/Calendar/helpers/index.js +22 -0
- package/build/components/Finder/components/Calendar/helpers/index.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +0 -1
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.Header.js +15 -43
- package/build/components/Rates/Rates.Header.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +19 -9
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.js +29 -31
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +0 -4
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
- package/build/helpers/consolidateStore.js +2 -2
- package/build/helpers/consolidateStore.js.map +1 -1
- package/build/helpers/index.js +11 -0
- package/build/helpers/index.js.map +1 -1
- package/build/helpers/themeDirection.js +14 -0
- package/build/helpers/themeDirection.js.map +1 -0
- package/build/services/Rates/helpers/compareSuggestions.js +40 -0
- package/build/services/Rates/helpers/compareSuggestions.js.map +1 -0
- package/build/services/Rates/helpers/getCalendarSuggestions.js +60 -0
- package/build/services/Rates/helpers/getCalendarSuggestions.js.map +1 -0
- package/build/services/Rates/helpers/getDisabledDates.js +35 -0
- package/build/services/Rates/helpers/getDisabledDates.js.map +1 -0
- package/build/services/Rates/helpers/getMinStayDates.js +36 -0
- package/build/services/Rates/helpers/getMinStayDates.js.map +1 -0
- package/build/services/Rates/helpers/getOccupationSuggestions.js +22 -47
- package/build/services/Rates/helpers/getOccupationSuggestions.js.map +1 -1
- package/build/services/Rates/helpers/getRooms.js +55 -0
- package/build/services/Rates/helpers/getRooms.js.map +1 -0
- package/build/services/Rates/helpers/parseUnavailability.js +31 -2
- package/build/services/Rates/helpers/parseUnavailability.js.map +1 -1
- package/build/services/Rates/rates.js +2 -0
- package/build/services/Rates/rates.js.map +1 -1
- package/package.json +1 -1
- package/public/routes/Step1-Rates.jsx +2 -2
|
@@ -4,7 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getOccupationSuggestions = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _compareSuggestions = require("./compareSuggestions");
|
|
8
|
+
var _getRooms = require("./getRooms");
|
|
8
9
|
var _shared__ = require("../../../components/__shared__");
|
|
9
10
|
const {
|
|
10
11
|
ADULT,
|
|
@@ -13,15 +14,11 @@ const {
|
|
|
13
14
|
} = _shared__.TYPE_OCCUPATION;
|
|
14
15
|
const getOccupationSuggestions = _ref => {
|
|
15
16
|
let {
|
|
16
|
-
currency,
|
|
17
|
-
fees,
|
|
18
|
-
hotelCurrency,
|
|
19
17
|
infantAge,
|
|
20
18
|
occupation = [],
|
|
21
|
-
|
|
22
|
-
taxes
|
|
19
|
+
...others
|
|
23
20
|
} = _ref;
|
|
24
|
-
const
|
|
21
|
+
const isGuest = occupation.flat().some(function () {
|
|
25
22
|
let {
|
|
26
23
|
type
|
|
27
24
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -60,42 +57,7 @@ const getOccupationSuggestions = _ref => {
|
|
|
60
57
|
ages: []
|
|
61
58
|
});
|
|
62
59
|
const ageBaby = agesChildren.find(age => age < infantAge);
|
|
63
|
-
const rooms =
|
|
64
|
-
let {
|
|
65
|
-
amountAvailable: availability,
|
|
66
|
-
occupationOptions
|
|
67
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
68
|
-
return Object.values(occupationOptions).map(function () {
|
|
69
|
-
var _parseBoards, _parseBoards$boards, _parseBoards$boards$;
|
|
70
|
-
let {
|
|
71
|
-
idWithBaby: id,
|
|
72
|
-
occupationQuantities: {
|
|
73
|
-
numAdults,
|
|
74
|
-
numBabies,
|
|
75
|
-
totalChildren
|
|
76
|
-
} = {},
|
|
77
|
-
rates
|
|
78
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
79
|
-
return {
|
|
80
|
-
availability,
|
|
81
|
-
id,
|
|
82
|
-
adults: numAdults,
|
|
83
|
-
babies: numBabies,
|
|
84
|
-
children: totalChildren,
|
|
85
|
-
price: (_parseBoards = (0, _parseBoards2.parseBoards)({
|
|
86
|
-
currency,
|
|
87
|
-
fees,
|
|
88
|
-
hotelCurrency,
|
|
89
|
-
rates,
|
|
90
|
-
taxes
|
|
91
|
-
})) === null || _parseBoards === void 0 ? void 0 : (_parseBoards$boards = _parseBoards.boards) === null || _parseBoards$boards === void 0 ? void 0 : (_parseBoards$boards$ = _parseBoards$boards[0]) === null || _parseBoards$boards$ === void 0 ? void 0 : _parseBoards$boards$.price
|
|
92
|
-
};
|
|
93
|
-
});
|
|
94
|
-
}).sort((a, b) => a.price - b.price).reduce((result, current) => {
|
|
95
|
-
const key = "".concat(current.adults, "-").concat(current.babies, "-").concat(current.children);
|
|
96
|
-
if (!result[key]) result[key] = current;
|
|
97
|
-
return result;
|
|
98
|
-
}, {}));
|
|
60
|
+
const rooms = (0, _getRooms.getRooms)(others);
|
|
99
61
|
const suggestions = [];
|
|
100
62
|
const search = _ref2 => {
|
|
101
63
|
let {
|
|
@@ -107,7 +69,10 @@ const getOccupationSuggestions = _ref => {
|
|
|
107
69
|
startIndex = 0,
|
|
108
70
|
suggestion = []
|
|
109
71
|
} = _ref2;
|
|
110
|
-
if (adults === 0 && children === 0 && babies === 0 && availability >= 0)
|
|
72
|
+
if (adults === 0 && children === 0 && babies === 0 && availability >= 0 && !(0, _compareSuggestions.compareSuggestions)({
|
|
73
|
+
suggestion,
|
|
74
|
+
suggestions
|
|
75
|
+
})) {
|
|
111
76
|
const initAges = [...agesChildren].filter(age => age !== ageBaby);
|
|
112
77
|
suggestions.push({
|
|
113
78
|
occupation: suggestion.map(function () {
|
|
@@ -121,7 +86,7 @@ const getOccupationSuggestions = _ref => {
|
|
|
121
86
|
occupation.push({
|
|
122
87
|
ages: Array(adults).fill(undefined),
|
|
123
88
|
amount: adults,
|
|
124
|
-
type:
|
|
89
|
+
type: isGuest ? GUEST : ADULT
|
|
125
90
|
});
|
|
126
91
|
}
|
|
127
92
|
const ages = Array(children).fill(undefined).map(() => initAges.pop());
|
|
@@ -138,7 +103,8 @@ const getOccupationSuggestions = _ref => {
|
|
|
138
103
|
price
|
|
139
104
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
140
105
|
return total + price;
|
|
141
|
-
}, 0)
|
|
106
|
+
}, 0),
|
|
107
|
+
suggestion
|
|
142
108
|
});
|
|
143
109
|
return;
|
|
144
110
|
}
|
|
@@ -177,7 +143,16 @@ const getOccupationSuggestions = _ref => {
|
|
|
177
143
|
rooms
|
|
178
144
|
});
|
|
179
145
|
}
|
|
180
|
-
return suggestions
|
|
146
|
+
return suggestions.map(function () {
|
|
147
|
+
let {
|
|
148
|
+
occupation,
|
|
149
|
+
price
|
|
150
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
151
|
+
return {
|
|
152
|
+
occupation,
|
|
153
|
+
price
|
|
154
|
+
};
|
|
155
|
+
}).sort((a, b) => a.price - b.price);
|
|
181
156
|
};
|
|
182
157
|
exports.getOccupationSuggestions = getOccupationSuggestions;
|
|
183
158
|
//# sourceMappingURL=getOccupationSuggestions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOccupationSuggestions.js","names":["_parseBoards2","require","_shared__","ADULT","CHILD","GUEST","TYPE_OCCUPATION","getOccupationSuggestions","_ref","currency","fees","hotelCurrency","infantAge","occupation","roomTypes","taxes","isGuestType","flat","some","type","arguments","length","undefined","adults","reduce","total","amount","children","ages","agesChildren","filter","totalAges","ageBaby","find","age","rooms","Object","values","flatMap","amountAvailable","availability","occupationOptions","map","_parseBoards","_parseBoards$boards","_parseBoards$boards$","idWithBaby","id","occupationQuantities","numAdults","numBabies","totalChildren","rates","babies","price","parseBoards","boards","sort","a","b","result","current","key","concat","suggestions","search","_ref2","startIndex","suggestion","initAges","push","Array","fill","pop","index","room","exports"],"sources":["../../../../src/services/Rates/helpers/getOccupationSuggestions.js"],"sourcesContent":["import { parseBoards } from './parseBoards';\nimport { TYPE_OCCUPATION } from '../../../components/__shared__';\n\nconst { ADULT, CHILD, GUEST } = TYPE_OCCUPATION;\n\nexport const getOccupationSuggestions = ({\n currency,\n fees,\n hotelCurrency,\n infantAge,\n occupation = [],\n roomTypes,\n taxes,\n}) => {\n const isGuestType = occupation.flat().some(({ type } = {}) => type === GUEST);\n const adults = occupation.flat().reduce((total, { amount, type } = {}) => total + (type !== CHILD ? amount : 0), 0);\n const { amount: children, ages: agesChildren } = occupation\n .flat()\n .filter(({ type } = {}) => type === CHILD)\n .reduce(\n ({ ages: totalAges, amount: total } = {}, { ages, amount } = {}) => ({\n amount: total + amount,\n ages: [...totalAges, ...ages],\n }),\n { amount: 0, ages: [] },\n );\n const ageBaby = agesChildren.find((age) => age < infantAge);\n const rooms = Object.values(\n Object.values(roomTypes)\n .flatMap(({ amountAvailable: availability, occupationOptions } = {}) =>\n Object.values(occupationOptions).map(\n ({ idWithBaby: id, occupationQuantities: { numAdults, numBabies, totalChildren } = {}, rates } = {}) => ({\n availability,\n id,\n adults: numAdults,\n babies: numBabies,\n children: totalChildren,\n price: parseBoards({ currency, fees, hotelCurrency, rates, taxes })?.boards?.[0]?.price,\n }),\n ),\n )\n .sort((a, b) => a.price - b.price)\n .reduce((result, current) => {\n const key = `${current.adults}-${current.babies}-${current.children}`;\n if (!result[key]) result[key] = current;\n\n return result;\n }, {}),\n );\n\n const suggestions = [];\n\n const search = ({ adults, availability, babies, children, rooms, startIndex = 0, suggestion = [] }) => {\n if (adults === 0 && children === 0 && babies === 0 && availability >= 0) {\n const initAges = [...agesChildren].filter((age) => age !== ageBaby);\n suggestions.push({\n occupation: suggestion.map(({ adults, babies, children } = {}) => {\n const occupation = [];\n if (adults > 0) {\n occupation.push({ ages: Array(adults).fill(undefined), amount: adults, type: isGuestType ? GUEST : ADULT });\n }\n\n const ages = Array(children)\n .fill(undefined)\n .map(() => initAges.pop());\n if (babies > 0) ages.push(ageBaby);\n if (children + babies > 0) occupation.push({ ages, amount: children + babies, type: CHILD });\n\n return occupation;\n }),\n price: suggestion.reduce((total, { price } = {}) => total + price, 0),\n });\n\n return;\n }\n\n for (let index = startIndex; index < rooms.length; index++) {\n const room = rooms[index];\n if (room.adults <= adults && room.children <= children && room.babies <= babies) {\n search({\n rooms,\n adults: adults - room.adults,\n availability: room.availability - 1,\n children: children - room.children,\n babies: babies - room.babies,\n suggestion: [\n ...suggestion,\n {\n id: room.id,\n adults: room.adults,\n children: room.children,\n babies: room.babies,\n price: room.price,\n },\n ],\n startIndex: index + 1,\n });\n }\n }\n };\n\n search({ adults, babies: ageBaby >= 0 ? 1 : 0, children: ageBaby >= 0 ? children - 1 : children, rooms });\n\n if (suggestions.length === 0) {\n search({\n adults: ageBaby >= 0 ? adults + children - 1 : adults + children,\n babies: ageBaby >= 0 ? 1 : 0,\n children: 0,\n rooms,\n });\n }\n\n return suggestions;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getOccupationSuggestions.js","names":["_compareSuggestions","require","_getRooms","_shared__","ADULT","CHILD","GUEST","TYPE_OCCUPATION","getOccupationSuggestions","_ref","infantAge","occupation","others","isGuest","flat","some","type","arguments","length","undefined","adults","reduce","total","amount","children","ages","agesChildren","filter","totalAges","ageBaby","find","age","rooms","getRooms","suggestions","search","_ref2","availability","babies","startIndex","suggestion","compareSuggestions","initAges","push","map","Array","fill","pop","price","index","room","id","sort","a","b","exports"],"sources":["../../../../src/services/Rates/helpers/getOccupationSuggestions.js"],"sourcesContent":["import { compareSuggestions } from './compareSuggestions';\nimport { getRooms } from './getRooms';\nimport { TYPE_OCCUPATION } from '../../../components/__shared__';\n\nconst { ADULT, CHILD, GUEST } = TYPE_OCCUPATION;\n\nexport const getOccupationSuggestions = ({ infantAge, occupation = [], ...others }) => {\n const isGuest = occupation.flat().some(({ type } = {}) => type === GUEST);\n const adults = occupation.flat().reduce((total, { amount, type } = {}) => total + (type !== CHILD ? amount : 0), 0);\n const { amount: children, ages: agesChildren } = occupation\n .flat()\n .filter(({ type } = {}) => type === CHILD)\n .reduce(\n ({ ages: totalAges, amount: total } = {}, { ages, amount } = {}) => ({\n amount: total + amount,\n ages: [...totalAges, ...ages],\n }),\n { amount: 0, ages: [] },\n );\n const ageBaby = agesChildren.find((age) => age < infantAge);\n const rooms = getRooms(others);\n\n const suggestions = [];\n\n const search = ({ adults, availability, babies, children, rooms, startIndex = 0, suggestion = [] }) => {\n if (\n adults === 0 &&\n children === 0 &&\n babies === 0 &&\n availability >= 0 &&\n !compareSuggestions({ suggestion, suggestions })\n ) {\n const initAges = [...agesChildren].filter((age) => age !== ageBaby);\n suggestions.push({\n occupation: suggestion.map(({ adults, babies, children } = {}) => {\n const occupation = [];\n if (adults > 0) {\n occupation.push({ ages: Array(adults).fill(undefined), amount: adults, type: isGuest ? GUEST : ADULT });\n }\n\n const ages = Array(children)\n .fill(undefined)\n .map(() => initAges.pop());\n if (babies > 0) ages.push(ageBaby);\n if (children + babies > 0) occupation.push({ ages, amount: children + babies, type: CHILD });\n\n return occupation;\n }),\n price: suggestion.reduce((total, { price } = {}) => total + price, 0),\n suggestion,\n });\n\n return;\n }\n\n for (let index = startIndex; index < rooms.length; index++) {\n const room = rooms[index];\n if (room.adults <= adults && room.children <= children && room.babies <= babies) {\n search({\n rooms,\n adults: adults - room.adults,\n availability: room.availability - 1,\n children: children - room.children,\n babies: babies - room.babies,\n suggestion: [\n ...suggestion,\n { id: room.id, adults: room.adults, children: room.children, babies: room.babies, price: room.price },\n ],\n startIndex: index + 1,\n });\n }\n }\n };\n\n search({ adults, babies: ageBaby >= 0 ? 1 : 0, children: ageBaby >= 0 ? children - 1 : children, rooms });\n\n if (suggestions.length === 0) {\n search({\n adults: ageBaby >= 0 ? adults + children - 1 : adults + children,\n babies: ageBaby >= 0 ? 1 : 0,\n children: 0,\n rooms,\n });\n }\n\n return suggestions.map(({ occupation, price } = {}) => ({ occupation, price })).sort((a, b) => a.price - b.price);\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getRooms = void 0;
|
|
7
|
+
var _parseBoards2 = require("./parseBoards");
|
|
8
|
+
const MAX_ROOM_AVAILABILITY = 5;
|
|
9
|
+
const getRooms = _ref => {
|
|
10
|
+
let {
|
|
11
|
+
currency,
|
|
12
|
+
fees,
|
|
13
|
+
hotelCurrency,
|
|
14
|
+
roomTypes,
|
|
15
|
+
taxes
|
|
16
|
+
} = _ref;
|
|
17
|
+
return Object.values(Object.values(roomTypes).flatMap(function () {
|
|
18
|
+
let {
|
|
19
|
+
amountAvailable: availability,
|
|
20
|
+
occupationOptions
|
|
21
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
22
|
+
return Object.values(occupationOptions).map(function () {
|
|
23
|
+
var _parseBoards, _parseBoards$boards, _parseBoards$boards$;
|
|
24
|
+
let {
|
|
25
|
+
idWithBaby: id,
|
|
26
|
+
occupationQuantities: {
|
|
27
|
+
numAdults,
|
|
28
|
+
numBabies,
|
|
29
|
+
totalChildren
|
|
30
|
+
} = {},
|
|
31
|
+
rates
|
|
32
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
33
|
+
return {
|
|
34
|
+
availability,
|
|
35
|
+
id,
|
|
36
|
+
adults: numAdults,
|
|
37
|
+
babies: numBabies,
|
|
38
|
+
children: totalChildren,
|
|
39
|
+
price: (_parseBoards = (0, _parseBoards2.parseBoards)({
|
|
40
|
+
currency,
|
|
41
|
+
fees,
|
|
42
|
+
hotelCurrency,
|
|
43
|
+
rates,
|
|
44
|
+
taxes
|
|
45
|
+
})) === null || _parseBoards === void 0 ? void 0 : (_parseBoards$boards = _parseBoards.boards) === null || _parseBoards$boards === void 0 ? void 0 : (_parseBoards$boards$ = _parseBoards$boards[0]) === null || _parseBoards$boards$ === void 0 ? void 0 : _parseBoards$boards$.price
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}).sort((a, b) => a.price - b.price).reduce((result, current) => {
|
|
49
|
+
const key = "".concat(current.adults, "-").concat(current.babies, "-").concat(current.children);
|
|
50
|
+
if (!result[key]) result[key] = current;
|
|
51
|
+
return result;
|
|
52
|
+
}, {})).flatMap(room => Array(room.availability > MAX_ROOM_AVAILABILITY ? MAX_ROOM_AVAILABILITY : room.availability).fill(undefined).map(() => room));
|
|
53
|
+
};
|
|
54
|
+
exports.getRooms = getRooms;
|
|
55
|
+
//# sourceMappingURL=getRooms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getRooms.js","names":["_parseBoards2","require","MAX_ROOM_AVAILABILITY","getRooms","_ref","currency","fees","hotelCurrency","roomTypes","taxes","Object","values","flatMap","amountAvailable","availability","occupationOptions","arguments","length","undefined","map","_parseBoards","_parseBoards$boards","_parseBoards$boards$","idWithBaby","id","occupationQuantities","numAdults","numBabies","totalChildren","rates","adults","babies","children","price","parseBoards","boards","sort","a","b","reduce","result","current","key","concat","room","Array","fill","exports"],"sources":["../../../../src/services/Rates/helpers/getRooms.js"],"sourcesContent":["import { parseBoards } from './parseBoards';\n\nconst MAX_ROOM_AVAILABILITY = 5;\n\nexport const getRooms = ({ currency, fees, hotelCurrency, roomTypes, taxes }) =>\n Object.values(\n Object.values(roomTypes)\n .flatMap(({ amountAvailable: availability, occupationOptions } = {}) =>\n Object.values(occupationOptions).map(\n ({ idWithBaby: id, occupationQuantities: { numAdults, numBabies, totalChildren } = {}, rates } = {}) => ({\n availability,\n id,\n adults: numAdults,\n babies: numBabies,\n children: totalChildren,\n price: parseBoards({ currency, fees, hotelCurrency, rates, taxes })?.boards?.[0]?.price,\n }),\n ),\n )\n .sort((a, b) => a.price - b.price)\n .reduce((result, current) => {\n const key = `${current.adults}-${current.babies}-${current.children}`;\n if (!result[key]) result[key] = current;\n\n return result;\n }, {}),\n ).flatMap((room) =>\n Array(room.availability > MAX_ROOM_AVAILABILITY ? MAX_ROOM_AVAILABILITY : room.availability)\n .fill(undefined)\n .map(() => room),\n );\n"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAEA,MAAMC,qBAAqB,GAAG,CAAC;AAExB,MAAMC,QAAQ,GAAGC,IAAA;EAAA,IAAC;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,aAAa;IAAEC,SAAS;IAAEC;EAAM,CAAC,GAAAL,IAAA;EAAA,OAC1EM,MAAM,CAACC,MAAM,CACXD,MAAM,CAACC,MAAM,CAACH,SAAS,CAAC,CACrBI,OAAO,CAAC;IAAA,IAAC;MAAEC,eAAe,EAAEC,YAAY;MAAEC;IAAkB,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OACjEN,MAAM,CAACC,MAAM,CAACI,iBAAiB,CAAC,CAACI,GAAG,CAClC;MAAA,IAAAC,YAAA,EAAAC,mBAAA,EAAAC,oBAAA;MAAA,IAAC;QAAEC,UAAU,EAAEC,EAAE;QAAEC,oBAAoB,EAAE;UAAEC,SAAS;UAAEC,SAAS;UAAEC;QAAc,CAAC,GAAG,CAAC,CAAC;QAAEC;MAAM,CAAC,GAAAb,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAM;QACvGF,YAAY;QACZU,EAAE;QACFM,MAAM,EAAEJ,SAAS;QACjBK,MAAM,EAAEJ,SAAS;QACjBK,QAAQ,EAAEJ,aAAa;QACvBK,KAAK,GAAAb,YAAA,GAAE,IAAAc,yBAAW,EAAC;UAAE7B,QAAQ;UAAEC,IAAI;UAAEC,aAAa;UAAEsB,KAAK;UAAEpB;QAAM,CAAC,CAAC,cAAAW,YAAA,wBAAAC,mBAAA,GAA5DD,YAAA,CAA8De,MAAM,cAAAd,mBAAA,wBAAAC,oBAAA,GAApED,mBAAA,CAAuE,CAAC,CAAC,cAAAC,oBAAA,uBAAzEA,oBAAA,CAA2EW;MACpF,CAAC;IAAA,CACH,CAAC;EAAA,CACH,CAAC,CACAG,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACJ,KAAK,GAAGK,CAAC,CAACL,KAAK,CAAC,CACjCM,MAAM,CAAC,CAACC,MAAM,EAAEC,OAAO,KAAK;IAC3B,MAAMC,GAAG,MAAAC,MAAA,CAAMF,OAAO,CAACX,MAAM,OAAAa,MAAA,CAAIF,OAAO,CAACV,MAAM,OAAAY,MAAA,CAAIF,OAAO,CAACT,QAAQ,CAAE;IACrE,IAAI,CAACQ,MAAM,CAACE,GAAG,CAAC,EAAEF,MAAM,CAACE,GAAG,CAAC,GAAGD,OAAO;IAEvC,OAAOD,MAAM;EACf,CAAC,EAAE,CAAC,CAAC,CACT,CAAC,CAAC5B,OAAO,CAAEgC,IAAI,IACbC,KAAK,CAACD,IAAI,CAAC9B,YAAY,GAAGZ,qBAAqB,GAAGA,qBAAqB,GAAG0C,IAAI,CAAC9B,YAAY,CAAC,CACzFgC,IAAI,CAAC5B,SAAS,CAAC,CACfC,GAAG,CAAC,MAAMyB,IAAI,CACnB,CAAC;AAAA;AAACG,OAAA,CAAA5C,QAAA,GAAAA,QAAA"}
|
|
@@ -4,25 +4,48 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.parseUnavailability = void 0;
|
|
7
|
+
var _getCalendarSuggestions = require("./getCalendarSuggestions");
|
|
8
|
+
var _getDisabledDates = require("./getDisabledDates");
|
|
9
|
+
var _getMinStayDates = require("./getMinStayDates");
|
|
7
10
|
var _getOccupationSuggestions = require("./getOccupationSuggestions");
|
|
8
11
|
var _getTaxesType = require("./getTaxesType");
|
|
12
|
+
var _Core = require("../../../Core.constants");
|
|
13
|
+
const BY_CHECK_IN = 'BY_CHECKIN';
|
|
9
14
|
const parseUnavailability = function () {
|
|
10
15
|
let {
|
|
11
16
|
availabilitySuggestions: availability,
|
|
12
17
|
firstChildInterval,
|
|
13
18
|
messages: {
|
|
14
|
-
availabilityMessage
|
|
19
|
+
availabilityMessage,
|
|
20
|
+
noAvailabilityMessage
|
|
15
21
|
} = {},
|
|
16
22
|
occupation: propOccupation,
|
|
17
23
|
roomTypes,
|
|
18
24
|
...response
|
|
19
25
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
20
26
|
let calendar;
|
|
27
|
+
let disabledDates;
|
|
28
|
+
let description;
|
|
29
|
+
let minStayDates;
|
|
30
|
+
let minStayType;
|
|
21
31
|
let occupation;
|
|
22
32
|
let hotels;
|
|
23
33
|
if (availability !== null) {
|
|
24
34
|
var _availability$hotelSu;
|
|
25
|
-
|
|
35
|
+
const {
|
|
36
|
+
calendar: {
|
|
37
|
+
minimumStayConfig: config = BY_CHECK_IN
|
|
38
|
+
} = {}
|
|
39
|
+
} = availability;
|
|
40
|
+
minStayType = config === BY_CHECK_IN ? _Core.MIN_STAY_TYPE.CHECK_IN : _Core.MIN_STAY_TYPE.STAY;
|
|
41
|
+
calendar = (0, _getCalendarSuggestions.getCalendarSuggestions)({
|
|
42
|
+
...availability,
|
|
43
|
+
...response,
|
|
44
|
+
minStayType
|
|
45
|
+
});
|
|
46
|
+
disabledDates = (0, _getDisabledDates.getDisabledDates)(availability);
|
|
47
|
+
minStayDates = (0, _getMinStayDates.getMinStayDates)(availability);
|
|
48
|
+
description = noAvailabilityMessage === null || noAvailabilityMessage === void 0 ? void 0 : noAvailabilityMessage.noDispoMessage;
|
|
26
49
|
hotels = availability === null || availability === void 0 ? void 0 : (_availability$hotelSu = availability.hotelSuggestions) === null || _availability$hotelSu === void 0 ? void 0 : _availability$hotelSu.map(_ref => {
|
|
27
50
|
let {
|
|
28
51
|
distanceMessage: distance,
|
|
@@ -58,9 +81,15 @@ const parseUnavailability = function () {
|
|
|
58
81
|
});
|
|
59
82
|
}
|
|
60
83
|
return hotels || calendar || occupation ? {
|
|
84
|
+
calendar: {
|
|
85
|
+
disabledDates,
|
|
86
|
+
minStayDates,
|
|
87
|
+
minStayType
|
|
88
|
+
},
|
|
61
89
|
hotels,
|
|
62
90
|
suggestions: {
|
|
63
91
|
calendar,
|
|
92
|
+
description,
|
|
64
93
|
occupation
|
|
65
94
|
},
|
|
66
95
|
taxesType: (0, _getTaxesType.getTaxesType)(response)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseUnavailability.js","names":["
|
|
1
|
+
{"version":3,"file":"parseUnavailability.js","names":["_getCalendarSuggestions","require","_getDisabledDates","_getMinStayDates","_getOccupationSuggestions","_getTaxesType","_Core","BY_CHECK_IN","parseUnavailability","availabilitySuggestions","availability","firstChildInterval","messages","availabilityMessage","noAvailabilityMessage","occupation","propOccupation","roomTypes","response","arguments","length","undefined","calendar","disabledDates","description","minStayDates","minStayType","hotels","_availability$hotelSu","minimumStayConfig","config","MIN_STAY_TYPE","CHECK_IN","STAY","getCalendarSuggestions","getDisabledDates","getMinStayDates","noDispoMessage","hotelSuggestions","map","_ref","distanceMessage","distance","idtokenprovider","id","location","name","photo","rates","price","url","rest","split","features","images","join","notOccupationRequested","infantAge","lowerBound","getOccupationSuggestions","suggestions","taxesType","getTaxesType","exports"],"sources":["../../../../src/services/Rates/helpers/parseUnavailability.js"],"sourcesContent":["import { getCalendarSuggestions } from './getCalendarSuggestions';\nimport { getDisabledDates } from './getDisabledDates';\nimport { getMinStayDates } from './getMinStayDates';\nimport { getOccupationSuggestions } from './getOccupationSuggestions';\nimport { getTaxesType } from './getTaxesType';\nimport { MIN_STAY_TYPE } from '../../../Core.constants';\n\nconst BY_CHECK_IN = 'BY_CHECKIN';\n\nexport const parseUnavailability = ({\n availabilitySuggestions: availability,\n firstChildInterval,\n messages: { availabilityMessage, noAvailabilityMessage } = {},\n occupation: propOccupation,\n roomTypes,\n ...response\n} = {}) => {\n let calendar;\n let disabledDates;\n let description;\n let minStayDates;\n let minStayType;\n let occupation;\n let hotels;\n\n if (availability !== null) {\n const { calendar: { minimumStayConfig: config = BY_CHECK_IN } = {} } = availability;\n\n minStayType = config === BY_CHECK_IN ? MIN_STAY_TYPE.CHECK_IN : MIN_STAY_TYPE.STAY;\n calendar = getCalendarSuggestions({ ...availability, ...response, minStayType });\n disabledDates = getDisabledDates(availability);\n minStayDates = getMinStayDates(availability);\n description = noAvailabilityMessage?.noDispoMessage;\n hotels = availability?.hotelSuggestions?.map(\n ({\n distanceMessage: distance,\n idtokenprovider: id,\n location,\n name,\n photo,\n rates: [{ price = 0 } = {}] = [],\n url,\n }) => {\n const [, ...rest] = name.split(' ');\n\n return { features: { distance, location, url }, id, images: [photo], name: rest.join(' '), price: price / 100 };\n },\n );\n }\n if (availabilityMessage !== null && availabilityMessage.notOccupationRequested != null) {\n const infantAge = firstChildInterval?.lowerBound;\n occupation = getOccupationSuggestions({ infantAge, roomTypes, occupation: propOccupation });\n }\n\n return hotels || calendar || occupation\n ? {\n calendar: { disabledDates, minStayDates, minStayType },\n hotels,\n suggestions: { calendar, description, occupation },\n taxesType: getTaxesType(response),\n }\n : undefined;\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rates.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","DOUBLE","SINGLE","BED_TYPE","FEATURE","PESTANA","rates","session","authorization","clubDiscount","locale","occupation","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_club$clubLogin","idtokenprovider","id","checkin","nights","club","authentication","type","rest","language","split","params","Object","entries","applyClubDiscount","cid","sha1","concat","KEY_HASH","currency","accessClubToken","lang","parseExternalToken","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","unavailability","parseUnavailability","currencyCode","hotelCurrency","firstChildInterval","measureUnit","unit","roomTypes","showLocalTaxes","fees","userCountry","country","vatIncluded","taxes","ServiceCurrency","exchange","items","values","infantAge","lowerBound","clubConditions","ServiceFeatures","get","EXTERNAL","URL","DEFAULT_LANGUAGE","externalSignout","TYPE","clubLogin","status","VALID","map","amountAvailable","availability","name","newInfoRoom","info","occupationOptions","description","roomTypeInfo","bedDistributions","bedType","galleryMedia","url3D","video","urlVideo","photos","roomSize","size","occupationQuantities","numAdults","adults","totalChildren","children","posibilities","nightsDeal","amenities","parseAmenities","bedDisposition","BED_DISPOSITION","bedTypes","reduce","next","forEach","amount","includes","parseBoards","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","maxOccupation","media","UNIT","taxesType","getTaxesType","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/rates.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency, ServiceFeatures } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { BED_DISPOSITION, BED_TYPE, DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, UNIT, VALID } from './constants';\nimport {\n getTaxesType,\n parseAmenities,\n parseBoards,\n parseExternalToken,\n parseTracking,\n parseUnavailability,\n} from './helpers';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nconst FEATURE = { PESTANA: 'pestana' };\n\nexport const rates = ({\n session: { authorization } = {},\n clubDiscount,\n locale,\n occupation,\n userCurrency,\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n const {\n idtokenprovider: id,\n checkin,\n nights,\n club: { authentication: { type } = {} } = {},\n ...rest\n } = others || {};\n\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n applyClubDiscount: clubDiscount,\n checkin,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n currency: userCurrency,\n idtokenprovider: id,\n nights,\n ...rest,\n accessClubToken: authorization,\n lang: language,\n ...parseExternalToken(rest),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const unavailability = parseUnavailability({ ...response, occupation });\n if (unavailability) return reject(unavailability);\n\n const {\n club,\n currencyCode: hotelCurrency,\n firstChildInterval = {},\n measureUnit: unit,\n roomTypes,\n showLocalTaxes: fees,\n userCountry: country,\n vatIncluded: taxes,\n } = response;\n\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n const items = Object.values(roomTypes);\n const infantAge = firstChildInterval?.lowerBound;\n\n resolve({\n clubConditions: ServiceFeatures.get(FEATURE.PESTANA, id)\n ? EXTERNAL.URL[language] || EXTERNAL.URL[DEFAULT_LANGUAGE]\n : undefined,\n country,\n currency: hotelCurrency,\n externalSignout: authorization && type === EXTERNAL.TYPE && club?.clubLogin?.status !== VALID,\n infantAge: infantAge !== null ? infantAge : undefined,\n items: items.map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const {\n description,\n roomTypeInfo: {\n bedDistributions: bedType = [],\n galleryMedia: { url3D, video: urlVideo } = {},\n photos,\n roomSize: size,\n } = {},\n } = info;\n const {\n occupationQuantities: { numAdults: adults = 0, totalChildren: children = 0 } = {},\n posibilities: [{ nights: nightsDeal } = {}] = [],\n rates,\n } = Object.values(occupationOptions)[0] || {};\n\n return {\n amenities: parseAmenities(info),\n availability,\n bedDisposition: bedType.map((type) => BED_DISPOSITION[type]),\n bedTypes: bedType.reduce((result, next) => {\n BED_DISPOSITION[next].forEach(({ amount, type } = {}) => {\n if ([DOUBLE, SINGLE].includes(type) && amount > 0) result[result.length ? 1 : 0] = type;\n });\n\n return result;\n }, []),\n ...parseBoards({ currency, fees, hotelCurrency, rates, taxes }),\n description,\n images: photos?.map(({ photoAltDescription: alt, urlLarge: large, urlMediumRect: thumbnail } = {}) => ({\n alt,\n large,\n thumbnail,\n })),\n name,\n nightsDeal,\n maxOccupation: adults + children,\n media: url3D || urlVideo ? { url3D, urlVideo } : undefined,\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n ),\n taxesType: getTaxesType(response),\n tracking: parseTracking(response),\n });\n });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rates.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","DOUBLE","SINGLE","BED_TYPE","FEATURE","PESTANA","rates","session","authorization","clubDiscount","locale","occupation","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_club$clubLogin","idtokenprovider","id","checkin","nights","club","authentication","type","rest","language","split","params","Object","entries","applyClubDiscount","cid","sha1","concat","KEY_HASH","currency","accessClubToken","lang","parseExternalToken","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","unavailability","parseUnavailability","checkIn","currencyCode","hotelCurrency","firstChildInterval","measureUnit","unit","roomTypes","showLocalTaxes","fees","userCountry","country","vatIncluded","taxes","ServiceCurrency","exchange","items","values","infantAge","lowerBound","clubConditions","ServiceFeatures","get","EXTERNAL","URL","DEFAULT_LANGUAGE","externalSignout","TYPE","clubLogin","status","VALID","map","amountAvailable","availability","name","newInfoRoom","info","occupationOptions","description","roomTypeInfo","bedDistributions","bedType","galleryMedia","url3D","video","urlVideo","photos","roomSize","size","occupationQuantities","numAdults","adults","totalChildren","children","posibilities","nightsDeal","amenities","parseAmenities","bedDisposition","BED_DISPOSITION","bedTypes","reduce","next","forEach","amount","includes","parseBoards","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","maxOccupation","media","UNIT","taxesType","getTaxesType","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/rates.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency, ServiceFeatures } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { BED_DISPOSITION, BED_TYPE, DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, UNIT, VALID } from './constants';\nimport {\n getTaxesType,\n parseAmenities,\n parseBoards,\n parseExternalToken,\n parseTracking,\n parseUnavailability,\n} from './helpers';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nconst FEATURE = { PESTANA: 'pestana' };\n\nexport const rates = ({\n session: { authorization } = {},\n clubDiscount,\n locale,\n occupation,\n userCurrency,\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n const {\n idtokenprovider: id,\n checkin,\n nights,\n club: { authentication: { type } = {} } = {},\n ...rest\n } = others || {};\n\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n applyClubDiscount: clubDiscount,\n checkin,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n currency: userCurrency,\n idtokenprovider: id,\n nights,\n ...rest,\n accessClubToken: authorization,\n lang: language,\n ...parseExternalToken(rest),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const unavailability = parseUnavailability({ ...response, checkIn: checkin, nights, occupation });\n if (unavailability) return reject(unavailability);\n\n const {\n club,\n currencyCode: hotelCurrency,\n firstChildInterval = {},\n measureUnit: unit,\n roomTypes,\n showLocalTaxes: fees,\n userCountry: country,\n vatIncluded: taxes,\n } = response;\n\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n const items = Object.values(roomTypes);\n const infantAge = firstChildInterval?.lowerBound;\n\n resolve({\n clubConditions: ServiceFeatures.get(FEATURE.PESTANA, id)\n ? EXTERNAL.URL[language] || EXTERNAL.URL[DEFAULT_LANGUAGE]\n : undefined,\n country,\n currency: hotelCurrency,\n externalSignout: authorization && type === EXTERNAL.TYPE && club?.clubLogin?.status !== VALID,\n infantAge: infantAge !== null ? infantAge : undefined,\n items: items.map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const {\n description,\n roomTypeInfo: {\n bedDistributions: bedType = [],\n galleryMedia: { url3D, video: urlVideo } = {},\n photos,\n roomSize: size,\n } = {},\n } = info;\n const {\n occupationQuantities: { numAdults: adults = 0, totalChildren: children = 0 } = {},\n posibilities: [{ nights: nightsDeal } = {}] = [],\n rates,\n } = Object.values(occupationOptions)[0] || {};\n\n return {\n amenities: parseAmenities(info),\n availability,\n bedDisposition: bedType.map((type) => BED_DISPOSITION[type]),\n bedTypes: bedType.reduce((result, next) => {\n BED_DISPOSITION[next].forEach(({ amount, type } = {}) => {\n if ([DOUBLE, SINGLE].includes(type) && amount > 0) result[result.length ? 1 : 0] = type;\n });\n\n return result;\n }, []),\n ...parseBoards({ currency, fees, hotelCurrency, rates, taxes }),\n description,\n images: photos?.map(({ photoAltDescription: alt, urlLarge: large, urlMediumRect: thumbnail } = {}) => ({\n alt,\n large,\n thumbnail,\n })),\n name,\n nightsDeal,\n maxOccupation: adults + children,\n media: url3D || urlVideo ? { url3D, urlVideo } : undefined,\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n ),\n taxesType: getTaxesType(response),\n tracking: parseTracking(response),\n });\n });\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,8 +5,8 @@ import { Logo } from './components';
|
|
|
5
5
|
|
|
6
6
|
export const Step1 = () => (
|
|
7
7
|
<>
|
|
8
|
-
|
|
9
|
-
<View data-mirai-component="header" data-currency="true" data-logo=
|
|
8
|
+
<View style={{ height: '256px', backgroundColor: 'var(--mirai-ui-accent)' }} />
|
|
9
|
+
<View data-mirai-component="header" data-currency="true" data-logo="true">
|
|
10
10
|
<Logo data-ghost />
|
|
11
11
|
</View>
|
|
12
12
|
<View data-mirai-component="rates">
|