@mirai/core 0.3.394 → 0.3.396

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 (134) hide show
  1. package/build/components/Booking/Booking.l10n.js +5 -2
  2. package/build/components/Booking/Booking.l10n.js.map +1 -1
  3. package/build/components/Booking/helpers/getButtonPaymentKey.js +35 -0
  4. package/build/components/Booking/helpers/getButtonPaymentKey.js.map +1 -0
  5. package/build/components/Booking/helpers/getButtonPaymentKey.l10n.js +21 -0
  6. package/build/components/Booking/helpers/getButtonPaymentKey.l10n.js.map +1 -0
  7. package/build/components/Booking/helpers/index.js +4 -4
  8. package/build/components/Booking/helpers/index.js.map +1 -1
  9. package/build/components/Booking/partials/Booking.Payment.js +8 -2
  10. package/build/components/Booking/partials/Booking.Payment.js.map +1 -1
  11. package/build/components/Chat/Chat.js +1 -1
  12. package/build/components/Chat/Chat.js.map +1 -1
  13. package/build/components/{helpers → Checkout/helpers}/getButtonPaymentKey.js +2 -4
  14. package/build/components/Checkout/helpers/getButtonPaymentKey.js.map +1 -0
  15. package/build/components/{helpers → Checkout/helpers}/getButtonPaymentKey.l10n.js +0 -3
  16. package/build/components/Checkout/helpers/getButtonPaymentKey.l10n.js.map +1 -0
  17. package/build/components/Checkout/helpers/index.js +11 -0
  18. package/build/components/Checkout/helpers/index.js.map +1 -1
  19. package/build/components/Checkout/partials/Checkout.Confirmation.js +2 -1
  20. package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
  21. package/build/components/Finder/components/Places/Places.js +1 -0
  22. package/build/components/Finder/components/Places/Places.js.map +1 -1
  23. package/build/components/Finder/components/Places/__tests__/__snapshots__/Places.test.js.snap +4 -28
  24. package/build/components/Rates/Rates.js +2 -3
  25. package/build/components/Rates/Rates.js.map +1 -1
  26. package/build/components/Rates/components/ModalExtras/ModalExtras.constants.js +17 -0
  27. package/build/components/Rates/components/ModalExtras/ModalExtras.constants.js.map +1 -0
  28. package/build/components/Rates/components/ModalExtras/helpers/getCaption.js +10 -10
  29. package/build/components/Rates/components/ModalExtras/helpers/getCaption.js.map +1 -1
  30. package/build/components/Session/Session.Account.js +3 -5
  31. package/build/components/Session/Session.Account.js.map +1 -1
  32. package/build/components/Session/Session.module.css +6 -6
  33. package/build/components/helpers/index.js +0 -11
  34. package/build/components/helpers/index.js.map +1 -1
  35. package/build/helpers/fetchConfig.js +1 -1
  36. package/build/helpers/fetchConfig.js.map +1 -1
  37. package/build/helpers/getClubUrl.js +1 -1
  38. package/build/helpers/getClubUrl.js.map +1 -1
  39. package/package.json +1 -2
  40. package/build/components/Finder/helpers/__tests__/__mocks__/chain.json +0 -1113
  41. package/build/components/Finder/helpers/__tests__/__mocks__/hotel.json +0 -199
  42. package/build/components/helpers/getButtonPaymentKey.js.map +0 -1
  43. package/build/components/helpers/getButtonPaymentKey.l10n.js.map +0 -1
  44. package/build/services/Club/__tests__/__mocks__/get.json +0 -66
  45. package/build/services/Club/constants.js +0 -10
  46. package/build/services/Club/constants.js.map +0 -1
  47. package/build/services/Club/get.js +0 -35
  48. package/build/services/Club/get.js.map +0 -1
  49. package/build/services/Club/index.js +0 -11
  50. package/build/services/Club/index.js.map +0 -1
  51. package/build/services/Engine/__tests__/__mocks__/chain.json +0 -2695
  52. package/build/services/Engine/__tests__/__mocks__/hotel.json +0 -184
  53. package/build/services/Engine/constants.js +0 -10
  54. package/build/services/Engine/constants.js.map +0 -1
  55. package/build/services/Engine/get.js +0 -31
  56. package/build/services/Engine/get.js.map +0 -1
  57. package/build/services/Engine/index.js +0 -11
  58. package/build/services/Engine/index.js.map +0 -1
  59. package/build/services/Lisa/action.js +0 -28
  60. package/build/services/Lisa/action.js.map +0 -1
  61. package/build/services/Lisa/index.js +0 -17
  62. package/build/services/Lisa/index.js.map +0 -1
  63. package/build/services/Lisa/message.js +0 -26
  64. package/build/services/Lisa/message.js.map +0 -1
  65. package/build/services/Lisa/status.js +0 -13
  66. package/build/services/Lisa/status.js.map +0 -1
  67. package/build/services/Lisa/welcome.js +0 -25
  68. package/build/services/Lisa/welcome.js.map +0 -1
  69. package/build/services/Rates/__tests__/__mocks__/extras-success-all.json +0 -264
  70. package/build/services/Rates/__tests__/__mocks__/extras-success.json +0 -1000
  71. package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +0 -2958
  72. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +0 -870
  73. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +0 -2250
  74. package/build/services/Rates/__tests__/__mocks__/rates-response.json +0 -500
  75. package/build/services/Rates/__tests__/__mocks__/rates-success-cancel-types.json +0 -32481
  76. package/build/services/Rates/__tests__/__mocks__/rates-success-no-taxes-no-local.json +0 -6674
  77. package/build/services/Rates/__tests__/__mocks__/rates-success-no-taxes.json +0 -16508
  78. package/build/services/Rates/__tests__/__mocks__/rates-success.json +0 -5648
  79. package/build/services/Rates/constants.js +0 -121
  80. package/build/services/Rates/constants.js.map +0 -1
  81. package/build/services/Rates/extras.js +0 -14
  82. package/build/services/Rates/extras.js.map +0 -1
  83. package/build/services/Rates/extrasParsed.js +0 -197
  84. package/build/services/Rates/extrasParsed.js.map +0 -1
  85. package/build/services/Rates/get.js +0 -34
  86. package/build/services/Rates/get.js.map +0 -1
  87. package/build/services/Rates/helpers/compareSuggestions.js +0 -40
  88. package/build/services/Rates/helpers/compareSuggestions.js.map +0 -1
  89. package/build/services/Rates/helpers/getCalendarSuggestions.js +0 -72
  90. package/build/services/Rates/helpers/getCalendarSuggestions.js.map +0 -1
  91. package/build/services/Rates/helpers/getDisabledDates.js +0 -35
  92. package/build/services/Rates/helpers/getDisabledDates.js.map +0 -1
  93. package/build/services/Rates/helpers/getIncrements.js +0 -69
  94. package/build/services/Rates/helpers/getIncrements.js.map +0 -1
  95. package/build/services/Rates/helpers/getItems.js +0 -127
  96. package/build/services/Rates/helpers/getItems.js.map +0 -1
  97. package/build/services/Rates/helpers/getLanguage.js +0 -9
  98. package/build/services/Rates/helpers/getLanguage.js.map +0 -1
  99. package/build/services/Rates/helpers/getMinStayDates.js +0 -36
  100. package/build/services/Rates/helpers/getMinStayDates.js.map +0 -1
  101. package/build/services/Rates/helpers/getOccupationSuggestions.js +0 -198
  102. package/build/services/Rates/helpers/getOccupationSuggestions.js.map +0 -1
  103. package/build/services/Rates/helpers/getPrice.js +0 -22
  104. package/build/services/Rates/helpers/getPrice.js.map +0 -1
  105. package/build/services/Rates/helpers/getRooms.js +0 -65
  106. package/build/services/Rates/helpers/getRooms.js.map +0 -1
  107. package/build/services/Rates/helpers/getTaxesType.js +0 -26
  108. package/build/services/Rates/helpers/getTaxesType.js.map +0 -1
  109. package/build/services/Rates/helpers/index.js +0 -138
  110. package/build/services/Rates/helpers/index.js.map +0 -1
  111. package/build/services/Rates/helpers/normalizePrice.js +0 -15
  112. package/build/services/Rates/helpers/normalizePrice.js.map +0 -1
  113. package/build/services/Rates/helpers/parseAmenities.js +0 -87
  114. package/build/services/Rates/helpers/parseAmenities.js.map +0 -1
  115. package/build/services/Rates/helpers/parseDiscount.js +0 -48
  116. package/build/services/Rates/helpers/parseDiscount.js.map +0 -1
  117. package/build/services/Rates/helpers/parseExternalToken.js +0 -24
  118. package/build/services/Rates/helpers/parseExternalToken.js.map +0 -1
  119. package/build/services/Rates/helpers/parseHotelDiscount.js +0 -29
  120. package/build/services/Rates/helpers/parseHotelDiscount.js.map +0 -1
  121. package/build/services/Rates/helpers/parseItem.js +0 -216
  122. package/build/services/Rates/helpers/parseItem.js.map +0 -1
  123. package/build/services/Rates/helpers/parseTracking.js +0 -140
  124. package/build/services/Rates/helpers/parseTracking.js.map +0 -1
  125. package/build/services/Rates/helpers/parseUnavailability.js +0 -117
  126. package/build/services/Rates/helpers/parseUnavailability.js.map +0 -1
  127. package/build/services/Rates/hotels.js +0 -138
  128. package/build/services/Rates/hotels.js.map +0 -1
  129. package/build/services/Rates/index.js +0 -13
  130. package/build/services/Rates/index.js.map +0 -1
  131. package/build/services/Rates/rates.js +0 -141
  132. package/build/services/Rates/rates.js.map +0 -1
  133. package/build/services/index.js +0 -50
  134. package/build/services/index.js.map +0 -1
