@mirai/core 0.3.154 → 0.3.156

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 (34) hide show
  1. package/build/Core.constants.js +8 -4
  2. package/build/Core.constants.js.map +1 -1
  3. package/build/components/Rates/Rates.Footer.js +1 -1
  4. package/build/components/Rates/Rates.Footer.js.map +1 -1
  5. package/build/components/Rates/Rates.Unavailability.js +1 -1
  6. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  7. package/build/components/Rates/Rates.l10n.js +16 -4
  8. package/build/components/Rates/Rates.l10n.js.map +1 -1
  9. package/build/components/Rates/components/Item/Item.Summary.js +1 -1
  10. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
  11. package/build/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js +2 -2
  12. package/build/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js.map +1 -1
  13. package/build/components/Rates/components/ModalExtras/ModalExtras.js +4 -2
  14. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  15. package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +4 -0
  16. package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +3 -3
  17. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +3 -3
  18. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +3 -3
  19. package/build/services/Rates/__tests__/__mocks__/rates-response.json +3 -3
  20. package/build/services/Rates/helpers/getItems.js +113 -0
  21. package/build/services/Rates/helpers/getItems.js.map +1 -0
  22. package/build/services/Rates/helpers/getOccupationSuggestions.js +6 -0
  23. package/build/services/Rates/helpers/getOccupationSuggestions.js.map +1 -1
  24. package/build/services/Rates/helpers/getRooms.js +17 -9
  25. package/build/services/Rates/helpers/getRooms.js.map +1 -1
  26. package/build/services/Rates/helpers/getTaxesType.js +13 -3
  27. package/build/services/Rates/helpers/getTaxesType.js.map +1 -1
  28. package/build/services/Rates/helpers/index.js +11 -0
  29. package/build/services/Rates/helpers/index.js.map +1 -1
  30. package/build/services/Rates/helpers/parseUnavailability.js +12 -1
  31. package/build/services/Rates/helpers/parseUnavailability.js.map +1 -1
  32. package/build/services/Rates/rates.js +22 -95
  33. package/build/services/Rates/rates.js.map +1 -1
  34. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"rates.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","DOUBLE","SINGLE","BED_TYPE","FEATURE","PESTANA","rates","session","authorization","clubDiscount","locale","occupation","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_club$clubLogin","idtokenprovider","id","checkin","nights","club","authentication","type","rest","language","split","params","Object","entries","applyClubDiscount","cid","sha1","concat","KEY_HASH","currency","accessClubToken","lang","parseExternalToken","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","unavailability","parseUnavailability","checkIn","currencyCode","hotelCurrency","firstChildInterval","measureUnit","unit","roomTypes","showLocalTaxes","fees","userCountry","country","vatIncluded","taxes","ServiceCurrency","exchange","items","values","infantAge","lowerBound","clubConditions","ServiceFeatures","get","EXTERNAL","URL","DEFAULT_LANGUAGE","externalSignout","TYPE","clubLogin","status","VALID","map","amountAvailable","availability","name","newInfoRoom","info","occupationOptions","description","roomTypeInfo","bedDistributions","bedType","galleryMedia","url3D","video","urlVideo","photos","roomSize","size","occupationQuantities","numFirstRangeChildren","minRange","numSecondRangeChildren","maxRange","numAdults","adults","numBabies","babies","totalChildren","children","posibilities","nightsDeal","maxOccupation","amenities","parseAmenities","bedDisposition","BED_DISPOSITION","bedTypes","reduce","next","forEach","amount","includes","parseBoards","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","media","ages","item","UNIT","taxesType","getTaxesType","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/rates.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency, ServiceFeatures } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { BED_DISPOSITION, BED_TYPE, DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, UNIT, VALID } from './constants';\nimport {\n getTaxesType,\n parseAmenities,\n parseBoards,\n parseExternalToken,\n parseTracking,\n parseUnavailability,\n} from './helpers';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nconst FEATURE = { PESTANA: 'pestana' };\n\nexport const rates = ({\n session: { authorization } = {},\n clubDiscount,\n locale,\n occupation,\n userCurrency,\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n const {\n idtokenprovider: id,\n checkin,\n nights,\n club: { authentication: { type } = {} } = {},\n ...rest\n } = others || {};\n\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n applyClubDiscount: clubDiscount,\n checkin,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n currency: userCurrency,\n idtokenprovider: id,\n nights,\n ...rest,\n accessClubToken: authorization,\n lang: language,\n ...parseExternalToken(rest),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const unavailability = parseUnavailability({ ...response, checkIn: checkin, nights, occupation });\n if (unavailability) return reject(unavailability);\n\n const {\n club,\n currencyCode: hotelCurrency,\n firstChildInterval = {},\n measureUnit: unit,\n roomTypes,\n showLocalTaxes: fees,\n userCountry: country,\n vatIncluded: taxes,\n } = response;\n\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n const items = Object.values(roomTypes);\n const infantAge = firstChildInterval?.lowerBound;\n\n resolve({\n clubConditions: ServiceFeatures.get(FEATURE.PESTANA, id)\n ? EXTERNAL.URL[language] || EXTERNAL.URL[DEFAULT_LANGUAGE]\n : undefined,\n country,\n currency: hotelCurrency,\n externalSignout: authorization && type === EXTERNAL.TYPE && club?.clubLogin?.status !== VALID,\n infantAge: infantAge !== null ? infantAge : undefined,\n items: items.map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const {\n description,\n roomTypeInfo: {\n bedDistributions: bedType = [],\n galleryMedia: { url3D, video: urlVideo } = {},\n photos,\n roomSize: size,\n } = {},\n } = info;\n\n const {\n occupationQuantities: {\n numFirstRangeChildren: minRange = 0,\n numSecondRangeChildren: maxRange = 0,\n numAdults: adults = 0,\n numBabies: babies = 0,\n totalChildren: children = 0,\n } = {},\n posibilities: [{ nights: nightsDeal } = {}] = [],\n rates,\n } = Object.values(occupationOptions)[0] || {};\n\n const maxOccupation = adults + children;\n\n return {\n amenities: parseAmenities(info),\n availability,\n bedDisposition: bedType.map((type) => BED_DISPOSITION[type]),\n bedTypes: bedType.reduce((result, next) => {\n BED_DISPOSITION[next].forEach(({ amount, type } = {}) => {\n if ([DOUBLE, SINGLE].includes(type) && amount > 0) result[result.length ? 1 : 0] = type;\n });\n\n return result;\n }, []),\n ...parseBoards({ currency, fees, hotelCurrency, rates, taxes }),\n description,\n images: photos?.map(({ photoAltDescription: alt, urlLarge: large, urlMediumRect: thumbnail } = {}) => ({\n alt,\n large,\n thumbnail,\n })),\n name,\n nightsDeal,\n maxOccupation,\n media: url3D || urlVideo ? { url3D, urlVideo } : undefined,\n occupation: maxOccupation\n ? [\n adults > 0 ? { type: 2, amount: adults } : undefined,\n children > 0 ? { type: 3, ages: [minRange, maxRange], amount: children } : undefined,\n babies > 0 ? { type: 4, amount: babies } : undefined,\n ].filter((item) => !!item)\n : [],\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n ),\n taxesType: getTaxesType(response),\n tracking: parseTracking(response),\n });\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"rates.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","FEATURE","PESTANA","rates","session","authorization","clubDiscount","locale","occupation","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_club$clubLogin","idtokenprovider","id","checkin","nights","club","authentication","type","rest","language","split","params","Object","entries","applyClubDiscount","cid","sha1","concat","KEY_HASH","currency","accessClubToken","lang","parseExternalToken","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","unavailability","parseUnavailability","checkIn","currencyCode","hotelCurrency","firstChildInterval","messages","availabilityMessage","increments","showLocalTaxes","fees","userCountry","country","vatIncluded","taxes","ServiceCurrency","exchange","infantAge","lowerBound","items","getItems","boards","hasFees","hasTaxes","clubConditions","ServiceFeatures","get","EXTERNAL","URL","DEFAULT_LANGUAGE","externalSignout","TYPE","clubLogin","status","VALID","taxesType","getTaxesType","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/rates.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency, ServiceFeatures } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, VALID } from './constants';\nimport { getItems, getTaxesType, parseExternalToken, parseTracking, parseUnavailability } from './helpers';\n\nconst FEATURE = { PESTANA: 'pestana' };\n\nexport const rates = ({\n session: { authorization } = {},\n clubDiscount,\n locale,\n occupation,\n userCurrency,\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n const {\n idtokenprovider: id,\n checkin,\n nights,\n club: { authentication: { type } = {} } = {},\n ...rest\n } = others || {};\n\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n applyClubDiscount: clubDiscount,\n checkin,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n currency: userCurrency,\n idtokenprovider: id,\n nights,\n ...rest,\n accessClubToken: authorization,\n lang: language,\n ...parseExternalToken(rest),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const unavailability = parseUnavailability({ ...response, checkIn: checkin, nights, occupation });\n if (unavailability) return reject(unavailability);\n\n const {\n club,\n currencyCode: hotelCurrency,\n firstChildInterval = {},\n messages: { availabilityMessage: { increments } = {} } = {},\n showLocalTaxes: fees,\n userCountry: country,\n vatIncluded: taxes,\n } = response;\n\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n const infantAge = firstChildInterval?.lowerBound;\n const items = getItems({ ...response, currency });\n\n const [{ boards: [{ fees: hasFees, taxes: hasTaxes } = {}] = [] } = {}] = items || [];\n\n resolve({\n clubConditions: ServiceFeatures.get(FEATURE.PESTANA, id)\n ? EXTERNAL.URL[language] || EXTERNAL.URL[DEFAULT_LANGUAGE]\n : undefined,\n country,\n currency: hotelCurrency,\n externalSignout: authorization && type === EXTERNAL.TYPE && club?.clubLogin?.status !== VALID,\n increments: increments || undefined,\n infantAge: infantAge !== null ? infantAge : undefined,\n items,\n taxesType: getTaxesType({ fees, hasFees, hasTaxes, taxes }),\n tracking: parseTracking(response),\n });\n });\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.154",
3
+ "version": "0.3.156",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",