@mirai/core 0.3.307 → 0.3.309

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 (54) hide show
  1. package/build/components/Booking/Booking.js +1 -3
  2. package/build/components/Booking/Booking.js.map +1 -1
  3. package/build/components/Checkout/Checkout.js +1 -3
  4. package/build/components/Checkout/Checkout.js.map +1 -1
  5. package/build/components/Finder/Finder.js +1 -1
  6. package/build/components/Finder/Finder.js.map +1 -1
  7. package/build/components/Finder/helpers/setStorage.js +3 -3
  8. package/build/components/Finder/helpers/setStorage.js.map +1 -1
  9. package/build/components/Header/Header.js +1 -1
  10. package/build/components/Header/Header.js.map +1 -1
  11. package/build/components/Rates/Rates.Header.js +7 -1
  12. package/build/components/Rates/Rates.Header.js.map +1 -1
  13. package/build/components/Rates/Rates.Unavailability.js +9 -4
  14. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  15. package/build/components/Rates/Rates.js +15 -5
  16. package/build/components/Rates/Rates.js.map +1 -1
  17. package/build/components/Rates/Rates.l10n.js +3 -0
  18. package/build/components/Rates/Rates.l10n.js.map +1 -1
  19. package/build/components/Rates/Rates.module.css +1 -0
  20. package/build/components/Rates/components/CardHotel/CardHotel.js +46 -13
  21. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  22. package/build/components/Rates/components/CardHotel/CardHotel.l10n.js +3 -0
  23. package/build/components/Rates/components/CardHotel/CardHotel.l10n.js.map +1 -1
  24. package/build/components/Rates/components/CardHotel/CardHotel.module.css +22 -0
  25. package/build/components/Rates/components/Item/Item.js +2 -2
  26. package/build/components/Rates/components/Item/Item.js.map +1 -1
  27. package/build/components/Rates/components/ModalMapView/ModalMapView.js +268 -0
  28. package/build/components/Rates/components/ModalMapView/ModalMapView.js.map +1 -0
  29. package/build/components/Rates/components/ModalMapView/ModalMapView.l10n.js +18 -0
  30. package/build/components/Rates/components/ModalMapView/ModalMapView.l10n.js.map +1 -0
  31. package/build/components/Rates/components/ModalMapView/ModalMapView.module.css +93 -0
  32. package/build/components/Rates/components/ModalMapView/helpers/customMarker.js +36 -0
  33. package/build/components/Rates/components/ModalMapView/helpers/customMarker.js.map +1 -0
  34. package/build/components/Rates/components/ModalMapView/helpers/index.js +28 -0
  35. package/build/components/Rates/components/ModalMapView/helpers/index.js.map +1 -0
  36. package/build/components/Rates/components/ModalMapView/helpers/loadGMaps.js +18 -0
  37. package/build/components/Rates/components/ModalMapView/helpers/loadGMaps.js.map +1 -0
  38. package/build/components/Rates/components/ModalMapView/index.js +17 -0
  39. package/build/components/Rates/components/ModalMapView/index.js.map +1 -0
  40. package/build/components/Rates/components/index.js +11 -0
  41. package/build/components/Rates/components/index.js.map +1 -1
  42. package/build/helpers/consolidateStore.js +1 -1
  43. package/build/helpers/consolidateStore.js.map +1 -1
  44. package/build/index.js +1 -0
  45. package/build/index.js.map +1 -1
  46. package/build/services/Rates/extras.js +3 -186
  47. package/build/services/Rates/extras.js.map +1 -1
  48. package/build/services/Rates/extrasParsed.js +197 -0
  49. package/build/services/Rates/extrasParsed.js.map +1 -0
  50. package/build/services/Rates/get.js +7 -1
  51. package/build/services/Rates/get.js.map +1 -1
  52. package/build/services/Rates/helpers/getCalendarSuggestions.js +13 -1
  53. package/build/services/Rates/helpers/getCalendarSuggestions.js.map +1 -1
  54. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"extras.js","names":["_dataSources","require","_services","_constants","_helpers","GUEST","RANGE","ROOM","UNIT","EXTRA_TYPE","ADULT","CHILD","GUEST_TYPE","extras","adults","children","clubDiscount","applyClubDiscount","currency","userCurrency","hotelCurrency","locale","offersAppliedBySelectedRoom","price","rooms","session","authorization","others","arguments","length","undefined","Promise","resolve","reject","language","split","params","Object","entries","accessClubToken","lang","getLanguage","totalPrice","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","concat","URLSearchParams","headers","catch","error","result","sortedExtrasIds","ServiceCurrency","exchange","id","draft","includedInOffer","map","ageCategory","conditionDetails","conditions","defaultQuantity","description","included","guestsPresent","guestThreshold","name","title","nights","occupationsPresent","accommodationThreshold","perGuest","perNight","perRange","perReserve","perRoom","photo","image","priceOptionValues","priceOptions","showApplyNights","inputNights","showApplyPersons","inputGuests","subtitle","taxesInformation","taxes","text","guestType","type","amount","includes","discounts","discount","basePrice","withTaxes","find","_ref2","option","percent","originalPrice","getValue","base","fromEntries","Array","from","_","indexAmount","indexNights","withoutTaxes","_ref3","getAmount","getPrice","normalize","baseValue","frequency","FREQUENCY","NIGHTLY","ONCE","exports"],"sources":["../../../src/services/Rates/extras.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\n\nimport { EXTRA_TYPE, FREQUENCY, GUEST_TYPE } from './constants';\nimport { getLanguage, getPrice } from './helpers';\n\nconst { GUEST, RANGE, ROOM, UNIT } = EXTRA_TYPE;\nconst { ADULT, CHILD } = GUEST_TYPE;\n\nexport const extras = ({\n adults,\n children,\n clubDiscount: applyClubDiscount,\n currency: userCurrency,\n hotelCurrency = userCurrency,\n locale,\n offersAppliedBySelectedRoom,\n price,\n rooms,\n session: { authorization } = {},\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n if (!userCurrency || !locale) return reject();\n\n const language = locale?.split('-')[0];\n const params = Object.entries({\n applyClubDiscount,\n currency: userCurrency,\n ...others,\n accessClubToken: authorization,\n lang: getLanguage(language),\n rooms,\n offersAppliedBySelectedRoom,\n totalPrice: price,\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_extras_v2.json?${new URLSearchParams(params)}`,\n //TODO: back have to change the endpoint for don`t have remove this headers\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch((error) => {\n reject(error);\n });\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const { extras = {}, sortedExtrasIds = [] } = response;\n const currency = userCurrency || hotelCurrency;\n if (userCurrency !== hotelCurrency) await ServiceCurrency.exchange(currency);\n\n resolve({\n extras: sortedExtrasIds\n .filter((id) => {\n const { draft, includedInOffer } = extras[id] || {};\n\n return includedInOffer || !draft;\n })\n .map((id) => {\n const {\n ageCategory,\n conditionDetails: conditions,\n defaultQuantity,\n description,\n includedInOffer: included,\n guestsPresent: guestThreshold,\n name: title,\n nights,\n occupationsPresent: accommodationThreshold,\n perGuest,\n perNight,\n perRange,\n perReserve,\n perRoom,\n photo: image,\n priceOptionValues: priceOptions,\n showApplyNights: inputNights,\n showApplyPersons: inputGuests,\n subtitle,\n taxesInformation: taxes,\n } = extras[id] || {};\n\n const text = subtitle ? `${subtitle}. ${description}` : description;\n const guestType = GUEST_TYPE[ageCategory];\n const type = perRoom ? ROOM : perRange ? RANGE : perReserve ? UNIT : perGuest ? GUEST : undefined;\n const amount = [GUEST, RANGE].includes(type)\n ? guestType === ADULT\n ? adults\n : guestType === CHILD\n ? children\n : adults + children\n : defaultQuantity;\n\n const { discounts: [discount] = [], value: { price: basePrice, withTaxes: price } = {} } =\n priceOptions.find(({ option }) => option === amount) || priceOptions[0];\n const { percent, value: { price: originalPrice } = {} } = discount || {};\n\n const getValue = (base = false) =>\n Object.fromEntries(\n Array.from({ length: amount }, (_, indexAmount) => [\n indexAmount + 1,\n Object.fromEntries(\n Array.from({ length: nights }, (_, indexNights) => {\n const amount = indexAmount + 1;\n const nights = indexNights + 1;\n const { value: { price, withTaxes, withoutTaxes: basePrice } = {} } =\n priceOptions.find(({ option }) => option === amount) || priceOptions[0];\n const taxes = withTaxes - basePrice;\n\n const getAmount = (value) =>\n getPrice({\n currency,\n hotelCurrency: base ? currency : hotelCurrency,\n normalize: false,\n price: type !== RANGE ? (perNight ? amount * nights * value : amount * value) : value,\n });\n\n return [\n nights,\n { basePrice: getAmount(basePrice), price: getAmount(price), taxes: getAmount(taxes) },\n ];\n }),\n ),\n ]),\n );\n\n return {\n accommodationThreshold,\n amount,\n baseValue: getValue(true),\n conditions: conditions ? conditions : undefined,\n discount: discount && { originalPrice, percent },\n frequency: perNight ? FREQUENCY.NIGHTLY : FREQUENCY.ONCE,\n guestThreshold,\n guestType,\n id,\n image,\n included,\n inputGuests,\n inputNights,\n nights,\n taxes: price !== basePrice ? taxes : undefined,\n text: text ? text : undefined,\n title,\n type,\n value: getValue(),\n };\n })\n .filter(({ amount } = {}) => amount > 0),\n });\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"extras.js","names":["_services","require","_extrasParsed","extras","params","arguments","length","undefined","useOldService","ServiceRates","extrasParsed","exports"],"sources":["../../../src/services/Rates/extras.js"],"sourcesContent":["import { ServiceRates } from '@mirai/services';\n\nimport { extrasParsed } from './extrasParsed';\n\nexport const extras = (params = {}) => (!params.useOldService ? ServiceRates.extras(params) : extrasParsed(params));\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAEO,MAAME,MAAM,GAAG,SAAAA,CAAA;EAAA,IAACC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OAAM,CAACD,MAAM,CAACI,aAAa,GAAGC,sBAAY,CAACN,MAAM,CAACC,MAAM,CAAC,GAAG,IAAAM,0BAAY,EAACN,MAAM,CAAC;AAAA,CAAC;AAACO,OAAA,CAAAR,MAAA,GAAAA,MAAA"}
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.extrasParsed = void 0;
7
+ var _dataSources = require("@mirai/data-sources");
8
+ var _services = require("@mirai/services");
9
+ var _constants = require("./constants");
10
+ var _helpers = require("./helpers");
11
+ /* eslint-disable no-async-promise-executor */
12
+
13
+ const {
14
+ GUEST,
15
+ RANGE,
16
+ ROOM,
17
+ UNIT
18
+ } = _constants.EXTRA_TYPE;
19
+ const {
20
+ ADULT,
21
+ CHILD
22
+ } = _constants.GUEST_TYPE;
23
+ const extrasParsed = function () {
24
+ let {
25
+ adults,
26
+ children,
27
+ clubDiscount: applyClubDiscount,
28
+ currency: userCurrency,
29
+ hotelCurrency = userCurrency,
30
+ locale,
31
+ offersAppliedBySelectedRoom,
32
+ price,
33
+ rooms,
34
+ session: {
35
+ authorization
36
+ } = {},
37
+ ...others
38
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
39
+ return new Promise(async (resolve, reject) => {
40
+ if (!userCurrency || !locale) return reject();
41
+ const language = locale === null || locale === void 0 ? void 0 : locale.split('-')[0];
42
+ const params = Object.entries({
43
+ applyClubDiscount,
44
+ currency: userCurrency,
45
+ ...others,
46
+ accessClubToken: authorization,
47
+ lang: (0, _helpers.getLanguage)(language),
48
+ rooms,
49
+ offersAppliedBySelectedRoom,
50
+ totalPrice: price
51
+ }).filter(_ref => {
52
+ let [, value] = _ref;
53
+ return value !== undefined;
54
+ });
55
+ const response = await (0, _dataSources.request)({
56
+ hostname: process.env.SERVICE_BOOKING,
57
+ endpoint: "/request_extras_v2.json?".concat(new URLSearchParams(params)),
58
+ //TODO: back have to change the endpoint for don`t have remove this headers
59
+ headers: {
60
+ 'Content-Type': undefined,
61
+ 'X-Requested-With': undefined
62
+ }
63
+ }).catch(error => {
64
+ reject(error);
65
+ });
66
+ if (!response || response.result === 'EXCEPTION') return reject({
67
+ error: 'Upss, something bad happened!'
68
+ }); //TODO
69
+
70
+ const {
71
+ extras = {},
72
+ sortedExtrasIds = []
73
+ } = response;
74
+ const currency = userCurrency || hotelCurrency;
75
+ if (userCurrency !== hotelCurrency) await _services.ServiceCurrency.exchange(currency);
76
+ resolve({
77
+ extras: sortedExtrasIds.filter(id => {
78
+ const {
79
+ draft,
80
+ includedInOffer
81
+ } = extras[id] || {};
82
+ return includedInOffer || !draft;
83
+ }).map(id => {
84
+ const {
85
+ ageCategory,
86
+ conditionDetails: conditions,
87
+ defaultQuantity,
88
+ description,
89
+ includedInOffer: included,
90
+ guestsPresent: guestThreshold,
91
+ name: title,
92
+ nights,
93
+ occupationsPresent: accommodationThreshold,
94
+ perGuest,
95
+ perNight,
96
+ perRange,
97
+ perReserve,
98
+ perRoom,
99
+ photo: image,
100
+ priceOptionValues: priceOptions,
101
+ showApplyNights: inputNights,
102
+ showApplyPersons: inputGuests,
103
+ subtitle,
104
+ taxesInformation: taxes
105
+ } = extras[id] || {};
106
+ const text = subtitle ? "".concat(subtitle, ". ").concat(description) : description;
107
+ const guestType = _constants.GUEST_TYPE[ageCategory];
108
+ const type = perRoom ? ROOM : perRange ? RANGE : perReserve ? UNIT : perGuest ? GUEST : undefined;
109
+ const amount = [GUEST, RANGE].includes(type) ? guestType === ADULT ? adults : guestType === CHILD ? children : adults + children : defaultQuantity;
110
+ const {
111
+ discounts: [discount] = [],
112
+ value: {
113
+ price: basePrice,
114
+ withTaxes: price
115
+ } = {}
116
+ } = priceOptions.find(_ref2 => {
117
+ let {
118
+ option
119
+ } = _ref2;
120
+ return option === amount;
121
+ }) || priceOptions[0];
122
+ const {
123
+ percent,
124
+ value: {
125
+ price: originalPrice
126
+ } = {}
127
+ } = discount || {};
128
+ const getValue = function () {
129
+ let base = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
130
+ return Object.fromEntries(Array.from({
131
+ length: amount
132
+ }, (_, indexAmount) => [indexAmount + 1, Object.fromEntries(Array.from({
133
+ length: nights
134
+ }, (_, indexNights) => {
135
+ const amount = indexAmount + 1;
136
+ const nights = indexNights + 1;
137
+ const {
138
+ value: {
139
+ price,
140
+ withTaxes,
141
+ withoutTaxes: basePrice
142
+ } = {}
143
+ } = priceOptions.find(_ref3 => {
144
+ let {
145
+ option
146
+ } = _ref3;
147
+ return option === amount;
148
+ }) || priceOptions[0];
149
+ const taxes = withTaxes - basePrice;
150
+ const getAmount = value => (0, _helpers.getPrice)({
151
+ currency,
152
+ hotelCurrency: base ? currency : hotelCurrency,
153
+ normalize: false,
154
+ price: type !== RANGE ? perNight ? amount * nights * value : amount * value : value
155
+ });
156
+ return [nights, {
157
+ basePrice: getAmount(basePrice),
158
+ price: getAmount(price),
159
+ taxes: getAmount(taxes)
160
+ }];
161
+ }))]));
162
+ };
163
+ return {
164
+ accommodationThreshold,
165
+ amount,
166
+ baseValue: getValue(true),
167
+ conditions: conditions ? conditions : undefined,
168
+ discount: discount && {
169
+ originalPrice,
170
+ percent
171
+ },
172
+ frequency: perNight ? _constants.FREQUENCY.NIGHTLY : _constants.FREQUENCY.ONCE,
173
+ guestThreshold,
174
+ guestType,
175
+ id,
176
+ image,
177
+ included,
178
+ inputGuests,
179
+ inputNights,
180
+ nights,
181
+ taxes: price !== basePrice ? taxes : undefined,
182
+ text: text ? text : undefined,
183
+ title,
184
+ type,
185
+ value: getValue()
186
+ };
187
+ }).filter(function () {
188
+ let {
189
+ amount
190
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
191
+ return amount > 0;
192
+ })
193
+ });
194
+ });
195
+ };
196
+ exports.extrasParsed = extrasParsed;
197
+ //# sourceMappingURL=extrasParsed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extrasParsed.js","names":["_dataSources","require","_services","_constants","_helpers","GUEST","RANGE","ROOM","UNIT","EXTRA_TYPE","ADULT","CHILD","GUEST_TYPE","extrasParsed","adults","children","clubDiscount","applyClubDiscount","currency","userCurrency","hotelCurrency","locale","offersAppliedBySelectedRoom","price","rooms","session","authorization","others","arguments","length","undefined","Promise","resolve","reject","language","split","params","Object","entries","accessClubToken","lang","getLanguage","totalPrice","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","concat","URLSearchParams","headers","catch","error","result","extras","sortedExtrasIds","ServiceCurrency","exchange","id","draft","includedInOffer","map","ageCategory","conditionDetails","conditions","defaultQuantity","description","included","guestsPresent","guestThreshold","name","title","nights","occupationsPresent","accommodationThreshold","perGuest","perNight","perRange","perReserve","perRoom","photo","image","priceOptionValues","priceOptions","showApplyNights","inputNights","showApplyPersons","inputGuests","subtitle","taxesInformation","taxes","text","guestType","type","amount","includes","discounts","discount","basePrice","withTaxes","find","_ref2","option","percent","originalPrice","getValue","base","fromEntries","Array","from","_","indexAmount","indexNights","withoutTaxes","_ref3","getAmount","getPrice","normalize","baseValue","frequency","FREQUENCY","NIGHTLY","ONCE","exports"],"sources":["../../../src/services/Rates/extrasParsed.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\n\nimport { EXTRA_TYPE, FREQUENCY, GUEST_TYPE } from './constants';\nimport { getLanguage, getPrice } from './helpers';\n\nconst { GUEST, RANGE, ROOM, UNIT } = EXTRA_TYPE;\nconst { ADULT, CHILD } = GUEST_TYPE;\n\nexport const extrasParsed = ({\n adults,\n children,\n clubDiscount: applyClubDiscount,\n currency: userCurrency,\n hotelCurrency = userCurrency,\n locale,\n offersAppliedBySelectedRoom,\n price,\n rooms,\n session: { authorization } = {},\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n if (!userCurrency || !locale) return reject();\n\n const language = locale?.split('-')[0];\n const params = Object.entries({\n applyClubDiscount,\n currency: userCurrency,\n ...others,\n accessClubToken: authorization,\n lang: getLanguage(language),\n rooms,\n offersAppliedBySelectedRoom,\n totalPrice: price,\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_extras_v2.json?${new URLSearchParams(params)}`,\n //TODO: back have to change the endpoint for don`t have remove this headers\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch((error) => {\n reject(error);\n });\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const { extras = {}, sortedExtrasIds = [] } = response;\n const currency = userCurrency || hotelCurrency;\n if (userCurrency !== hotelCurrency) await ServiceCurrency.exchange(currency);\n\n resolve({\n extras: sortedExtrasIds\n .filter((id) => {\n const { draft, includedInOffer } = extras[id] || {};\n\n return includedInOffer || !draft;\n })\n .map((id) => {\n const {\n ageCategory,\n conditionDetails: conditions,\n defaultQuantity,\n description,\n includedInOffer: included,\n guestsPresent: guestThreshold,\n name: title,\n nights,\n occupationsPresent: accommodationThreshold,\n perGuest,\n perNight,\n perRange,\n perReserve,\n perRoom,\n photo: image,\n priceOptionValues: priceOptions,\n showApplyNights: inputNights,\n showApplyPersons: inputGuests,\n subtitle,\n taxesInformation: taxes,\n } = extras[id] || {};\n\n const text = subtitle ? `${subtitle}. ${description}` : description;\n const guestType = GUEST_TYPE[ageCategory];\n const type = perRoom ? ROOM : perRange ? RANGE : perReserve ? UNIT : perGuest ? GUEST : undefined;\n const amount = [GUEST, RANGE].includes(type)\n ? guestType === ADULT\n ? adults\n : guestType === CHILD\n ? children\n : adults + children\n : defaultQuantity;\n\n const { discounts: [discount] = [], value: { price: basePrice, withTaxes: price } = {} } =\n priceOptions.find(({ option }) => option === amount) || priceOptions[0];\n const { percent, value: { price: originalPrice } = {} } = discount || {};\n\n const getValue = (base = false) =>\n Object.fromEntries(\n Array.from({ length: amount }, (_, indexAmount) => [\n indexAmount + 1,\n Object.fromEntries(\n Array.from({ length: nights }, (_, indexNights) => {\n const amount = indexAmount + 1;\n const nights = indexNights + 1;\n const { value: { price, withTaxes, withoutTaxes: basePrice } = {} } =\n priceOptions.find(({ option }) => option === amount) || priceOptions[0];\n const taxes = withTaxes - basePrice;\n\n const getAmount = (value) =>\n getPrice({\n currency,\n hotelCurrency: base ? currency : hotelCurrency,\n normalize: false,\n price: type !== RANGE ? (perNight ? amount * nights * value : amount * value) : value,\n });\n\n return [\n nights,\n { basePrice: getAmount(basePrice), price: getAmount(price), taxes: getAmount(taxes) },\n ];\n }),\n ),\n ]),\n );\n\n return {\n accommodationThreshold,\n amount,\n baseValue: getValue(true),\n conditions: conditions ? conditions : undefined,\n discount: discount && { originalPrice, percent },\n frequency: perNight ? FREQUENCY.NIGHTLY : FREQUENCY.ONCE,\n guestThreshold,\n guestType,\n id,\n image,\n included,\n inputGuests,\n inputNights,\n nights,\n taxes: price !== basePrice ? taxes : undefined,\n text: text ? text : undefined,\n title,\n type,\n value: getValue(),\n };\n })\n .filter(({ amount } = {}) => amount > 0),\n });\n });\n"],"mappings":"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"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.get = void 0;
7
7
  var _locale = require("@mirai/locale");
8
+ var _services = require("@mirai/services");
8
9
  var _hotels = require("./hotels");
9
10
  var _rates = require("./rates");
10
11
  /* eslint-disable no-async-promise-executor */
@@ -15,7 +16,12 @@ const get = function () {
15
16
  locale = _locale.DEFAULT_LOCALE,
16
17
  ...others
17
18
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18
- return !others.hotelIds ? (0, _rates.rates)({
19
+ console.log(others);
20
+ return !others.useOldService ? _services.ServiceRates.get({
21
+ locale,
22
+ userCurrency,
23
+ ...others
24
+ }) : !others.hotelIds ? (0, _rates.rates)({
19
25
  locale,
20
26
  userCurrency,
21
27
  ...others
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","names":["_locale","require","_hotels","_rates","get","currency","userCurrency","DEFAULT_CURRENCY","locale","DEFAULT_LOCALE","others","arguments","length","undefined","hotelIds","rates","hotels","exports"],"sources":["../../../src/services/Rates/get.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { DEFAULT_CURRENCY, DEFAULT_LOCALE } from '@mirai/locale';\n\nimport { hotels } from './hotels';\nimport { rates } from './rates';\n\nexport const get = ({ currency: userCurrency = DEFAULT_CURRENCY, locale = DEFAULT_LOCALE, ...others } = {}) =>\n !others.hotelIds ? rates({ locale, userCurrency, ...others }) : hotels({ locale, userCurrency, ...others });\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAJA;;AAMO,MAAMG,GAAG,GAAG,SAAAA,CAAA;EAAA,IAAC;IAAEC,QAAQ,EAAEC,YAAY,GAAGC,wBAAgB;IAAEC,MAAM,GAAGC,sBAAc;IAAE,GAAGC;EAAO,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OACxG,CAACD,MAAM,CAACI,QAAQ,GAAG,IAAAC,YAAK,EAAC;IAAEP,MAAM;IAAEF,YAAY;IAAE,GAAGI;EAAO,CAAC,CAAC,GAAG,IAAAM,cAAM,EAAC;IAAER,MAAM;IAAEF,YAAY;IAAE,GAAGI;EAAO,CAAC,CAAC;AAAA;AAACO,OAAA,CAAAb,GAAA,GAAAA,GAAA"}
1
+ {"version":3,"file":"get.js","names":["_locale","require","_services","_hotels","_rates","get","currency","userCurrency","DEFAULT_CURRENCY","locale","DEFAULT_LOCALE","others","arguments","length","undefined","console","log","useOldService","ServiceRates","hotelIds","rates","hotels","exports"],"sources":["../../../src/services/Rates/get.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { DEFAULT_CURRENCY, DEFAULT_LOCALE } from '@mirai/locale';\nimport { ServiceRates } from '@mirai/services';\n\nimport { hotels } from './hotels';\nimport { rates } from './rates';\n\nexport const get = ({ currency: userCurrency = DEFAULT_CURRENCY, locale = DEFAULT_LOCALE, ...others } = {}) => {\n console.log(others);\n return !others.useOldService\n ? ServiceRates.get({ locale, userCurrency, ...others })\n : !others.hotelIds\n ? rates({ locale, userCurrency, ...others })\n : hotels({ locale, userCurrency, ...others });\n};\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AALA;;AAOO,MAAMI,GAAG,GAAG,SAAAA,CAAA,EAA4F;EAAA,IAA3F;IAAEC,QAAQ,EAAEC,YAAY,GAAGC,wBAAgB;IAAEC,MAAM,GAAGC,sBAAc;IAAE,GAAGC;EAAO,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxGG,OAAO,CAACC,GAAG,CAACL,MAAM,CAAC;EACnB,OAAO,CAACA,MAAM,CAACM,aAAa,GACxBC,sBAAY,CAACb,GAAG,CAAC;IAAEI,MAAM;IAAEF,YAAY;IAAE,GAAGI;EAAO,CAAC,CAAC,GACrD,CAACA,MAAM,CAACQ,QAAQ,GAChB,IAAAC,YAAK,EAAC;IAAEX,MAAM;IAAEF,YAAY;IAAE,GAAGI;EAAO,CAAC,CAAC,GAC1C,IAAAU,cAAM,EAAC;IAAEZ,MAAM;IAAEF,YAAY;IAAE,GAAGI;EAAO,CAAC,CAAC;AACjD,CAAC;AAACW,OAAA,CAAAjB,GAAA,GAAAA,GAAA"}
@@ -10,6 +10,7 @@ const {
10
10
  CHECK_IN,
11
11
  STAY
12
12
  } = _Core.MIN_STAY_TYPE;
13
+ const DATE_FORMAT = 'DD/MM/YYYY';
13
14
  const getCalendarSuggestions = function () {
14
15
  let {
15
16
  calendar: {
@@ -54,7 +55,18 @@ const getCalendarSuggestions = function () {
54
55
  hasNext = true;
55
56
  }
56
57
  });
57
- return suggestions;
58
+ return suggestions.map(function () {
59
+ let suggestion = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
60
+ return {
61
+ ...suggestion,
62
+ from: (0, _locale.dateFormat)(suggestion.from, {
63
+ format: DATE_FORMAT
64
+ }),
65
+ to: (0, _locale.dateFormat)(suggestion.to, {
66
+ format: DATE_FORMAT
67
+ })
68
+ };
69
+ });
58
70
  };
59
71
  exports.getCalendarSuggestions = getCalendarSuggestions;
60
72
  //# sourceMappingURL=getCalendarSuggestions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCalendarSuggestions.js","names":["_locale","require","_Core","CHECK_IN","STAY","MIN_STAY_TYPE","getCalendarSuggestions","calendar","daysInfo","initialDate","checkIn","propCheckIn","minStayType","nights","propNights","arguments","length","undefined","allSuggestions","date","parseDate","Number","index","from","dateCalc","rangeDays","slice","every","day","Math","max","push","to","price","floor","random","suggestions","hasPrevious","hasNext","forEach","getDay","getTime","exports"],"sources":["../../../../src/services/Rates/helpers/getCalendarSuggestions.js"],"sourcesContent":["import { dateCalc, parseDate } from '@mirai/locale';\n\nimport { MIN_STAY_TYPE } from '../../../Core.constants';\n\nconst { CHECK_IN, STAY } = MIN_STAY_TYPE;\n\nexport const getCalendarSuggestions = ({\n calendar: { daysInfo = [], initialDate } = {},\n checkIn: propCheckIn,\n minStayType,\n nights: propNights,\n} = {}) => {\n let allSuggestions = [];\n const date = parseDate(initialDate);\n const nights = Number(propNights);\n\n for (let index = 0; index < daysInfo.length; index++) {\n const from = index > 0 ? dateCalc(date, index) : date;\n const rangeDays = daysInfo.slice(index, index + nights);\n if (rangeDays.length !== nights) break;\n\n if (\n rangeDays.every((day) => day > 0) &&\n ((minStayType === CHECK_IN && (daysInfo[index] === 1 || (daysInfo[index] > 1 && nights >= daysInfo[index]))) ||\n (minStayType === STAY && daysInfo[index] > 0 && nights >= Math.max(...rangeDays)))\n ) {\n //!TODO: get price for nights and occupation\n allSuggestions.push({ from, to: dateCalc(from, nights), price: Math.floor(Math.random() * 500) + 100 });\n }\n }\n\n const checkIn = parseDate(propCheckIn);\n let suggestions = [];\n let hasPrevious = false;\n let hasNext = false;\n allSuggestions.forEach(({ from } = {}, index) => {\n if ((from > checkIn && !hasNext) || (hasNext && suggestions.length < 3 && checkIn.getDay() === from.getDay())) {\n if (!hasPrevious && !hasNext && index > 0 && allSuggestions[index - 1].from.getTime() !== checkIn.getTime()) {\n suggestions.push(allSuggestions[index - 1]);\n hasPrevious = true;\n }\n suggestions.push(allSuggestions[index]);\n hasNext = true;\n }\n });\n\n return suggestions;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"getCalendarSuggestions.js","names":["_locale","require","_Core","CHECK_IN","STAY","MIN_STAY_TYPE","DATE_FORMAT","getCalendarSuggestions","calendar","daysInfo","initialDate","checkIn","propCheckIn","minStayType","nights","propNights","arguments","length","undefined","allSuggestions","date","parseDate","Number","index","from","dateCalc","rangeDays","slice","every","day","Math","max","push","to","price","floor","random","suggestions","hasPrevious","hasNext","forEach","getDay","getTime","map","suggestion","dateFormat","format","exports"],"sources":["../../../../src/services/Rates/helpers/getCalendarSuggestions.js"],"sourcesContent":["import { dateCalc, dateFormat, parseDate } from '@mirai/locale';\n\nimport { MIN_STAY_TYPE } from '../../../Core.constants';\n\nconst { CHECK_IN, STAY } = MIN_STAY_TYPE;\nconst DATE_FORMAT = 'DD/MM/YYYY';\n\nexport const getCalendarSuggestions = ({\n calendar: { daysInfo = [], initialDate } = {},\n checkIn: propCheckIn,\n minStayType,\n nights: propNights,\n} = {}) => {\n let allSuggestions = [];\n const date = parseDate(initialDate);\n const nights = Number(propNights);\n\n for (let index = 0; index < daysInfo.length; index++) {\n const from = index > 0 ? dateCalc(date, index) : date;\n const rangeDays = daysInfo.slice(index, index + nights);\n if (rangeDays.length !== nights) break;\n\n if (\n rangeDays.every((day) => day > 0) &&\n ((minStayType === CHECK_IN && (daysInfo[index] === 1 || (daysInfo[index] > 1 && nights >= daysInfo[index]))) ||\n (minStayType === STAY && daysInfo[index] > 0 && nights >= Math.max(...rangeDays)))\n ) {\n //!TODO: get price for nights and occupation\n allSuggestions.push({ from, to: dateCalc(from, nights), price: Math.floor(Math.random() * 500) + 100 });\n }\n }\n\n const checkIn = parseDate(propCheckIn);\n let suggestions = [];\n let hasPrevious = false;\n let hasNext = false;\n allSuggestions.forEach(({ from } = {}, index) => {\n if ((from > checkIn && !hasNext) || (hasNext && suggestions.length < 3 && checkIn.getDay() === from.getDay())) {\n if (!hasPrevious && !hasNext && index > 0 && allSuggestions[index - 1].from.getTime() !== checkIn.getTime()) {\n suggestions.push(allSuggestions[index - 1]);\n hasPrevious = true;\n }\n suggestions.push(allSuggestions[index]);\n hasNext = true;\n }\n });\n\n return suggestions.map((suggestion = {}) => ({\n ...suggestion,\n from: dateFormat(suggestion.from, { format: DATE_FORMAT }),\n to: dateFormat(suggestion.to, { format: DATE_FORMAT }),\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.307",
3
+ "version": "0.3.309",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",