@@ -1,140 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.parseTracking = void 0;
7
- const parseBoards = (boards, localTaxesIncluded) => Object.fromEntries(Object.entries(boards).map(function () {
8
- let [id, {
9
- detail,
10
- boardGroupName,
11
- name,
12
- originalAvgPrice,
13
- totalBasePrice,
14
- totalLocalTaxes,
15
- totalPriceWithTaxes
16
- } = {}] = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
17
- return [id, {
18
- boardGroupName,
19
- detail: detail.map(function () {
20
- let {
21
- priceWithoutTaxes,
22
- priceWithTaxes
23
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
24
- return {
25
- priceWithoutTaxes,
26
- priceWithTaxes
27
- };
28
- }),
29
- id,
30
- name,
31
- originalAvgPrice,
32
- totalBasePrice,
33
- totalPrice: totalPriceWithTaxes + (!localTaxesIncluded ? totalLocalTaxes : 0),
34
- totalLocalTaxes,
35
- totalPriceWithTaxes
36
- }];
37
- }));
38
- const parseRates = (rates, localTaxesIncluded) => Object.fromEntries(Object.entries(rates).map(function () {
39
- let [id, {
40
- boardOptions,
41
- name,
42
- cancellationPolicyTypeEnum,
43
- sortedKeysBoards
44
- } = {}] = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
45
- return [id, {
46
- boardOptions: parseBoards(boardOptions, localTaxesIncluded),
47
- cancellationPolicyTypeEnum,
48
- id,
49
- name,
50
- sortedKeysBoards
51
- }];
52
- }));
53
- const parseOptions = (options, localTaxesIncluded) => Object.fromEntries(Object.entries(options).map(function () {
54
- let [id, {
55
- numAdults,
56
- numFirstRangeChildren,
57
- numSecondRangeChildren,
58
- rates
59
- } = {}] = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
60
- return [id, {
61
- numAdults,
62
- numFirstRangeChildren,
63
- numSecondRangeChildren,
64
- rates: parseRates(rates, localTaxesIncluded)
65
- }];
66
- }));
67
- const parseTracking = function () {
68
- let response = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
69
- let isHotel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
70
- const {
71
- currencyCode,
72
- currenciesInfo: {
73
- mapCurrencies: currencies
74
- } = {},
75
- hotelInfoBAR: hotels = [],
76
- multiroom,
77
- propertyName,
78
- propertyType,
79
- resultCode: status,
80
- roomTypes,
81
- showLocalTaxes: localTaxesIncluded,
82
- userCountry: country,
83
- userCurrency,
84
- vatIncluded: taxesIncluded
85
- } = response;
86
- return {
87
- ...(isHotel ? {
88
- country,
89
- hotelInfo: {
90
- currency: currencies[currencyCode],
91
- propertyName,
92
- propertyType
93
- },
94
- localTaxesIncluded,
95
- multiroom,
96
- rates: Object.entries(roomTypes).map(function () {
97
- let [, {
98
- amountAvailable,
99
- id: roomId,
100
- name,
101
- occupationOptions,
102
- sortedKeysOccupations
103
- } = {}] = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
104
- return {
105
- amountAvailable,
106
- id: roomId,
107
- name,
108
- occupationOptions: parseOptions(occupationOptions, localTaxesIncluded),
109
- sortedKeysOccupations
110
- };
111
- }),
112
- taxesIncluded,
113
- userCurrency: currencies[userCurrency]
114
- } : {
115
- hotelInfoBAR: hotels.map(function () {
116
- let {
117
- currency,
118
- bestAvailableRate: {
119
- averagePrice,
120
- totalPrice
121
- },
122
- hotelName,
123
- idTokenProvider
124
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
125
- return {
126
- currency,
127
- bestAvailableRate: {
128
- averagePrice,
129
- totalPrice
130
- },
131
- hotelName,
132
- idTokenProvider
133
- };
134
- })
135
- }),
136
- status: isHotel ? status : hotels.length > 0 ? 'AVAILABILITY' : 'NO_AVAILABILITY'
137
- };
138
- };
139
- exports.parseTracking = parseTracking;
140
- //# sourceMappingURL=parseTracking.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseTracking.js","names":["parseBoards","boards","localTaxesIncluded","Object","fromEntries","entries","map","id","detail","boardGroupName","name","originalAvgPrice","totalBasePrice","totalLocalTaxes","totalPriceWithTaxes","arguments","length","undefined","priceWithoutTaxes","priceWithTaxes","totalPrice","parseRates","rates","boardOptions","cancellationPolicyTypeEnum","sortedKeysBoards","parseOptions","options","numAdults","numFirstRangeChildren","numSecondRangeChildren","parseTracking","response","isHotel","currencyCode","currenciesInfo","mapCurrencies","currencies","hotelInfoBAR","hotels","multiroom","propertyName","propertyType","resultCode","status","roomTypes","showLocalTaxes","userCountry","country","userCurrency","vatIncluded","taxesIncluded","hotelInfo","currency","amountAvailable","roomId","occupationOptions","sortedKeysOccupations","bestAvailableRate","averagePrice","hotelName","idTokenProvider","exports"],"sources":["../../../../src/services/Rates/helpers/parseTracking.js"],"sourcesContent":["const parseBoards = (boards, localTaxesIncluded) =>\n Object.fromEntries(\n Object.entries(boards).map(\n ([\n id,\n { detail, boardGroupName, name, originalAvgPrice, totalBasePrice, totalLocalTaxes, totalPriceWithTaxes } = {},\n ] = []) => [\n id,\n {\n boardGroupName,\n detail: detail.map(({ priceWithoutTaxes, priceWithTaxes } = {}) => ({\n priceWithoutTaxes,\n priceWithTaxes,\n })),\n id,\n name,\n originalAvgPrice,\n totalBasePrice,\n totalPrice: totalPriceWithTaxes + (!localTaxesIncluded ? totalLocalTaxes : 0),\n totalLocalTaxes,\n totalPriceWithTaxes,\n },\n ],\n ),\n );\n\nconst parseRates = (rates, localTaxesIncluded) =>\n Object.fromEntries(\n Object.entries(rates).map(\n ([id, { boardOptions, name, cancellationPolicyTypeEnum, sortedKeysBoards } = {}] = []) => [\n id,\n {\n boardOptions: parseBoards(boardOptions, localTaxesIncluded),\n cancellationPolicyTypeEnum,\n id,\n name,\n sortedKeysBoards,\n },\n ],\n ),\n );\n\nconst parseOptions = (options, localTaxesIncluded) =>\n Object.fromEntries(\n Object.entries(options).map(\n ([id, { numAdults, numFirstRangeChildren, numSecondRangeChildren, rates } = {}] = []) => [\n id,\n { numAdults, numFirstRangeChildren, numSecondRangeChildren, rates: parseRates(rates, localTaxesIncluded) },\n ],\n ),\n );\n\nexport const parseTracking = (response = {}, isHotel = true) => {\n const {\n currencyCode,\n currenciesInfo: { mapCurrencies: currencies } = {},\n hotelInfoBAR: hotels = [],\n multiroom,\n propertyName,\n propertyType,\n resultCode: status,\n roomTypes,\n showLocalTaxes: localTaxesIncluded,\n userCountry: country,\n userCurrency,\n vatIncluded: taxesIncluded,\n } = response;\n\n return {\n ...(isHotel\n ? {\n country,\n hotelInfo: {\n currency: currencies[currencyCode],\n propertyName,\n propertyType,\n },\n localTaxesIncluded,\n multiroom,\n rates: Object.entries(roomTypes).map(\n ([, { amountAvailable, id: roomId, name, occupationOptions, sortedKeysOccupations } = {}] = []) => ({\n amountAvailable,\n id: roomId,\n name,\n occupationOptions: parseOptions(occupationOptions, localTaxesIncluded),\n sortedKeysOccupations,\n }),\n ),\n taxesIncluded,\n userCurrency: currencies[userCurrency],\n }\n : {\n hotelInfoBAR: hotels.map(\n ({ currency, bestAvailableRate: { averagePrice, totalPrice }, hotelName, idTokenProvider } = {}) => ({\n currency,\n bestAvailableRate: { averagePrice, totalPrice },\n hotelName,\n idTokenProvider,\n }),\n ),\n }),\n status: isHotel ? status : hotels.length > 0 ? 'AVAILABILITY' : 'NO_AVAILABILITY',\n };\n};\n"],"mappings":"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"}
@@ -1,117 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.parseUnavailability = void 0;
7
- var _getCalendarSuggestions = require("./getCalendarSuggestions");
8
- var _getDisabledDates = require("./getDisabledDates");
9
- var _getMinStayDates = require("./getMinStayDates");
10
- var _getOccupationSuggestions = require("./getOccupationSuggestions");
11
- var _getTaxesType = require("./getTaxesType");
12
- var _Core = require("../../../Core.constants");
13
- const BY_CHECK_IN = 'BY_CHECKIN';
14
- const parseUnavailability = function () {
15
- let {
16
- availabilitySuggestions: availability,
17
- firstChildInterval,
18
- hotelEmail: email,
19
- hotelPhone: phone,
20
- messages: {
21
- availabilityMessage,
22
- noAvailabilityMessage
23
- } = {},
24
- occupation: propOccupation,
25
- roomTypes,
26
- showLocalTaxes: fees,
27
- vatIncluded: taxes,
28
- ...response
29
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
30
- let calendar;
31
- let disabledDates;
32
- let description;
33
- let minStayDates;
34
- let minStayType;
35
- let occupation;
36
- let hotels;
37
- if (availability !== null) {
38
- var _availability$hotelSu;
39
- const {
40
- calendar: {
41
- minimumStayConfig: config = BY_CHECK_IN
42
- } = {}
43
- } = availability;
44
- minStayType = config === BY_CHECK_IN ? _Core.MIN_STAY_TYPE.CHECK_IN : _Core.MIN_STAY_TYPE.STAY;
45
- calendar = (0, _getCalendarSuggestions.getCalendarSuggestions)({
46
- ...availability,
47
- ...response,
48
- minStayType
49
- });
50
- disabledDates = (0, _getDisabledDates.getDisabledDates)(availability);
51
- minStayDates = (0, _getMinStayDates.getMinStayDates)(availability);
52
- description = noAvailabilityMessage === null || noAvailabilityMessage === void 0 ? void 0 : noAvailabilityMessage.noDispoMessage;
53
- hotels = availability === null || availability === void 0 ? void 0 : (_availability$hotelSu = availability.hotelSuggestions) === null || _availability$hotelSu === void 0 ? void 0 : _availability$hotelSu.map(_ref => {
54
- let {
55
- distanceMessage: distance,
56
- idtokenprovider: id,
57
- location,
58
- name,
59
- photo,
60
- rates: [{
61
- price = 0
62
- } = {}] = [],
63
- url
64
- } = _ref;
65
- const [, ...rest] = name.split(' ');
66
- return {
67
- features: {
68
- distance,
69
- location,
70
- url
71
- },
72
- id,
73
- images: [photo],
74
- name: rest.join(' '),
75
- price: price / 100
76
- };
77
- });
78
- }
79
- if (availabilityMessage !== null && availabilityMessage.notOccupationRequested != null) {
80
- const infantAge = firstChildInterval === null || firstChildInterval === void 0 ? void 0 : firstChildInterval.lowerBound;
81
- occupation = (0, _getOccupationSuggestions.getOccupationSuggestions)({
82
- infantAge,
83
- roomTypes,
84
- occupation: propOccupation,
85
- ...response
86
- });
87
- }
88
- const [{
89
- hasFees,
90
- hasTaxes
91
- } = {}] = occupation || [];
92
- return hotels || calendar || occupation ? {
93
- calendar: {
94
- disabledDates,
95
- minStayDates,
96
- minStayType
97
- },
98
- hotel: {
99
- email,
100
- phone
101
- },
102
- hotels,
103
- suggestions: {
104
- calendar,
105
- description,
106
- occupation
107
- },
108
- taxesType: (0, _getTaxesType.getTaxesType)({
109
- fees,
110
- hasFees,
111
- hasTaxes,
112
- taxes
113
- })
114
- } : undefined;
115
- };
116
- exports.parseUnavailability = parseUnavailability;
117
- //# sourceMappingURL=parseUnavailability.js.map
@@ -1 +0,0 @@
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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"}
@@ -1,138 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.hotels = void 0;
7
- var _dataSources = require("@mirai/data-sources");
8
- var _services = require("@mirai/services");
9
- var _helpers = require("./helpers");
10
- /* eslint-disable no-async-promise-executor */
11
-
12
- const hotels = function () {
13
- let {
14
- session: {
15
- authorization
16
- } = {},
17
- id,
18
- locale,
19
- userCurrency,
20
- ...others
21
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
22
- return new Promise(async (resolve, reject) => {
23
- var _response$hotelInfoBA;
24
- const {
25
- hotelIds,
26
- idchain,
27
- ...rest
28
- } = others || {};
29
- const language = locale === null || locale === void 0 ? void 0 : locale.split('-')[0];
30
- const params = Object.entries({
31
- authorization,
32
- currency: userCurrency,
33
- hotel_ids: hotelIds,
34
- id_chain: idchain || id,
35
- ...rest,
36
- lang: (0, _helpers.getLanguage)(language)
37
- }).filter(_ref => {
38
- let [, value] = _ref;
39
- return value !== undefined;
40
- });
41
- const response = await (0, _dataSources.request)({
42
- hostname: process.env.SERVICE_CURRENCY,
43
- endpoint: "/chain_result?".concat(new URLSearchParams(params)),
44
- headers: {
45
- 'Accept-Language': language,
46
- Authorization: "Basic ".concat(btoa('anonimous:anonimous')),
47
- 'X-Requested-With': undefined
48
- }
49
- }).catch(reject);
50
- if (!response || ((_response$hotelInfoBA = response.hotelInfoBAR) === null || _response$hotelInfoBA === void 0 ? void 0 : _response$hotelInfoBA.length) < 1 || response.result === 'EXCEPTION') {
51
- return reject({
52
- calendar: true
53
- });
54
- }
55
- const {
56
- hotelInfoBAR: rawHotels = []
57
- } = response;
58
- const {
59
- nights
60
- } = rest || {};
61
- resolve({
62
- hotels: await Promise.all(rawHotels.map(async function () {
63
- let {
64
- bestAvailableRate: {
65
- averagePrice: {
66
- internalOriginal: basePrice,
67
- internalWithTaxes: price
68
- } = {},
69
- discountPricesBefore: discounts = {}
70
- } = {},
71
- category: {
72
- numStars: stars
73
- } = {},
74
- currency: {
75
- currencyCode: hotelCurrency
76
- } = {},
77
- hotelName: name,
78
- idTokenProvider: id,
79
- locality = '',
80
- photos: images,
81
- province = '',
82
- url
83
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
84
- const currency = userCurrency || hotelCurrency;
85
- await _services.ServiceCurrency.exchange(currency);
86
- const taxes = basePrice === price;
87
- const totalPrice = (taxes ? price : basePrice) * nights;
88
- const parsedDiscounts = (0, _helpers.parseHotelDiscount)(discounts);
89
- const {
90
- clientCodeTotal: promoCode,
91
- clubTotal: club,
92
- offerTotal: deal
93
- } = parsedDiscounts;
94
- const originalPrice = (taxes ? Math.max((deal === null || deal === void 0 ? void 0 : deal.withTaxes) || 0, (club === null || club === void 0 ? void 0 : club.withTaxes) || 0, (promoCode === null || promoCode === void 0 ? void 0 : promoCode.withTaxes) || 0) : Math.max((deal === null || deal === void 0 ? void 0 : deal.original) || 0, (club === null || club === void 0 ? void 0 : club.original) || 0, (promoCode === null || promoCode === void 0 ? void 0 : promoCode.original) || 0)) || totalPrice;
95
- const {
96
- percentage: discountPercentage,
97
- breakdown = []
98
- } = (0, _helpers.parseDiscount)({
99
- currency,
100
- hotelCurrency,
101
- ...{
102
- ...discounts,
103
- ...parsedDiscounts
104
- },
105
- originalPrice,
106
- taxes,
107
- totalPrice
108
- });
109
- return {
110
- discountPercentage,
111
- features: {
112
- location: "".concat(locality, ", ").concat(province),
113
- url
114
- },
115
- hasDiscountClub: breakdown.some(function () {
116
- let {
117
- type
118
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
119
- return type === 0;
120
- }),
121
- id,
122
- images,
123
- name,
124
- price: (0, _helpers.getPrice)({
125
- currency,
126
- hotelCurrency,
127
- price: totalPrice
128
- }),
129
- stars,
130
- taxes
131
- };
132
- })),
133
- tracking: (0, _helpers.parseTracking)(response, false)
134
- });
135
- });
136
- };
137
- exports.hotels = hotels;
138
- //# sourceMappingURL=hotels.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hotels.js","names":["_dataSources","require","_services","_helpers","hotels","session","authorization","id","locale","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_response$hotelInfoBA","hotelIds","idchain","rest","language","split","params","Object","entries","currency","hotel_ids","id_chain","lang","getLanguage","filter","_ref","value","response","request","hostname","process","env","SERVICE_CURRENCY","endpoint","concat","URLSearchParams","headers","Authorization","btoa","catch","hotelInfoBAR","result","calendar","rawHotels","nights","all","map","bestAvailableRate","averagePrice","internalOriginal","basePrice","internalWithTaxes","price","discountPricesBefore","discounts","category","numStars","stars","currencyCode","hotelCurrency","hotelName","name","idTokenProvider","locality","photos","images","province","url","ServiceCurrency","exchange","taxes","totalPrice","parsedDiscounts","parseHotelDiscount","clientCodeTotal","promoCode","clubTotal","club","offerTotal","deal","originalPrice","Math","max","withTaxes","original","percentage","discountPercentage","breakdown","parseDiscount","features","location","hasDiscountClub","some","type","getPrice","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/hotels.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\n\nimport { getLanguage, getPrice, parseDiscount, parseHotelDiscount, parseTracking } from './helpers';\n\nexport const hotels = ({ session: { authorization } = {}, id, locale, userCurrency, ...others } = {}) =>\n new Promise(async (resolve, reject) => {\n const { hotelIds, idchain, ...rest } = others || {};\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n authorization,\n currency: userCurrency,\n hotel_ids: hotelIds,\n id_chain: idchain || id,\n ...rest,\n lang: getLanguage(language),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_CURRENCY,\n endpoint: `/chain_result?${new URLSearchParams(params)}`,\n headers: {\n 'Accept-Language': language,\n Authorization: `Basic ${btoa('anonimous:anonimous')}`,\n 'X-Requested-With': undefined,\n },\n }).catch(reject);\n\n if (!response || response.hotelInfoBAR?.length < 1 || response.result === 'EXCEPTION') {\n return reject({ calendar: true });\n }\n\n const { hotelInfoBAR: rawHotels = [] } = response;\n const { nights } = rest || {};\n\n resolve({\n hotels: await Promise.all(\n rawHotels.map(\n async ({\n bestAvailableRate: {\n averagePrice: { internalOriginal: basePrice, internalWithTaxes: price } = {},\n discountPricesBefore: discounts = {},\n } = {},\n category: { numStars: stars } = {},\n currency: { currencyCode: hotelCurrency } = {},\n hotelName: name,\n idTokenProvider: id,\n locality = '',\n photos: images,\n province = '',\n url,\n } = {}) => {\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n const taxes = basePrice === price;\n const totalPrice = (taxes ? price : basePrice) * nights;\n const parsedDiscounts = parseHotelDiscount(discounts);\n const { clientCodeTotal: promoCode, clubTotal: club, offerTotal: deal } = parsedDiscounts;\n\n const originalPrice =\n (taxes\n ? Math.max(deal?.withTaxes || 0, club?.withTaxes || 0, promoCode?.withTaxes || 0)\n : Math.max(deal?.original || 0, club?.original || 0, promoCode?.original || 0)) || totalPrice;\n\n const { percentage: discountPercentage, breakdown = [] } = parseDiscount({\n currency,\n hotelCurrency,\n ...{ ...discounts, ...parsedDiscounts },\n originalPrice,\n taxes,\n totalPrice,\n });\n\n return {\n discountPercentage,\n features: { location: `${locality}, ${province}`, url },\n hasDiscountClub: breakdown.some(({ type } = {}) => type === 0),\n id,\n images,\n name,\n price: getPrice({ currency, hotelCurrency, price: totalPrice }),\n stars,\n taxes,\n };\n },\n ),\n ),\n tracking: parseTracking(response, false),\n });\n });\n"],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ServiceRates = void 0;
7
- var _extras = require("./extras");
8
- var _get = require("./get");
9
- const ServiceRates = exports.ServiceRates = {
10
- extras: _extras.extras,
11
- get: _get.get
12
- };
13
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_extras","require","_get","ServiceRates","exports","extras","get"],"sources":["../../../src/services/Rates/index.js"],"sourcesContent":["import { extras } from './extras';\nimport { get } from './get';\n\nexport const ServiceRates = {\n extras,\n get,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEO,MAAME,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1BE,MAAM,EAANA,cAAM;EACNC,GAAG,EAAHA;AACF,CAAC"}
@@ -1,141 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.rates = void 0;
7
- var _dataSources = require("@mirai/data-sources");
8
- var _services = require("@mirai/services");
9
- var _jsSha = _interopRequireDefault(require("js-sha1"));
10
- var _constants = require("./constants");
11
- var _helpers = require("./helpers");
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- /* eslint-disable no-async-promise-executor */
14
-
15
- const FEATURE = {
16
- PESTANA: 'pestana'
17
- };
18
- const rates = function () {
19
- let {
20
- clubDiscount,
21
- locale,
22
- occupation,
23
- session: {
24
- authorization
25
- } = {},
26
- strictSearch = true,
27
- userCurrency,
28
- ...others
29
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
30
- return new Promise(async (resolve, reject) => {
31
- var _club$clubLogin;
32
- const {
33
- checkin,
34
- club: {
35
- authentication: {
36
- type
37
- } = {}
38
- } = {},
39
- idoffers,
40
- idtokenprovider: id,
41
- nights,
42
- roomTypeId,
43
- ...rest
44
- } = others || {};
45
- const language = locale === null || locale === void 0 ? void 0 : locale.split('-')[0];
46
- const params = Object.entries({
47
- applyClubDiscount: clubDiscount,
48
- checkin,
49
- clientCodeStrictSearch: strictSearch,
50
- currency: userCurrency,
51
- idtokenprovider: id,
52
- idoffers: strictSearch ? idoffers : undefined,
53
- roomTypeId: strictSearch ? roomTypeId : undefined,
54
- nights,
55
- ...rest,
56
- accessClubToken: authorization,
57
- lang: (0, _helpers.getLanguage)(language),
58
- ...(0, _helpers.parseExternalToken)(rest),
59
- cid: (0, _jsSha.default)("".concat(_constants.KEY_HASH, "-").concat(id, "-").concat(checkin, "-").concat(nights))
60
- }).filter(_ref => {
61
- let [, value] = _ref;
62
- return value !== undefined;
63
- });
64
- const response = await (0, _dataSources.request)({
65
- hostname: process.env.SERVICE_BOOKING,
66
- endpoint: "/request_availability_v2.json?".concat(new URLSearchParams(params)),
67
- headers: {
68
- 'Content-Type': undefined,
69
- 'X-Requested-With': undefined
70
- }
71
- }).catch(reject);
72
- if (!response || response.result === 'EXCEPTION') return reject({
73
- error: 'Upss, something bad happened!'
74
- }); //TODO
75
-
76
- const unavailability = (0, _helpers.parseUnavailability)({
77
- ...response,
78
- checkIn: checkin,
79
- nights,
80
- occupation,
81
- ...others
82
- });
83
- if (unavailability) return reject({
84
- ...unavailability,
85
- tracking: (0, _helpers.parseTracking)({
86
- ...response,
87
- userCurrency
88
- })
89
- });
90
- const {
91
- club,
92
- currencyCode: hotelCurrency,
93
- firstChildInterval = {},
94
- hotelverse,
95
- messages: {
96
- availabilityMessage: {
97
- increments
98
- } = {}
99
- } = {},
100
- showLocalTaxes: fees,
101
- userCountry: country,
102
- vatIncluded: taxes
103
- } = response;
104
- const currency = userCurrency || hotelCurrency;
105
- await _services.ServiceCurrency.exchange(currency);
106
- const infantAge = firstChildInterval === null || firstChildInterval === void 0 ? void 0 : firstChildInterval.lowerBound;
107
- const items = (0, _helpers.getItems)({
108
- ...response,
109
- currency,
110
- ...others
111
- });
112
- const [{
113
- boards: [{
114
- fees: hasFees,
115
- taxes: hasTaxes
116
- } = {}] = []
117
- } = {}] = items || [];
118
- resolve({
119
- clubConditions: _services.ServiceFeatures.get(FEATURE.PESTANA, id) ? _constants.EXTERNAL.URL[language] || _constants.EXTERNAL.URL[_constants.DEFAULT_LANGUAGE] : undefined,
120
- country,
121
- currency: hotelCurrency,
122
- externalSignout: authorization && type === _constants.EXTERNAL.TYPE && (club === null || club === void 0 ? void 0 : (_club$clubLogin = club.clubLogin) === null || _club$clubLogin === void 0 ? void 0 : _club$clubLogin.status) !== _constants.VALID,
123
- hotelverse,
124
- increments: increments || undefined,
125
- infantAge: infantAge !== null ? infantAge : undefined,
126
- items,
127
- taxesType: (0, _helpers.getTaxesType)({
128
- fees,
129
- hasFees,
130
- hasTaxes,
131
- taxes
132
- }),
133
- tracking: (0, _helpers.parseTracking)({
134
- ...response,
135
- userCurrency
136
- })
137
- });
138
- });
139
- };
140
- exports.rates = rates;
141
- //# sourceMappingURL=rates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rates.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","FEATURE","PESTANA","rates","clubDiscount","locale","occupation","session","authorization","strictSearch","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_club$clubLogin","checkin","club","authentication","type","idoffers","idtokenprovider","id","nights","roomTypeId","rest","language","split","params","Object","entries","applyClubDiscount","clientCodeStrictSearch","currency","accessClubToken","lang","getLanguage","parseExternalToken","cid","sha1","concat","KEY_HASH","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","unavailability","parseUnavailability","checkIn","tracking","parseTracking","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","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, getLanguage, getTaxesType, parseExternalToken, parseTracking, parseUnavailability } from './helpers';\n\nconst FEATURE = { PESTANA: 'pestana' };\n\nexport const rates = ({\n clubDiscount,\n locale,\n occupation,\n session: { authorization } = {},\n strictSearch = true,\n userCurrency,\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n const {\n checkin,\n club: { authentication: { type } = {} } = {},\n idoffers,\n idtokenprovider: id,\n nights,\n roomTypeId,\n ...rest\n } = others || {};\n\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n applyClubDiscount: clubDiscount,\n checkin,\n clientCodeStrictSearch: strictSearch,\n currency: userCurrency,\n idtokenprovider: id,\n idoffers: strictSearch ? idoffers : undefined,\n roomTypeId: strictSearch ? roomTypeId : undefined,\n nights,\n ...rest,\n accessClubToken: authorization,\n lang: getLanguage(language),\n ...parseExternalToken(rest),\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\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, tracking: parseTracking({ ...response, userCurrency }) });\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, ...others });\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, userCurrency }),\n });\n });\n"],"mappings":"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"}