@mirai/core 0.4.421 → 0.4.423

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.
@@ -99,6 +99,7 @@ const useRates = () => {
99
99
  setCart([]);
100
100
  setClubRate(false);
101
101
  }
102
+ setMetaBoard();
102
103
  setClubDiscount(typeof next !== 'object' ? next : undefined);
103
104
  };
104
105
  _dataSources.Event.subscribe(_helpers2.EVENT.RATES_FILTER_CLUB, callback);
@@ -1 +1 @@
1
- {"version":3,"file":"useRates.js","names":["_dataSources","require","_locale","_services","_ui","_react","_helpers","_helpers2","_helpers3","_Rates","_Rates2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","fetchCall","useRates","isMobile","mobile","useDevice","translate","useLocale","set","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","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","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","notification","fetchUrlParams","location","search","validateError","NOTIFICATION_VALIDATE","replaceUrlParams","warning","fetch","nextOccupation","nextPlace","currentId","nextId","nextClubDiscount","isHotel","variants","currentVariant","find","toString","FINDER","checkin","nights","parties","getFinderParams","params","active","selectedIds","map","roomId","join","parseToParties","lastFetchCall","ServiceRates","get","externalSignout","signout","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(() => {\n skeleton && setFetching(true);\n }, [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 || multiRoom) && debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n const callback = async (next) => {\n if (clubRate) {\n setCart([]);\n setClubRate(false);\n }\n setClubDiscount(typeof next !== 'object' ? next : undefined);\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 (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 }\n\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => {\n set({ rates: undefined });\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\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\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 const { notification } = fetchUrlParams(location.search) || {};\n const validateError = notification && L10N.NOTIFICATION_VALIDATE[notification];\n if (validateError) {\n replaceUrlParams({ notification: undefined });\n Event.publish(EVENT.NOTIFICATION, { warning: true, defaultMessage: translate(validateError) });\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 currency,\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 && nextRoom === undefined) {\n checkNotifications(nextDataSource, nextPromocode);\n\n if (nextOccupation?.length > 1 && nextRoom === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n setFetching(false);\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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAEA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AAAqC,SAAAU,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAvB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAoB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA4B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAErC,IAAI8B,SAAS,GAAG,CAAC;AAEV,MAAMC,QAAQ,GAAGA,CAAA,KAAM;EAC5B,MAAM;IAAEC,QAAQ;IAAEC;EAAO,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACxC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IACJC,GAAG;IACHlB,KAAK,EAAE;MACLmB,IAAI,GAAG,CAAC,CAAC;MACTC,QAAQ;MACRC,MAAM,GAAG,CAAC,CAAC;MACXC,KAAK,GAAG,CAAC,CAAC;MACVC,EAAE;MACFC,QAAQ;MACRC,MAAM;MACNC,KAAK,EAAE;QAAEC,IAAI,EAAEC,SAAS,GAAG,EAAE;QAAEC;MAAK,CAAC,GAAG,CAAC,CAAC;MAC1CC,UAAU,EAAE;QAAEC;MAAS,CAAC,GAAG,CAAC,CAAC;MAC7BC,SAAS;MACTC,OAAO;MACPC,QAAQ,GAAG;IACb;EACF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EACd,MAAMC,eAAe,GAAG,IAAAC,aAAM,EAAC,CAAC;EAEhC,MAAM,CAACV,IAAI,EAAEW,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EACpC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAF,eAAQ,EAACpB,IAAI,CAACuB,QAAQ,CAAC;EAC/D,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAL,eAAQ,EAAC,KAAK,CAAC;EAC/C,MAAM,CAACM,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAP,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACQ,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAT,eAAQ,EAAC,KAAK,CAAC;EAC/C,MAAM,CAACU,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAX,eAAQ,EAAC,CAAC;EAC5C,MAAM,CAACY,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAb,eAAQ,EAAC,CAAC;EACpD,MAAM,CAACc,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAf,eAAQ,EAAC,CAAC;EAClC,MAAM,CAACgB,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAjB,eAAQ,EAAC,CAAC;EAElD,MAAM;IAAEkB,QAAQ,GAAG,EAAE;IAAE3B,UAAU,GAAG,EAAE;IAAE4B;EAAM,CAAC,GAAGrC,MAAM;EACxD,MAAMsC,MAAM,GAAG7C,MAAM,GAAG,QAAQ,GAAG,gBAAgB;EACnD,MAAM8C,SAAS,GAAG,CAAA9B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAErC,MAAM,IAAG,CAAC;;EAExC;EACA,IAAAoE,gBAAS,EAAC,MAAM;IACd3B,QAAQ,IAAIc,WAAW,CAAC,IAAI,CAAC;EAC/B,CAAC,EAAE,CAACd,QAAQ,CAAC,CAAC;EAEd,IAAA2B,gBAAS,EAAC,MAAM;IACd,IAAID,SAAS,EAAE;MACb,IAAIP,IAAI,GAAG,CAAC,EAAE;QACZ,MAAM;UAAES,OAAO,EAAE;YAAEC,YAAY,GAAG,CAAC;YAAEC,SAAS,GAAG;UAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG5B,eAAe,IAAI,CAAC,CAAC;QACnF6B,MAAM,CAACC,QAAQ,CAAC;UAAEC,GAAG,EAAEH,SAAS,IAAInD,QAAQ,GAAGkD,YAAY,GAAG,CAAC,CAAC;UAAEK,QAAQ,EAAE;QAAS,CAAC,CAAC;MACzF;MACAtB,aAAa,CAAC,CAAC;IACjB;IAEA,CAACO,IAAI,KAAKgB,SAAS,IAAIT,SAAS,KAAKU,aAAa,CAAC;MAAEC,QAAQ,EAAElB;IAAK,CAAC,CAAC;IACtE;EACF,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAAQ,gBAAS,EAAC,MAAM;IACd,MAAMW,QAAQ,GAAG,MAAOC,IAAI,IAAK;MAC/B,IAAI9B,QAAQ,EAAE;QACZL,OAAO,CAAC,EAAE,CAAC;QACXM,WAAW,CAAC,KAAK,CAAC;MACpB;MACAH,eAAe,CAAC,OAAOgC,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAGJ,SAAS,CAAC;IAC9D,CAAC;IACDK,kBAAK,CAACC,SAAS,CAACC,eAAK,CAACC,iBAAiB,EAAEL,QAAQ,CAAC;IAElD,OAAO,MAAME,kBAAK,CAACI,WAAW,CAACF,eAAK,CAACC,iBAAiB,EAAEL,QAAQ,CAAC;IACjE;EACF,CAAC,EAAE,CAAC7B,QAAQ,CAAC,CAAC;EAEd,IAAAkB,gBAAS,EAAC,MAAM;IACd,IAAK,CAAChB,UAAU,KAAK,CAACM,aAAa,IAAI,CAACA,aAAa,CAAC4B,QAAQ,CAAC,IAAK1B,IAAI,EAAE;IAE1EqB,kBAAK,CAACM,OAAO,CAACJ,eAAK,CAACK,cAAc,EAAE;MAClCC,KAAK,EAAE,CAAC,CAAC/B,aAAa;MACtBgC,KAAK,EAAEP,eAAK,CAACK,cAAc;MAC3BG,QAAQ,EAAEvC,UAAU,IAAIM;IAC1B,CAAC,CAAC;;IAEF;EACF,CAAC,EAAE,CAACN,UAAU,EAAEM,aAAa,CAAC,CAAC;EAE/B,IAAAU,gBAAS,EAAC,MAAM;IACd,IAAI,CAAChB,UAAU,IAAI,CAACjB,SAAS,CAACnC,MAAM,EAAE;IAEtC,IAAA4F,kBAAQ,EAAC;MAAE1D,IAAI;MAAEkB,UAAU;MAAEjB;IAAU,CAAC,CAAC,CACtC0D,IAAI,CAAEC,KAAK,IAAK;MACf,IAAI1D,IAAI,EAAE;QACR6C,kBAAK,CAACM,OAAO,CAACJ,eAAK,CAACY,YAAY,EAAE;UAChCC,QAAQ,EAAE,IAAI;UACdC,cAAc,EAAE1E,SAAS,CAAC2E,YAAI,CAACC,4BAA4B,EAAE;YAC3DC,UAAU,EAAEC,sBAAe,CAAC9D,SAAS,CAAC6D,UAAU,CAAC,IAAI7D,SAAS,CAAC6D;UACjE,CAAC;QACH,CAAC,CAAC;MACJ;MAEA3C,YAAY,CAACqC,KAAK,CAAC;MACnBrE,GAAG,CAAC;QAAEQ,KAAK,EAAE2C;MAAU,CAAC,CAAC;IAC3B,CAAC,CAAC,CACD0B,KAAK,CAAC,MAAM;MACX7E,GAAG,CAAC;QAAEQ,KAAK,EAAE2C;MAAU,CAAC,CAAC;IAC3B,CAAC,CAAC;;IAEJ;EACF,CAAC,EAAE,CAACxB,UAAU,CAAC,CAAC;EAEhB,IAAAgB,gBAAS,EAAC,MAAM;IACd,IAAI,CAACrB,YAAY,IAAI,CAACpB,QAAQ,IAAI,CAACa,OAAO,IAAIsB,YAAY,KAAKc,SAAS,EAAE;IAE1E,CAAC1B,QAAQ,IAAIL,OAAO,CAAC,EAAE,CAAC;IACxBgB,OAAO,CAACe,SAAS,CAAC;IAClBC,aAAa,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAAC9B,YAAY,EAAEpB,QAAQ,EAAEa,OAAO,EAAEsB,YAAY,CAAC,CAAC;EAEnD,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAI,CAACpC,MAAM,EAAE;IAEb6C,aAAa,CAAC;MAAEC,QAAQ,EAAElB;IAAK,CAAC,CAAC;IACjC;EACF,CAAC,EAAE,CAAC5B,MAAM,CAAC,CAAC;EAEZ,MAAMuE,kBAAkB,GAAGA,CAACC,cAAc,EAAEC,aAAa,KAAK;IAC5D,MAAM;MAAEC,aAAa,GAAG;IAAG,CAAC,GAAGF,cAAc;IAE7C,IAAIE,aAAa,CAACC,QAAQ,CAACZ,mBAAY,CAACa,mBAAmB,CAAC,IAAIH,aAAa,EAAE;MAC7ExB,kBAAK,CAACM,OAAO,CAACJ,eAAK,CAACY,YAAY,EAAE;QAChCC,QAAQ,EAAE,IAAI;QACdC,cAAc,EAAE1E,SAAS,CAAC2E,YAAI,CAACW,gCAAgC,EAAE;UAAEC,SAAS,EAAEL;QAAc,CAAC;MAC/F,CAAC,CAAC;MACFhF,GAAG,CAAC;QAAEG,MAAM,EAAE;UAAEoC,QAAQ;UAAE3B,UAAU;UAAE4B,KAAK;UAAE6C,SAAS,EAAE;QAAG;MAAE,CAAC,CAAC;MAC/D7B,kBAAK,CAACM,OAAO,CAACJ,eAAK,CAAC4B,sBAAsB,EAAE;QAAED,SAAS,EAAElC;MAAU,CAAC,CAAC;IACvE,CAAC,MAAM,IAAI6B,aAAa,KAAK7E,MAAM,CAACkF,SAAS,EAAE;MAC7C7B,kBAAK,CAACM,OAAO,CAACJ,eAAK,CAAC4B,sBAAsB,EAAE;QAAED,SAAS,EAAEL;MAAc,CAAC,CAAC;IAC3E;IACA,IAAIC,aAAa,CAACC,QAAQ,CAACZ,mBAAY,CAACiB,cAAc,CAAC,IAAIzE,SAAS,CAAC0E,UAAU,EAAE;MAC/EhC,kBAAK,CAACM,OAAO,CAACJ,eAAK,CAACY,YAAY,EAAE;QAChCC,QAAQ,EAAE,IAAI;QACdC,cAAc,EAAE1E,SAAS,CAAC2E,YAAI,CAACgB,2BAA2B;MAC5D,CAAC,CAAC;IACJ;IACA,IAAIR,aAAa,CAACC,QAAQ,CAACZ,mBAAY,CAACoB,eAAe,CAAC,IAAI5E,SAAS,CAAC6E,QAAQ,EAAE;MAC9EnC,kBAAK,CAACM,OAAO,CAACJ,eAAK,CAACY,YAAY,EAAE;QAChCC,QAAQ,EAAE,IAAI;QACdC,cAAc,EAAE1E,SAAS,CAAC2E,YAAI,CAACmB,4BAA4B;MAC7D,CAAC,CAAC;IACJ;IACA,MAAM;MAAEC;IAAa,CAAC,GAAG,IAAAC,uBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAMC,aAAa,GAAGJ,YAAY,IAAIpB,YAAI,CAACyB,qBAAqB,CAACL,YAAY,CAAC;IAC9E,IAAII,aAAa,EAAE;MACjB,IAAAE,0BAAgB,EAAC;QAAEN,YAAY,EAAE1C;MAAU,CAAC,CAAC;MAC7CK,kBAAK,CAACM,OAAO,CAACJ,eAAK,CAACY,YAAY,EAAE;QAAE8B,OAAO,EAAE,IAAI;QAAE5B,cAAc,EAAE1E,SAAS,CAACmG,aAAa;MAAE,CAAC,CAAC;IAChG;EACF,CAAC;EAED,MAAMI,KAAK,GAAG,eAAAA,CAAA,EAKH;IAAA,IALU;MACnBhD,QAAQ;MACRiD,cAAc,GAAG1F,UAAU;MAC3B2F,SAAS,GAAG/D,KAAK;MACjBwC,aAAa,GAAG7E,MAAM,CAACkF;IACzB,CAAC,GAAA/G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6E,SAAA,GAAA7E,SAAA,MAAG,CAAC,CAAC;IACJ,IAAI0C,QAAQ,EAAE;IAEd,MAAM;MAAEX,EAAE,EAAE,CAACmG,SAAS,CAAC,GAAG;IAAG,CAAC,GAAGhE,KAAK,IAAI,CAAC,CAAC;IAC5C,MAAM;MAAEnC,EAAE,EAAE,CAACoG,MAAM,CAAC,GAAG;IAAG,CAAC,GAAGF,SAAS,IAAI,CAAC,CAAC;IAC7C,IAAIG,gBAAgB;IACpB,IAAIH,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEI,OAAO,IAAIH,SAAS,KAAKC,MAAM,EAAE;MAC9C,MAAM;QAAEG,QAAQ,GAAG;MAAG,CAAC,GAAG3G,IAAI;MAC9B,MAAM4G,cAAc,GAAGD,QAAQ,CAACE,IAAI,CAAC;QAAA,IAAC;UAAEzG,EAAE,GAAG;QAAG,CAAC,GAAA/B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6E,SAAA,GAAA7E,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK+B,EAAE,CAAC0G,QAAQ,CAAC,CAAC,KAAKN,MAAM,CAACM,QAAQ,CAAC,CAAC;MAAA,EAAC;MAC/FL,gBAAgB,GAAGG,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAErF,QAAQ;MAC3C,IAAIqF,cAAc,IAAIH,gBAAgB,KAAKpF,YAAY,EAAE;QACvDkC,kBAAK,CAACM,OAAO,CAACJ,eAAK,CAACC,iBAAiB,EAAE+C,gBAAgB,CAAC;QAExD;MACF;IACF;IAEAlD,kBAAK,CAACM,OAAO,CAACJ,eAAK,CAACsD,MAAM,EAAE;MAAEzE,QAAQ,EAAEY;IAAU,CAAC,CAAC;IAEpDrB,WAAW,CAAC,IAAI,CAAC;IACjBI,gBAAgB,CAAC,CAAC;IAElB,IAAIpB,SAAS,GAAG,IAAAgF,uBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;IAC/C,IAAI,CAAClF,SAAS,CAACmG,OAAO,IAAI,CAACnG,SAAS,CAACoG,MAAM,IAAI,CAACpG,SAAS,CAACqG,OAAO,EAAE;MACjErG,SAAS,GAAAzC,aAAA,CAAAA,aAAA,KAAQyC,SAAS,GAAK,IAAAsG,yBAAe,EAAA/I,aAAA,CAAAA,aAAA,KAAM8B,MAAM;QAAEC;MAAK,EAAE,CAAC,CAAE;MACtE,IAAA+F,0BAAgB,EAACrF,SAAS,CAAC;IAC7B;IAEA,MAAMuG,MAAM,GAAAhJ,aAAA,CAAAA,aAAA,CAAAA,aAAA;MACV6B;IAAQ,GACLY,SAAS,GACRb,IAAI,CAACqH,MAAM,GAAG;MAAErH,IAAI;MAAEqB;IAAa,CAAC,GAAG6B,SAAS;MACpD9C,EAAE;MACFE,MAAM;MACNM,QAAQ;MACR4B,MAAM;MACN7B,UAAU,EAAE0F,cAAc;MAC1B9D,KAAK;MACL+E,WAAW,EAAE9G,IAAI,CAAC+G,GAAG,CAAC;QAAA,IAAC;UAAEC;QAAO,CAAC,GAAAnJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6E,SAAA,GAAA7E,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKmJ,MAAM;MAAA,EAAC,CAACC,IAAI,CAAC,GAAG,CAAC;MAC5D3G,OAAO;MACPsB;IAAY,EACb;IACD,IAAIgB,QAAQ,KAAKF,SAAS,EAAEkE,MAAM,CAACF,OAAO,GAAG,IAAAQ,wBAAc,EAAC,CAACrB,cAAc,CAACjD,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;IAE5F,MAAMuE,aAAa,GAAG,EAAEnI,SAAS;IACjC,MAAMsF,cAAc,GAAG,MAAM8C,sBAAY,CAACC,GAAG,CAACT,MAAM,CAAC,CAACxC,KAAK,CAAC3C,gBAAgB,CAAC;IAC7E,IAAI0F,aAAa,KAAKnI,SAAS,EAAE;IAEjC,IAAIsF,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEgD,eAAe,EAAE,OAAO,IAAAC,iBAAO,EAAC;MAAE/H,IAAI;MAAEK;IAAS,CAAC,CAAC;IAEvE,IAAIyE,cAAc,IAAI1B,QAAQ,KAAKF,SAAS,EAAE;MAC5C2B,kBAAkB,CAACC,cAAc,EAAEC,aAAa,CAAC;MAEjD,IAAI,CAAAsB,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAE/H,MAAM,IAAG,CAAC,IAAI8E,QAAQ,KAAKF,SAAS,EAAEf,OAAO,CAAC,CAAC,CAAC;IACtE;IAEAR,aAAa,CAACmD,cAAc,CAAC;IAC7BjD,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC;EAED,MAAMsB,aAAa,GAAG,IAAA6E,iBAAQ,EAAC5B,KAAK,EAAE,EAAE,CAAC;EAEzC,OAAO;IACL6B,OAAO,EAAE;MAAE9G,OAAO;MAAEM,WAAW;MAAEE,aAAa;MAAEI,YAAY;MAAEI,OAAO;MAAEE;IAAgB,CAAC;IACxFG,MAAM;IACNC,SAAS;IACT2D,KAAK,EAAEjD,aAAa;IACpBlC,eAAe;IACfe,aAAa;IACbkG,KAAK,EAAE;MAAE1H,IAAI;MAAEa,YAAY;MAAEG,QAAQ;MAAEE,UAAU;MAAEE,QAAQ;MAAEE,SAAS;MAAEI,IAAI;MAAEE;IAAa;EAC7F,CAAC;AACH,CAAC;AAAC+F,OAAA,CAAA1I,QAAA,GAAAA,QAAA","ignoreList":[]}
1
+ {"version":3,"file":"useRates.js","names":["_dataSources","require","_locale","_services","_ui","_react","_helpers","_helpers2","_helpers3","_Rates","_Rates2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","fetchCall","useRates","isMobile","mobile","useDevice","translate","useLocale","set","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","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","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","notification","fetchUrlParams","location","search","validateError","NOTIFICATION_VALIDATE","replaceUrlParams","warning","fetch","nextOccupation","nextPlace","currentId","nextId","nextClubDiscount","isHotel","variants","currentVariant","find","toString","FINDER","checkin","nights","parties","getFinderParams","params","active","selectedIds","map","roomId","join","parseToParties","lastFetchCall","ServiceRates","get","externalSignout","signout","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(() => {\n skeleton && setFetching(true);\n }, [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 || multiRoom) && debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n const callback = async (next) => {\n if (clubRate) {\n setCart([]);\n setClubRate(false);\n }\n setMetaBoard();\n setClubDiscount(typeof next !== 'object' ? next : undefined);\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 (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 }\n\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => {\n set({ rates: undefined });\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\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\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 const { notification } = fetchUrlParams(location.search) || {};\n const validateError = notification && L10N.NOTIFICATION_VALIDATE[notification];\n if (validateError) {\n replaceUrlParams({ notification: undefined });\n Event.publish(EVENT.NOTIFICATION, { warning: true, defaultMessage: translate(validateError) });\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 currency,\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 && nextRoom === undefined) {\n checkNotifications(nextDataSource, nextPromocode);\n\n if (nextOccupation?.length > 1 && nextRoom === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n setFetching(false);\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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","ignoreList":[]}
@@ -93,10 +93,11 @@ const consolidateStore = async function () {
93
93
 
94
94
  // -- currency -------------------------------------------------------------------------------------------------------
95
95
  const currency = await (0, _getCurrency.getCurrency)({
96
- urlParams,
96
+ id,
97
97
  instance,
98
+ isRates,
98
99
  type,
99
- id
100
+ urlParams
100
101
  });
101
102
 
102
103
  // -- hotel ----------------------------------------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_getAccommodationType","_getClub","_getCurrency","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_excluded","_excluded2","_process","_process$env","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","IS_JEST","process","env","JEST_WORKER_ID","BOOKING","CHECKOUT","RATES","COMPONENTS","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_storageFinder$occupa","_promo","_config$languages","_ref","undefined","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","miraiId","isRates","some","component","assistant","accomodation","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","getCurrency","accommodationType","getAccommodationType","lodgingDenomination","features","TYPE","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","entries","map","_ref2","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","fromEntries","code","place","find","isHotel","finder","dateDiff","days","toOccupation","places","prepareRoom","ages","promocode","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","cookieBanner","active","showAll","locales","languages","COUNTRIES","club","getClub","reduce","_ref3","props","performance","getPerformance","variant","Math","random","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, parseDate, UTC } from '@mirai/locale';\n\nimport { getAccommodationType } from './getAccommodationType';\nimport { getClub } from './getClub';\nimport { getCurrency } from './getCurrency';\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 {\n CALENDAR_FORMAT,\n COMPONENTS,\n FINDER_STORAGE_KEY,\n TAX_DEFAULT,\n TAXES,\n TYPE,\n TYPE_COMMISSION,\n} from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\nconst { BOOKING, CHECKOUT, RATES } = COMPONENTS;\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 // -- assistant ------------------------------------------------------------------------------------------------------\n const { assistant = {} } = config.accomodation || {};\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 = await getCurrency({ urlParams, instance, type, id });\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 = {\n ...configPromo,\n placeholder,\n variants: Object.fromEntries(occupation.variants.map(({ id, promo: { code } = {} } = {}) => [id, code])),\n };\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 const 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 || (!isRates && 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 const { cookieBanner: { active, showAll } = {} } = config;\n\n return {\n config,\n cookies,\n cookieBanner:\n active && (showAll || components.some(({ component } = {}) => [RATES, CHECKOUT, BOOKING].includes(component))),\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 assistant,\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 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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","ignoreList":[]}
1
+ {"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_getAccommodationType","_getClub","_getCurrency","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_excluded","_excluded2","_process","_process$env","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","IS_JEST","process","env","JEST_WORKER_ID","BOOKING","CHECKOUT","RATES","COMPONENTS","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_storageFinder$occupa","_promo","_config$languages","_ref","undefined","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","miraiId","isRates","some","component","assistant","accomodation","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","getCurrency","accommodationType","getAccommodationType","lodgingDenomination","features","TYPE","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","entries","map","_ref2","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","fromEntries","code","place","find","isHotel","finder","dateDiff","days","toOccupation","places","prepareRoom","ages","promocode","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","cookieBanner","active","showAll","locales","languages","COUNTRIES","club","getClub","reduce","_ref3","props","performance","getPerformance","variant","Math","random","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, parseDate, UTC } from '@mirai/locale';\n\nimport { getAccommodationType } from './getAccommodationType';\nimport { getClub } from './getClub';\nimport { getCurrency } from './getCurrency';\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 {\n CALENDAR_FORMAT,\n COMPONENTS,\n FINDER_STORAGE_KEY,\n TAX_DEFAULT,\n TAXES,\n TYPE,\n TYPE_COMMISSION,\n} from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\nconst { BOOKING, CHECKOUT, RATES } = COMPONENTS;\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 // -- assistant ------------------------------------------------------------------------------------------------------\n const { assistant = {} } = config.accomodation || {};\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 = await getCurrency({ id, instance, isRates, type, urlParams });\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 = {\n ...configPromo,\n placeholder,\n variants: Object.fromEntries(occupation.variants.map(({ id, promo: { code } = {} } = {}) => [id, code])),\n };\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 const 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 || (!isRates && 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 const { cookieBanner: { active, showAll } = {} } = config;\n\n return {\n config,\n cookies,\n cookieBanner:\n active && (showAll || components.some(({ component } = {}) => [RATES, CHECKOUT, BOOKING].includes(component))),\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 assistant,\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 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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","ignoreList":[]}
@@ -8,19 +8,18 @@ var _locale = require("@mirai/locale");
8
8
  var _fetchCurrency = require("./fetchCurrency");
9
9
  var _replaceUrlParams = require("../components/helpers/replaceUrlParams");
10
10
  var _Core = require("../Core.constants");
11
- var _process, _process$env;
12
- const IS_JEST = !!((_process = process) !== null && _process !== void 0 && (_process$env = _process.env) !== null && _process$env !== void 0 && _process$env.JEST_WORKER_ID);
13
- const getCurrency = async _ref => {
11
+ const getCurrency = async function () {
14
12
  let {
15
- urlParams = {},
13
+ id,
16
14
  instance = {},
15
+ isRates,
17
16
  type,
18
- id
19
- } = _ref;
20
- let currency = urlParams.currency || instance.currency || (type === _Core.TYPE.HOTEL && !IS_JEST ? await (0, _fetchCurrency.fetchCurrency)(id) : _locale.DEFAULT_CURRENCY);
17
+ urlParams = {}
18
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19
+ let currency = urlParams.currency || instance.currency || (type === _Core.TYPE.HOTEL ? await (0, _fetchCurrency.fetchCurrency)(id) : _locale.DEFAULT_CURRENCY);
21
20
  if (!_locale.CURRENCIES.includes(currency)) {
22
21
  currency = _locale.DEFAULT_CURRENCY;
23
- (0, _replaceUrlParams.replaceUrlParams)({
22
+ isRates && (0, _replaceUrlParams.replaceUrlParams)({
24
23
  currency
25
24
  });
26
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getCurrency.js","names":["_locale","require","_fetchCurrency","_replaceUrlParams","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","getCurrency","_ref","urlParams","instance","type","id","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","CURRENCIES","includes","replaceUrlParams","exports"],"sources":["../../src/helpers/getCurrency.js"],"sourcesContent":["import { CURRENCIES, DEFAULT_CURRENCY } from '@mirai/locale';\n\nimport { fetchCurrency } from './fetchCurrency';\nimport { replaceUrlParams } from '../components/helpers/replaceUrlParams';\nimport { TYPE } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\nexport const getCurrency = async ({ urlParams = {}, instance = {}, type, id }) => {\n let currency =\n urlParams.currency ||\n instance.currency ||\n (type === TYPE.HOTEL && !IS_JEST ? await fetchCurrency(id) : DEFAULT_CURRENCY);\n\n if (!CURRENCIES.includes(currency)) {\n currency = DEFAULT_CURRENCY;\n replaceUrlParams({ currency });\n }\n\n return currency;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAAyC,IAAAI,QAAA,EAAAC,YAAA;AAEzC,MAAMC,OAAO,GAAG,CAAC,GAAAF,QAAA,GAACG,OAAO,cAAAH,QAAA,gBAAAC,YAAA,GAAPD,QAAA,CAASI,GAAG,cAAAH,YAAA,eAAZA,YAAA,CAAcI,cAAc;AAEvC,MAAMC,WAAW,GAAG,MAAAC,IAAA,IAAuD;EAAA,IAAhD;IAAEC,SAAS,GAAG,CAAC,CAAC;IAAEC,QAAQ,GAAG,CAAC,CAAC;IAAEC,IAAI;IAAEC;EAAG,CAAC,GAAAJ,IAAA;EAC3E,IAAIK,QAAQ,GACVJ,SAAS,CAACI,QAAQ,IAClBH,QAAQ,CAACG,QAAQ,KAChBF,IAAI,KAAKG,UAAI,CAACC,KAAK,IAAI,CAACZ,OAAO,GAAG,MAAM,IAAAa,4BAAa,EAACJ,EAAE,CAAC,GAAGK,wBAAgB,CAAC;EAEhF,IAAI,CAACC,kBAAU,CAACC,QAAQ,CAACN,QAAQ,CAAC,EAAE;IAClCA,QAAQ,GAAGI,wBAAgB;IAC3B,IAAAG,kCAAgB,EAAC;MAAEP;IAAS,CAAC,CAAC;EAChC;EAEA,OAAOA,QAAQ;AACjB,CAAC;AAACQ,OAAA,CAAAd,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"file":"getCurrency.js","names":["_locale","require","_fetchCurrency","_replaceUrlParams","_Core","getCurrency","id","instance","isRates","type","urlParams","arguments","length","undefined","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","CURRENCIES","includes","replaceUrlParams","exports"],"sources":["../../src/helpers/getCurrency.js"],"sourcesContent":["import { CURRENCIES, DEFAULT_CURRENCY } from '@mirai/locale';\n\nimport { fetchCurrency } from './fetchCurrency';\nimport { replaceUrlParams } from '../components/helpers/replaceUrlParams';\nimport { TYPE } from '../Core.constants';\n\nexport const getCurrency = async ({ id, instance = {}, isRates, type, urlParams = {} } = {}) => {\n let currency =\n urlParams.currency || instance.currency || (type === TYPE.HOTEL ? await fetchCurrency(id) : DEFAULT_CURRENCY);\n\n if (!CURRENCIES.includes(currency)) {\n currency = DEFAULT_CURRENCY;\n isRates && replaceUrlParams({ currency });\n }\n\n return currency;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAEO,MAAMI,WAAW,GAAG,eAAAA,CAAA,EAAqE;EAAA,IAA9D;IAAEC,EAAE;IAAEC,QAAQ,GAAG,CAAC,CAAC;IAAEC,OAAO;IAAEC,IAAI;IAAEC,SAAS,GAAG,CAAC;EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACzF,IAAIG,QAAQ,GACVJ,SAAS,CAACI,QAAQ,IAAIP,QAAQ,CAACO,QAAQ,KAAKL,IAAI,KAAKM,UAAI,CAACC,KAAK,GAAG,MAAM,IAAAC,4BAAa,EAACX,EAAE,CAAC,GAAGY,wBAAgB,CAAC;EAE/G,IAAI,CAACC,kBAAU,CAACC,QAAQ,CAACN,QAAQ,CAAC,EAAE;IAClCA,QAAQ,GAAGI,wBAAgB;IAC3BV,OAAO,IAAI,IAAAa,kCAAgB,EAAC;MAAEP;IAAS,CAAC,CAAC;EAC3C;EAEA,OAAOA,QAAQ;AACjB,CAAC;AAACQ,OAAA,CAAAjB,WAAA,GAAAA,WAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.421",
3
+ "version": "0.4.423",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",