@mirai/core 0.3.207 → 0.3.209

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/build/Core.js +51 -48
  2. package/build/Core.js.map +1 -1
  3. package/build/components/Finder/Finder.js +20 -7
  4. package/build/components/Finder/Finder.js.map +1 -1
  5. package/build/components/Finder/components/Places/Places.js +3 -1
  6. package/build/components/Finder/components/Places/Places.js.map +1 -1
  7. package/build/components/Finder/helpers/getForwarderUrl.js +1 -1
  8. package/build/components/Finder/helpers/getForwarderUrl.js.map +1 -1
  9. package/build/components/Rates/Rates.Unavailability.js +15 -9
  10. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  11. package/build/components/Rates/Rates.constants.js +1 -1
  12. package/build/components/Rates/Rates.constants.js.map +1 -1
  13. package/build/components/Rates/Rates.js +4 -0
  14. package/build/components/Rates/Rates.js.map +1 -1
  15. package/build/components/Rates/Rates.l10n.js +6 -0
  16. package/build/components/Rates/Rates.l10n.js.map +1 -1
  17. package/build/components/Rates/components/CardHotel/CardHotel.js +9 -11
  18. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  19. package/build/components/Rates/components/Item/Item.Rates.js +8 -1
  20. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  21. package/build/components/Rates/components/Item/Item.js +1 -0
  22. package/build/components/Rates/components/Item/Item.js.map +1 -1
  23. package/build/components/Rates/components/Item/Item.l10n.js +6 -0
  24. package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
  25. package/build/components/Rates/components/Item/components/Features/Features.js +4 -6
  26. package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
  27. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +12 -6
  28. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  29. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +3 -0
  30. package/build/services/Rates/constants.js +1 -1
  31. package/build/services/Rates/constants.js.map +1 -1
  32. package/build/services/Rates/extras.js +3 -1
  33. package/build/services/Rates/extras.js.map +1 -1
  34. package/build/services/Rates/helpers/getCalendarSuggestions.js +5 -5
  35. package/build/services/Rates/helpers/getCalendarSuggestions.js.map +1 -1
  36. package/build/services/Rates/helpers/getItems.js +13 -10
  37. package/build/services/Rates/helpers/getItems.js.map +1 -1
  38. package/build/services/Rates/helpers/getOccupationSuggestions.js +8 -2
  39. package/build/services/Rates/helpers/getOccupationSuggestions.js.map +1 -1
  40. package/build/services/Rates/helpers/parseUnavailability.js +2 -1
  41. package/build/services/Rates/helpers/parseUnavailability.js.map +1 -1
  42. package/build/services/Rates/rates.js +2 -1
  43. package/build/services/Rates/rates.js.map +1 -1
  44. package/package.json +1 -1
