@mirai/core 0.3.50 → 0.3.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/Checkout/Checkout.js +2 -2
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +241 -13
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +19 -0
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +103 -306
- package/build/services/Rates/__tests__/__mocks__/rates-response.json +8 -1
- package/build/services/Rates/get.js +14 -2
- package/build/services/Rates/get.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"assistant": false,
|
|
2
3
|
"items": [
|
|
3
4
|
{
|
|
4
5
|
"amenities": [],
|
|
@@ -45,6 +46,9 @@
|
|
|
45
46
|
],
|
|
46
47
|
"name": "Double/Twin Comfort Room",
|
|
47
48
|
"maxOccupation": 2,
|
|
49
|
+
"media": {
|
|
50
|
+
"immersive3d": ""
|
|
51
|
+
},
|
|
48
52
|
"rates": [
|
|
49
53
|
{
|
|
50
54
|
"amount": [1, 1],
|
|
@@ -333,6 +337,9 @@
|
|
|
333
337
|
],
|
|
334
338
|
"name": "Superior Double Room",
|
|
335
339
|
"maxOccupation": 2,
|
|
340
|
+
"media": {
|
|
341
|
+
"immersive3d": ""
|
|
342
|
+
},
|
|
336
343
|
"rates": [
|
|
337
344
|
{
|
|
338
345
|
"amount": [1, 1],
|
|
@@ -461,5 +468,5 @@
|
|
|
461
468
|
],
|
|
462
469
|
"size": "25 m²"
|
|
463
470
|
}
|
|
464
|
-
]
|
|
471
|
+
]
|
|
465
472
|
}
|
|
@@ -65,8 +65,15 @@ const get = function () {
|
|
|
65
65
|
} = response;
|
|
66
66
|
const currency = userCurrency || hotelCurrency;
|
|
67
67
|
await _services.ServiceCurrency.exchange(currency);
|
|
68
|
+
const items = Object.values(roomTypes);
|
|
68
69
|
resolve({
|
|
69
|
-
|
|
70
|
+
assistant: items.some(function () {
|
|
71
|
+
let {
|
|
72
|
+
occupationOptions: options = {}
|
|
73
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
74
|
+
return Object.keys(options).length > 1;
|
|
75
|
+
}),
|
|
76
|
+
items: items.map(function () {
|
|
70
77
|
let {
|
|
71
78
|
amountAvailable: availability,
|
|
72
79
|
name,
|
|
@@ -78,6 +85,7 @@ const get = function () {
|
|
|
78
85
|
description,
|
|
79
86
|
roomTypeInfo: {
|
|
80
87
|
bedDistributions: bedType = [],
|
|
88
|
+
galleryMedia: media,
|
|
81
89
|
photos,
|
|
82
90
|
roomSize: size
|
|
83
91
|
} = {}
|
|
@@ -88,7 +96,7 @@ const get = function () {
|
|
|
88
96
|
totalChildren: children = 0
|
|
89
97
|
} = {},
|
|
90
98
|
rates: occupationRates
|
|
91
|
-
} = Object.values(occupationOptions)[0];
|
|
99
|
+
} = Object.values(occupationOptions)[0] || {};
|
|
92
100
|
Object.values(occupationRates).forEach(function () {
|
|
93
101
|
let {
|
|
94
102
|
boardOptions: boards,
|
|
@@ -215,6 +223,10 @@ const get = function () {
|
|
|
215
223
|
}),
|
|
216
224
|
name,
|
|
217
225
|
maxOccupation: adults + children,
|
|
226
|
+
media: media ? {
|
|
227
|
+
immersive3d: media.url3D,
|
|
228
|
+
video: media.video
|
|
229
|
+
} : undefined,
|
|
218
230
|
rates,
|
|
219
231
|
size: size ? "".concat(size, " ").concat(_constants.UNIT[unit].size) : undefined
|
|
220
232
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","DOUBLE","SINGLE","BED_TYPE","KEY_HASH","get","clubDiscount","applyClubDiscount","currency","userCurrency","locale","session","others","arguments","length","undefined","Promise","resolve","reject","idtokenprovider","id","checkin","nights","params","Object","entries","accessClubToken","authorization","cid","sha1","concat","lang","split","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","currencyCode","hotelCurrency","measureUnit","unit","roomTypes","taxesInformation","vatIncluded","taxes","ServiceCurrency","exchange","items","values","map","amountAvailable","availability","name","newInfoRoom","info","occupationOptions","rates","description","roomTypeInfo","bedDistributions","bedType","photos","roomSize","size","occupationQuantities","numAdults","adults","totalChildren","children","occupationRates","forEach","boardOptions","boards","cancellationPolicyDeadline","cancelEnd","cancellationPolicyName","cancelName","cancellationPolicyText","cancelText","cancellationPolicyTooltip","cancelTitle","includedList","included","paymentText","paymentConditions","restrictions","boardGroupName","boardName","detail","discountPricesBefore","discounts","maxRoomsPerReservation","max","minRoomsPerReservation","min","offersApplied","deals","originalAvgPrice","totalLocalTaxes","localTaxes","totalPriceOriginal","totalPriceWithTaxes","totalPrice","withTaxesAvgPrice","clientCodeTotal","promoCode","clubTotal","club","offerTotal","deal","price","originalPrice","Math","withTaxes","original","push","amount","basePrice","normalizePrice","cancellation","hint","trim","title","text","dayPrice","getPrice","days","dayStandardFormat","offerId","priceWithoutTaxes","priceWithTaxes","discount","parseDiscount","Set","flat","slice","amenities","parseAmenities","bedDisposition","type","BED_DISPOSITION","bedTypes","reduce","next","includes","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","maxOccupation","UNIT","replace","exports"],"sources":["../../../src/services/Rates/get.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { BED_DISPOSITION, BED_TYPE, UNIT } from './constants';\nimport { getPrice, normalizePrice, parseAmenities, parseDiscount } from './helpers';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nconst KEY_HASH = 'm14357';\n\nexport const get = ({\n clubDiscount: applyClubDiscount,\n currency: userCurrency,\n locale,\n session = {},\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n if (!userCurrency || !locale) return reject();\n\n const { idtokenprovider: id, checkin, nights } = others;\n const params = Object.entries({\n applyClubDiscount,\n currency: userCurrency,\n ...others,\n accessClubToken: session.authorization,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n lang: locale.split('-')[0],\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 //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(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const {\n currencyCode: hotelCurrency,\n measureUnit: unit,\n roomTypes,\n taxesInformation,\n vatIncluded: taxes,\n } = response;\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n resolve({\n items: Object.values(roomTypes).map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const rates = [];\n const { description, roomTypeInfo: { bedDistributions: bedType = [], photos, roomSize: size } = {} } = info;\n const {\n occupationQuantities: { numAdults: adults = 0, totalChildren: children = 0 } = {},\n rates: occupationRates,\n } = Object.values(occupationOptions)[0];\n\n Object.values(occupationRates).forEach(\n ({\n boardOptions: boards,\n cancellationPolicyDeadline: cancelEnd,\n cancellationPolicyName: cancelName,\n cancellationPolicyText: cancelText,\n cancellationPolicyTooltip: cancelTitle,\n includedList: included,\n name,\n paymentText: paymentConditions,\n restrictions,\n } = {}) => {\n Object.values(boards).forEach(\n ({\n boardGroupName: boardName,\n detail,\n discountPricesBefore: discounts = {},\n id,\n maxRoomsPerReservation: max,\n minRoomsPerReservation: min,\n offersApplied: deals,\n originalAvgPrice,\n totalLocalTaxes: localTaxes,\n totalPriceOriginal,\n totalPriceWithTaxes: totalPrice,\n withTaxesAvgPrice,\n } = {}) => {\n const { clientCodeTotal: promoCode, clubTotal: club, offerTotal: deal } = discounts;\n const price = taxes ? totalPrice : totalPriceOriginal;\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)) || price;\n\n rates.push({\n amount: [min, availability < max ? availability : max],\n basePrice: normalizePrice(totalPriceOriginal, currency),\n boardName,\n cancellation: {\n hint: `${cancelName} ${cancelEnd ? cancelEnd : ''}`.trim(),\n title: cancelTitle,\n text: cancelText,\n },\n dayPrice: getPrice({\n currency,\n hotelCurrency,\n price: taxes ? withTaxesAvgPrice : originalAvgPrice,\n }),\n days: detail.map(\n ({\n dayStandardFormat: value,\n offerId: deal,\n priceWithoutTaxes: basePrice,\n priceWithTaxes: price,\n } = {}) => ({\n deal,\n price: getPrice({ currency, hotelCurrency, price: taxes ? price : basePrice }),\n value,\n }),\n ),\n deals,\n discount: parseDiscount({\n currency,\n hotelCurrency,\n ...discounts,\n originalPrice,\n taxes,\n totalPrice: price,\n }),\n id,\n included: [...new Set(Object.values(included).flat())].slice(0, 3),\n originalPrice: getPrice({ currency, hotelCurrency, price: originalPrice }),\n price: getPrice({\n currency,\n hotelCurrency,\n price: price + (taxes ? localTaxes : 0),\n }),\n name,\n paymentConditions,\n restrictions,\n taxes: !taxes\n ? getPrice({ currency, hotelCurrency, price: totalPrice - totalPriceOriginal + localTaxes })\n : undefined,\n });\n },\n );\n },\n );\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 description,\n images: photos?.map(({ photoAltDescription: alt, urlLarge: large, urlMediumRect: thumbnail } = {}) => ({\n alt,\n large,\n thumbnail,\n })),\n name,\n maxOccupation: adults + children,\n rates,\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n ),\n taxes: !taxes ? taxesInformation.replace(/\\r?\\n|\\r/g, '') : undefined,\n });\n });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","DOUBLE","SINGLE","BED_TYPE","KEY_HASH","get","clubDiscount","applyClubDiscount","currency","userCurrency","locale","session","others","arguments","length","undefined","Promise","resolve","reject","idtokenprovider","id","checkin","nights","params","Object","entries","accessClubToken","authorization","cid","sha1","concat","lang","split","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","currencyCode","hotelCurrency","measureUnit","unit","roomTypes","taxesInformation","vatIncluded","taxes","ServiceCurrency","exchange","items","values","assistant","some","occupationOptions","options","keys","map","amountAvailable","availability","name","newInfoRoom","info","rates","description","roomTypeInfo","bedDistributions","bedType","galleryMedia","media","photos","roomSize","size","occupationQuantities","numAdults","adults","totalChildren","children","occupationRates","forEach","boardOptions","boards","cancellationPolicyDeadline","cancelEnd","cancellationPolicyName","cancelName","cancellationPolicyText","cancelText","cancellationPolicyTooltip","cancelTitle","includedList","included","paymentText","paymentConditions","restrictions","boardGroupName","boardName","detail","discountPricesBefore","discounts","maxRoomsPerReservation","max","minRoomsPerReservation","min","offersApplied","deals","originalAvgPrice","totalLocalTaxes","localTaxes","totalPriceOriginal","totalPriceWithTaxes","totalPrice","withTaxesAvgPrice","clientCodeTotal","promoCode","clubTotal","club","offerTotal","deal","price","originalPrice","Math","withTaxes","original","push","amount","basePrice","normalizePrice","cancellation","hint","trim","title","text","dayPrice","getPrice","days","dayStandardFormat","offerId","priceWithoutTaxes","priceWithTaxes","discount","parseDiscount","Set","flat","slice","amenities","parseAmenities","bedDisposition","type","BED_DISPOSITION","bedTypes","reduce","next","includes","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","maxOccupation","immersive3d","url3D","video","UNIT","replace","exports"],"sources":["../../../src/services/Rates/get.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { BED_DISPOSITION, BED_TYPE, UNIT } from './constants';\nimport { getPrice, normalizePrice, parseAmenities, parseDiscount } from './helpers';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nconst KEY_HASH = 'm14357';\n\nexport const get = ({\n clubDiscount: applyClubDiscount,\n currency: userCurrency,\n locale,\n session = {},\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n if (!userCurrency || !locale) return reject();\n\n const { idtokenprovider: id, checkin, nights } = others;\n const params = Object.entries({\n applyClubDiscount,\n currency: userCurrency,\n ...others,\n accessClubToken: session.authorization,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n lang: locale.split('-')[0],\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 //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(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const {\n currencyCode: hotelCurrency,\n measureUnit: unit,\n roomTypes,\n taxesInformation,\n vatIncluded: taxes,\n } = response;\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n const items = Object.values(roomTypes);\n\n resolve({\n assistant: items.some(({ occupationOptions: options = {} } = {}) => Object.keys(options).length > 1),\n items: items.map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const rates = [];\n const {\n description,\n roomTypeInfo: { bedDistributions: bedType = [], galleryMedia: media, photos, roomSize: size } = {},\n } = info;\n const {\n occupationQuantities: { numAdults: adults = 0, totalChildren: children = 0 } = {},\n rates: occupationRates,\n } = Object.values(occupationOptions)[0] || {};\n\n Object.values(occupationRates).forEach(\n ({\n boardOptions: boards,\n cancellationPolicyDeadline: cancelEnd,\n cancellationPolicyName: cancelName,\n cancellationPolicyText: cancelText,\n cancellationPolicyTooltip: cancelTitle,\n includedList: included,\n name,\n paymentText: paymentConditions,\n restrictions,\n } = {}) => {\n Object.values(boards).forEach(\n ({\n boardGroupName: boardName,\n detail,\n discountPricesBefore: discounts = {},\n id,\n maxRoomsPerReservation: max,\n minRoomsPerReservation: min,\n offersApplied: deals,\n originalAvgPrice,\n totalLocalTaxes: localTaxes,\n totalPriceOriginal,\n totalPriceWithTaxes: totalPrice,\n withTaxesAvgPrice,\n } = {}) => {\n const { clientCodeTotal: promoCode, clubTotal: club, offerTotal: deal } = discounts;\n const price = taxes ? totalPrice : totalPriceOriginal;\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)) || price;\n\n rates.push({\n amount: [min, availability < max ? availability : max],\n basePrice: normalizePrice(totalPriceOriginal, currency),\n boardName,\n cancellation: {\n hint: `${cancelName} ${cancelEnd ? cancelEnd : ''}`.trim(),\n title: cancelTitle,\n text: cancelText,\n },\n dayPrice: getPrice({\n currency,\n hotelCurrency,\n price: taxes ? withTaxesAvgPrice : originalAvgPrice,\n }),\n days: detail.map(\n ({\n dayStandardFormat: value,\n offerId: deal,\n priceWithoutTaxes: basePrice,\n priceWithTaxes: price,\n } = {}) => ({\n deal,\n price: getPrice({ currency, hotelCurrency, price: taxes ? price : basePrice }),\n value,\n }),\n ),\n deals,\n discount: parseDiscount({\n currency,\n hotelCurrency,\n ...discounts,\n originalPrice,\n taxes,\n totalPrice: price,\n }),\n id,\n included: [...new Set(Object.values(included).flat())].slice(0, 3),\n originalPrice: getPrice({ currency, hotelCurrency, price: originalPrice }),\n price: getPrice({\n currency,\n hotelCurrency,\n price: price + (taxes ? localTaxes : 0),\n }),\n name,\n paymentConditions,\n restrictions,\n taxes: !taxes\n ? getPrice({ currency, hotelCurrency, price: totalPrice - totalPriceOriginal + localTaxes })\n : undefined,\n });\n },\n );\n },\n );\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 description,\n images: photos?.map(({ photoAltDescription: alt, urlLarge: large, urlMediumRect: thumbnail } = {}) => ({\n alt,\n large,\n thumbnail,\n })),\n name,\n maxOccupation: adults + children,\n media: media ? { immersive3d: media.url3D, video: media.video } : undefined,\n rates,\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n ),\n taxes: !taxes ? taxesInformation.replace(/\\r?\\n|\\r/g, '') : undefined,\n });\n });\n"],"mappings":"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"}
|