@mirai/core 0.4.8 → 0.4.10

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.
@@ -30,6 +30,7 @@ const PerformanceManager = () => {
30
30
  } = (0, _dataSources.useStore)();
31
31
  const [consentMode, setConsentMode] = (0, _react.useState)((0, _helpers.getConsentMode)());
32
32
  const [ready, setReady] = (0, _react.useState)(false);
33
+ const eventsRef = (0, _react.useRef)([]);
33
34
  const {
34
35
  hotel,
35
36
  finder: {
@@ -74,11 +75,17 @@ const PerformanceManager = () => {
74
75
  // eslint-disable-next-line react-hooks/exhaustive-deps
75
76
  }, []);
76
77
  (0, _react.useEffect)(() => {
77
- if (consentMode !== undefined) return;
78
+ if (consentMode) return;
78
79
  const interval = setInterval(() => {
79
80
  const nextConsentMode = (0, _helpers.getConsentMode)();
80
81
  if (nextConsentMode !== undefined) {
81
- if (nextConsentMode) loadScripts(performance, nextConsentMode);
82
+ if (nextConsentMode) {
83
+ var _eventsRef$current;
84
+ clearInterval(interval);
85
+ loadScripts(performance, nextConsentMode);
86
+ eventsRef === null || eventsRef === void 0 ? void 0 : (_eventsRef$current = eventsRef.current) === null || _eventsRef$current === void 0 ? void 0 : _eventsRef$current.forEach(event => executeEvent(event));
87
+ eventsRef.current = [];
88
+ }
82
89
  setConsentMode(nextConsentMode);
83
90
  }
84
91
  }, 1000);
@@ -120,38 +127,55 @@ const PerformanceManager = () => {
120
127
  type
121
128
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
122
129
  return type;
123
- }).filter(function () {
124
- let {
125
- type
126
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
127
- return consentMode === true || !_PerformanceManager.CONSENT_MODE_REQUIRED.includes(type);
128
- });
129
- Object.entries(_PerformanceManager2.EVENTS[event]).filter(_ref5 => {
130
- let [provider] = _ref5;
131
- return availableProviders.includes(parseInt(provider));
132
- }).forEach(_ref6 => {
133
- let [provider, callback = () => {}] = _ref6;
134
- const config = performance.find(_ref7 => {
135
- let {
136
- type
137
- } = _ref7;
138
- return type === parseInt(provider);
139
- });
140
- const data = callback({
141
- ...value,
142
- ...config,
143
- device,
144
- store
130
+ }).filter(type => consentMode === true || !_PerformanceManager.CONSENT_MODE_REQUIRED.includes(type));
131
+ Object.entries(_PerformanceManager2.EVENTS[event]).forEach(_ref5 => {
132
+ let [provider, callback = () => {}] = _ref5;
133
+ const data = {
134
+ callback,
135
+ event,
136
+ provider,
137
+ value
138
+ };
139
+ if (!availableProviders.includes(parseInt(provider))) {
140
+ var _eventsRef$current2;
141
+ eventsRef === null || eventsRef === void 0 ? void 0 : (_eventsRef$current2 = eventsRef.current) === null || _eventsRef$current2 === void 0 ? void 0 : _eventsRef$current2.push(data);
142
+ return;
143
+ }
144
+ executeEvent({
145
+ provider,
146
+ callback,
147
+ value,
148
+ event
145
149
  });
146
- const label = "\u26A1\uFE0F ".concat((0, _helpers.getPerformanceLabel)(provider), " ").concat(event);
147
- // eslint-disable-next-line no-console
148
- data.then ? data.then(value => console.log(label, value)) : console.log(label, data);
149
150
  });
150
151
  };
151
152
  Object.keys(_PerformanceManager2.EVENTS).forEach(event => _dataSources.Event.subscribe(event, handleEvent));
152
153
  return () => Object.keys(_PerformanceManager2.EVENTS).forEach(event => _dataSources.Event.unsubscribe(event, handleEvent));
153
154
  // eslint-disable-next-line react-hooks/exhaustive-deps
154
155
  }, [consentMode, device, ready, store]);
156
+ const executeEvent = _ref6 => {
157
+ let {
158
+ provider,
159
+ callback,
160
+ value,
161
+ event
162
+ } = _ref6;
163
+ const config = performance.find(_ref7 => {
164
+ let {
165
+ type
166
+ } = _ref7;
167
+ return type === parseInt(provider);
168
+ });
169
+ const data = callback({
170
+ ...value,
171
+ ...config,
172
+ device,
173
+ store
174
+ });
175
+ const label = "\u26A1\uFE0F ".concat((0, _helpers.getPerformanceLabel)(provider), " ").concat(event);
176
+ // eslint-disable-next-line no-console
177
+ data.then ? data.then(value => console.log(label, value)) : console.log(label, data);
178
+ };
155
179
  const loadScripts = async function () {
156
180
  let performance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
157
181
  let propConsentMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : consentMode;
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_helpers2","_Core","_helpers3","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","store","useStore","consentMode","setConsentMode","useState","getConsentMode","ready","setReady","hotel","finder","place","id","instanceId","locale","session","type","useEffect","metrics","ServiceFeatures","get","bannedMetrics","Object","entries","filter","_ref","map","_ref2","key","handleMetrics","_ref3","props","window","IS_PLAYWRIGHT","location","host","event","toUpperCase","trim","metric","split","includes","KPI_EVENTS","method","hotelId","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","undefined","interval","setInterval","nextConsentMode","loadScripts","clearInterval","handleEvent","EVENT","CORE_READY","config","isHotel","getPerformance","setTimeout","publish","PERFORMANCE_READY","_ref4","availableProviders","arguments","length","CONSENT_MODE_REQUIRED","EVENTS","_ref5","provider","parseInt","forEach","_ref6","callback","find","_ref7","data","label","concat","getPerformanceLabel","then","console","log","keys","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","some","item","push","index","domain","Promise","all","loadScript","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport { CONSENT_MODE_REQUIRED, KPI_EVENTS } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { EVENT } from '../../Core.constants';\nimport { getPerformance, loadScript } from '../../helpers';\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, performance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [ready, setReady] = useState(false);\n\n const { hotel, finder: { place } = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const metrics = ServiceFeatures.get('metrics', hotel.id) || {};\n const bannedMetrics = Object.entries(metrics)\n .filter(([, value]) => value === false)\n .map(([key]) => key);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n const event = id.toUpperCase().trim();\n const [metric] = event.split(':');\n\n if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (consentMode !== undefined) return;\n\n const interval = setInterval(() => {\n const nextConsentMode = getConsentMode();\n\n if (nextConsentMode !== undefined) {\n if (nextConsentMode) loadScripts(performance, nextConsentMode);\n setConsentMode(nextConsentMode);\n }\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const handleEvent = () => loadScripts(performance);\n\n Event.subscribe(EVENT.CORE_READY, handleEvent);\n\n return () => Event.unsubscribe(EVENT.CORE_READY, handleEvent);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [performance]);\n\n useEffect(() => {\n const {\n config,\n finder: { place: { id: [hotelId] = [], isHotel } = {} },\n } = store;\n\n if (place && ready) loadScripts(getPerformance(config, isHotel ? hotelId : undefined));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n // ! TODO: why we should delay the event...\n if (ready) setTimeout(() => Event.publish(EVENT.PERFORMANCE_READY, 10));\n }, [ready]);\n\n useEffect(() => {\n if (!ready) return;\n\n const handleEvent = ({ event, ...value }) => {\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter(({ type } = {}) => consentMode === true || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event])\n .filter(([provider]) => availableProviders.includes(parseInt(provider)))\n .forEach(([provider, callback = () => {}]) => {\n const config = performance.find(({ type }) => type === parseInt(provider));\n const data = callback({ ...value, ...config, device, store });\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n data.then ? data.then((value) => console.log(label, value)) : console.log(label, data);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode, device, ready, store]);\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n // ! TODO: Load all instances scripts or just the first one.\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [] } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, loadedComponents }),\n })),\n );\n }\n });\n setReady(false);\n\n await Promise.all(scripts.map((config) => loadScript(config)));\n\n setReady(true);\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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"}
1
+ {"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_helpers2","_Core","_helpers3","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","store","useStore","consentMode","setConsentMode","useState","getConsentMode","ready","setReady","eventsRef","useRef","hotel","finder","place","id","instanceId","locale","session","type","useEffect","metrics","ServiceFeatures","get","bannedMetrics","Object","entries","filter","_ref","map","_ref2","key","handleMetrics","_ref3","props","window","IS_PLAYWRIGHT","location","host","event","toUpperCase","trim","metric","split","includes","KPI_EVENTS","method","hotelId","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","nextConsentMode","undefined","_eventsRef$current","clearInterval","loadScripts","current","forEach","executeEvent","handleEvent","EVENT","CORE_READY","config","isHotel","getPerformance","setTimeout","publish","PERFORMANCE_READY","_ref4","availableProviders","arguments","length","CONSENT_MODE_REQUIRED","EVENTS","_ref5","provider","callback","data","parseInt","_eventsRef$current2","push","keys","_ref6","find","_ref7","label","concat","getPerformanceLabel","then","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","some","item","index","domain","Promise","all","loadScript","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport { CONSENT_MODE_REQUIRED, KPI_EVENTS } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { EVENT } from '../../Core.constants';\nimport { getPerformance, loadScript } from '../../helpers';\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, performance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [ready, setReady] = useState(false);\n\n const eventsRef = useRef([]);\n\n const { hotel, finder: { place } = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const metrics = ServiceFeatures.get('metrics', hotel.id) || {};\n const bannedMetrics = Object.entries(metrics)\n .filter(([, value]) => value === false)\n .map(([key]) => key);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n const event = id.toUpperCase().trim();\n const [metric] = event.split(':');\n\n if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(() => {\n const nextConsentMode = getConsentMode();\n\n if (nextConsentMode !== undefined) {\n if (nextConsentMode) {\n clearInterval(interval);\n loadScripts(performance, nextConsentMode);\n eventsRef?.current?.forEach((event) => executeEvent(event));\n eventsRef.current = [];\n }\n setConsentMode(nextConsentMode);\n }\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const handleEvent = () => loadScripts(performance);\n\n Event.subscribe(EVENT.CORE_READY, handleEvent);\n\n return () => Event.unsubscribe(EVENT.CORE_READY, handleEvent);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [performance]);\n\n useEffect(() => {\n const {\n config,\n finder: { place: { id: [hotelId] = [], isHotel } = {} },\n } = store;\n\n if (place && ready) loadScripts(getPerformance(config, isHotel ? hotelId : undefined));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n // ! TODO: why we should delay the event...\n if (ready) setTimeout(() => Event.publish(EVENT.PERFORMANCE_READY, 10));\n }, [ready]);\n\n useEffect(() => {\n if (!ready) return;\n\n const handleEvent = ({ event, ...value }) => {\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => consentMode === true || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([provider, callback = () => {}]) => {\n const data = { callback, event, provider, value };\n if (!availableProviders.includes(parseInt(provider))) {\n eventsRef?.current?.push(data);\n\n return;\n }\n\n executeEvent({ provider, callback, value, event });\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode, device, ready, store]);\n\n const executeEvent = ({ provider, callback, value, event }) => {\n const config = performance.find(({ type }) => type === parseInt(provider));\n const data = callback({ ...value, ...config, device, store });\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n data.then ? data.then((value) => console.log(label, value)) : console.log(label, data);\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n // ! TODO: Load all instances scripts or just the first one.\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [] } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, loadedComponents }),\n })),\n );\n }\n });\n setReady(false);\n\n await Promise.all(scripts.map((config) => loadScript(config)));\n\n setReady(true);\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AACA,IAAAO,oBAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AAEA,MAAMW,kBAAkB,GAAGA,CAAA,KAAM;EAC/B,MAAMC,MAAM,GAAG,IAAAC,aAAS,EAAC,CAAC;EAC1B,MAAM;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAC3C,MAAM;IACJC,KAAK,EAAE;MAAEC,UAAU,GAAG,CAAC,CAAC;MAAEC,WAAW,GAAG,EAAE;MAAE,GAAGC;IAAM;EACvD,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,IAAAC,uBAAc,EAAC,CAAC,CAAC;EAChE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAAC,KAAK,CAAC;EAEzC,MAAMI,SAAS,GAAG,IAAAC,aAAM,EAAC,EAAE,CAAC;EAE5B,MAAM;IAAEC,KAAK;IAAEC,MAAM,EAAE;MAAEC;IAAM,CAAC,GAAG,CAAC,CAAC;IAAEC,EAAE,EAAEC,UAAU;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAK,CAAC,GAAGjB,KAAK;EAEtF,IAAAkB,gBAAS,EAAC,MAAM;IACd,MAAMC,OAAO,GAAGC,yBAAe,CAACC,GAAG,CAAC,SAAS,EAAEX,KAAK,CAACG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAMS,aAAa,GAAGC,MAAM,CAACC,OAAO,CAACL,OAAO,CAAC,CAC1CM,MAAM,CAACC,IAAA;MAAA,IAAC,GAAG7B,KAAK,CAAC,GAAA6B,IAAA;MAAA,OAAK7B,KAAK,KAAK,KAAK;IAAA,EAAC,CACtC8B,GAAG,CAACC,KAAA;MAAA,IAAC,CAACC,GAAG,CAAC,GAAAD,KAAA;MAAA,OAAKC,GAAG;IAAA,EAAC;IAEtB,MAAMC,aAAa,GAAGC,KAAA,IAAsB;MAAA,IAArB;QAAElB,EAAE;QAAE,GAAGmB;MAAM,CAAC,GAAAD,KAAA;MACrC,IAAI,CAAClB,EAAE,IAAIoB,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,QAAQ,CAACC,IAAI,KAAK,oBAAoB,EAAE;MAClF,MAAMC,KAAK,GAAGxB,EAAE,CAACyB,WAAW,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;MACrC,MAAM,CAACC,MAAM,CAAC,GAAGH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC;MAEjC,IAAInB,aAAa,CAACoB,QAAQ,CAACF,MAAM,CAAC,IAAI,CAACG,8BAAU,CAACD,QAAQ,CAACL,KAAK,CAAC,EAAE;MACnE,MAAMO,MAAM,GAAGP,KAAK,CAACK,QAAQ,CAAC,QAAQ,CAAC,GAAG/C,WAAW,GAAGD,KAAK;MAE7DkD,MAAM,CAACP,KAAK,EAAE;QACZ,GAAGL,KAAK;QACRa,OAAO,EAAEnC,KAAK,CAACG,EAAE;QACjBC,UAAU;QACVC,MAAM;QACN+B,MAAM,EAAEtD,MAAM,CAACsD,MAAM;QACrB9B,OAAO;QACPC;MACF,CAAC,CAAC;IACJ,CAAC;IAED8B,kBAAK,CAACC,SAAS,CAACC,eAAgB,CAACC,OAAO,EAAEpB,aAAa,CAAC;IAExD,OAAO,MAAMiB,kBAAK,CAACI,WAAW,CAACF,eAAgB,CAACC,OAAO,EAAEpB,aAAa,CAAC;IACvE;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAZ,gBAAS,EAAC,MAAM;IACd,IAAIhB,WAAW,EAAE;IAEjB,MAAMkD,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjC,MAAMC,eAAe,GAAG,IAAAjD,uBAAc,EAAC,CAAC;MAExC,IAAIiD,eAAe,KAAKC,SAAS,EAAE;QACjC,IAAID,eAAe,EAAE;UAAA,IAAAE,kBAAA;UACnBC,aAAa,CAACL,QAAQ,CAAC;UACvBM,WAAW,CAAC3D,WAAW,EAAEuD,eAAe,CAAC;UACzC9C,SAAS,aAATA,SAAS,wBAAAgD,kBAAA,GAAThD,SAAS,CAAEmD,OAAO,cAAAH,kBAAA,uBAAlBA,kBAAA,CAAoBI,OAAO,CAAEvB,KAAK,IAAKwB,YAAY,CAACxB,KAAK,CAAC,CAAC;UAC3D7B,SAAS,CAACmD,OAAO,GAAG,EAAE;QACxB;QACAxD,cAAc,CAACmD,eAAe,CAAC;MACjC;IACF,CAAC,EAAE,IAAI,CAAC;IAER,OAAO,MAAMG,aAAa,CAACL,QAAQ,CAAC;IACpC;EACF,CAAC,EAAE,CAAClD,WAAW,CAAC,CAAC;EAEjB,IAAAgB,gBAAS,EAAC,MAAM;IACd,MAAM4C,WAAW,GAAGA,CAAA,KAAMJ,WAAW,CAAC3D,WAAW,CAAC;IAElDgD,kBAAK,CAACC,SAAS,CAACe,WAAK,CAACC,UAAU,EAAEF,WAAW,CAAC;IAE9C,OAAO,MAAMf,kBAAK,CAACI,WAAW,CAACY,WAAK,CAACC,UAAU,EAAEF,WAAW,CAAC;IAC7D;EACF,CAAC,EAAE,CAAC/D,WAAW,CAAC,CAAC;EAEjB,IAAAmB,gBAAS,EAAC,MAAM;IACd,MAAM;MACJ+C,MAAM;MACNtD,MAAM,EAAE;QAAEC,KAAK,EAAE;UAAEC,EAAE,EAAE,CAACgC,OAAO,CAAC,GAAG,EAAE;UAAEqB;QAAQ,CAAC,GAAG,CAAC;MAAE;IACxD,CAAC,GAAGlE,KAAK;IAET,IAAIY,KAAK,IAAIN,KAAK,EAAEoD,WAAW,CAAC,IAAAS,wBAAc,EAACF,MAAM,EAAEC,OAAO,GAAGrB,OAAO,GAAGU,SAAS,CAAC,CAAC;IACtF;EACF,CAAC,EAAE,CAAC3C,KAAK,CAAC,CAAC;EAEX,IAAAM,gBAAS,EAAC,MAAM;IACd;IACA,IAAIZ,KAAK,EAAE8D,UAAU,CAAC,MAAMrB,kBAAK,CAACsB,OAAO,CAACN,WAAK,CAACO,iBAAiB,EAAE,EAAE,CAAC,CAAC;EACzE,CAAC,EAAE,CAAChE,KAAK,CAAC,CAAC;EAEX,IAAAY,gBAAS,EAAC,MAAM;IACd,IAAI,CAACZ,KAAK,EAAE;IAEZ,MAAMwD,WAAW,GAAGS,KAAA,IAAyB;MAAA,IAAxB;QAAElC,KAAK;QAAE,GAAGxC;MAAM,CAAC,GAAA0E,KAAA;MACtC,MAAMC,kBAAkB,GAAGzE,WAAW,CACnC4B,GAAG,CAAC;QAAA,IAAC;UAAEV;QAAK,CAAC,GAAAwD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAlB,SAAA,GAAAkB,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKxD,IAAI;MAAA,EAAC,CAC5BQ,MAAM,CAAER,IAAI,IAAKf,WAAW,KAAK,IAAI,IAAI,CAACyE,yCAAqB,CAACjC,QAAQ,CAACzB,IAAI,CAAC,CAAC;MAElFM,MAAM,CAACC,OAAO,CAACoD,2BAAM,CAACvC,KAAK,CAAC,CAAC,CAACuB,OAAO,CAACiB,KAAA,IAAqC;QAAA,IAApC,CAACC,QAAQ,EAAEC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC,CAAC,GAAAF,KAAA;QACpE,MAAMG,IAAI,GAAG;UAAED,QAAQ;UAAE1C,KAAK;UAAEyC,QAAQ;UAAEjF;QAAM,CAAC;QACjD,IAAI,CAAC2E,kBAAkB,CAAC9B,QAAQ,CAACuC,QAAQ,CAACH,QAAQ,CAAC,CAAC,EAAE;UAAA,IAAAI,mBAAA;UACpD1E,SAAS,aAATA,SAAS,wBAAA0E,mBAAA,GAAT1E,SAAS,CAAEmD,OAAO,cAAAuB,mBAAA,uBAAlBA,mBAAA,CAAoBC,IAAI,CAACH,IAAI,CAAC;UAE9B;QACF;QAEAnB,YAAY,CAAC;UAAEiB,QAAQ;UAAEC,QAAQ;UAAElF,KAAK;UAAEwC;QAAM,CAAC,CAAC;MACpD,CAAC,CAAC;IACJ,CAAC;IAEDd,MAAM,CAAC6D,IAAI,CAACR,2BAAM,CAAC,CAAChB,OAAO,CAAEvB,KAAK,IAAKU,kBAAK,CAACC,SAAS,CAACX,KAAK,EAAEyB,WAAW,CAAC,CAAC;IAE3E,OAAO,MAAMvC,MAAM,CAAC6D,IAAI,CAACR,2BAAM,CAAC,CAAChB,OAAO,CAAEvB,KAAK,IAAKU,kBAAK,CAACI,WAAW,CAACd,KAAK,EAAEyB,WAAW,CAAC,CAAC;IAC1F;EACF,CAAC,EAAE,CAAC5D,WAAW,EAAEV,MAAM,EAAEc,KAAK,EAAEN,KAAK,CAAC,CAAC;EAEvC,MAAM6D,YAAY,GAAGwB,KAAA,IAA0C;IAAA,IAAzC;MAAEP,QAAQ;MAAEC,QAAQ;MAAElF,KAAK;MAAEwC;IAAM,CAAC,GAAAgD,KAAA;IACxD,MAAMpB,MAAM,GAAGlE,WAAW,CAACuF,IAAI,CAACC,KAAA;MAAA,IAAC;QAAEtE;MAAK,CAAC,GAAAsE,KAAA;MAAA,OAAKtE,IAAI,KAAKgE,QAAQ,CAACH,QAAQ,CAAC;IAAA,EAAC;IAC1E,MAAME,IAAI,GAAGD,QAAQ,CAAC;MAAE,GAAGlF,KAAK;MAAE,GAAGoE,MAAM;MAAEzE,MAAM;MAAEQ;IAAM,CAAC,CAAC;IAE7D,MAAMwF,KAAK,mBAAAC,MAAA,CAAS,IAAAC,4BAAmB,EAACZ,QAAQ,CAAC,OAAAW,MAAA,CAAIpD,KAAK,CAAE;IAC5D;IACA2C,IAAI,CAACW,IAAI,GAAGX,IAAI,CAACW,IAAI,CAAE9F,KAAK,IAAK+F,OAAO,CAACC,GAAG,CAACL,KAAK,EAAE3F,KAAK,CAAC,CAAC,GAAG+F,OAAO,CAACC,GAAG,CAACL,KAAK,EAAER,IAAI,CAAC;EACxF,CAAC;EAED,MAAMtB,WAAW,GAAG,eAAAA,CAAA,EAA2D;IAAA,IAApD3D,WAAW,GAAA0E,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAlB,SAAA,GAAAkB,SAAA,MAAG,EAAE;IAAA,IAAEqB,eAAe,GAAArB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAlB,SAAA,GAAAkB,SAAA,MAAGvE,WAAW;IACxE,MAAM6F,gBAAgB,GAAGxE,MAAM,CAAC6D,IAAI,CAACtF,UAAU,CAAC;;IAEhD;IACA,MAAMkG,OAAO,GAAG,EAAE;IAClBjG,WAAW,CACR0B,MAAM,CAAC;MAAA,IAAC;QAAER;MAAK,CAAC,GAAAwD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAlB,SAAA,GAAAkB,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKqB,eAAe,KAAK,IAAI,IAAI,CAACnB,yCAAqB,CAACjC,QAAQ,CAACzB,IAAI,CAAC;IAAA,EAAC,CAC5F2C,OAAO,CAAC,YAAkD;MAAA,IAAjD;QAAE3C,IAAI;QAAEgF,SAAS,EAAEC,aAAa,GAAG;MAAG,CAAC,GAAAzB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAlB,SAAA,GAAAkB,SAAA,MAAG,CAAC,CAAC;MACpD,MAAM;QAAE3E,UAAU,GAAG,EAAE;QAAEqG,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;QAAEC,IAAI,GAAG;MAAM,CAAC,GAAGC,4BAAO,CAACpF,IAAI,CAAC,IAAI,CAAC,CAAC;MAE9E,IAAInB,UAAU,CAAC4E,MAAM,KAAK,CAAC,IAAI5E,UAAU,CAACwG,IAAI,CAAEC,IAAI,IAAKR,gBAAgB,CAACrD,QAAQ,CAAC6D,IAAI,CAAC,CAAC,EAAE;QACzF,MAAMN,SAAS,GAAGG,IAAI,GAAG,CAACF,aAAa,CAAC,CAAC,CAAC,CAAC,GAAGA,aAAa;QAC3DF,OAAO,CAACb,IAAI,CACV,GAAGc,SAAS,CAACtE,GAAG,CAAC;UAAA,IAACsC,MAAM,GAAAQ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAlB,SAAA,GAAAkB,SAAA,MAAG,CAAC,CAAC;UAAA,IAAE+B,KAAK,GAAA/B,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAlB,SAAA;UAAA,OAAM;YACxCkD,MAAM,iBAAAhB,MAAA,CAAiB,IAAAC,4BAAmB,EAACzE,IAAI,CAAC,CAAE;YAClDJ,EAAE,EAAE2F,KAAK,GAAG,CAAC;YACb,GAAGL,IAAI,CAAC;cAAE,GAAGlC,MAAM;cAAEvD,KAAK;cAAEqF;YAAiB,CAAC;UAChD,CAAC;QAAA,CAAC,CACJ,CAAC;MACH;IACF,CAAC,CAAC;IACJxF,QAAQ,CAAC,KAAK,CAAC;IAEf,MAAMmG,OAAO,CAACC,GAAG,CAACX,OAAO,CAACrE,GAAG,CAAEsC,MAAM,IAAK,IAAA2C,oBAAU,EAAC3C,MAAM,CAAC,CAAC,CAAC;IAE9D1D,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC;EAED,OAAO,IAAI;AACb,CAAC;AAACsG,OAAA,CAAAtH,kBAAA,GAAAA,kBAAA"}
@@ -29,7 +29,7 @@ const getConsentMode = () => {
29
29
  analytics_storage
30
30
  }).filter(function () {
31
31
  let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
32
- return value.update !== undefined || value.default !== undefined;
32
+ return value.update !== undefined ? value.update : value.default;
33
33
  }).length >= 1;
34
34
  }
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getConsentMode.js","names":["getConsentMode","granted","consentManagement","window","dataLayer","filter","item","map","pop","Object","values","length","value","ics","entries","ad_personalization","ad_storage","ad_user_data","analytics_storage","google_tag_data","arguments","undefined","update","default","exports"],"sources":["../../../../src/contexts/PerformanceManager/helpers/getConsentMode.js"],"sourcesContent":["export const getConsentMode = () => {\n let granted;\n\n const consentManagement =\n (window.dataLayer || [])\n .filter((item) => item[0] === 'consent' && item[1] === 'update')\n .map((item) => item[2])\n .pop() || {};\n\n if (Object.values(consentManagement).length) {\n granted = Object.values(consentManagement).filter((value) => value === 'granted').length >= 1;\n }\n\n if (!granted) {\n const { ics: { entries: { ad_personalization, ad_storage, ad_user_data, analytics_storage } = {} } = {} } =\n window.google_tag_data || {};\n\n if (ad_personalization || ad_storage || ad_user_data || analytics_storage) {\n granted =\n Object.values({ ad_personalization, ad_storage, ad_user_data, analytics_storage }).filter(\n (value = {}) => value.update !== undefined || value.default !== undefined,\n ).length >= 1;\n }\n }\n\n return granted;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,cAAc,GAAGA,CAAA,KAAM;EAClC,IAAIC,OAAO;EAEX,MAAMC,iBAAiB,GACrB,CAACC,MAAM,CAACC,SAAS,IAAI,EAAE,EACpBC,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAIA,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAC/DC,GAAG,CAAED,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC,CAAC,CACtBE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;EAEhB,IAAIC,MAAM,CAACC,MAAM,CAACR,iBAAiB,CAAC,CAACS,MAAM,EAAE;IAC3CV,OAAO,GAAGQ,MAAM,CAACC,MAAM,CAACR,iBAAiB,CAAC,CAACG,MAAM,CAAEO,KAAK,IAAKA,KAAK,KAAK,SAAS,CAAC,CAACD,MAAM,IAAI,CAAC;EAC/F;EAEA,IAAI,CAACV,OAAO,EAAE;IACZ,MAAM;MAAEY,GAAG,EAAE;QAAEC,OAAO,EAAE;UAAEC,kBAAkB;UAAEC,UAAU;UAAEC,YAAY;UAAEC;QAAkB,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAAE,CAAC,GACvGf,MAAM,CAACgB,eAAe,IAAI,CAAC,CAAC;IAE9B,IAAIJ,kBAAkB,IAAIC,UAAU,IAAIC,YAAY,IAAIC,iBAAiB,EAAE;MACzEjB,OAAO,GACLQ,MAAM,CAACC,MAAM,CAAC;QAAEK,kBAAkB;QAAEC,UAAU;QAAEC,YAAY;QAAEC;MAAkB,CAAC,CAAC,CAACb,MAAM,CACvF;QAAA,IAACO,KAAK,GAAAQ,SAAA,CAAAT,MAAA,QAAAS,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKR,KAAK,CAACU,MAAM,KAAKD,SAAS,IAAIT,KAAK,CAACW,OAAO,KAAKF,SAAS;MAAA,CAC3E,CAAC,CAACV,MAAM,IAAI,CAAC;IACjB;EACF;EAEA,OAAOV,OAAO;AAChB,CAAC;AAACuB,OAAA,CAAAxB,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"file":"getConsentMode.js","names":["getConsentMode","granted","consentManagement","window","dataLayer","filter","item","map","pop","Object","values","length","value","ics","entries","ad_personalization","ad_storage","ad_user_data","analytics_storage","google_tag_data","arguments","undefined","update","default","exports"],"sources":["../../../../src/contexts/PerformanceManager/helpers/getConsentMode.js"],"sourcesContent":["export const getConsentMode = () => {\n let granted;\n\n const consentManagement =\n (window.dataLayer || [])\n .filter((item) => item[0] === 'consent' && item[1] === 'update')\n .map((item) => item[2])\n .pop() || {};\n\n if (Object.values(consentManagement).length) {\n granted = Object.values(consentManagement).filter((value) => value === 'granted').length >= 1;\n }\n\n if (!granted) {\n const { ics: { entries: { ad_personalization, ad_storage, ad_user_data, analytics_storage } = {} } = {} } =\n window.google_tag_data || {};\n\n if (ad_personalization || ad_storage || ad_user_data || analytics_storage) {\n granted =\n Object.values({ ad_personalization, ad_storage, ad_user_data, analytics_storage }).filter((value = {}) =>\n value.update !== undefined ? value.update : value.default,\n ).length >= 1;\n }\n }\n\n return granted;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,cAAc,GAAGA,CAAA,KAAM;EAClC,IAAIC,OAAO;EAEX,MAAMC,iBAAiB,GACrB,CAACC,MAAM,CAACC,SAAS,IAAI,EAAE,EACpBC,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAIA,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAC/DC,GAAG,CAAED,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC,CAAC,CACtBE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;EAEhB,IAAIC,MAAM,CAACC,MAAM,CAACR,iBAAiB,CAAC,CAACS,MAAM,EAAE;IAC3CV,OAAO,GAAGQ,MAAM,CAACC,MAAM,CAACR,iBAAiB,CAAC,CAACG,MAAM,CAAEO,KAAK,IAAKA,KAAK,KAAK,SAAS,CAAC,CAACD,MAAM,IAAI,CAAC;EAC/F;EAEA,IAAI,CAACV,OAAO,EAAE;IACZ,MAAM;MAAEY,GAAG,EAAE;QAAEC,OAAO,EAAE;UAAEC,kBAAkB;UAAEC,UAAU;UAAEC,YAAY;UAAEC;QAAkB,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAAE,CAAC,GACvGf,MAAM,CAACgB,eAAe,IAAI,CAAC,CAAC;IAE9B,IAAIJ,kBAAkB,IAAIC,UAAU,IAAIC,YAAY,IAAIC,iBAAiB,EAAE;MACzEjB,OAAO,GACLQ,MAAM,CAACC,MAAM,CAAC;QAAEK,kBAAkB;QAAEC,UAAU;QAAEC,YAAY;QAAEC;MAAkB,CAAC,CAAC,CAACb,MAAM,CAAC;QAAA,IAACO,KAAK,GAAAQ,SAAA,CAAAT,MAAA,QAAAS,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC,CAAC;QAAA,OACnGR,KAAK,CAACU,MAAM,KAAKD,SAAS,GAAGT,KAAK,CAACU,MAAM,GAAGV,KAAK,CAACW,OAAO;MAAA,CAC3D,CAAC,CAACZ,MAAM,IAAI,CAAC;IACjB;EACF;EAEA,OAAOV,OAAO;AAChB,CAAC;AAACuB,OAAA,CAAAxB,cAAA,GAAAA,cAAA"}
@@ -36,7 +36,6 @@ const consolidateStore = async function () {
36
36
  urlParams = {}
37
37
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
38
38
  const {
39
- forceUri = false,
40
39
  miraiId
41
40
  } = urlParams;
42
41
  const isRates = components.some(function () {
@@ -59,7 +58,9 @@ const consolidateStore = async function () {
59
58
  rangeMinDays,
60
59
  pricesLegend: _Core.TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? _Core.TAX_DEFAULT : undefined,
61
60
  showPrices,
62
- to: !IS_JEST ? (0, _locale.dateFormat)((0, _locale.dateCalc)(new Date(), maxDays, 'days'), _Core.CALENDAR_FORMAT) : undefined
61
+ to: !IS_JEST ? (0, _locale.dateFormat)((0, _locale.dateCalc)(new Date(), maxDays, 'days'), {
62
+ format: _Core.CALENDAR_FORMAT
63
+ }) : undefined
63
64
  };
64
65
 
65
66
  // -- language, country & locale -------------------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_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","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","forceUri","miraiId","isRates","some","component","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","club","banner","discount","discountEnabled","rates","variants","active","authentication","idClub","name","conditionsUrl","conditions","privacyPolicyUrl","privacy","applyClubDiscount","idtokenprovider","idHotel","CHAIN","variantDiscount","variantRates","find","toString","url","filter","map","enabled","accommodationType","getAccommodationType","lodgingDenomination","features","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","Object","entries","_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","parseDate","UTC","checkout","parseInt","promo","showPromoNav","configPromo","promoText","place","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","promocode","code","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","locales","languages","COUNTRIES","reduce","_ref2","props","performance","getPerformance","deals","lisa","meta","getMetaRates","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 { 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 { forceUri = false, 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'), 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 // -- club -----------------------------------------------------------------------------------------------------------\n let club;\n if (config.club) {\n let {\n accomodation: { club: { banner, discount: discountEnabled = false, rates = false } = {}, variants = [] },\n club: {\n club: { active, authentication, idClub: id, name },\n conditionsUrl: conditions,\n privacyPolicyUrl: privacy,\n },\n } = config;\n\n let { applyClubDiscount, idtokenprovider: idHotel = '' } = urlParams;\n let discount = applyClubDiscount ? applyClubDiscount === 'true' : undefined;\n\n if (discount === undefined) {\n discount = rates;\n if (type === TYPE.CHAIN) {\n let { discount: variantDiscount, rates: variantRates } =\n variants.find(({ id = '' } = {}) => id.toString() === idHotel.toString()) || {};\n discountEnabled = variantDiscount || discountEnabled;\n discount = variantRates || rates;\n }\n }\n\n club = {\n active,\n authentication,\n banner,\n discount: active && discountEnabled ? discount : undefined,\n id,\n name,\n url: { conditions, privacy },\n variants: variants\n .filter(({ club } = {}) => club)\n .map(({ club: { discount: enabled, rates: active } = {}, id } = {}) => ({ active, enabled, id })),\n };\n }\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 } = 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 (chainSelectorValue && tags) {\n place = tags.options.find(({ value } = {}) => value === Number(chainSelectorValue));\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 || undefined,\n promocode: clientCode || 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,\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 // -- components\n deals: undefined,\n finder,\n lisa: undefined, // ! TODO: Rename to chat\n rates: {\n meta: urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n },\n signup: undefined,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_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","_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","club","banner","discount","discountEnabled","rates","variants","active","authentication","idClub","name","conditionsUrl","conditions","privacyPolicyUrl","privacy","applyClubDiscount","idtokenprovider","idHotel","CHAIN","variantDiscount","variantRates","find","toString","url","filter","map","enabled","accommodationType","getAccommodationType","lodgingDenomination","features","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","Object","entries","_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","parseDate","UTC","checkout","parseInt","promo","showPromoNav","configPromo","promoText","place","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","promocode","code","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","locales","languages","COUNTRIES","reduce","_ref2","props","performance","getPerformance","deals","lisa","meta","getMetaRates","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 { 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 // -- club -----------------------------------------------------------------------------------------------------------\n let club;\n if (config.club) {\n let {\n accomodation: { club: { banner, discount: discountEnabled = false, rates = false } = {}, variants = [] },\n club: {\n club: { active, authentication, idClub: id, name },\n conditionsUrl: conditions,\n privacyPolicyUrl: privacy,\n },\n } = config;\n\n let { applyClubDiscount, idtokenprovider: idHotel = '' } = urlParams;\n let discount = applyClubDiscount ? applyClubDiscount === 'true' : undefined;\n\n if (discount === undefined) {\n discount = rates;\n if (type === TYPE.CHAIN) {\n let { discount: variantDiscount, rates: variantRates } =\n variants.find(({ id = '' } = {}) => id.toString() === idHotel.toString()) || {};\n discountEnabled = variantDiscount || discountEnabled;\n discount = variantRates || rates;\n }\n }\n\n club = {\n active,\n authentication,\n banner,\n discount: active && discountEnabled ? discount : undefined,\n id,\n name,\n url: { conditions, privacy },\n variants: variants\n .filter(({ club } = {}) => club)\n .map(({ club: { discount: enabled, rates: active } = {}, id } = {}) => ({ active, enabled, id })),\n };\n }\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 } = 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 (chainSelectorValue && tags) {\n place = tags.options.find(({ value } = {}) => value === Number(chainSelectorValue));\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 || undefined,\n promocode: clientCode || 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,\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 // -- components\n deals: undefined,\n finder,\n lisa: undefined, // ! TODO: Rename to chat\n rates: {\n meta: urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n },\n signup: undefined,\n };\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.8",
3
+ "version": "0.4.10",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",