@mirai/core 0.4.236 → 0.4.238
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 +4 -7
- package/build/Core.js.map +1 -1
- package/build/components/Rates/hooks/useRates.js +4 -4
- package/build/components/Rates/hooks/useRates.js.map +1 -1
- package/build/helpers/consolidateStore.js +1 -0
- package/build/helpers/consolidateStore.js.map +1 -1
- package/build/helpers/fetchConfig.js +3 -13
- package/build/helpers/fetchConfig.js.map +1 -1
- package/build/helpers/getClub.js +68 -78
- package/build/helpers/getClub.js.map +1 -1
- package/build/helpers/getClubUrl.js +10 -12
- package/build/helpers/getClubUrl.js.map +1 -1
- package/package.json +1 -1
package/build/Core.js
CHANGED
|
@@ -33,9 +33,6 @@ const Core = _ref => {
|
|
|
33
33
|
value: {
|
|
34
34
|
club,
|
|
35
35
|
currency,
|
|
36
|
-
hotel: {
|
|
37
|
-
id
|
|
38
|
-
} = {},
|
|
39
36
|
locale = _locale.DEFAULT_LOCALE,
|
|
40
37
|
skeleton = false,
|
|
41
38
|
...store
|
|
@@ -73,10 +70,10 @@ const Core = _ref => {
|
|
|
73
70
|
set({
|
|
74
71
|
club: {
|
|
75
72
|
...club,
|
|
76
|
-
...(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
})
|
|
73
|
+
...(0, _helpers2.getClubUrl)({
|
|
74
|
+
language,
|
|
75
|
+
url: club === null || club === void 0 ? void 0 : club.url
|
|
76
|
+
})
|
|
80
77
|
},
|
|
81
78
|
language,
|
|
82
79
|
locale
|
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","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","contents","ghosts","Core","_ref","children","components","isMobile","useDevice","value","club","currency","
|
|
1
|
+
{"version":3,"file":"Core.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_helpers","_Core","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","contents","ghosts","Core","_ref","children","components","isMobile","useDevice","value","club","currency","locale","DEFAULT_LOCALE","skeleton","store","useStore","dictionary","setDictionary","useState","ServiceDictionary","cache","undefined","useEffect","fetchDictionary","Event","subscribe","EVENT","INTENT_CURRENCY","handleIntentCurrency","INTENT_LOCALE","handleIntentLocale","unsubscribe","_ref2","_ref3","language","split","getClubUrl","url","themeDirection","arguments","length","cached","next","createElement","LocaleProvider","Fragment","Notifications","filter","desktop","mobile","map","el","component","props","index","getGhost","getContents","sanitizeComponent","ReactDOM","createPortal","React","COMPONENTS","dangerousChildren","ghost","process","env","NODE_ENV","exports","propTypes","PropTypes","node","arrayOf","shape","oneOf","keys","any"],"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 { getClubUrl, getContents, getGhost, sanitizeComponent, themeDirection } from './helpers';\n\nconst contents = {};\nconst ghosts = {};\n\nconst Core = ({ children, components = [] }) => {\n const { isMobile } = useDevice();\n const {\n set,\n value: { club, currency, locale = DEFAULT_LOCALE, skeleton = false, ...store },\n } = useStore();\n\n const [dictionary, setDictionary] = useState(!skeleton ? ServiceDictionary.cache(locale) : undefined);\n\n useEffect(() => {\n if (skeleton) return;\n\n fetchDictionary(locale);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n Event.subscribe(EVENT.INTENT_CURRENCY, handleIntentCurrency);\n Event.subscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n\n return () => {\n Event.unsubscribe(EVENT.INTENT_CURRENCY, handleIntentCurrency);\n Event.unsubscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store]);\n\n const handleIntentCurrency = ({ currency }) => {\n set({ currency });\n };\n\n const handleIntentLocale = async ({ locale }) => {\n const [language] = locale.split('-');\n\n set({\n club: { ...club, ...getClubUrl({ language, url: club?.url }) },\n language,\n locale,\n });\n\n themeDirection(language);\n fetchDictionary(locale);\n };\n\n const fetchDictionary = async (locale = DEFAULT_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(\n ({ desktop, mobile } = {}) =>\n (isMobile && (mobile === undefined || mobile === true) && desktop !== true) ||\n (!isMobile && (desktop === undefined || desktop === true) && mobile !== true),\n )\n .map(({ el, component, ...props } = {}, index) => {\n if (!ghosts[index]) ghosts[index] = getGhost(el);\n if (!contents[index]) contents[index] = getContents(el);\n sanitizeComponent(el);\n\n return ReactDOM.createPortal(\n React.createElement(COMPONENTS[component], {\n ...props,\n dangerousChildren: contents[index],\n el,\n ghost: ghosts[index],\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};\n\nexport { Core };\n"],"mappings":"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"}
|
|
@@ -206,17 +206,17 @@ const useRates = () => {
|
|
|
206
206
|
} = nextPlace || {};
|
|
207
207
|
let nextClubDiscount;
|
|
208
208
|
if (nextPlace !== null && nextPlace !== void 0 && nextPlace.isHotel && currentId !== nextId) {
|
|
209
|
-
var _variants$find;
|
|
210
209
|
const {
|
|
211
210
|
variants = []
|
|
212
211
|
} = club;
|
|
213
|
-
|
|
212
|
+
const currentVariant = variants.find(function () {
|
|
214
213
|
let {
|
|
215
214
|
id = ''
|
|
216
215
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
217
216
|
return id.toString() === nextId.toString();
|
|
218
|
-
})
|
|
219
|
-
|
|
217
|
+
});
|
|
218
|
+
nextClubDiscount = currentVariant === null || currentVariant === void 0 ? void 0 : currentVariant.discount;
|
|
219
|
+
if (currentVariant && nextClubDiscount !== clubDiscount) {
|
|
220
220
|
_dataSources.Event.publish(_helpers2.EVENT.RATES_FILTER_CLUB, nextClubDiscount);
|
|
221
221
|
return;
|
|
222
222
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRates.js","names":["_dataSources","require","_locale","_services","_ui","_react","_helpers","_helpers2","_helpers3","_Rates","_Rates2","fetchCall","useRates","isMobile","mobile","useDevice","translate","useLocale","set","value","club","currency","finder","hotel","id","language","locale","rates","cart","storeCart","meta","occupation","maxRooms","urlParams","session","skeleton","useStore","refRoomSelector","useRef","setCart","useState","clubDiscount","setClubDiscount","discount","clubRate","setClubRate","dataSource","setDataSource","fetching","setFetching","metaBoard","setMetaBoard","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","device","multiRoom","length","useEffect","current","offsetHeight","offsetTop","window","scrollTo","top","behavior","undefined","debounceFetch","nextRoom","callback","next","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","tracking","publish","RATES_RESPONSE","error","event","response","getBoard","then","board","METRICS","NOTIFICATION","contrast","defaultMessage","L10N","NOTIFICATION_META_RATE_FOUND","utm_source","UTM_SOURCE_NAME","catch","checkNotifications","nextDataSource","nextPromocode","notifications","includes","PROMOCODE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","promocode","RATES_FILTER_PROMOCODE","ROOM_NOT_FOUNT","roomTypeId","NOTIFICATION_ROOM_NOT_FOUND","OFFER_NOT_FOUND","idoffers","NOTIFICATION_OFFER_NOT_FOUND","fetch","nextOccupation","nextPlace","arguments","currentId","nextId","nextClubDiscount","isHotel","_variants$find","variants","find","toString","FINDER","fetchUrlParams","location","search","checkin","nights","parties","getFinderParams","replaceUrlParams","params","active","selectedIds","map","roomId","join","parseToParties","lastFetchCall","ServiceRates","get","externalSignout","signout","hotels","debounce","actions","state","exports"],"sources":["../../../../src/components/Rates/hooks/useRates.js"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceRates } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { debounce, fetchUrlParams } from '../../../helpers';\nimport { EVENT, parseToParties, replaceUrlParams } from '../../helpers';\nimport { getBoard, getFinderParams, signout } from '../helpers';\nimport { NOTIFICATION, UTM_SOURCE_NAME } from '../Rates.constants';\nimport { L10N } from '../Rates.l10n';\n\nlet fetchCall = 0;\n\nexport const useRates = () => {\n const { isMobile, mobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [], meta } = {},\n occupation: { maxRooms } = {},\n urlParams,\n session,\n skeleton = false,\n },\n } = useStore();\n const refRoomSelector = useRef();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [clubRate, setClubRate] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(false);\n const [metaBoard, setMetaBoard] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place } = finder;\n const device = mobile ? 'MOBILE' : 'DESKTOP_TABLET';\n const multiRoom = occupation?.length > 1;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n window.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n room !== undefined && debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n const callback = async (next) => {\n setClubDiscount(typeof next !== 'object' ? next : undefined);\n clubRate && setClubRate(false);\n };\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubRate]);\n\n useEffect(() => {\n if ((!dataSource && (!responseError || !responseError.tracking)) || room) return;\n\n Event.publish(EVENT.RATES_RESPONSE, {\n error: !!responseError,\n event: EVENT.RATES_RESPONSE,\n response: dataSource || responseError,\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, responseError]);\n\n useEffect(() => {\n if (!dataSource || !storeCart.length) return;\n\n getBoard({ cart, dataSource, storeCart })\n .then((board) => {\n if (!board) return Event.publish(EVENT.METRICS, { id: 'RATES:META:ERROR' });\n\n if (meta) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_META_RATE_FOUND, {\n utm_source: UTM_SOURCE_NAME[urlParams.utm_source] || urlParams.utm_source,\n }),\n });\n Event.publish(EVENT.METRICS, { id: 'RATES:META:SUCCESS' });\n }\n\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, storeCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !clubRate && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n const checkNotifications = (nextDataSource, nextPromocode) => {\n const { notifications = [] } = nextDataSource;\n\n if (notifications.includes(NOTIFICATION.PROMOCODE_NOT_FOUND) && nextPromocode) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_PROMOCODE_NOT_FOUND, { promocode: nextPromocode }),\n });\n set({ finder: { calendar, occupation, place, promocode: '' } });\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: undefined });\n } else if (nextPromocode !== finder.promocode) {\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: nextPromocode });\n }\n if (notifications.includes(NOTIFICATION.ROOM_NOT_FOUNT) && urlParams.roomTypeId) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_ROOM_NOT_FOUND),\n });\n }\n if (notifications.includes(NOTIFICATION.OFFER_NOT_FOUND) && urlParams.idoffers) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_OFFER_NOT_FOUND),\n });\n }\n };\n\n const fetch = async ({\n nextRoom,\n nextOccupation = occupation,\n nextPlace = place,\n nextPromocode = finder.promocode,\n } = {}) => {\n if (skeleton) return;\n\n const { id: [currentId] = [] } = place || {};\n const { id: [nextId] = [] } = nextPlace || {};\n let nextClubDiscount;\n if (nextPlace?.isHotel && currentId !== nextId) {\n const { variants = [] } = club;\n nextClubDiscount = variants.find(({ id = '' } = {}) => id.toString() === nextId.toString())?.discount;\n if (nextClubDiscount !== clubDiscount) {\n Event.publish(EVENT.RATES_FILTER_CLUB, nextClubDiscount);\n\n return;\n }\n }\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n ...(club.active ? { club, clubDiscount } : undefined),\n id,\n locale,\n maxRooms,\n device,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ roomId } = {}) => roomId).join(','),\n session,\n strictSearch,\n };\n if (nextRoom !== undefined) params.parties = parseToParties([nextOccupation[nextRoom || 0]]);\n\n const lastFetchCall = ++fetchCall;\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (lastFetchCall !== fetchCall) return;\n\n if (nextDataSource?.externalSignout) return signout({ club, language });\n\n if (nextDataSource) {\n checkNotifications(nextDataSource, nextPromocode);\n\n if (nextOccupation?.length > 1 && nextRoom === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n setFetching(false);\n\n if (nextDataSource?.hotels) Event.publish(EVENT.METRICS, { id: 'HOTELS:RENDER' });\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n return {\n actions: { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch },\n device,\n multiRoom,\n fetch: debounceFetch,\n refRoomSelector,\n responseError,\n state: { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch },\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useRates.js","names":["_dataSources","require","_locale","_services","_ui","_react","_helpers","_helpers2","_helpers3","_Rates","_Rates2","fetchCall","useRates","isMobile","mobile","useDevice","translate","useLocale","set","value","club","currency","finder","hotel","id","language","locale","rates","cart","storeCart","meta","occupation","maxRooms","urlParams","session","skeleton","useStore","refRoomSelector","useRef","setCart","useState","clubDiscount","setClubDiscount","discount","clubRate","setClubRate","dataSource","setDataSource","fetching","setFetching","metaBoard","setMetaBoard","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","device","multiRoom","length","useEffect","current","offsetHeight","offsetTop","window","scrollTo","top","behavior","undefined","debounceFetch","nextRoom","callback","next","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","tracking","publish","RATES_RESPONSE","error","event","response","getBoard","then","board","METRICS","NOTIFICATION","contrast","defaultMessage","L10N","NOTIFICATION_META_RATE_FOUND","utm_source","UTM_SOURCE_NAME","catch","checkNotifications","nextDataSource","nextPromocode","notifications","includes","PROMOCODE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","promocode","RATES_FILTER_PROMOCODE","ROOM_NOT_FOUNT","roomTypeId","NOTIFICATION_ROOM_NOT_FOUND","OFFER_NOT_FOUND","idoffers","NOTIFICATION_OFFER_NOT_FOUND","fetch","nextOccupation","nextPlace","arguments","currentId","nextId","nextClubDiscount","isHotel","variants","currentVariant","find","toString","FINDER","fetchUrlParams","location","search","checkin","nights","parties","getFinderParams","replaceUrlParams","params","active","selectedIds","map","roomId","join","parseToParties","lastFetchCall","ServiceRates","get","externalSignout","signout","hotels","debounce","actions","state","exports"],"sources":["../../../../src/components/Rates/hooks/useRates.js"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceRates } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { debounce, fetchUrlParams } from '../../../helpers';\nimport { EVENT, parseToParties, replaceUrlParams } from '../../helpers';\nimport { getBoard, getFinderParams, signout } from '../helpers';\nimport { NOTIFICATION, UTM_SOURCE_NAME } from '../Rates.constants';\nimport { L10N } from '../Rates.l10n';\n\nlet fetchCall = 0;\n\nexport const useRates = () => {\n const { isMobile, mobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [], meta } = {},\n occupation: { maxRooms } = {},\n urlParams,\n session,\n skeleton = false,\n },\n } = useStore();\n const refRoomSelector = useRef();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [clubRate, setClubRate] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(false);\n const [metaBoard, setMetaBoard] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place } = finder;\n const device = mobile ? 'MOBILE' : 'DESKTOP_TABLET';\n const multiRoom = occupation?.length > 1;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n window.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n room !== undefined && debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n const callback = async (next) => {\n setClubDiscount(typeof next !== 'object' ? next : undefined);\n clubRate && setClubRate(false);\n };\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubRate]);\n\n useEffect(() => {\n if ((!dataSource && (!responseError || !responseError.tracking)) || room) return;\n\n Event.publish(EVENT.RATES_RESPONSE, {\n error: !!responseError,\n event: EVENT.RATES_RESPONSE,\n response: dataSource || responseError,\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, responseError]);\n\n useEffect(() => {\n if (!dataSource || !storeCart.length) return;\n\n getBoard({ cart, dataSource, storeCart })\n .then((board) => {\n if (!board) return Event.publish(EVENT.METRICS, { id: 'RATES:META:ERROR' });\n\n if (meta) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_META_RATE_FOUND, {\n utm_source: UTM_SOURCE_NAME[urlParams.utm_source] || urlParams.utm_source,\n }),\n });\n Event.publish(EVENT.METRICS, { id: 'RATES:META:SUCCESS' });\n }\n\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, storeCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !clubRate && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n const checkNotifications = (nextDataSource, nextPromocode) => {\n const { notifications = [] } = nextDataSource;\n\n if (notifications.includes(NOTIFICATION.PROMOCODE_NOT_FOUND) && nextPromocode) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_PROMOCODE_NOT_FOUND, { promocode: nextPromocode }),\n });\n set({ finder: { calendar, occupation, place, promocode: '' } });\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: undefined });\n } else if (nextPromocode !== finder.promocode) {\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: nextPromocode });\n }\n if (notifications.includes(NOTIFICATION.ROOM_NOT_FOUNT) && urlParams.roomTypeId) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_ROOM_NOT_FOUND),\n });\n }\n if (notifications.includes(NOTIFICATION.OFFER_NOT_FOUND) && urlParams.idoffers) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_OFFER_NOT_FOUND),\n });\n }\n };\n\n const fetch = async ({\n nextRoom,\n nextOccupation = occupation,\n nextPlace = place,\n nextPromocode = finder.promocode,\n } = {}) => {\n if (skeleton) return;\n\n const { id: [currentId] = [] } = place || {};\n const { id: [nextId] = [] } = nextPlace || {};\n let nextClubDiscount;\n if (nextPlace?.isHotel && currentId !== nextId) {\n const { variants = [] } = club;\n const currentVariant = variants.find(({ id = '' } = {}) => id.toString() === nextId.toString());\n nextClubDiscount = currentVariant?.discount;\n if (currentVariant && nextClubDiscount !== clubDiscount) {\n Event.publish(EVENT.RATES_FILTER_CLUB, nextClubDiscount);\n\n return;\n }\n }\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n ...(club.active ? { club, clubDiscount } : undefined),\n id,\n locale,\n maxRooms,\n device,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ roomId } = {}) => roomId).join(','),\n session,\n strictSearch,\n };\n if (nextRoom !== undefined) params.parties = parseToParties([nextOccupation[nextRoom || 0]]);\n\n const lastFetchCall = ++fetchCall;\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (lastFetchCall !== fetchCall) return;\n\n if (nextDataSource?.externalSignout) return signout({ club, language });\n\n if (nextDataSource) {\n checkNotifications(nextDataSource, nextPromocode);\n\n if (nextOccupation?.length > 1 && nextRoom === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n setFetching(false);\n\n if (nextDataSource?.hotels) Event.publish(EVENT.METRICS, { id: 'HOTELS:RENDER' });\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n return {\n actions: { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch },\n device,\n multiRoom,\n fetch: debounceFetch,\n refRoomSelector,\n responseError,\n state: { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch },\n };\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_getClub","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_storageFinder$occupa","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","miraiId","isRates","some","component","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","accommodationType","getAccommodationType","lodgingDenomination","features","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","Object","entries","map","_ref","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","TYPE_COMMISSION","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","storageFinder","Storage","adapter","LocalAdapter","get","concat","FINDER_STORAGE_KEY","chainSelectorValue","checkin","clientCode","nights","parties","promo","promoCode","parseDate","UTC","checkout","parseInt","showPromoNav","configPromo","promoText","place","find","isHotel","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","ages","promocode","code","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","locales","languages","COUNTRIES","club","getClub","reduce","_ref2","props","performance","getPerformance","checkoutForm","JSON","parse","deals","lisa","cart","split","getMetaRates","meta","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { COUNTRIES, dateCalc, dateDiff, dateFormat, DEFAULT_CURRENCY, parseDate, UTC } from '@mirai/locale';\n\nimport { fetchCurrency } from './fetchCurrency';\nimport { getAccommodationType } from './getAccommodationType';\nimport { getClub } from './getClub';\nimport { getLocale } from './getLocale';\nimport { getMetaRates } from './getMetaRates';\nimport { getPerformance } from './getPerformance';\nimport { getTags } from './getTags';\nimport { prepareRoom } from './prepareRoom';\nimport { toOccupation } from './toOccupation';\nimport { CALENDAR_FORMAT, FINDER_STORAGE_KEY, TAX_DEFAULT, TAXES, TYPE, TYPE_COMMISSION } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = async ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { miraiId } = urlParams;\n const isRates = components.some(({ component } = {}) => component === 'rates');\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), { format: CALENDAR_FORMAT }) : undefined,\n };\n\n // -- language, country & locale -------------------------------------------------------------------------------------\n const { language, country, locale } = getLocale(instance, urlParams);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency =\n urlParams.currency ||\n instance.currency ||\n (type === TYPE.HOTEL && !IS_JEST ? await fetchCurrency(id) : DEFAULT_CURRENCY);\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n features: config.accomodation?.features || {},\n id: type === TYPE.CHAIN ? urlParams.idtokenprovider || urlParams.idHotel || hotelId : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || TYPE_COMMISSION[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n const storageFinder = !isRates ? new Storage({ adapter: LocalAdapter }).get(`${FINDER_STORAGE_KEY}:${id}`) || {} : {};\n\n let { chainSelectorValue, checkin, clientCode, nights = isRates ? 1 : 0, parties, promo: promoCode } = urlParams;\n checkin = checkin ? parseDate(checkin) : isRates ? UTC(new Date()) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = { ...configPromo, placeholder };\n }\n\n let place;\n if (tags) {\n place = tags.options.find(\n ({ id: [idHotel] = [], isHotel, value } = {}) =>\n (chainSelectorValue && value === Number(chainSelectorValue)) || (isHotel && hotel.id === idHotel),\n );\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n let finder = {\n place: place || storageFinder.place,\n calendar: checkin\n ? [checkin, checkout]\n : storageFinder.calendar && dateDiff(new Date(), new Date(storageFinder.calendar[0])).days > -1\n ? [new Date(storageFinder.calendar[0]), new Date(storageFinder.calendar[1])]\n : [],\n occupation: parties\n ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options })\n : isRates\n ? [prepareRoom(occupation.dataSource)]\n : storageFinder.occupation?.map((rooms) =>\n rooms.map((value = {}) => ({\n ...value,\n ...(value?.ages ? { ages: value.ages.map((age) => (age === null ? undefined : age)) } : undefined),\n })),\n ) || undefined,\n promocode: clientCode || promoCode || promo?.code || storageFinder.promocode,\n };\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development' || window.IS_PLAYWRIGHT;\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n return {\n config,\n cookies,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale,\n locales: config.languages\n ?.map((language) => (language === 'no' ? 'nb' : language))\n .map((language) => `${language}-${COUNTRIES[language]}`),\n\n // entities,\n calendar,\n club: getClub({ config, type, urlParams }),\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n occupation,\n origin,\n performance: getPerformance(config, hotel.id),\n promo,\n session,\n tags,\n // Disabled variants manager\n // variant:\n // IS_JEST && !window.IS_PLAYWRIGHT\n // ? undefined\n // : urlParams.variant\n // ? urlParams.variant\n // : Math.random() < 0.5\n // ? 'A'\n // : 'B',\n // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined,\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n rooms: undefined,\n signup: undefined,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_getClub","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_storageFinder$occupa","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","miraiId","isRates","some","component","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","accommodationType","getAccommodationType","lodgingDenomination","features","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","Object","entries","map","_ref","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","TYPE_COMMISSION","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","storageFinder","Storage","adapter","LocalAdapter","get","concat","FINDER_STORAGE_KEY","chainSelectorValue","checkin","clientCode","nights","parties","promo","promoCode","parseDate","UTC","checkout","parseInt","showPromoNav","configPromo","promoText","place","find","isHotel","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","ages","promocode","code","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","locales","languages","COUNTRIES","club","getClub","reduce","_ref2","props","performance","getPerformance","checkoutForm","JSON","parse","deals","lisa","cart","split","getMetaRates","meta","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { COUNTRIES, dateCalc, dateDiff, dateFormat, DEFAULT_CURRENCY, parseDate, UTC } from '@mirai/locale';\n\nimport { fetchCurrency } from './fetchCurrency';\nimport { getAccommodationType } from './getAccommodationType';\nimport { getClub } from './getClub';\nimport { getLocale } from './getLocale';\nimport { getMetaRates } from './getMetaRates';\nimport { getPerformance } from './getPerformance';\nimport { getTags } from './getTags';\nimport { prepareRoom } from './prepareRoom';\nimport { toOccupation } from './toOccupation';\nimport { CALENDAR_FORMAT, FINDER_STORAGE_KEY, TAX_DEFAULT, TAXES, TYPE, TYPE_COMMISSION } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = async ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { miraiId } = urlParams;\n const isRates = components.some(({ component } = {}) => component === 'rates');\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), { format: CALENDAR_FORMAT }) : undefined,\n };\n\n // -- language, country & locale -------------------------------------------------------------------------------------\n const { language, country, locale } = getLocale(instance, urlParams);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency =\n urlParams.currency ||\n instance.currency ||\n (type === TYPE.HOTEL && !IS_JEST ? await fetchCurrency(id) : DEFAULT_CURRENCY);\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n features: config.accomodation?.features || {},\n id: type === TYPE.CHAIN ? urlParams.idtokenprovider || urlParams.idHotel || hotelId : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || TYPE_COMMISSION[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n const storageFinder = !isRates ? new Storage({ adapter: LocalAdapter }).get(`${FINDER_STORAGE_KEY}:${id}`) || {} : {};\n\n let { chainSelectorValue, checkin, clientCode, nights = isRates ? 1 : 0, parties, promo: promoCode } = urlParams;\n checkin = checkin ? parseDate(checkin) : isRates ? UTC(new Date()) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = { ...configPromo, placeholder };\n }\n\n let place;\n if (tags) {\n place = tags.options.find(\n ({ id: [idHotel] = [], isHotel, value } = {}) =>\n (chainSelectorValue && value === Number(chainSelectorValue)) || (isHotel && hotel.id === idHotel),\n );\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n let finder = {\n place: place || storageFinder.place,\n calendar: checkin\n ? [checkin, checkout]\n : storageFinder.calendar && dateDiff(new Date(), new Date(storageFinder.calendar[0])).days > -1\n ? [new Date(storageFinder.calendar[0]), new Date(storageFinder.calendar[1])]\n : [],\n occupation: parties\n ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options })\n : isRates\n ? [prepareRoom(occupation.dataSource)]\n : storageFinder.occupation?.map((rooms) =>\n rooms.map((value = {}) => ({\n ...value,\n ...(value?.ages ? { ages: value.ages.map((age) => (age === null ? undefined : age)) } : undefined),\n })),\n ) || undefined,\n promocode: clientCode || promoCode || promo?.code || storageFinder.promocode,\n };\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development' || window.IS_PLAYWRIGHT;\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n return {\n config,\n cookies,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale,\n locales: config.languages\n ?.map((language) => (language === 'no' ? 'nb' : language))\n .map((language) => `${language}-${COUNTRIES[language]}`),\n\n // entities,\n calendar,\n club: getClub({ config, language, type, urlParams }),\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n occupation,\n origin,\n performance: getPerformance(config, hotel.id),\n promo,\n session,\n tags,\n // Disabled variants manager\n // variant:\n // IS_JEST && !window.IS_PLAYWRIGHT\n // ? undefined\n // : urlParams.variant\n // ? urlParams.variant\n // : Math.random() < 0.5\n // ? 'A'\n // : 'B',\n // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined,\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n rooms: undefined,\n signup: undefined,\n };\n};\n"],"mappings":"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"}
|
|
@@ -5,25 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.fetchConfig = void 0;
|
|
7
7
|
var _services = require("@mirai/services");
|
|
8
|
-
|
|
9
|
-
const IS_JEST = !!((_process = process) !== null && _process !== void 0 && (_process$env = _process.env) !== null && _process$env !== void 0 && _process$env.JEST_WORKER_ID);
|
|
10
|
-
const fetchConfig = async function () {
|
|
8
|
+
const fetchConfig = function () {
|
|
11
9
|
let {
|
|
12
10
|
id,
|
|
13
|
-
language,
|
|
14
11
|
type = 'hotel'
|
|
15
12
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
16
|
-
|
|
17
|
-
const club = !IS_JEST ? await _services.ServiceClub.get({
|
|
18
|
-
id,
|
|
19
|
-
language
|
|
20
|
-
}) : undefined;
|
|
21
|
-
const config = await _services.ServiceEngine.get({
|
|
13
|
+
return id ? _services.ServiceEngine.get({
|
|
22
14
|
id,
|
|
23
15
|
type
|
|
24
|
-
});
|
|
25
|
-
if (config && club) config.club = club;
|
|
26
|
-
return config;
|
|
16
|
+
}) : undefined;
|
|
27
17
|
};
|
|
28
18
|
exports.fetchConfig = fetchConfig;
|
|
29
19
|
//# sourceMappingURL=fetchConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchConfig.js","names":["_services","require","
|
|
1
|
+
{"version":3,"file":"fetchConfig.js","names":["_services","require","fetchConfig","id","type","arguments","length","undefined","ServiceEngine","get","exports"],"sources":["../../src/helpers/fetchConfig.js"],"sourcesContent":["import { ServiceEngine } from '@mirai/services';\n\nexport const fetchConfig = ({ id, type = 'hotel' } = {}) => (id ? ServiceEngine.get({ id, type }) : undefined);\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEO,MAAMC,WAAW,GAAG,SAAAA,CAAA;EAAA,IAAC;IAAEC,EAAE;IAAEC,IAAI,GAAG;EAAQ,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OAAMF,EAAE,GAAGK,uBAAa,CAACC,GAAG,CAAC;IAAEN,EAAE;IAAEC;EAAK,CAAC,CAAC,GAAGG,SAAS;AAAA,CAAC;AAACG,OAAA,CAAAR,WAAA,GAAAA,WAAA"}
|
package/build/helpers/getClub.js
CHANGED
|
@@ -4,100 +4,90 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getClub = void 0;
|
|
7
|
+
var _getClubUrl = require("./getClubUrl");
|
|
7
8
|
var _Core = require("../Core.constants");
|
|
8
9
|
const getClub = function () {
|
|
10
|
+
var _discount2;
|
|
9
11
|
let {
|
|
10
12
|
config = {},
|
|
13
|
+
language,
|
|
11
14
|
type,
|
|
12
15
|
urlParams = {}
|
|
13
16
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
14
|
-
let club;
|
|
15
17
|
let {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
accomodation: {
|
|
19
|
+
club: {
|
|
20
|
+
authentication,
|
|
21
|
+
banner,
|
|
22
|
+
discount: discountEnabled = false,
|
|
23
|
+
id,
|
|
24
|
+
name,
|
|
25
|
+
rates = false,
|
|
26
|
+
url = {}
|
|
27
|
+
} = {},
|
|
28
|
+
variants = []
|
|
18
29
|
} = {}
|
|
19
|
-
} =
|
|
20
|
-
|
|
21
|
-
|
|
30
|
+
} = config;
|
|
31
|
+
let active = !!id;
|
|
32
|
+
if (!active) return;
|
|
33
|
+
let {
|
|
34
|
+
applyClubDiscount,
|
|
35
|
+
idtokenprovider: idHotel = ''
|
|
36
|
+
} = urlParams;
|
|
37
|
+
let discount = applyClubDiscount ? applyClubDiscount === 'true' : undefined;
|
|
38
|
+
const nextVariants = variants.map(function () {
|
|
22
39
|
let {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
40
|
+
club,
|
|
41
|
+
id
|
|
42
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
43
|
+
if (club && Object.keys(club).length === 0) return {
|
|
44
|
+
active: false,
|
|
45
|
+
id
|
|
46
|
+
};
|
|
47
|
+
const {
|
|
48
|
+
banner: variantBanner,
|
|
49
|
+
discount: variantDiscount,
|
|
50
|
+
rates: variantRates
|
|
51
|
+
} = club || {};
|
|
52
|
+
return {
|
|
53
|
+
active: true,
|
|
54
|
+
banner: {
|
|
55
|
+
...banner,
|
|
56
|
+
...variantBanner
|
|
30
57
|
},
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
privacyPolicyUrl: privacy
|
|
39
|
-
}
|
|
40
|
-
} = config;
|
|
41
|
-
let {
|
|
42
|
-
applyClubDiscount,
|
|
43
|
-
idtokenprovider: idHotel = ''
|
|
44
|
-
} = urlParams;
|
|
45
|
-
let discount = applyClubDiscount ? applyClubDiscount === 'true' : undefined;
|
|
46
|
-
const nextVariants = variants.map(function () {
|
|
58
|
+
discount: variantDiscount !== undefined ? variantRates !== undefined ? variantRates ? variantDiscount : undefined : rates ? variantDiscount : undefined : (variantRates !== null && variantRates !== void 0 ? variantRates : rates) ? discountEnabled : undefined,
|
|
59
|
+
discountEnabled: variantRates !== null && variantRates !== void 0 ? variantRates : rates,
|
|
60
|
+
id
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
if (type === _Core.TYPE.CHAIN) {
|
|
64
|
+
const variant = nextVariants.find(function () {
|
|
47
65
|
let {
|
|
48
|
-
|
|
49
|
-
id
|
|
66
|
+
id = ''
|
|
50
67
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
51
|
-
|
|
52
|
-
active: false,
|
|
53
|
-
id
|
|
54
|
-
};
|
|
55
|
-
const {
|
|
56
|
-
banner: variantBanner,
|
|
57
|
-
discount: variantDiscount,
|
|
58
|
-
rates: variantRates
|
|
59
|
-
} = club || {};
|
|
60
|
-
return {
|
|
61
|
-
active: true,
|
|
62
|
-
banner: {
|
|
63
|
-
...banner,
|
|
64
|
-
...variantBanner
|
|
65
|
-
},
|
|
66
|
-
discount: variantDiscount !== undefined ? variantRates !== undefined ? variantRates ? variantDiscount : undefined : rates ? variantDiscount : undefined : (variantRates !== null && variantRates !== void 0 ? variantRates : rates) ? discountEnabled : undefined,
|
|
67
|
-
discountEnabled: variantRates !== null && variantRates !== void 0 ? variantRates : rates,
|
|
68
|
-
id
|
|
69
|
-
};
|
|
68
|
+
return id.toString() === idHotel.toString();
|
|
70
69
|
});
|
|
71
|
-
if (
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return id.toString() === idHotel.toString();
|
|
77
|
-
});
|
|
78
|
-
if (variant) {
|
|
79
|
-
var _discount;
|
|
80
|
-
active = variant.active;
|
|
81
|
-
discount = (_discount = discount) !== null && _discount !== void 0 ? _discount : variant.discount;
|
|
82
|
-
discountEnabled = variant.discountEnabled;
|
|
83
|
-
}
|
|
70
|
+
if (variant) {
|
|
71
|
+
var _discount;
|
|
72
|
+
active = variant.active;
|
|
73
|
+
discount = (_discount = discount) !== null && _discount !== void 0 ? _discount : variant.discount;
|
|
74
|
+
discountEnabled = variant.discountEnabled;
|
|
84
75
|
}
|
|
85
|
-
discount = (_discount2 = discount) !== null && _discount2 !== void 0 ? _discount2 : rates;
|
|
86
|
-
club = {
|
|
87
|
-
active,
|
|
88
|
-
authentication,
|
|
89
|
-
banner,
|
|
90
|
-
discount: active && discountEnabled ? discount : undefined,
|
|
91
|
-
id,
|
|
92
|
-
name,
|
|
93
|
-
url: {
|
|
94
|
-
conditions,
|
|
95
|
-
privacy
|
|
96
|
-
},
|
|
97
|
-
variants: nextVariants
|
|
98
|
-
};
|
|
99
76
|
}
|
|
100
|
-
|
|
77
|
+
discount = (_discount2 = discount) !== null && _discount2 !== void 0 ? _discount2 : rates;
|
|
78
|
+
return {
|
|
79
|
+
active,
|
|
80
|
+
authentication,
|
|
81
|
+
banner,
|
|
82
|
+
discount: active && discountEnabled ? discount : undefined,
|
|
83
|
+
id,
|
|
84
|
+
name,
|
|
85
|
+
...(0, _getClubUrl.getClubUrl)({
|
|
86
|
+
language,
|
|
87
|
+
url
|
|
88
|
+
}),
|
|
89
|
+
variants: nextVariants
|
|
90
|
+
};
|
|
101
91
|
};
|
|
102
92
|
exports.getClub = getClub;
|
|
103
93
|
//# sourceMappingURL=getClub.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClub.js","names":["
|
|
1
|
+
{"version":3,"file":"getClub.js","names":["_getClubUrl","require","_Core","getClub","_discount2","config","language","type","urlParams","arguments","length","undefined","accomodation","club","authentication","banner","discount","discountEnabled","id","name","rates","url","variants","active","applyClubDiscount","idtokenprovider","idHotel","nextVariants","map","Object","keys","variantBanner","variantDiscount","variantRates","TYPE","CHAIN","variant","find","toString","_discount","getClubUrl","exports"],"sources":["../../src/helpers/getClub.js"],"sourcesContent":["import { getClubUrl } from './getClubUrl';\nimport { TYPE } from '../Core.constants';\n\nexport const getClub = ({ config = {}, language, type, urlParams = {} } = {}) => {\n let {\n accomodation: {\n club: { authentication, banner, discount: discountEnabled = false, id, name, rates = false, url = {} } = {},\n variants = [],\n } = {},\n } = config;\n let active = !!id;\n if (!active) return;\n\n let { applyClubDiscount, idtokenprovider: idHotel = '' } = urlParams;\n let discount = applyClubDiscount ? applyClubDiscount === 'true' : undefined;\n\n const nextVariants = variants.map(({ club, id } = {}) => {\n if (club && Object.keys(club).length === 0) return { active: false, id };\n\n const { banner: variantBanner, discount: variantDiscount, rates: variantRates } = club || {};\n\n return {\n active: true,\n banner: { ...banner, ...variantBanner },\n discount:\n variantDiscount !== undefined\n ? variantRates !== undefined\n ? variantRates\n ? variantDiscount\n : undefined\n : rates\n ? variantDiscount\n : undefined\n : variantRates ?? rates\n ? discountEnabled\n : undefined,\n discountEnabled: variantRates ?? rates,\n id,\n };\n });\n\n if (type === TYPE.CHAIN) {\n const variant = nextVariants.find(({ id = '' } = {}) => id.toString() === idHotel.toString());\n if (variant) {\n active = variant.active;\n discount = discount ?? variant.discount;\n discountEnabled = variant.discountEnabled;\n }\n }\n discount = discount ?? rates;\n\n return {\n active,\n authentication,\n banner,\n discount: active && discountEnabled ? discount : undefined,\n id,\n name,\n ...getClubUrl({ language, url }),\n variants: nextVariants,\n };\n};\n"],"mappings":"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"}
|
|
@@ -4,23 +4,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getClubUrl = void 0;
|
|
7
|
-
var
|
|
8
|
-
const
|
|
7
|
+
var _locale = require("@mirai/locale");
|
|
8
|
+
const [DEFAULT_LANGUAGE] = _locale.DEFAULT_LOCALE.split('-');
|
|
9
|
+
const getClubUrl = _ref => {
|
|
9
10
|
let {
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
language,
|
|
12
|
+
url = {}
|
|
12
13
|
} = _ref;
|
|
13
14
|
const {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} =
|
|
17
|
-
id,
|
|
18
|
-
language
|
|
19
|
-
})) || {};
|
|
15
|
+
conditions,
|
|
16
|
+
privacy
|
|
17
|
+
} = url;
|
|
20
18
|
return {
|
|
21
19
|
url: {
|
|
22
|
-
conditions,
|
|
23
|
-
privacy
|
|
20
|
+
conditions: conditions[language] || conditions[DEFAULT_LANGUAGE],
|
|
21
|
+
privacy: privacy[language] || privacy[DEFAULT_LANGUAGE]
|
|
24
22
|
}
|
|
25
23
|
};
|
|
26
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClubUrl.js","names":["
|
|
1
|
+
{"version":3,"file":"getClubUrl.js","names":["_locale","require","DEFAULT_LANGUAGE","DEFAULT_LOCALE","split","getClubUrl","_ref","language","url","conditions","privacy","exports"],"sources":["../../src/helpers/getClubUrl.js"],"sourcesContent":["import { DEFAULT_LOCALE } from '@mirai/locale';\n\nconst [DEFAULT_LANGUAGE] = DEFAULT_LOCALE.split('-');\n\nexport const getClubUrl = ({ language, url = {} }) => {\n const { conditions, privacy } = url;\n\n return {\n url: {\n conditions: conditions[language] || conditions[DEFAULT_LANGUAGE],\n privacy: privacy[language] || privacy[DEFAULT_LANGUAGE],\n },\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,MAAM,CAACC,gBAAgB,CAAC,GAAGC,sBAAc,CAACC,KAAK,CAAC,GAAG,CAAC;AAE7C,MAAMC,UAAU,GAAGC,IAAA,IAA4B;EAAA,IAA3B;IAAEC,QAAQ;IAAEC,GAAG,GAAG,CAAC;EAAE,CAAC,GAAAF,IAAA;EAC/C,MAAM;IAAEG,UAAU;IAAEC;EAAQ,CAAC,GAAGF,GAAG;EAEnC,OAAO;IACLA,GAAG,EAAE;MACHC,UAAU,EAAEA,UAAU,CAACF,QAAQ,CAAC,IAAIE,UAAU,CAACP,gBAAgB,CAAC;MAChEQ,OAAO,EAAEA,OAAO,CAACH,QAAQ,CAAC,IAAIG,OAAO,CAACR,gBAAgB;IACxD;EACF,CAAC;AACH,CAAC;AAACS,OAAA,CAAAN,UAAA,GAAAA,UAAA"}
|