@mirai/core 0.3.148 → 0.3.150
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/Core.js +1 -1
- package/build/Core.js.map +1 -1
- package/build/components/Profile/components/Settings/Settings.l10n.js +1 -1
- package/build/components/Profile/components/Settings/Settings.l10n.js.map +1 -1
- package/build/components/Rates/Rates.js +2 -1
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/helpers/getFinderParams.js +6 -1
- package/build/components/Rates/helpers/getFinderParams.js.map +1 -1
- package/build/components/Rates/helpers/trackDataSource.js +6 -1
- package/build/components/Rates/helpers/trackDataSource.js.map +1 -1
- package/build/components/helpers/constants.js +1 -0
- package/build/components/helpers/constants.js.map +1 -1
- package/build/services/Rates/helpers/parseTracking.js +50 -25
- package/build/services/Rates/helpers/parseTracking.js.map +1 -1
- package/build/services/Rates/hotels.js +2 -1
- package/build/services/Rates/hotels.js.map +1 -1
- package/package.json +1 -1
package/build/Core.js
CHANGED
|
@@ -76,7 +76,7 @@ const Core = _ref => {
|
|
|
76
76
|
currency,
|
|
77
77
|
dictionary,
|
|
78
78
|
locale
|
|
79
|
-
}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Core.Notifications, null), components.filter(_ref3 => {
|
|
79
|
+
}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !skeleton && /*#__PURE__*/_react.default.createElement(_Core.Notifications, null), components.filter(_ref3 => {
|
|
80
80
|
let {
|
|
81
81
|
desktop,
|
|
82
82
|
mobile
|
package/build/Core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Core.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_helpers","_Core","_helpers2","_sanitizeComponent","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ghosts","Core","_ref","children","components","skeleton","isMobile","isDesktop","useDevice","value","currency","locale","DEFAULT_LOCALE","useStore","dictionary","setDictionary","useState","ServiceDictionary","cache","undefined","useEffect","handleIntentLocale","_ref2","fetchDictionary","language","split","themeDirection","cached","Event","subscribe","EVENT","INTENT_LOCALE","unsubscribe","next","createElement","LocaleProvider","Fragment","Notifications","filter","_ref3","desktop","mobile","map","_ref4","index","el","component","props","getGhost","dangerousChildren","sanitizeComponent","ReactDOM","createPortal","React","COMPONENTS","ghost","process","env","NODE_ENV","exports","propTypes","PropTypes","node","arrayOf","shape","oneOf","keys","any","bool"],"sources":["../src/Core.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, LocaleProvider } from '@mirai/locale';\nimport { ServiceDictionary } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { COMPONENTS } from './components';\nimport { EVENT } from './components/helpers';\nimport { Notifications } from './Core.Notifications';\nimport { getGhost, themeDirection } from './helpers';\nimport { sanitizeComponent } from './helpers/sanitizeComponent';\n\nconst ghosts = {};\n\nconst Core = ({ children, components = [], skeleton = false }) => {\n const { isMobile, isDesktop } = useDevice();\n const {\n set,\n value: { currency, locale = DEFAULT_LOCALE },\n } = useStore();\n\n const [dictionary, setDictionary] = useState(!skeleton ? ServiceDictionary.cache(locale) : undefined);\n\n useEffect(() => {\n const handleIntentLocale = async ({ locale }) => {\n const dictionary = await fetchDictionary(locale);\n if (dictionary) {\n const [language] = locale.split('-');\n themeDirection(language);\n set({ language, locale });\n }\n };\n\n if (skeleton) {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n }\n\n Event.subscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n return () => Event.unsubscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!skeleton) fetchDictionary(locale);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n const fetchDictionary = async (locale) => {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n\n const next = await ServiceDictionary.get(locale, false);\n if (next) setDictionary(next);\n\n return next;\n };\n\n return (\n <LocaleProvider {...{ currency, dictionary, locale }}>\n <>\n <Notifications
|
|
1
|
+
{"version":3,"file":"Core.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_helpers","_Core","_helpers2","_sanitizeComponent","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ghosts","Core","_ref","children","components","skeleton","isMobile","isDesktop","useDevice","value","currency","locale","DEFAULT_LOCALE","useStore","dictionary","setDictionary","useState","ServiceDictionary","cache","undefined","useEffect","handleIntentLocale","_ref2","fetchDictionary","language","split","themeDirection","cached","Event","subscribe","EVENT","INTENT_LOCALE","unsubscribe","next","createElement","LocaleProvider","Fragment","Notifications","filter","_ref3","desktop","mobile","map","_ref4","index","el","component","props","getGhost","dangerousChildren","sanitizeComponent","ReactDOM","createPortal","React","COMPONENTS","ghost","process","env","NODE_ENV","exports","propTypes","PropTypes","node","arrayOf","shape","oneOf","keys","any","bool"],"sources":["../src/Core.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, LocaleProvider } from '@mirai/locale';\nimport { ServiceDictionary } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { COMPONENTS } from './components';\nimport { EVENT } from './components/helpers';\nimport { Notifications } from './Core.Notifications';\nimport { getGhost, themeDirection } from './helpers';\nimport { sanitizeComponent } from './helpers/sanitizeComponent';\n\nconst ghosts = {};\n\nconst Core = ({ children, components = [], skeleton = false }) => {\n const { isMobile, isDesktop } = useDevice();\n const {\n set,\n value: { currency, locale = DEFAULT_LOCALE },\n } = useStore();\n\n const [dictionary, setDictionary] = useState(!skeleton ? ServiceDictionary.cache(locale) : undefined);\n\n useEffect(() => {\n const handleIntentLocale = async ({ locale }) => {\n const dictionary = await fetchDictionary(locale);\n if (dictionary) {\n const [language] = locale.split('-');\n themeDirection(language);\n set({ language, locale });\n }\n };\n\n if (skeleton) {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n }\n\n Event.subscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n return () => Event.unsubscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!skeleton) fetchDictionary(locale);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n const fetchDictionary = async (locale) => {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n\n const next = await ServiceDictionary.get(locale, false);\n if (next) setDictionary(next);\n\n return next;\n };\n\n return (\n <LocaleProvider {...{ currency, dictionary, locale }}>\n <>\n {!skeleton && <Notifications />}\n\n {components\n .filter(({ desktop, mobile }) => !(isMobile && mobile === 'false') && !(isDesktop && desktop === 'false'))\n .map(({ el, component, ...props }, index) => {\n if (!ghosts[index]) ghosts[index] = getGhost(el);\n\n const { dangerousChildren } = sanitizeComponent(el);\n\n return ReactDOM.createPortal(\n React.createElement(COMPONENTS[component], {\n ...props,\n dangerousChildren,\n el,\n ghost: ghosts[index],\n skeleton,\n ['data-testid']: process.env.NODE_ENV === 'production' ? component : undefined,\n }),\n el,\n );\n })}\n </>\n {children}\n </LocaleProvider>\n );\n};\n\nCore.propTypes = {\n children: PropTypes.node,\n components: PropTypes.arrayOf(\n PropTypes.shape({\n component: PropTypes.oneOf(Object.keys(COMPONENTS)),\n el: PropTypes.any,\n }),\n ),\n skeleton: PropTypes.bool,\n};\n\nexport { Core };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.l10n.js","names":["L10N","exports","ACTION_SIGNOUT_CANCEL","id","BUTTON_SIGNOUT","defaultMessage","COUNTRY_LABEL","COUNTRY_PLACEHOLDER","CTA_SIGNOUT","CTA_ACCOUNT","CTA_PASSWORD","CTA_SIGNUP","DATEOFBIRTH_LABEL","DATEOFBIRTH_ERROR","DESCRIPTION_ACCOUNT","DESCRIPTION_PASSWORD","DESCRIPTION_SIGNOUT","DESCRIPTION_SIGNOUT_MODAL","DESCRIPTION_SIGNOUT_MODAL_SUCCESS","EMAIL_LABEL","FIRSTNAME_LABEL","LASTNAME_LABEL","PASSWORD_LABEL","PASSWORD_HINT","PASSWORD_NEW_LABEL","SUBSCRIBED_LABEL","TITLE_SIGNOUT","SUCCESS_ACCOUNT","SUCCESS_PASSWORD","SUCCESS_SIGNOUT","ERROR","ERROR_PASSWORD","LABEL_PERSONAL_DETAILS","LABEL_SECURITY"],"sources":["../../../../../src/components/Profile/components/Settings/Settings.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_SIGNOUT_CANCEL: { id: 'common.action.close' },\n\n BUTTON_SIGNOUT: { id: 'user.action.delete_account', defaultMessage: ' ' },\n\n COUNTRY_LABEL: { id: 'user.label.country', defaultMessage: ' ' },\n COUNTRY_PLACEHOLDER: { id: 'common.label.select' },\n CTA_SIGNOUT: { id: 'user.action.delete_account' },\n CTA_ACCOUNT: { id: 'user.action.save_info', defaultMessage: ' ' },\n CTA_PASSWORD: { id: 'user.action.save_password', defaultMessage: ' ' },\n CTA_SIGNUP: { id: 'user.action.signup_again' },\n\n DATEOFBIRTH_LABEL: { id: 'user.label.date_of_birth', defaultMessage: ' ' },\n DATEOFBIRTH_ERROR: { id: 'user.label.date_of_birth_error' },\n DESCRIPTION_ACCOUNT: { id: 'user.label.description_account', defaultMessage: ' ' },\n DESCRIPTION_PASSWORD: { id: 'user.label.description_password', defaultMessage: ' ' },\n DESCRIPTION_SIGNOUT: { id: 'user.label.description_delete_account', defaultMessage: ' ' },\n DESCRIPTION_SIGNOUT_MODAL: { id: 'user.label.modal_delete_account' },\n DESCRIPTION_SIGNOUT_MODAL_SUCCESS: { id: 'user.label.account_deleted' },\n\n EMAIL_LABEL: { id: 'common.label.email', defaultMessage: ' ' },\n\n FIRSTNAME_LABEL: { id: 'common.label.name', defaultMessage: ' ' },\n\n LASTNAME_LABEL: { id: 'common.label.lastname', defaultMessage: ' ' },\n\n PASSWORD_LABEL: { id: 'common.label.password', defaultMessage: ' ' },\n PASSWORD_HINT: { id: 'user.label.password_hint', defaultMessage: ' ' },\n PASSWORD_NEW_LABEL: { id: 'common.label.new_password', defaultMessage: ' ' },\n\n SUBSCRIBED_LABEL: { id: 'user.label.subscribe', defaultMessage: ' ' },\n\n TITLE_SIGNOUT: { id: 'user.label.delete_account', defaultMessage: ' ' },\n\n // Notifications\n SUCCESS_ACCOUNT: { id: 'user.notification.
|
|
1
|
+
{"version":3,"file":"Settings.l10n.js","names":["L10N","exports","ACTION_SIGNOUT_CANCEL","id","BUTTON_SIGNOUT","defaultMessage","COUNTRY_LABEL","COUNTRY_PLACEHOLDER","CTA_SIGNOUT","CTA_ACCOUNT","CTA_PASSWORD","CTA_SIGNUP","DATEOFBIRTH_LABEL","DATEOFBIRTH_ERROR","DESCRIPTION_ACCOUNT","DESCRIPTION_PASSWORD","DESCRIPTION_SIGNOUT","DESCRIPTION_SIGNOUT_MODAL","DESCRIPTION_SIGNOUT_MODAL_SUCCESS","EMAIL_LABEL","FIRSTNAME_LABEL","LASTNAME_LABEL","PASSWORD_LABEL","PASSWORD_HINT","PASSWORD_NEW_LABEL","SUBSCRIBED_LABEL","TITLE_SIGNOUT","SUCCESS_ACCOUNT","SUCCESS_PASSWORD","SUCCESS_SIGNOUT","ERROR","ERROR_PASSWORD","LABEL_PERSONAL_DETAILS","LABEL_SECURITY"],"sources":["../../../../../src/components/Profile/components/Settings/Settings.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_SIGNOUT_CANCEL: { id: 'common.action.close' },\n\n BUTTON_SIGNOUT: { id: 'user.action.delete_account', defaultMessage: ' ' },\n\n COUNTRY_LABEL: { id: 'user.label.country', defaultMessage: ' ' },\n COUNTRY_PLACEHOLDER: { id: 'common.label.select' },\n CTA_SIGNOUT: { id: 'user.action.delete_account' },\n CTA_ACCOUNT: { id: 'user.action.save_info', defaultMessage: ' ' },\n CTA_PASSWORD: { id: 'user.action.save_password', defaultMessage: ' ' },\n CTA_SIGNUP: { id: 'user.action.signup_again' },\n\n DATEOFBIRTH_LABEL: { id: 'user.label.date_of_birth', defaultMessage: ' ' },\n DATEOFBIRTH_ERROR: { id: 'user.label.date_of_birth_error' },\n DESCRIPTION_ACCOUNT: { id: 'user.label.description_account', defaultMessage: ' ' },\n DESCRIPTION_PASSWORD: { id: 'user.label.description_password', defaultMessage: ' ' },\n DESCRIPTION_SIGNOUT: { id: 'user.label.description_delete_account', defaultMessage: ' ' },\n DESCRIPTION_SIGNOUT_MODAL: { id: 'user.label.modal_delete_account' },\n DESCRIPTION_SIGNOUT_MODAL_SUCCESS: { id: 'user.label.account_deleted' },\n\n EMAIL_LABEL: { id: 'common.label.email', defaultMessage: ' ' },\n\n FIRSTNAME_LABEL: { id: 'common.label.name', defaultMessage: ' ' },\n\n LASTNAME_LABEL: { id: 'common.label.lastname', defaultMessage: ' ' },\n\n PASSWORD_LABEL: { id: 'common.label.password', defaultMessage: ' ' },\n PASSWORD_HINT: { id: 'user.label.password_hint', defaultMessage: ' ' },\n PASSWORD_NEW_LABEL: { id: 'common.label.new_password', defaultMessage: ' ' },\n\n SUBSCRIBED_LABEL: { id: 'user.label.subscribe', defaultMessage: ' ' },\n\n TITLE_SIGNOUT: { id: 'user.label.delete_account', defaultMessage: ' ' },\n\n // Notifications\n SUCCESS_ACCOUNT: { id: 'user.notification.update_success' },\n SUCCESS_PASSWORD: { id: 'user.notification.update_password_success' },\n SUCCESS_SIGNOUT: { id: 'user.notification.delete_account_success' },\n\n ERROR: { id: 'common.notification.network_error' },\n ERROR_PASSWORD: { id: 'common.notification.password_error' },\n\n LABEL_PERSONAL_DETAILS: { id: 'user.label.personal_details', defaultMessage: ' ' },\n LABEL_SECURITY: { id: 'user.label.security', defaultMessage: ' ' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,qBAAqB,EAAE;IAAEC,EAAE,EAAE;EAAsB,CAAC;EAEpDC,cAAc,EAAE;IAAED,EAAE,EAAE,4BAA4B;IAAEE,cAAc,EAAE;EAAI,CAAC;EAEzEC,aAAa,EAAE;IAAEH,EAAE,EAAE,oBAAoB;IAAEE,cAAc,EAAE;EAAI,CAAC;EAChEE,mBAAmB,EAAE;IAAEJ,EAAE,EAAE;EAAsB,CAAC;EAClDK,WAAW,EAAE;IAAEL,EAAE,EAAE;EAA6B,CAAC;EACjDM,WAAW,EAAE;IAAEN,EAAE,EAAE,uBAAuB;IAAEE,cAAc,EAAE;EAAI,CAAC;EACjEK,YAAY,EAAE;IAAEP,EAAE,EAAE,2BAA2B;IAAEE,cAAc,EAAE;EAAI,CAAC;EACtEM,UAAU,EAAE;IAAER,EAAE,EAAE;EAA2B,CAAC;EAE9CS,iBAAiB,EAAE;IAAET,EAAE,EAAE,0BAA0B;IAAEE,cAAc,EAAE;EAAI,CAAC;EAC1EQ,iBAAiB,EAAE;IAAEV,EAAE,EAAE;EAAiC,CAAC;EAC3DW,mBAAmB,EAAE;IAAEX,EAAE,EAAE,gCAAgC;IAAEE,cAAc,EAAE;EAAI,CAAC;EAClFU,oBAAoB,EAAE;IAAEZ,EAAE,EAAE,iCAAiC;IAAEE,cAAc,EAAE;EAAI,CAAC;EACpFW,mBAAmB,EAAE;IAAEb,EAAE,EAAE,uCAAuC;IAAEE,cAAc,EAAE;EAAI,CAAC;EACzFY,yBAAyB,EAAE;IAAEd,EAAE,EAAE;EAAkC,CAAC;EACpEe,iCAAiC,EAAE;IAAEf,EAAE,EAAE;EAA6B,CAAC;EAEvEgB,WAAW,EAAE;IAAEhB,EAAE,EAAE,oBAAoB;IAAEE,cAAc,EAAE;EAAI,CAAC;EAE9De,eAAe,EAAE;IAAEjB,EAAE,EAAE,mBAAmB;IAAEE,cAAc,EAAE;EAAI,CAAC;EAEjEgB,cAAc,EAAE;IAAElB,EAAE,EAAE,uBAAuB;IAAEE,cAAc,EAAE;EAAI,CAAC;EAEpEiB,cAAc,EAAE;IAAEnB,EAAE,EAAE,uBAAuB;IAAEE,cAAc,EAAE;EAAI,CAAC;EACpEkB,aAAa,EAAE;IAAEpB,EAAE,EAAE,0BAA0B;IAAEE,cAAc,EAAE;EAAI,CAAC;EACtEmB,kBAAkB,EAAE;IAAErB,EAAE,EAAE,2BAA2B;IAAEE,cAAc,EAAE;EAAI,CAAC;EAE5EoB,gBAAgB,EAAE;IAAEtB,EAAE,EAAE,sBAAsB;IAAEE,cAAc,EAAE;EAAI,CAAC;EAErEqB,aAAa,EAAE;IAAEvB,EAAE,EAAE,2BAA2B;IAAEE,cAAc,EAAE;EAAI,CAAC;EAEvE;EACAsB,eAAe,EAAE;IAAExB,EAAE,EAAE;EAAmC,CAAC;EAC3DyB,gBAAgB,EAAE;IAAEzB,EAAE,EAAE;EAA4C,CAAC;EACrE0B,eAAe,EAAE;IAAE1B,EAAE,EAAE;EAA2C,CAAC;EAEnE2B,KAAK,EAAE;IAAE3B,EAAE,EAAE;EAAoC,CAAC;EAClD4B,cAAc,EAAE;IAAE5B,EAAE,EAAE;EAAqC,CAAC;EAE5D6B,sBAAsB,EAAE;IAAE7B,EAAE,EAAE,6BAA6B;IAAEE,cAAc,EAAE;EAAI,CAAC;EAClF4B,cAAc,EAAE;IAAE9B,EAAE,EAAE,qBAAqB;IAAEE,cAAc,EAAE;EAAI;AACnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_services2","_Finder","_helpers2","_SessionLogin","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","rates","cart","storeCart","session","urlParams","useStore","calendar","occupation","place","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","useEffect","callback","fetch","Event","subscribe","EVENT","INTENT_CURRENCY","unsubscribe","boards","items","map","_ref2","name","roomName","board","flat","nextCart","find","filter","console","log","replaceHistory","multiRoom","current","offsetHeight","offsetTop","document","documentElement","scrollTo","top","behavior","getNextUrlParams","trackDataSource","nextClubDiscount","params","publish","FINDER","nextParams","parties","parseToParties","nextDataSource","ServiceRates","catch","externalSignout","signout","JSON","stringify","history","replaceState","toUrlParams","lang","getFinderParams","handleFinder","values","handleClubDiscount","next","handleSelect","handleSubmit","isPestana","ServiceFeatures","FEATURE_PESTANA","getCheckoutParams","hotelCurrency","selectableExtras","some","included","handleCheckout","location","href","getForwarderUrl","nights","dateDiff","days","response","roomSelectorProps","onPress","showIncluded","FEATURE_SHOW_RATE_INCLUDED","contentBackground","Theme","createElement","Fragment","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","L10N","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","Header","onClubDiscount","onSelect","row","_ref3","index","item","Item","concat","taxesType","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getCheckoutParams, getFinderParams, getForwarderUrl, signout, trackDataSource } from './helpers';\nimport { FEATURE_PESTANA, FEATURE_SHOW_RATE_INCLUDED } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder';\nimport { EVENT, opacity, parseToParties, toUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n useEffect(() => {\n const callback = async ({ currency } = {}) => {\n set({ currency });\n // ! TODO: Here locale is not correct\n await fetch(currency, clubDiscount, undefined, room);\n };\n\n Event.subscribe(EVENT.INTENT_CURRENCY, callback);\n return () => Event.unsubscribe(EVENT.INTENT_CURRENCY, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n useEffect(() => {\n if (!storeCart.length || !dataSource || cart.length) return;\n\n const boards = dataSource.items\n .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))\n .flat();\n const nextCart = storeCart.map((id) => boards.find((board) => board.id === id)).filter((board) => !!board);\n\n // eslint-disable-next-line no-console\n console.log('::cart from url::', nextCart);\n\n // if (storeCart.length === nextCart.length) setCart(nextCart);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cart, dataSource, storeCart]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => currency && locale && replaceHistory(), [currency, locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n fetch(currency, undefined, getNextUrlParams(), room);\n replaceHistory();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [finder, locale, room, session]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n\n trackDataSource({ ...dataSource, ...urlParams, isMobile, occupation });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n const fetch = async (currency, nextClubDiscount = clubDiscount, params = urlParams, room) => {\n if (skeleton || (!multiRoom && room !== undefined)) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n const nextParams = {\n ...params,\n club,\n clubDiscount: nextClubDiscount,\n currency,\n id,\n locale,\n occupation,\n place,\n session,\n };\n if (room !== undefined) nextParams.parties = parseToParties([occupation[room]]);\n\n const nextDataSource = await ServiceRates.get(nextParams).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && multiRoom && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const replaceHistory = (nextParams = getNextUrlParams() || {}, nextCart = cart || []) => {\n if (nextCart.length) nextParams.rates = JSON.stringify(nextCart.map(({ id } = {}) => id));\n else if (nextParams.rates) nextParams.rates = undefined;\n\n history.replaceState({}, '', toUrlParams({ ...nextParams, currency, lang: language, locale }));\n };\n\n const getNextUrlParams = () => getFinderParams({ ...urlParams, ...finder, currency, locale, hotel });\n\n const handleFinder = (values) => {\n setCart([]);\n setDataSource(undefined);\n setRoom(undefined);\n\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n replaceHistory(params);\n };\n\n const handleClubDiscount = async (next) => {\n setCart([]);\n setClubDiscount(next);\n login && setLogin(false);\n\n await fetch(currency, next, undefined, room);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) replaceHistory(undefined, nextCart);\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURE_PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n replaceHistory(undefined, cart);\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: getNextUrlParams() }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n const urlParams = getNextUrlParams();\n document.location.href = getForwarderUrl({ cart, clubDiscount, currency, extras, forwarder, session, urlParams });\n };\n\n const multiRoom = occupation?.length > 1;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showIncluded = ServiceFeatures.get(FEATURE_SHOW_RATE_INCLUDED, id) || false;\n const { contentBackground } = Theme.get();\n\n return (\n <>\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && !responseError && <Content {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <Header\n {...{ clubDiscount, dataSource, multiRoom, onClubDiscount: handleClubDiscount, onSelect: handleSelect }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </Header>\n )}\n\n {response ? (\n <View row={!isMobile} className={style.items}>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n key={`${id || index}:${fetching}:${width}`}\n {...{ id, ...item, multiRoom, nights, showIncluded, taxesType: dataSource.taxesType }}\n cart={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </View>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && <Footer {...{ cart, dataSource, extras, occupation }} onSubmit={() => handleSubmit(cart)} />}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...itemInfo}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => handleSelect()}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_services2","_Finder","_helpers2","_SessionLogin","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","rates","cart","storeCart","session","urlParams","useStore","calendar","occupation","place","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","useEffect","callback","fetch","Event","subscribe","EVENT","INTENT_CURRENCY","unsubscribe","boards","items","map","_ref2","name","roomName","board","flat","nextCart","find","filter","console","log","replaceHistory","multiRoom","current","offsetHeight","offsetTop","document","documentElement","scrollTo","top","behavior","getNextUrlParams","trackDataSource","nextClubDiscount","params","publish","FINDER","nextParams","parties","parseToParties","nextDataSource","ServiceRates","catch","externalSignout","signout","JSON","stringify","history","replaceState","toUrlParams","lang","getFinderParams","handleFinder","values","handleClubDiscount","next","handleSelect","handleSubmit","isPestana","ServiceFeatures","FEATURE_PESTANA","getCheckoutParams","hotelCurrency","selectableExtras","some","included","handleCheckout","location","href","getForwarderUrl","nights","dateDiff","days","response","roomSelectorProps","onPress","showIncluded","FEATURE_SHOW_RATE_INCLUDED","contentBackground","Theme","createElement","Fragment","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","L10N","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","Header","onClubDiscount","onSelect","row","_ref3","index","item","Item","concat","taxesType","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getCheckoutParams, getFinderParams, getForwarderUrl, signout, trackDataSource } from './helpers';\nimport { FEATURE_PESTANA, FEATURE_SHOW_RATE_INCLUDED } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder';\nimport { EVENT, opacity, parseToParties, toUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n useEffect(() => {\n const callback = async ({ currency } = {}) => {\n set({ currency });\n // ! TODO: Here locale is not correct\n await fetch(currency, clubDiscount, undefined, room);\n };\n\n Event.subscribe(EVENT.INTENT_CURRENCY, callback);\n return () => Event.unsubscribe(EVENT.INTENT_CURRENCY, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n useEffect(() => {\n if (!storeCart.length || !dataSource || cart.length) return;\n\n const boards = dataSource.items\n .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))\n .flat();\n const nextCart = storeCart.map((id) => boards.find((board) => board.id === id)).filter((board) => !!board);\n\n // eslint-disable-next-line no-console\n console.log('::cart from url::', nextCart);\n\n // if (storeCart.length === nextCart.length) setCart(nextCart);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cart, dataSource, storeCart]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => currency && locale && replaceHistory(), [currency, locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n fetch(currency, undefined, getNextUrlParams(), room);\n replaceHistory();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [finder, locale, room, session]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n\n trackDataSource({ ...dataSource, ...urlParams, isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n const fetch = async (currency, nextClubDiscount = clubDiscount, params = urlParams, room) => {\n if (skeleton || (!multiRoom && room !== undefined)) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n const nextParams = {\n ...params,\n club,\n clubDiscount: nextClubDiscount,\n currency,\n id,\n locale,\n occupation,\n place,\n session,\n };\n if (room !== undefined) nextParams.parties = parseToParties([occupation[room]]);\n\n const nextDataSource = await ServiceRates.get(nextParams).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && multiRoom && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const replaceHistory = (nextParams = getNextUrlParams() || {}, nextCart = cart || []) => {\n if (nextCart.length) nextParams.rates = JSON.stringify(nextCart.map(({ id } = {}) => id));\n else if (nextParams.rates) nextParams.rates = undefined;\n\n history.replaceState({}, '', toUrlParams({ ...nextParams, currency, lang: language, locale }));\n };\n\n const getNextUrlParams = () => getFinderParams({ ...urlParams, ...finder, currency, locale, hotel });\n\n const handleFinder = (values) => {\n setCart([]);\n setDataSource(undefined);\n setRoom(undefined);\n\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n replaceHistory(params);\n };\n\n const handleClubDiscount = async (next) => {\n setCart([]);\n setClubDiscount(next);\n login && setLogin(false);\n\n await fetch(currency, next, undefined, room);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) replaceHistory(undefined, nextCart);\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURE_PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n replaceHistory(undefined, cart);\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: getNextUrlParams() }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n const urlParams = getNextUrlParams();\n document.location.href = getForwarderUrl({ cart, clubDiscount, currency, extras, forwarder, session, urlParams });\n };\n\n const multiRoom = occupation?.length > 1;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showIncluded = ServiceFeatures.get(FEATURE_SHOW_RATE_INCLUDED, id) || false;\n const { contentBackground } = Theme.get();\n\n return (\n <>\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && !responseError && <Content {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <Header\n {...{ clubDiscount, dataSource, multiRoom, onClubDiscount: handleClubDiscount, onSelect: handleSelect }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </Header>\n )}\n\n {response ? (\n <View row={!isMobile} className={style.items}>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n key={`${id || index}:${fetching}:${width}`}\n {...{ id, ...item, multiRoom, nights, showIncluded, taxesType: dataSource.taxesType }}\n cart={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </View>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && <Footer {...{ cart, dataSource, extras, occupation }} onSubmit={() => handleSubmit(cart)} />}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...itemInfo}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => handleSelect()}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ const getFinderParams = _ref => {
|
|
|
10
10
|
let {
|
|
11
11
|
place: {
|
|
12
12
|
id: ids = [],
|
|
13
|
+
isHotel,
|
|
13
14
|
value
|
|
14
15
|
} = {},
|
|
15
16
|
calendar: [checkIn, checkOut] = [],
|
|
@@ -25,7 +26,11 @@ const getFinderParams = _ref => {
|
|
|
25
26
|
return {
|
|
26
27
|
...urlParams,
|
|
27
28
|
chainSelectorValue: value,
|
|
28
|
-
|
|
29
|
+
...(value && !isHotel ? {
|
|
30
|
+
hotelIds: ids.join(',')
|
|
31
|
+
} : {
|
|
32
|
+
idtokenprovider: ids.length === 1 ? ids[0] : id
|
|
33
|
+
}),
|
|
29
34
|
checkin: (0, _locale.dateFormat)(checkIn, {
|
|
30
35
|
format: 'DD/MM/YYYY'
|
|
31
36
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFinderParams.js","names":["_locale","require","_helpers","getFinderParams","_ref","place","id","ids","value","calendar","checkIn","checkOut","occupation","promocode","clientCode","currency","DEFAULT_CURRENCY","locale","DEFAULT_LOCALE","hotel","urlParams","chainSelectorValue","idtokenprovider","length","checkin","dateFormat","format","nights","dateDiff","days","parties","parseToParties","lang","split","exports"],"sources":["../../../../src/components/Rates/helpers/getFinderParams.js"],"sourcesContent":["import { dateDiff, dateFormat, DEFAULT_CURRENCY, DEFAULT_LOCALE } from '@mirai/locale';\n\nimport { parseToParties } from '../../helpers';\n\nexport const getFinderParams = ({\n place: { id: ids = [], value } = {},\n calendar: [checkIn, checkOut] = [],\n occupation = [],\n promocode: clientCode = '',\n currency = DEFAULT_CURRENCY,\n locale = DEFAULT_LOCALE,\n hotel: { id } = {},\n ...urlParams\n}) => ({\n ...urlParams,\n chainSelectorValue: value,\n idtokenprovider: ids.length === 1 ? ids[0] : id,\n checkin: dateFormat(checkIn, { format: 'DD/MM/YYYY' }),\n nights: dateDiff(checkIn, checkOut).days,\n parties: parseToParties(occupation),\n clientCode,\n currency,\n lang: locale.split('-')[0],\n});\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEO,MAAME,eAAe,GAAGC,IAAA;EAAA,IAAC;IAC9BC,KAAK,EAAE;MAAEC,EAAE,EAAEC,GAAG,GAAG,EAAE;MAAEC;IAAM,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"getFinderParams.js","names":["_locale","require","_helpers","getFinderParams","_ref","place","id","ids","isHotel","value","calendar","checkIn","checkOut","occupation","promocode","clientCode","currency","DEFAULT_CURRENCY","locale","DEFAULT_LOCALE","hotel","urlParams","chainSelectorValue","hotelIds","join","idtokenprovider","length","checkin","dateFormat","format","nights","dateDiff","days","parties","parseToParties","lang","split","exports"],"sources":["../../../../src/components/Rates/helpers/getFinderParams.js"],"sourcesContent":["import { dateDiff, dateFormat, DEFAULT_CURRENCY, DEFAULT_LOCALE } from '@mirai/locale';\n\nimport { parseToParties } from '../../helpers';\n\nexport const getFinderParams = ({\n place: { id: ids = [], isHotel, value } = {},\n calendar: [checkIn, checkOut] = [],\n occupation = [],\n promocode: clientCode = '',\n currency = DEFAULT_CURRENCY,\n locale = DEFAULT_LOCALE,\n hotel: { id } = {},\n ...urlParams\n}) => ({\n ...urlParams,\n chainSelectorValue: value,\n ...(value && !isHotel ? { hotelIds: ids.join(',') } : { idtokenprovider: ids.length === 1 ? ids[0] : id }),\n checkin: dateFormat(checkIn, { format: 'DD/MM/YYYY' }),\n nights: dateDiff(checkIn, checkOut).days,\n parties: parseToParties(occupation),\n clientCode,\n currency,\n lang: locale.split('-')[0],\n});\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEO,MAAME,eAAe,GAAGC,IAAA;EAAA,IAAC;IAC9BC,KAAK,EAAE;MAAEC,EAAE,EAAEC,GAAG,GAAG,EAAE;MAAEC,OAAO;MAAEC;IAAM,CAAC,GAAG,CAAC,CAAC;IAC5CC,QAAQ,EAAE,CAACC,OAAO,EAAEC,QAAQ,CAAC,GAAG,EAAE;IAClCC,UAAU,GAAG,EAAE;IACfC,SAAS,EAAEC,UAAU,GAAG,EAAE;IAC1BC,QAAQ,GAAGC,wBAAgB;IAC3BC,MAAM,GAAGC,sBAAc;IACvBC,KAAK,EAAE;MAAEd;IAAG,CAAC,GAAG,CAAC,CAAC;IAClB,GAAGe;EACL,CAAC,GAAAjB,IAAA;EAAA,OAAM;IACL,GAAGiB,SAAS;IACZC,kBAAkB,EAAEb,KAAK;IACzB,IAAIA,KAAK,IAAI,CAACD,OAAO,GAAG;MAAEe,QAAQ,EAAEhB,GAAG,CAACiB,IAAI,CAAC,GAAG;IAAE,CAAC,GAAG;MAAEC,eAAe,EAAElB,GAAG,CAACmB,MAAM,KAAK,CAAC,GAAGnB,GAAG,CAAC,CAAC,CAAC,GAAGD;IAAG,CAAC,CAAC;IAC1GqB,OAAO,EAAE,IAAAC,kBAAU,EAACjB,OAAO,EAAE;MAAEkB,MAAM,EAAE;IAAa,CAAC,CAAC;IACtDC,MAAM,EAAE,IAAAC,gBAAQ,EAACpB,OAAO,EAAEC,QAAQ,CAAC,CAACoB,IAAI;IACxCC,OAAO,EAAE,IAAAC,uBAAc,EAACrB,UAAU,CAAC;IACnCE,UAAU;IACVC,QAAQ;IACRmB,IAAI,EAAEjB,MAAM,CAACkB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;EAC3B,CAAC;AAAA,CAAC;AAACC,OAAA,CAAAlC,eAAA,GAAAA,eAAA"}
|
|
@@ -15,12 +15,16 @@ const trackDataSource = function () {
|
|
|
15
15
|
checkin,
|
|
16
16
|
clientCode,
|
|
17
17
|
currency: userCurrency,
|
|
18
|
+
hotels,
|
|
18
19
|
idchain: chainId,
|
|
19
20
|
idtokenprovider: hotelId,
|
|
20
21
|
isMobile,
|
|
21
22
|
lang: language,
|
|
22
23
|
nights,
|
|
23
24
|
occupation,
|
|
25
|
+
place: {
|
|
26
|
+
title: searchCategory
|
|
27
|
+
} = {},
|
|
24
28
|
tracking
|
|
25
29
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
26
30
|
return (0, _helpers.trace)({
|
|
@@ -48,11 +52,12 @@ const trackDataSource = function () {
|
|
|
48
52
|
return total + (type === CHILD ? amount : 0);
|
|
49
53
|
}, 0),
|
|
50
54
|
numRooms: occupation.length,
|
|
55
|
+
searchCategory,
|
|
51
56
|
userCurrency
|
|
52
57
|
},
|
|
53
58
|
chainId,
|
|
54
59
|
hotelId,
|
|
55
|
-
step: _helpers.STEP.RATES,
|
|
60
|
+
step: hotels ? _helpers.STEP.HOTELS : _helpers.STEP.RATES,
|
|
56
61
|
...tracking
|
|
57
62
|
});
|
|
58
63
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trackDataSource.js","names":["_locale","require","_Occupation","_helpers","CHILD","TYPE_OCCUPATION","trackDataSource","checkin","clientCode","currency","userCurrency","idchain","chainId","idtokenprovider","hotelId","isMobile","lang","language","nights","occupation","tracking","arguments","length","undefined","trace","bookingValues","checkout","dateFormat","dateCalc","parseDate","parseInt","format","device","numAdults","flat","reduce","total","type","amount","numChildren","numRooms","step","STEP","RATES","exports"],"sources":["../../../../src/components/Rates/helpers/trackDataSource.js"],"sourcesContent":["import { dateCalc, parseDate, dateFormat } from '@mirai/locale';\n\nimport { TYPE_OCCUPATION } from '../../__shared__/Occupation';\nimport { STEP, trace } from '../../helpers';\n\nconst { CHILD } = TYPE_OCCUPATION;\n\nexport const trackDataSource = ({\n checkin,\n clientCode,\n currency: userCurrency,\n idchain: chainId,\n idtokenprovider: hotelId,\n isMobile,\n lang: language,\n nights,\n occupation,\n tracking,\n} = {}) =>\n trace({\n bookingValues: {\n checkin,\n checkout: dateFormat(dateCalc(parseDate(checkin), parseInt(nights), 'days'), { format: 'DD/MM/YYYY' }),\n clientCode,\n device: isMobile ? 'MOBILE' : 'DESKTOP_TABLET',\n language,\n nights,\n numAdults: occupation.flat().reduce((total, { type, amount } = {}) => total + (type !== CHILD ? amount : 0), 0),\n numChildren: occupation.flat().reduce((total, { type, amount } = {}) => total + (type === CHILD ? amount : 0), 0),\n numRooms: occupation.length,\n userCurrency,\n },\n chainId,\n hotelId,\n step: STEP.RATES,\n ...tracking,\n });\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,MAAM;EAAEG;AAAM,CAAC,GAAGC,2BAAe;AAE1B,MAAMC,eAAe,GAAG,SAAAA,CAAA;EAAA,IAAC;IAC9BC,OAAO;IACPC,UAAU;IACVC,QAAQ,EAAEC,YAAY;IACtBC,OAAO,EAAEC,OAAO;IAChBC,eAAe,EAAEC,OAAO;IACxBC,QAAQ;IACRC,IAAI,EAAEC,QAAQ;IACdC,MAAM;IACNC,UAAU;IACVC;EACF,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OACJ,IAAAG,cAAK,EAAC;IACJC,aAAa,EAAE;
|
|
1
|
+
{"version":3,"file":"trackDataSource.js","names":["_locale","require","_Occupation","_helpers","CHILD","TYPE_OCCUPATION","trackDataSource","checkin","clientCode","currency","userCurrency","hotels","idchain","chainId","idtokenprovider","hotelId","isMobile","lang","language","nights","occupation","place","title","searchCategory","tracking","arguments","length","undefined","trace","bookingValues","checkout","dateFormat","dateCalc","parseDate","parseInt","format","device","numAdults","flat","reduce","total","type","amount","numChildren","numRooms","step","STEP","HOTELS","RATES","exports"],"sources":["../../../../src/components/Rates/helpers/trackDataSource.js"],"sourcesContent":["import { dateCalc, parseDate, dateFormat } from '@mirai/locale';\n\nimport { TYPE_OCCUPATION } from '../../__shared__/Occupation';\nimport { STEP, trace } from '../../helpers';\n\nconst { CHILD } = TYPE_OCCUPATION;\n\nexport const trackDataSource = ({\n checkin,\n clientCode,\n currency: userCurrency,\n hotels,\n idchain: chainId,\n idtokenprovider: hotelId,\n isMobile,\n lang: language,\n nights,\n occupation,\n place: { title: searchCategory } = {},\n tracking,\n} = {}) =>\n trace({\n bookingValues: {\n checkin,\n checkout: dateFormat(dateCalc(parseDate(checkin), parseInt(nights), 'days'), { format: 'DD/MM/YYYY' }),\n clientCode,\n device: isMobile ? 'MOBILE' : 'DESKTOP_TABLET',\n language,\n nights,\n numAdults: occupation.flat().reduce((total, { type, amount } = {}) => total + (type !== CHILD ? amount : 0), 0),\n numChildren: occupation.flat().reduce((total, { type, amount } = {}) => total + (type === CHILD ? amount : 0), 0),\n numRooms: occupation.length,\n searchCategory,\n userCurrency,\n },\n chainId,\n hotelId,\n step: hotels ? STEP.HOTELS : STEP.RATES,\n ...tracking,\n });\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,MAAM;EAAEG;AAAM,CAAC,GAAGC,2BAAe;AAE1B,MAAMC,eAAe,GAAG,SAAAA,CAAA;EAAA,IAAC;IAC9BC,OAAO;IACPC,UAAU;IACVC,QAAQ,EAAEC,YAAY;IACtBC,MAAM;IACNC,OAAO,EAAEC,OAAO;IAChBC,eAAe,EAAEC,OAAO;IACxBC,QAAQ;IACRC,IAAI,EAAEC,QAAQ;IACdC,MAAM;IACNC,UAAU;IACVC,KAAK,EAAE;MAAEC,KAAK,EAAEC;IAAe,CAAC,GAAG,CAAC,CAAC;IACrCC;EACF,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OACJ,IAAAG,cAAK,EAAC;IACJC,aAAa,EAAE;MACbtB,OAAO;MACPuB,QAAQ,EAAE,IAAAC,kBAAU,EAAC,IAAAC,gBAAQ,EAAC,IAAAC,iBAAS,EAAC1B,OAAO,CAAC,EAAE2B,QAAQ,CAACf,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE;QAAEgB,MAAM,EAAE;MAAa,CAAC,CAAC;MACtG3B,UAAU;MACV4B,MAAM,EAAEpB,QAAQ,GAAG,QAAQ,GAAG,gBAAgB;MAC9CE,QAAQ;MACRC,MAAM;MACNkB,SAAS,EAAEjB,UAAU,CAACkB,IAAI,CAAC,CAAC,CAACC,MAAM,CAAC,UAACC,KAAK;QAAA,IAAE;UAAEC,IAAI;UAAEC;QAAO,CAAC,GAAAjB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKe,KAAK,IAAIC,IAAI,KAAKrC,KAAK,GAAGsC,MAAM,GAAG,CAAC,CAAC;MAAA,GAAE,CAAC,CAAC;MAC/GC,WAAW,EAAEvB,UAAU,CAACkB,IAAI,CAAC,CAAC,CAACC,MAAM,CAAC,UAACC,KAAK;QAAA,IAAE;UAAEC,IAAI;UAAEC;QAAO,CAAC,GAAAjB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKe,KAAK,IAAIC,IAAI,KAAKrC,KAAK,GAAGsC,MAAM,GAAG,CAAC,CAAC;MAAA,GAAE,CAAC,CAAC;MACjHE,QAAQ,EAAExB,UAAU,CAACM,MAAM;MAC3BH,cAAc;MACdb;IACF,CAAC;IACDG,OAAO;IACPE,OAAO;IACP8B,IAAI,EAAElC,MAAM,GAAGmC,aAAI,CAACC,MAAM,GAAGD,aAAI,CAACE,KAAK;IACvC,GAAGxB;EACL,CAAC,CAAC;AAAA;AAACyB,OAAA,CAAA3C,eAAA,GAAAA,eAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["ACCOMMODATION_TYPE","exports","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","CALENDAR_FORMAT","EVENT","FINDER","INTENT_CURRENCY","INTENT_LOCALE","NOTIFICATION","MONTHS_IN_MOBILE","OCCUPATION_TYPE","GUEST","ADULT","CHILD","BABY","PAYMENT_CARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","MAESTRO","MASTERCARD","UNIONPAY","VISA","PAYMENT_METHOD","ALIPAY","AMAZON_PAY","APLAZAME","BIZUM","CARD","CARD_PREPAY","CRIPTAN","IDEAL","OXXO","PAYLATER","PAYPAL","PCIPROXY","SOFORT","TPV","TRANSFER","WECHATPAY","PAYMENT_PROVIDER","ADDON","CARDNET","CHECKOUT","HIPAY","MULTIPAGOS","REDSYS","REDUNIQ","PAYBOX","PAYCOMET","PAYNOPAIN","SIPAY","STRIPE","PAYMENT_CARD_VALIDATION_PROVIDER","STEP","BOOKING_CANCELLATION","BOOKING_CONFIRMATION","RATES"],"sources":["../../../src/components/helpers/constants.js"],"sourcesContent":["const ACCOMMODATION_TYPE = {\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst EVENT = {\n FINDER: 'finder',\n INTENT_CURRENCY: 'intentCurrency',\n INTENT_LOCALE: 'intentLocale',\n NOTIFICATION: 'notification',\n};\n\nconst MONTHS_IN_MOBILE = 12;\n\nconst OCCUPATION_TYPE = {\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n BABY: 4,\n};\n\nconst PAYMENT_CARD = {\n AMERICAN_EXPRESS: 'AMERICAN-EXPRESS',\n DINERS_CLUB: 'DINERS-CLUB',\n DISCOVER: 'DISCOVER',\n JCB: 'JCB',\n MAESTRO: 'MAESTRO', // low resolution logo\n MASTERCARD: 'MASTERCARD',\n UNIONPAY: 'UNIONPAY',\n VISA: 'VISA',\n};\n\nconst PAYMENT_METHOD = {\n ALIPAY: 'ALIPAY',\n AMAZON_PAY: 'AMAZON_PAY',\n APLAZAME: 'APLAZAME',\n BIZUM: 'BIZUM',\n CARD: 'CARD',\n CARD_PREPAY: 'CARD_PREPAY',\n CRIPTAN: 'CRIPTAN',\n IDEAL: 'IDEAL',\n OXXO: 'OXXO',\n PAYLATER: 'PAYLATER',\n PAYPAL: 'PAYPAL',\n PCIPROXY: 'PCIPROXY',\n SOFORT: 'SOFORT',\n TPV: 'TPV',\n TRANSFER: 'TRANSFER',\n WECHATPAY: 'WECHATPAY',\n};\n\nconst PAYMENT_PROVIDER = {\n ADDON: 'ADDON',\n CARDNET: 'CARDNET',\n CHECKOUT: 'CHECKOUT',\n HIPAY: 'HIPAY',\n MULTIPAGOS: 'MULTIPAGOS',\n REDSYS: 'REDSYS',\n REDUNIQ: 'REDUNIQ',\n PAYBOX: 'PAYBOX',\n PAYCOMET: 'PAYCOMET',\n PAYNOPAIN: 'PAYNOPAIN',\n SIPAY: 'SIPAY',\n STRIPE: 'STRIPE',\n};\n\nconst { ADDON, CHECKOUT, PAYNOPAIN, REDSYS, SIPAY, STRIPE } = PAYMENT_PROVIDER;\n\nconst PAYMENT_CARD_VALIDATION_PROVIDER = [ADDON, CHECKOUT, PAYNOPAIN, REDSYS, SIPAY, STRIPE];\n\nconst STEP = {\n BOOKING_CANCELLATION: 'CANCELLATION',\n BOOKING_CONFIRMATION: 'CONFIRMATION',\n CHECKOUT: 'CLIENTFORM',\n RATES: 'BOOKINGSTEP1',\n};\n\nexport {\n ACCOMMODATION_TYPE,\n CALENDAR_FORMAT,\n EVENT,\n MONTHS_IN_MOBILE,\n OCCUPATION_TYPE,\n PAYMENT_CARD,\n PAYMENT_CARD_VALIDATION_PROVIDER,\n PAYMENT_METHOD,\n PAYMENT_PROVIDER,\n STEP,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EACzBE,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE,CAAC;EACZC,KAAK,EAAE,CAAC;EACRC,aAAa,EAAE,CAAC;EAChBC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAAG,YAAY;AAEpC,MAAMC,KAAK,GAAAP,OAAA,CAAAO,KAAA,GAAG;EACZC,MAAM,EAAE,QAAQ;EAChBC,eAAe,EAAE,gBAAgB;EACjCC,aAAa,EAAE,cAAc;EAC7BC,YAAY,EAAE;AAChB,CAAC;AAED,MAAMC,gBAAgB,GAAAZ,OAAA,CAAAY,gBAAA,GAAG,EAAE;AAE3B,MAAMC,eAAe,GAAAb,OAAA,CAAAa,eAAA,GAAG;EACtBC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,YAAY,GAAAlB,OAAA,CAAAkB,YAAA,GAAG;EACnBC,gBAAgB,EAAE,kBAAkB;EACpCC,WAAW,EAAE,aAAa;EAC1BC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,KAAK;EACVC,OAAO,EAAE,SAAS;EAAE;EACpBC,UAAU,EAAE,YAAY;EACxBC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,cAAc,GAAA3B,OAAA,CAAA2B,cAAA,GAAG;EACrBC,MAAM,EAAE,QAAQ;EAChBC,UAAU,EAAE,YAAY;EACxBC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,WAAW,EAAE,aAAa;EAC1BC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,KAAK;EACVC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,gBAAgB,GAAA5C,OAAA,CAAA4C,gBAAA,GAAG;EACvBC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAClBC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE,OAAO;EACdC,UAAU,EAAE,YAAY;EACxBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACV,CAAC;AAED,MAAM;EAAEX,KAAK;EAAEE,QAAQ;EAAEO,SAAS;EAAEJ,MAAM;EAAEK,KAAK;EAAEC;AAAO,CAAC,GAAGZ,gBAAgB;AAE9E,MAAMa,gCAAgC,GAAAzD,OAAA,CAAAyD,gCAAA,GAAG,CAACZ,KAAK,EAAEE,QAAQ,EAAEO,SAAS,EAAEJ,MAAM,EAAEK,KAAK,EAAEC,MAAM,CAAC;AAE5F,MAAME,IAAI,GAAA1D,OAAA,CAAA0D,IAAA,GAAG;EACXC,oBAAoB,EAAE,cAAc;EACpCC,oBAAoB,EAAE,cAAc;EACpCb,QAAQ,EAAE,YAAY;EACtBc,KAAK,EAAE;AACT,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","names":["ACCOMMODATION_TYPE","exports","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","CALENDAR_FORMAT","EVENT","FINDER","INTENT_CURRENCY","INTENT_LOCALE","NOTIFICATION","MONTHS_IN_MOBILE","OCCUPATION_TYPE","GUEST","ADULT","CHILD","BABY","PAYMENT_CARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","MAESTRO","MASTERCARD","UNIONPAY","VISA","PAYMENT_METHOD","ALIPAY","AMAZON_PAY","APLAZAME","BIZUM","CARD","CARD_PREPAY","CRIPTAN","IDEAL","OXXO","PAYLATER","PAYPAL","PCIPROXY","SOFORT","TPV","TRANSFER","WECHATPAY","PAYMENT_PROVIDER","ADDON","CARDNET","CHECKOUT","HIPAY","MULTIPAGOS","REDSYS","REDUNIQ","PAYBOX","PAYCOMET","PAYNOPAIN","SIPAY","STRIPE","PAYMENT_CARD_VALIDATION_PROVIDER","STEP","BOOKING_CANCELLATION","BOOKING_CONFIRMATION","HOTELS","RATES"],"sources":["../../../src/components/helpers/constants.js"],"sourcesContent":["const ACCOMMODATION_TYPE = {\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst EVENT = {\n FINDER: 'finder',\n INTENT_CURRENCY: 'intentCurrency',\n INTENT_LOCALE: 'intentLocale',\n NOTIFICATION: 'notification',\n};\n\nconst MONTHS_IN_MOBILE = 12;\n\nconst OCCUPATION_TYPE = {\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n BABY: 4,\n};\n\nconst PAYMENT_CARD = {\n AMERICAN_EXPRESS: 'AMERICAN-EXPRESS',\n DINERS_CLUB: 'DINERS-CLUB',\n DISCOVER: 'DISCOVER',\n JCB: 'JCB',\n MAESTRO: 'MAESTRO', // low resolution logo\n MASTERCARD: 'MASTERCARD',\n UNIONPAY: 'UNIONPAY',\n VISA: 'VISA',\n};\n\nconst PAYMENT_METHOD = {\n ALIPAY: 'ALIPAY',\n AMAZON_PAY: 'AMAZON_PAY',\n APLAZAME: 'APLAZAME',\n BIZUM: 'BIZUM',\n CARD: 'CARD',\n CARD_PREPAY: 'CARD_PREPAY',\n CRIPTAN: 'CRIPTAN',\n IDEAL: 'IDEAL',\n OXXO: 'OXXO',\n PAYLATER: 'PAYLATER',\n PAYPAL: 'PAYPAL',\n PCIPROXY: 'PCIPROXY',\n SOFORT: 'SOFORT',\n TPV: 'TPV',\n TRANSFER: 'TRANSFER',\n WECHATPAY: 'WECHATPAY',\n};\n\nconst PAYMENT_PROVIDER = {\n ADDON: 'ADDON',\n CARDNET: 'CARDNET',\n CHECKOUT: 'CHECKOUT',\n HIPAY: 'HIPAY',\n MULTIPAGOS: 'MULTIPAGOS',\n REDSYS: 'REDSYS',\n REDUNIQ: 'REDUNIQ',\n PAYBOX: 'PAYBOX',\n PAYCOMET: 'PAYCOMET',\n PAYNOPAIN: 'PAYNOPAIN',\n SIPAY: 'SIPAY',\n STRIPE: 'STRIPE',\n};\n\nconst { ADDON, CHECKOUT, PAYNOPAIN, REDSYS, SIPAY, STRIPE } = PAYMENT_PROVIDER;\n\nconst PAYMENT_CARD_VALIDATION_PROVIDER = [ADDON, CHECKOUT, PAYNOPAIN, REDSYS, SIPAY, STRIPE];\n\nconst STEP = {\n BOOKING_CANCELLATION: 'CANCELLATION',\n BOOKING_CONFIRMATION: 'CONFIRMATION',\n CHECKOUT: 'CLIENTFORM',\n HOTELS: 'CHAINRESULT',\n RATES: 'BOOKINGSTEP1',\n};\n\nexport {\n ACCOMMODATION_TYPE,\n CALENDAR_FORMAT,\n EVENT,\n MONTHS_IN_MOBILE,\n OCCUPATION_TYPE,\n PAYMENT_CARD,\n PAYMENT_CARD_VALIDATION_PROVIDER,\n PAYMENT_METHOD,\n PAYMENT_PROVIDER,\n STEP,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EACzBE,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE,CAAC;EACZC,KAAK,EAAE,CAAC;EACRC,aAAa,EAAE,CAAC;EAChBC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAAG,YAAY;AAEpC,MAAMC,KAAK,GAAAP,OAAA,CAAAO,KAAA,GAAG;EACZC,MAAM,EAAE,QAAQ;EAChBC,eAAe,EAAE,gBAAgB;EACjCC,aAAa,EAAE,cAAc;EAC7BC,YAAY,EAAE;AAChB,CAAC;AAED,MAAMC,gBAAgB,GAAAZ,OAAA,CAAAY,gBAAA,GAAG,EAAE;AAE3B,MAAMC,eAAe,GAAAb,OAAA,CAAAa,eAAA,GAAG;EACtBC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,YAAY,GAAAlB,OAAA,CAAAkB,YAAA,GAAG;EACnBC,gBAAgB,EAAE,kBAAkB;EACpCC,WAAW,EAAE,aAAa;EAC1BC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,KAAK;EACVC,OAAO,EAAE,SAAS;EAAE;EACpBC,UAAU,EAAE,YAAY;EACxBC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,cAAc,GAAA3B,OAAA,CAAA2B,cAAA,GAAG;EACrBC,MAAM,EAAE,QAAQ;EAChBC,UAAU,EAAE,YAAY;EACxBC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,WAAW,EAAE,aAAa;EAC1BC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,KAAK;EACVC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,gBAAgB,GAAA5C,OAAA,CAAA4C,gBAAA,GAAG;EACvBC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAClBC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE,OAAO;EACdC,UAAU,EAAE,YAAY;EACxBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACV,CAAC;AAED,MAAM;EAAEX,KAAK;EAAEE,QAAQ;EAAEO,SAAS;EAAEJ,MAAM;EAAEK,KAAK;EAAEC;AAAO,CAAC,GAAGZ,gBAAgB;AAE9E,MAAMa,gCAAgC,GAAAzD,OAAA,CAAAyD,gCAAA,GAAG,CAACZ,KAAK,EAAEE,QAAQ,EAAEO,SAAS,EAAEJ,MAAM,EAAEK,KAAK,EAAEC,MAAM,CAAC;AAE5F,MAAME,IAAI,GAAA1D,OAAA,CAAA0D,IAAA,GAAG;EACXC,oBAAoB,EAAE,cAAc;EACpCC,oBAAoB,EAAE,cAAc;EACpCb,QAAQ,EAAE,YAAY;EACtBc,MAAM,EAAE,aAAa;EACrBC,KAAK,EAAE;AACT,CAAC"}
|
|
@@ -65,11 +65,13 @@ const parseOptions = options => Object.fromEntries(Object.entries(options).map(f
|
|
|
65
65
|
}));
|
|
66
66
|
const parseTracking = function () {
|
|
67
67
|
let response = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
68
|
+
let isHotel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
68
69
|
const {
|
|
69
70
|
currencyCode,
|
|
70
71
|
currenciesInfo: {
|
|
71
72
|
mapCurrencies: currencies
|
|
72
73
|
} = {},
|
|
74
|
+
hotelInfoBAR: hotels = [],
|
|
73
75
|
multiroom,
|
|
74
76
|
propertyName,
|
|
75
77
|
propertyType,
|
|
@@ -80,32 +82,55 @@ const parseTracking = function () {
|
|
|
80
82
|
vatIncluded: taxesIncluded
|
|
81
83
|
} = response;
|
|
82
84
|
return {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
85
|
+
...(isHotel ? {
|
|
86
|
+
country,
|
|
87
|
+
hotelInfo: {
|
|
88
|
+
currency: currencies[currencyCode],
|
|
89
|
+
propertyName,
|
|
90
|
+
propertyType
|
|
91
|
+
},
|
|
92
|
+
localTaxesIncluded,
|
|
93
|
+
multiroom,
|
|
94
|
+
rates: Object.entries(roomTypes).map(function () {
|
|
95
|
+
let [, {
|
|
96
|
+
amountAvailable,
|
|
97
|
+
id: roomId,
|
|
98
|
+
name,
|
|
99
|
+
occupationOptions,
|
|
100
|
+
sortedKeysOccupations
|
|
101
|
+
} = {}] = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
102
|
+
return {
|
|
103
|
+
amountAvailable,
|
|
104
|
+
id: roomId,
|
|
105
|
+
name,
|
|
106
|
+
occupationOptions: parseOptions(occupationOptions),
|
|
107
|
+
sortedKeysOccupations
|
|
108
|
+
};
|
|
109
|
+
}),
|
|
110
|
+
taxesIncluded
|
|
111
|
+
} : {
|
|
112
|
+
hotelInfoBAR: hotels.map(function () {
|
|
113
|
+
let {
|
|
114
|
+
currency,
|
|
115
|
+
bestAvailableRate: {
|
|
116
|
+
averagePrice,
|
|
117
|
+
totalPrice
|
|
118
|
+
},
|
|
119
|
+
hotelName,
|
|
120
|
+
idTokenProvider
|
|
121
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
122
|
+
return {
|
|
123
|
+
currency,
|
|
124
|
+
bestAvailableRate: {
|
|
125
|
+
averagePrice,
|
|
126
|
+
totalPrice
|
|
127
|
+
},
|
|
128
|
+
hotelName,
|
|
129
|
+
idTokenProvider
|
|
130
|
+
};
|
|
131
|
+
})
|
|
106
132
|
}),
|
|
107
|
-
status
|
|
108
|
-
taxesIncluded
|
|
133
|
+
status: isHotel ? status : hotels.length > 0 ? 'AVAILABILITY' : 'NO_AVAILABILITY'
|
|
109
134
|
};
|
|
110
135
|
};
|
|
111
136
|
exports.parseTracking = parseTracking;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseTracking.js","names":["parseBoards","boards","Object","fromEntries","entries","map","id","detail","boardGroupName","name","originalAvgPrice","totalBasePrice","totalLocalTaxes","totalPriceWithTaxes","arguments","length","undefined","priceWithoutTaxes","priceWithTaxes","parseRates","rates","boardOptions","cancellationPolicyTypeEnum","sortedKeysBoards","parseOptions","options","numAdults","numFirstRangeChildren","numSecondRangeChildren","parseTracking","response","currencyCode","currenciesInfo","mapCurrencies","currencies","multiroom","propertyName","propertyType","resultCode","status","roomTypes","showLocalTaxes","localTaxesIncluded","userCountry","country","vatIncluded","taxesIncluded","hotelInfo","currency","amountAvailable","roomId","occupationOptions","sortedKeysOccupations","exports"],"sources":["../../../../src/services/Rates/helpers/parseTracking.js"],"sourcesContent":["const parseBoards = (boards) =>\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 totalLocalTaxes,\n totalPriceWithTaxes,\n },\n ],\n ),\n );\n\nconst parseRates = (rates) =>\n Object.fromEntries(\n Object.entries(rates).map(\n ([id, { boardOptions, name, cancellationPolicyTypeEnum, sortedKeysBoards } = {}] = []) => [\n id,\n { boardOptions: parseBoards(boardOptions), cancellationPolicyTypeEnum, id, name, sortedKeysBoards },\n ],\n ),\n );\n\nconst parseOptions = (options) =>\n Object.fromEntries(\n Object.entries(options).map(\n ([id, { numAdults, numFirstRangeChildren, numSecondRangeChildren, rates } = {}] = []) => [\n id,\n { numAdults, numFirstRangeChildren, numSecondRangeChildren, rates: parseRates(rates) },\n ],\n ),\n );\n\nexport const parseTracking = (response = {}) => {\n const {\n currencyCode,\n currenciesInfo: { mapCurrencies: currencies } = {},\n multiroom,\n propertyName,\n propertyType,\n resultCode: status,\n roomTypes,\n showLocalTaxes: localTaxesIncluded,\n userCountry: country,\n vatIncluded: taxesIncluded,\n } = response;\n\n return {\n country,\n
|
|
1
|
+
{"version":3,"file":"parseTracking.js","names":["parseBoards","boards","Object","fromEntries","entries","map","id","detail","boardGroupName","name","originalAvgPrice","totalBasePrice","totalLocalTaxes","totalPriceWithTaxes","arguments","length","undefined","priceWithoutTaxes","priceWithTaxes","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","localTaxesIncluded","userCountry","country","vatIncluded","taxesIncluded","hotelInfo","currency","amountAvailable","roomId","occupationOptions","sortedKeysOccupations","bestAvailableRate","averagePrice","totalPrice","hotelName","idTokenProvider","exports"],"sources":["../../../../src/services/Rates/helpers/parseTracking.js"],"sourcesContent":["const parseBoards = (boards) =>\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 totalLocalTaxes,\n totalPriceWithTaxes,\n },\n ],\n ),\n );\n\nconst parseRates = (rates) =>\n Object.fromEntries(\n Object.entries(rates).map(\n ([id, { boardOptions, name, cancellationPolicyTypeEnum, sortedKeysBoards } = {}] = []) => [\n id,\n { boardOptions: parseBoards(boardOptions), cancellationPolicyTypeEnum, id, name, sortedKeysBoards },\n ],\n ),\n );\n\nconst parseOptions = (options) =>\n Object.fromEntries(\n Object.entries(options).map(\n ([id, { numAdults, numFirstRangeChildren, numSecondRangeChildren, rates } = {}] = []) => [\n id,\n { numAdults, numFirstRangeChildren, numSecondRangeChildren, rates: parseRates(rates) },\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 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),\n sortedKeysOccupations,\n }),\n ),\n taxesIncluded,\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hotels.js","names":["_dataSources","require","_services","_helpers","hotels","session","authorization","id","locale","place","ids","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_response$hotelInfoBA","hotelIds","idchain","rest","language","split","params","Object","entries","currency","hotel_ids","join","id_chain","lang","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","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 { getPrice, parseDiscount, parseHotelDiscount } from './helpers';\n\nexport const hotels = ({\n session: { authorization } = {},\n id,\n locale,\n place: { id: ids = [] } = {},\n userCurrency,\n ...others\n} = {}) =>\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 || ids.join(','),\n id_chain: idchain || id,\n ...rest,\n lang: 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: taxes ? price : basePrice }),\n stars,\n taxes,\n };\n },\n ),\n ),\n });\n });\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hotels.js","names":["_dataSources","require","_services","_helpers","hotels","session","authorization","id","locale","place","ids","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_response$hotelInfoBA","hotelIds","idchain","rest","language","split","params","Object","entries","currency","hotel_ids","join","id_chain","lang","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 { getPrice, parseDiscount, parseHotelDiscount, parseTracking } from './helpers';\n\nexport const hotels = ({\n session: { authorization } = {},\n id,\n locale,\n place: { id: ids = [] } = {},\n userCurrency,\n ...others\n} = {}) =>\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 || ids.join(','),\n id_chain: idchain || id,\n ...rest,\n lang: 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: taxes ? price : basePrice }),\n stars,\n taxes,\n };\n },\n ),\n ),\n tracking: parseTracking(response, false),\n });\n });\n"],"mappings":"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"}
|