@@ -31,6 +31,7 @@ const getItems = function () {
31
31
  description,
32
32
  roomTypeInfo: {
33
33
  bedDistributions: bedType = [],
34
+ doubleBedWidth,
34
35
  galleryMedia: {
35
36
  url3D,
36
37
  urlVideo
@@ -53,20 +54,22 @@ const getItems = function () {
53
54
  rates
54
55
  } = Object.values(occupationOptions)[0] || {};
55
56
  const maxOccupation = adults + children;
57
+ const bedTypes = bedType.reduce((result, next) => {
58
+ _constants.BED_DISPOSITION[next].forEach(function () {
59
+ let {
60
+ amount,
61
+ type
62
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
63
+ if ([DOUBLE, SINGLE].includes(type) && amount > 0) result[result.length ? 1 : 0] = type;
64
+ });
65
+ return result;
66
+ }, []);
56
67
  return {
57
68
  amenities: (0, _parseAmenities.parseAmenities)(info),
58
69
  availability,
59
70
  bedDisposition: bedType.map(type => _constants.BED_DISPOSITION[type]),
60
- bedTypes: bedType.reduce((result, next) => {
61
- _constants.BED_DISPOSITION[next].forEach(function () {
62
- let {
63
- amount,
64
- type
65
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
66
- if ([DOUBLE, SINGLE].includes(type) && amount > 0) result[result.length ? 1 : 0] = type;
67
- });
68
- return result;
69
- }, []),
71
+ bedTypes,
72
+ doubleBedWidth: doubleBedWidth && bedTypes.includes(DOUBLE) ? "".concat(doubleBedWidth, " ").concat(_constants.UNIT[unit].bed) : undefined,
70
73
  ...(0, _parseBoards.parseBoards)({
71
74
  currency,
72
75
  fees,
@@ -1 +1 @@
1
- {"version":3,"file":"getItems.js","names":["_parseAmenities","require","_parseBoards","_constants","DOUBLE","SINGLE","BED_TYPE","getItems","currency","currencyCode","hotelCurrency","measureUnit","unit","roomTypes","showLocalTaxes","fees","vatIncluded","taxes","arguments","length","undefined","Object","values","map","amountAvailable","availability","name","newInfoRoom","info","occupationOptions","description","roomTypeInfo","bedDistributions","bedType","galleryMedia","url3D","urlVideo","photos","roomSize","size","occupationQuantities","numFirstRangeChildren","minRange","numSecondRangeChildren","maxRange","numAdults","adults","numBabies","babies","totalChildren","children","posibilities","nights","nightsDeal","rates","maxOccupation","amenities","parseAmenities","bedDisposition","type","BED_DISPOSITION","bedTypes","reduce","result","next","forEach","amount","includes","parseBoards","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","media","occupation","ages","filter","item","concat","UNIT","exports"],"sources":["../../../../src/services/Rates/helpers/getItems.js"],"sourcesContent":["import { parseAmenities } from './parseAmenities';\nimport { parseBoards } from './parseBoards';\nimport { BED_DISPOSITION, BED_TYPE, UNIT } from '../constants';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nexport const getItems = ({\n currency,\n currencyCode: hotelCurrency,\n measureUnit: unit,\n roomTypes,\n showLocalTaxes: fees,\n vatIncluded: taxes,\n} = {}) =>\n Object.values(roomTypes).map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const {\n description,\n roomTypeInfo: {\n bedDistributions: bedType = [],\n galleryMedia: { url3D, urlVideo } = {},\n photos,\n roomSize: size,\n } = {},\n } = info;\n\n const {\n occupationQuantities: {\n numFirstRangeChildren: minRange = 0,\n numSecondRangeChildren: maxRange = 0,\n numAdults: adults = 0,\n numBabies: babies = 0,\n totalChildren: children = 0,\n } = {},\n posibilities: [{ nights: nightsDeal } = {}] = [],\n rates,\n } = Object.values(occupationOptions)[0] || {};\n\n const maxOccupation = adults + children;\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,\n media: url3D || urlVideo ? { url3D, urlVideo } : undefined,\n occupation: maxOccupation\n ? [\n adults > 0 ? { type: 2, amount: adults } : undefined,\n children > 0 ? { type: 3, ages: [minRange, maxRange], amount: children } : undefined,\n babies > 0 ? { type: 4, amount: babies } : undefined,\n ].filter((item) => !!item)\n : [],\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n );\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEA,MAAM;EAAEG,MAAM;EAAEC;AAAO,CAAC,GAAGC,mBAAQ;AAE5B,MAAMC,QAAQ,GAAG,SAAAA,CAAA;EAAA,IAAC;IACvBC,QAAQ;IACRC,YAAY,EAAEC,aAAa;IAC3BC,WAAW,EAAEC,IAAI;IACjBC,SAAS;IACTC,cAAc,EAAEC,IAAI;IACpBC,WAAW,EAAEC;EACf,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OACJG,MAAM,CAACC,MAAM,CAACT,SAAS,CAAC,CAACU,GAAG,CAC1B,YAAkG;IAAA,IAAjG;MAAEC,eAAe,EAAEC,YAAY;MAAEC,IAAI;MAAEC,WAAW,EAAEC,IAAI,GAAG,CAAC,CAAC;MAAEC,iBAAiB,GAAG,CAAC;IAAE,CAAC,GAAAX,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAC3F,MAAM;MACJY,WAAW;MACXC,YAAY,EAAE;QACZC,gBAAgB,EAAEC,OAAO,GAAG,EAAE;QAC9BC,YAAY,EAAE;UAAEC,KAAK;UAAEC;QAAS,CAAC,GAAG,CAAC,CAAC;QACtCC,MAAM;QACNC,QAAQ,EAAEC;MACZ,CAAC,GAAG,CAAC;IACP,CAAC,GAAGX,IAAI;IAER,MAAM;MACJY,oBAAoB,EAAE;QACpBC,qBAAqB,EAAEC,QAAQ,GAAG,CAAC;QACnCC,sBAAsB,EAAEC,QAAQ,GAAG,CAAC;QACpCC,SAAS,EAAEC,MAAM,GAAG,CAAC;QACrBC,SAAS,EAAEC,MAAM,GAAG,CAAC;QACrBC,aAAa,EAAEC,QAAQ,GAAG;MAC5B,CAAC,GAAG,CAAC,CAAC;MACNC,YAAY,EAAE,CAAC;QAAEC,MAAM,EAAEC;MAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;MAChDC;IACF,CAAC,GAAGjC,MAAM,CAACC,MAAM,CAACO,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM0B,aAAa,GAAGT,MAAM,GAAGI,QAAQ;IAEvC,OAAO;MACLM,SAAS,EAAE,IAAAC,8BAAc,EAAC7B,IAAI,CAAC;MAC/BH,YAAY;MACZiC,cAAc,EAAEzB,OAAO,CAACV,GAAG,CAAEoC,IAAI,IAAKC,0BAAe,CAACD,IAAI,CAAC,CAAC;MAC5DE,QAAQ,EAAE5B,OAAO,CAAC6B,MAAM,CAAC,CAACC,MAAM,EAAEC,IAAI,KAAK;QACzCJ,0BAAe,CAACI,IAAI,CAAC,CAACC,OAAO,CAAC,YAA2B;UAAA,IAA1B;YAAEC,MAAM;YAAEP;UAAK,CAAC,GAAAzC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;UAClD,IAAI,CAACd,MAAM,EAAEC,MAAM,CAAC,CAAC8D,QAAQ,CAACR,IAAI,CAAC,IAAIO,MAAM,GAAG,CAAC,EAAEH,MAAM,CAACA,MAAM,CAAC5C,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGwC,IAAI;QACzF,CAAC,CAAC;QAEF,OAAOI,MAAM;MACf,CAAC,EAAE,EAAE,CAAC;MACN,GAAG,IAAAK,wBAAW,EAAC;QAAE5D,QAAQ;QAAEO,IAAI;QAAEL,aAAa;QAAE4C,KAAK;QAAErC;MAAM,CAAC,CAAC;MAC/Da,WAAW;MACXuC,MAAM,EAAEhC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEd,GAAG,CAAC;QAAA,IAAC;UAAE+C,mBAAmB,EAAEC,GAAG;UAAEC,QAAQ,EAAEC,KAAK;UAAEC,aAAa,EAAEC;QAAU,CAAC,GAAAzD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;QAAA,OAAM;UACrGqD,GAAG;UACHE,KAAK;UACLE;QACF,CAAC;MAAA,CAAC,CAAC;MACHjD,IAAI;MACJ2B,UAAU;MACVE,aAAa;MACbqB,KAAK,EAAEzC,KAAK,IAAIC,QAAQ,GAAG;QAAED,KAAK;QAAEC;MAAS,CAAC,GAAGhB,SAAS;MAC1DyD,UAAU,EAAEtB,aAAa,GACrB,CACET,MAAM,GAAG,CAAC,GAAG;QAAEa,IAAI,EAAE,CAAC;QAAEO,MAAM,EAAEpB;MAAO,CAAC,GAAG1B,SAAS,EACpD8B,QAAQ,GAAG,CAAC,GAAG;QAAES,IAAI,EAAE,CAAC;QAAEmB,IAAI,EAAE,CAACpC,QAAQ,EAAEE,QAAQ,CAAC;QAAEsB,MAAM,EAAEhB;MAAS,CAAC,GAAG9B,SAAS,EACpF4B,MAAM,GAAG,CAAC,GAAG;QAAEW,IAAI,EAAE,CAAC;QAAEO,MAAM,EAAElB;MAAO,CAAC,GAAG5B,SAAS,CACrD,CAAC2D,MAAM,CAAEC,IAAI,IAAK,CAAC,CAACA,IAAI,CAAC,GAC1B,EAAE;MACNzC,IAAI,EAAEA,IAAI,MAAA0C,MAAA,CAAM1C,IAAI,OAAA0C,MAAA,CAAIC,eAAI,CAACtE,IAAI,CAAC,CAAC2B,IAAI,IAAKnB;IAC9C,CAAC;EACH,CACF,CAAC;AAAA;AAAC+D,OAAA,CAAA5E,QAAA,GAAAA,QAAA"}
1
+ {"version":3,"file":"getItems.js","names":["_parseAmenities","require","_parseBoards","_constants","DOUBLE","SINGLE","BED_TYPE","getItems","currency","currencyCode","hotelCurrency","measureUnit","unit","roomTypes","showLocalTaxes","fees","vatIncluded","taxes","arguments","length","undefined","Object","values","map","amountAvailable","availability","name","newInfoRoom","info","occupationOptions","description","roomTypeInfo","bedDistributions","bedType","doubleBedWidth","galleryMedia","url3D","urlVideo","photos","roomSize","size","occupationQuantities","numFirstRangeChildren","minRange","numSecondRangeChildren","maxRange","numAdults","adults","numBabies","babies","totalChildren","children","posibilities","nights","nightsDeal","rates","maxOccupation","bedTypes","reduce","result","next","BED_DISPOSITION","forEach","amount","type","includes","amenities","parseAmenities","bedDisposition","concat","UNIT","bed","parseBoards","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","media","occupation","ages","filter","item","exports"],"sources":["../../../../src/services/Rates/helpers/getItems.js"],"sourcesContent":["import { parseAmenities } from './parseAmenities';\nimport { parseBoards } from './parseBoards';\nimport { BED_DISPOSITION, BED_TYPE, UNIT } from '../constants';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nexport const getItems = ({\n currency,\n currencyCode: hotelCurrency,\n measureUnit: unit,\n roomTypes,\n showLocalTaxes: fees,\n vatIncluded: taxes,\n} = {}) =>\n Object.values(roomTypes).map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const {\n description,\n roomTypeInfo: {\n bedDistributions: bedType = [],\n doubleBedWidth,\n galleryMedia: { url3D, urlVideo } = {},\n photos,\n roomSize: size,\n } = {},\n } = info;\n\n const {\n occupationQuantities: {\n numFirstRangeChildren: minRange = 0,\n numSecondRangeChildren: maxRange = 0,\n numAdults: adults = 0,\n numBabies: babies = 0,\n totalChildren: children = 0,\n } = {},\n posibilities: [{ nights: nightsDeal } = {}] = [],\n rates,\n } = Object.values(occupationOptions)[0] || {};\n\n const maxOccupation = adults + children;\n const 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\n return {\n amenities: parseAmenities(info),\n availability,\n bedDisposition: bedType.map((type) => BED_DISPOSITION[type]),\n bedTypes,\n doubleBedWidth: doubleBedWidth && bedTypes.includes(DOUBLE) ? `${doubleBedWidth} ${UNIT[unit].bed}` : undefined,\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,\n media: url3D || urlVideo ? { url3D, urlVideo } : undefined,\n occupation: maxOccupation\n ? [\n adults > 0 ? { type: 2, amount: adults } : undefined,\n children > 0 ? { type: 3, ages: [minRange, maxRange], amount: children } : undefined,\n babies > 0 ? { type: 4, amount: babies } : undefined,\n ].filter((item) => !!item)\n : [],\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n );\n"],"mappings":"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"}
@@ -15,6 +15,7 @@ const {
15
15
  const getOccupationSuggestions = _ref => {
16
16
  let {
17
17
  infantAge,
18
+ maxRooms,
18
19
  occupation = [],
19
20
  ...others
20
21
  } = _ref;
@@ -175,7 +176,12 @@ const getOccupationSuggestions = _ref => {
175
176
  hasFees,
176
177
  hasTaxes
177
178
  }] = rooms || [];
178
- return suggestions.map(function () {
179
+ return suggestions.filter(function () {
180
+ let {
181
+ rooms
182
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
183
+ return rooms.length <= maxRooms && adults >= rooms.length;
184
+ }).map(function () {
179
185
  let {
180
186
  price,
181
187
  rooms
@@ -186,7 +192,7 @@ const getOccupationSuggestions = _ref => {
186
192
  price,
187
193
  rooms
188
194
  };
189
- }).sort((a, b) => a.price - b.price);
195
+ }).sort((a, b) => a.price - b.price).slice(0, 3);
190
196
  };
191
197
  exports.getOccupationSuggestions = getOccupationSuggestions;
192
198
  //# sourceMappingURL=getOccupationSuggestions.js.map
@@ -1 +1 @@
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","name","Array","fill","pop","price","index","room","totalRooms","id","totalAvailability","occupied","hasFees","hasTaxes","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 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 rooms: suggestion.map(({ adults, babies, children, name } = {}) => {\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 { name, 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 const totalRooms = rooms.filter(({ id } = {}) => id === room.id).length;\n const totalAvailability = rooms\n .filter(({ id } = {}) => id === room.id)\n .reduce((total, { availability } = {}) => total + availability, 0);\n const occupied = suggestion.filter(({ id } = {}) => id === room.id).length;\n\n search({\n adults: adults - room.adults,\n availability: totalAvailability - totalRooms - occupied,\n babies: babies - room.babies,\n children: children - room.children,\n rooms,\n startIndex: index + 1,\n suggestion: [\n ...suggestion,\n {\n id: room.id,\n adults: room.adults,\n children: room.children,\n babies: room.babies,\n name: room.name,\n price: room.price,\n },\n ],\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 const [{ hasFees, hasTaxes }] = rooms || [];\n\n return suggestions\n .map(({ price, rooms } = {}) => ({ hasFees, hasTaxes, price, rooms }))\n .sort((a, b) => a.price - b.price);\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","maxRooms","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","name","Array","fill","pop","price","index","room","totalRooms","id","totalAvailability","occupied","hasFees","hasTaxes","sort","a","b","slice","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, maxRooms, 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 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 rooms: suggestion.map(({ adults, babies, children, name } = {}) => {\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 { name, 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 const totalRooms = rooms.filter(({ id } = {}) => id === room.id).length;\n const totalAvailability = rooms\n .filter(({ id } = {}) => id === room.id)\n .reduce((total, { availability } = {}) => total + availability, 0);\n const occupied = suggestion.filter(({ id } = {}) => id === room.id).length;\n\n search({\n adults: adults - room.adults,\n availability: totalAvailability - totalRooms - occupied,\n babies: babies - room.babies,\n children: children - room.children,\n rooms,\n startIndex: index + 1,\n suggestion: [\n ...suggestion,\n {\n id: room.id,\n adults: room.adults,\n children: room.children,\n babies: room.babies,\n name: room.name,\n price: room.price,\n },\n ],\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 const [{ hasFees, hasTaxes }] = rooms || [];\n\n return suggestions\n .filter(({ rooms } = {}) => rooms.length <= maxRooms && adults >= rooms.length)\n .map(({ price, rooms } = {}) => ({ hasFees, hasTaxes, price, rooms }))\n .sort((a, b) => a.price - b.price)\n .slice(0, 3);\n};\n"],"mappings":"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"}
@@ -81,7 +81,8 @@ const parseUnavailability = function () {
81
81
  occupation = (0, _getOccupationSuggestions.getOccupationSuggestions)({
82
82
  infantAge,
83
83
  roomTypes,
84
- occupation: propOccupation
84
+ occupation: propOccupation,
85
+ ...response
85
86
  });
86
87
  }
87
88
  const [{
@@ -1 +1 @@
1
- {"version":3,"file":"parseUnavailability.js","names":["_getCalendarSuggestions","require","_getDisabledDates","_getMinStayDates","_getOccupationSuggestions","_getTaxesType","_Core","BY_CHECK_IN","parseUnavailability","availabilitySuggestions","availability","firstChildInterval","hotelEmail","email","hotelPhone","phone","messages","availabilityMessage","noAvailabilityMessage","occupation","propOccupation","roomTypes","showLocalTaxes","fees","vatIncluded","taxes","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","hasFees","hasTaxes","hotel","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 hotelEmail: email,\n hotelPhone: phone,\n messages: { availabilityMessage, noAvailabilityMessage } = {},\n occupation: propOccupation,\n roomTypes,\n showLocalTaxes: fees,\n vatIncluded: taxes,\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 const [{ hasFees, hasTaxes } = {}] = occupation || [];\n\n return hotels || calendar || occupation\n ? {\n calendar: { disabledDates, minStayDates, minStayType },\n hotel: { email, phone },\n hotels,\n suggestions: { calendar, description, occupation },\n taxesType: getTaxesType({ fees, hasFees, hasTaxes, taxes }),\n }\n : undefined;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"parseUnavailability.js","names":["_getCalendarSuggestions","require","_getDisabledDates","_getMinStayDates","_getOccupationSuggestions","_getTaxesType","_Core","BY_CHECK_IN","parseUnavailability","availabilitySuggestions","availability","firstChildInterval","hotelEmail","email","hotelPhone","phone","messages","availabilityMessage","noAvailabilityMessage","occupation","propOccupation","roomTypes","showLocalTaxes","fees","vatIncluded","taxes","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","hasFees","hasTaxes","hotel","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 hotelEmail: email,\n hotelPhone: phone,\n messages: { availabilityMessage, noAvailabilityMessage } = {},\n occupation: propOccupation,\n roomTypes,\n showLocalTaxes: fees,\n vatIncluded: taxes,\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, ...response });\n }\n\n const [{ hasFees, hasTaxes } = {}] = occupation || [];\n\n return hotels || calendar || occupation\n ? {\n calendar: { disabledDates, minStayDates, minStayType },\n hotel: { email, phone },\n hotels,\n suggestions: { calendar, description, occupation },\n taxesType: getTaxesType({ fees, hasFees, hasTaxes, taxes }),\n }\n : undefined;\n};\n"],"mappings":"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"}
@@ -71,7 +71,8 @@ const rates = function () {
71
71
  ...response,
72
72
  checkIn: checkin,
73
73
  nights,
74
- occupation
74
+ occupation,
75
+ ...others
75
76
  });
76
77
  if (unavailability) return reject(unavailability);
77
78
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"rates.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","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","hotelverse","messages","availabilityMessage","increments","showLocalTaxes","fees","userCountry","country","vatIncluded","taxes","ServiceCurrency","exchange","infantAge","lowerBound","items","getItems","boards","hasFees","hasTaxes","clubConditions","ServiceFeatures","get","EXTERNAL","URL","DEFAULT_LANGUAGE","externalSignout","TYPE","clubLogin","status","VALID","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 { DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, VALID } from './constants';\nimport { getItems, getTaxesType, parseExternalToken, parseTracking, parseUnavailability } from './helpers';\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 hotelverse,\n messages: { availabilityMessage: { increments } = {} } = {},\n showLocalTaxes: fees,\n userCountry: country,\n vatIncluded: taxes,\n } = response;\n\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n const infantAge = firstChildInterval?.lowerBound;\n const items = getItems({ ...response, currency });\n\n const [{ boards: [{ fees: hasFees, taxes: hasTaxes } = {}] = [] } = {}] = items || [];\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 hotelverse,\n increments: increments || undefined,\n infantAge: infantAge !== null ? infantAge : undefined,\n items,\n taxesType: getTaxesType({ fees, hasFees, hasTaxes, taxes }),\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","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","hotelverse","messages","availabilityMessage","increments","showLocalTaxes","fees","userCountry","country","vatIncluded","taxes","ServiceCurrency","exchange","infantAge","lowerBound","items","getItems","boards","hasFees","hasTaxes","clubConditions","ServiceFeatures","get","EXTERNAL","URL","DEFAULT_LANGUAGE","externalSignout","TYPE","clubLogin","status","VALID","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 { DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, VALID } from './constants';\nimport { getItems, getTaxesType, parseExternalToken, parseTracking, parseUnavailability } from './helpers';\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, ...others });\n if (unavailability) return reject(unavailability);\n\n const {\n club,\n currencyCode: hotelCurrency,\n firstChildInterval = {},\n hotelverse,\n messages: { availabilityMessage: { increments } = {} } = {},\n showLocalTaxes: fees,\n userCountry: country,\n vatIncluded: taxes,\n } = response;\n\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n const infantAge = firstChildInterval?.lowerBound;\n const items = getItems({ ...response, currency });\n\n const [{ boards: [{ fees: hasFees, taxes: hasTaxes } = {}] = [] } = {}] = items || [];\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 hotelverse,\n increments: increments || undefined,\n infantAge: infantAge !== null ? infantAge : undefined,\n items,\n taxesType: getTaxesType({ fees, hasFees, hasTaxes, taxes }),\n tracking: parseTracking(response),\n });\n });\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.207",
3
+ "version": "0.3.209",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",