@mirai/core 0.4.626 → 0.4.627
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/Core.ErrorBoundary.js +4 -2
- package/build/Core.ErrorBoundary.js.map +1 -1
- package/build/contexts/EventManager/EventManager.js +21 -8
- package/build/contexts/EventManager/EventManager.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.js +13 -24
- package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
- package/build/helpers/trackError.js +121 -7
- package/build/helpers/trackError.js.map +1 -1
- package/build/index.js +11 -1
- package/build/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,8 +15,10 @@ class InternalErrorBoundary extends _react.default.Component {
|
|
|
15
15
|
error: undefined
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
-
componentDidCatch(error) {
|
|
19
|
-
(0, _helpers.
|
|
18
|
+
componentDidCatch(error, info) {
|
|
19
|
+
(0, _helpers.reportError)(error, {
|
|
20
|
+
componentStack: info === null || info === void 0 ? void 0 : info.componentStack
|
|
21
|
+
});
|
|
20
22
|
this.setState({
|
|
21
23
|
error
|
|
22
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Core.ErrorBoundary.js","names":["_propTypes","_interopRequireDefault","require","_react","_helpers","e","__esModule","default","InternalErrorBoundary","React","Component","constructor","props","state","error","undefined","componentDidCatch","
|
|
1
|
+
{"version":3,"file":"Core.ErrorBoundary.js","names":["_propTypes","_interopRequireDefault","require","_react","_helpers","e","__esModule","default","InternalErrorBoundary","React","Component","constructor","props","state","error","undefined","componentDidCatch","info","reportError","componentStack","setState","render","children","displayName","propTypes","PropTypes","node","ErrorBoundary","createElement","exports"],"sources":["../src/Core.ErrorBoundary.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { reportError } from './helpers';\n\nclass InternalErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { error: undefined };\n }\n\n componentDidCatch(error, info) {\n reportError(error, { componentStack: info?.componentStack });\n this.setState({ error });\n }\n\n render() {\n const { children } = this.props;\n const { error } = this.state;\n if (error) throw error;\n return children || null;\n }\n}\n\nInternalErrorBoundary.displayName = 'core:components:ErrorBoundary';\n\nInternalErrorBoundary.propTypes = {\n children: PropTypes.node,\n};\n\nconst ErrorBoundary = (props) => React.createElement(InternalErrorBoundary, props);\n\nErrorBoundary.displayName = InternalErrorBoundary.displayName;\n\nErrorBoundary.propTypes = InternalErrorBoundary.propTypes;\n\nexport { ErrorBoundary };\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAAwC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,MAAMG,qBAAqB,SAASC,cAAK,CAACC,SAAS,CAAC;EAClDC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG;MAAEC,KAAK,EAAEC;IAAU,CAAC;EACnC;EAEAC,iBAAiBA,CAACF,KAAK,EAAEG,IAAI,EAAE;IAC7B,IAAAC,oBAAW,EAACJ,KAAK,EAAE;MAAEK,cAAc,EAAEF,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEE;IAAe,CAAC,CAAC;IAC5D,IAAI,CAACC,QAAQ,CAAC;MAAEN;IAAM,CAAC,CAAC;EAC1B;EAEAO,MAAMA,CAAA,EAAG;IACP,MAAQC,QAAQ,GAAK,IAAI,CAACV,KAAK,CAAvBU,QAAQ;IAChB,MAAQR,KAAK,GAAK,IAAI,CAACD,KAAK,CAApBC,KAAK;IACb,IAAIA,KAAK,EAAE,MAAMA,KAAK;IACtB,OAAOQ,QAAQ,IAAI,IAAI;EACzB;AACF;AAEAd,qBAAqB,CAACe,WAAW,GAAG,+BAA+B;AAEnEf,qBAAqB,CAACgB,SAAS,GAAG;EAChCF,QAAQ,EAAEG,kBAAS,CAACC;AACtB,CAAC;AAED,MAAMC,aAAa,GAAIf,KAAK,iBAAKH,cAAK,CAACmB,aAAa,CAACpB,qBAAqB,EAAEI,KAAK,CAAC;AAACiB,OAAA,CAAAF,aAAA,GAAAA,aAAA;AAEnFA,aAAa,CAACJ,WAAW,GAAGf,qBAAqB,CAACe,WAAW;AAE7DI,aAAa,CAACH,SAAS,GAAGhB,qBAAqB,CAACgB,SAAS","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ var _dataSources = require("@mirai/data-sources");
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _EventManager = require("./EventManager.constants");
|
|
10
10
|
var _helpers = require("../../components/helpers");
|
|
11
|
+
var _trackError = require("../../helpers/trackError");
|
|
11
12
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
13
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
14
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
@@ -22,15 +23,27 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
|
22
23
|
const EventManager = () => {
|
|
23
24
|
const _useStore = (0, _dataSources.useStore)(),
|
|
24
25
|
_useStore$value = _useStore.value,
|
|
25
|
-
|
|
26
|
-
_useStore$value2$cook = _useStore$value2.cookieBanner,
|
|
27
|
-
_useStore$value2$cook2 = _useStore$value2$cook === void 0 ? {} : _useStore$value2$cook,
|
|
28
|
-
countryInactive = _useStore$value2$cook2.countryInactive,
|
|
29
|
-
_useStore$value2$find = _useStore$value2.finder,
|
|
30
|
-
finder = _useStore$value2$find === void 0 ? {} : _useStore$value2$find,
|
|
31
|
-
_useStore$value2$tags = _useStore$value2.tags,
|
|
32
|
-
tags = _useStore$value2$tags === void 0 ? {} : _useStore$value2$tags,
|
|
26
|
+
value = _useStore$value === void 0 ? {} : _useStore$value,
|
|
33
27
|
set = _useStore.set;
|
|
28
|
+
const _value$cookieBanner = value.cookieBanner,
|
|
29
|
+
_value$cookieBanner2 = _value$cookieBanner === void 0 ? {} : _value$cookieBanner,
|
|
30
|
+
countryInactive = _value$cookieBanner2.countryInactive,
|
|
31
|
+
_value$finder = value.finder,
|
|
32
|
+
finder = _value$finder === void 0 ? {} : _value$finder,
|
|
33
|
+
hotel = value.hotel,
|
|
34
|
+
id = value.id,
|
|
35
|
+
session = value.session,
|
|
36
|
+
_value$tags = value.tags,
|
|
37
|
+
tags = _value$tags === void 0 ? {} : _value$tags,
|
|
38
|
+
type = value.type;
|
|
39
|
+
(0, _react.useEffect)(() => {
|
|
40
|
+
(0, _trackError.configureErrorTracking)({
|
|
41
|
+
hotel,
|
|
42
|
+
id,
|
|
43
|
+
session,
|
|
44
|
+
type
|
|
45
|
+
});
|
|
46
|
+
}, [hotel, id, session, type]);
|
|
34
47
|
(0, _react.useEffect)(() => {
|
|
35
48
|
const handleSetStore = function () {
|
|
36
49
|
var _tags$options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventManager.js","names":["_dataSources","require","_react","_EventManager","_helpers","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","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","return","isArray","EventManager","_useStore","useStore","_useStore$value","_useStore$value2","_useStore$value2$cook","cookieBanner","_useStore$value2$cook2","countryInactive","_useStore$value2$find","finder","_useStore$value2$tags","tags","set","useEffect","handleSetStore","_tags$options","_ref","undefined","placeId","chainSelectorValue","calendar","currency","commissionCode","hsri","locale","occupation","promocode","origin","_locale$split","split","_locale$split2","language","Event","publish","COMPONENTS_EVENT","LOCALE_CHANGED","place","options","find","_ref2","subscribe","EVENT","SET_STORE","unsubscribe","FINDER_FIELD_CHANGE","handleFinderFieldChange","FINDER_LOADED","COOKIE_BANNER_SKIPPED_BY_COUNTRY","FINDER_CHANGE","exports"],"sources":["../../../src/contexts/EventManager/EventManager.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useEffect } from 'react';\n\nimport { EVENT } from './EventManager.constants';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\n\nconst EventManager = () => {\n const { value: { cookieBanner: { countryInactive } = {}, finder = {}, tags = {} } = {}, set } = useStore();\n\n useEffect(() => {\n const handleSetStore = ({\n chainSelectorValue: placeId,\n calendar,\n currency,\n hsri: commissionCode,\n locale,\n occupation,\n promocode,\n } = {}) => {\n const next = {};\n\n if (commissionCode) next.origin = { commissionCode };\n if (calendar?.length && calendar?.length === 2) next.finder = { calendar };\n if (currency) next.currency = currency;\n if (locale) {\n const [language] = locale.split('-');\n next.language = language;\n next.locale = locale;\n Event.publish(COMPONENTS_EVENT.LOCALE_CHANGED, { locale, language });\n }\n if (occupation?.length) next.finder = { ...next.finder, occupation };\n if (promocode !== undefined && promocode !== null) next.finder = { ...next.finder, promocode };\n if (placeId) next.finder = { ...next.finder, place: tags?.options?.find(({ value } = {}) => value === placeId) };\n\n set(next);\n };\n\n Event.subscribe(EVENT.SET_STORE, handleSetStore);\n\n return () => Event.unsubscribe(EVENT.SET_STORE, handleSetStore);\n }, [set, tags]);\n\n useEffect(() => {\n if (!finder) return;\n\n Event.subscribe(COMPONENTS_EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);\n\n Event.publish(EVENT.FINDER_LOADED, finder);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!countryInactive) return;\n\n Event.publish(EVENT.COOKIE_BANNER_SKIPPED_BY_COUNTRY);\n }, [countryInactive]);\n\n const handleFinderFieldChange = (value) => Event.publish(EVENT.FINDER_CHANGE, value);\n\n return null;\n};\n\nexport { EventManager };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAAqE,SAAAI,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;AAAA,SAAA8B,eAAA/B,CAAA,EAAAD,CAAA,WAAAiC,eAAA,CAAAhC,CAAA,KAAAiC,qBAAA,CAAAjC,CAAA,EAAAD,CAAA,KAAAmC,2BAAA,CAAAlC,CAAA,EAAAD,CAAA,KAAAoC,gBAAA;AAAA,SAAAA,iBAAA,cAAAP,SAAA;AAAA,SAAAM,4BAAAlC,CAAA,EAAAoC,CAAA,QAAApC,CAAA,2BAAAA,CAAA,SAAAqC,iBAAA,CAAArC,CAAA,EAAAoC,CAAA,OAAAnC,CAAA,MAAAqC,QAAA,CAAAX,IAAA,CAAA3B,CAAA,EAAAuC,KAAA,6BAAAtC,CAAA,IAAAD,CAAA,CAAAwC,WAAA,KAAAvC,CAAA,GAAAD,CAAA,CAAAwC,WAAA,CAAAC,IAAA,aAAAxC,CAAA,cAAAA,CAAA,GAAAyC,KAAA,CAAAC,IAAA,CAAA3C,CAAA,oBAAAC,CAAA,+CAAA2C,IAAA,CAAA3C,CAAA,IAAAoC,iBAAA,CAAArC,CAAA,EAAAoC,CAAA;AAAA,SAAAC,kBAAArC,CAAA,EAAAoC,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAApC,CAAA,CAAAa,MAAA,MAAAuB,CAAA,GAAApC,CAAA,CAAAa,MAAA,YAAAd,CAAA,MAAA8C,CAAA,GAAAH,KAAA,CAAAN,CAAA,GAAArC,CAAA,GAAAqC,CAAA,EAAArC,CAAA,IAAA8C,CAAA,CAAA9C,CAAA,IAAAC,CAAA,CAAAD,CAAA,UAAA8C,CAAA;AAAA,SAAAZ,sBAAAjC,CAAA,EAAA8C,CAAA,QAAA7C,CAAA,WAAAD,CAAA,gCAAAyB,MAAA,IAAAzB,CAAA,CAAAyB,MAAA,CAAAsB,QAAA,KAAA/C,CAAA,4BAAAC,CAAA,QAAAF,CAAA,EAAA8C,CAAA,EAAAtB,CAAA,EAAAyB,CAAA,EAAAZ,CAAA,OAAAa,CAAA,OAAA5C,CAAA,iBAAAkB,CAAA,IAAAtB,CAAA,GAAAA,CAAA,CAAA0B,IAAA,CAAA3B,CAAA,GAAAkD,IAAA,QAAAJ,CAAA,QAAA5C,MAAA,CAAAD,CAAA,MAAAA,CAAA,UAAAgD,CAAA,uBAAAA,CAAA,IAAAlD,CAAA,GAAAwB,CAAA,CAAAI,IAAA,CAAA1B,CAAA,GAAAkD,IAAA,MAAAf,CAAA,CAAA3B,IAAA,CAAAV,CAAA,CAAAqB,KAAA,GAAAgB,CAAA,CAAAvB,MAAA,KAAAiC,CAAA,GAAAG,CAAA,iBAAAjD,CAAA,IAAAK,CAAA,OAAAwC,CAAA,GAAA7C,CAAA,yBAAAiD,CAAA,YAAAhD,CAAA,CAAAmD,MAAA,KAAAJ,CAAA,GAAA/C,CAAA,CAAAmD,MAAA,IAAAlD,MAAA,CAAA8C,CAAA,MAAAA,CAAA,2BAAA3C,CAAA,QAAAwC,CAAA,aAAAT,CAAA;AAAA,SAAAJ,gBAAAhC,CAAA,QAAA0C,KAAA,CAAAW,OAAA,CAAArD,CAAA,UAAAA,CAAA;AAErE,MAAMsD,YAAY,GAAGA,CAAA,KAAM;EACzB,MAAAC,SAAA,GAAgG,IAAAC,qBAAQ,EAAC,CAAC;IAAAC,eAAA,GAAAF,SAAA,CAAlGnC,KAAK;IAAAsC,gBAAA,GAAAD,eAAA,cAAuE,CAAC,CAAC,GAAAA,eAAA;IAAAE,qBAAA,GAAAD,gBAAA,CAArEE,YAAY;IAAAC,sBAAA,GAAAF,qBAAA,cAAwB,CAAC,CAAC,GAAAA,qBAAA;IAAtBG,eAAe,GAAAD,sBAAA,CAAfC,eAAe;IAAAC,qBAAA,GAAAL,gBAAA,CAASM,MAAM;IAANA,MAAM,GAAAD,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;IAAAE,qBAAA,GAAAP,gBAAA,CAAEQ,IAAI;IAAJA,IAAI,GAAAD,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;IAASE,GAAG,GAAAZ,SAAA,CAAHY,GAAG;EAE3F,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,cAAc,GAAG,SAAAA,CAAA,EAQZ;MAAA,IAAAC,aAAA;MAAA,IAAAC,IAAA,GAAA3D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4D,SAAA,GAAA5D,SAAA,MAAP,CAAC,CAAC;QAPgB6D,OAAO,GAAAF,IAAA,CAA3BG,kBAAkB;QAClBC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;QACRC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;QACFC,cAAc,GAAAN,IAAA,CAApBO,IAAI;QACJC,MAAM,GAAAR,IAAA,CAANQ,MAAM;QACNC,UAAU,GAAAT,IAAA,CAAVS,UAAU;QACVC,SAAS,GAAAV,IAAA,CAATU,SAAS;MAET,MAAM/B,IAAI,GAAG,CAAC,CAAC;MAEf,IAAI2B,cAAc,EAAE3B,IAAI,CAACgC,MAAM,GAAG;QAAEL;MAAe,CAAC;MACpD,IAAIF,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAE9D,MAAM,IAAI,CAAA8D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE9D,MAAM,MAAK,CAAC,EAAEqC,IAAI,CAACc,MAAM,GAAG;QAAEW;MAAS,CAAC;MAC1E,IAAIC,QAAQ,EAAE1B,IAAI,CAAC0B,QAAQ,GAAGA,QAAQ;MACtC,IAAIG,MAAM,EAAE;QACV,MAAAI,aAAA,GAAmBJ,MAAM,CAACK,KAAK,CAAC,GAAG,CAAC;UAAAC,cAAA,GAAAtD,cAAA,CAAAoD,aAAA;UAA7BG,QAAQ,GAAAD,cAAA;QACfnC,IAAI,CAACoC,QAAQ,GAAGA,QAAQ;QACxBpC,IAAI,CAAC6B,MAAM,GAAGA,MAAM;QACpBQ,kBAAK,CAACC,OAAO,CAACC,cAAgB,CAACC,cAAc,EAAE;UAAEX,MAAM;UAAEO;QAAS,CAAC,CAAC;MACtE;MACA,IAAIN,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEnE,MAAM,EAAEqC,IAAI,CAACc,MAAM,GAAArD,aAAA,CAAAA,aAAA,KAAQuC,IAAI,CAACc,MAAM;QAAEgB;MAAU,EAAE;MACpE,IAAIC,SAAS,KAAKT,SAAS,IAAIS,SAAS,KAAK,IAAI,EAAE/B,IAAI,CAACc,MAAM,GAAArD,aAAA,CAAAA,aAAA,KAAQuC,IAAI,CAACc,MAAM;QAAEiB;MAAS,EAAE;MAC9F,IAAIR,OAAO,EAAEvB,IAAI,CAACc,MAAM,GAAArD,aAAA,CAAAA,aAAA,KAAQuC,IAAI,CAACc,MAAM;QAAE2B,KAAK,EAAEzB,IAAI,aAAJA,IAAI,gBAAAI,aAAA,GAAJJ,IAAI,CAAE0B,OAAO,cAAAtB,aAAA,uBAAbA,aAAA,CAAeuB,IAAI,CAAC;UAAA,IAAAC,KAAA,GAAAlF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4D,SAAA,GAAA5D,SAAA,MAAa,CAAC,CAAC;YAAZQ,KAAK,GAAA0E,KAAA,CAAL1E,KAAK;UAAA,OAAYA,KAAK,KAAKqD,OAAO;QAAA;MAAC,EAAE;MAEhHN,GAAG,CAACjB,IAAI,CAAC;IACX,CAAC;IAEDqC,kBAAK,CAACQ,SAAS,CAACC,mBAAK,CAACC,SAAS,EAAE5B,cAAc,CAAC;IAEhD,OAAO,MAAMkB,kBAAK,CAACW,WAAW,CAACF,mBAAK,CAACC,SAAS,EAAE5B,cAAc,CAAC;EACjE,CAAC,EAAE,CAACF,GAAG,EAAED,IAAI,CAAC,CAAC;EAEf,IAAAE,gBAAS,EAAC,MAAM;IACd,IAAI,CAACJ,MAAM,EAAE;IAEbuB,kBAAK,CAACQ,SAAS,CAACN,cAAgB,CAACU,mBAAmB,EAAEC,uBAAuB,CAAC;IAE9Eb,kBAAK,CAACC,OAAO,CAACQ,mBAAK,CAACK,aAAa,EAAErC,MAAM,CAAC;IAE1C,OAAO,MAAMuB,kBAAK,CAACW,WAAW,CAACT,cAAgB,CAACU,mBAAmB,EAAEC,uBAAuB,CAAC;;IAE7F;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAhC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACN,eAAe,EAAE;IAEtByB,kBAAK,CAACC,OAAO,CAACQ,mBAAK,CAACM,gCAAgC,CAAC;EACvD,CAAC,EAAE,CAACxC,eAAe,CAAC,CAAC;EAErB,MAAMsC,uBAAuB,GAAIhF,KAAK,IAAKmE,kBAAK,CAACC,OAAO,CAACQ,mBAAK,CAACO,aAAa,EAAEnF,KAAK,CAAC;EAEpF,OAAO,IAAI;AACb,CAAC;AAACoF,OAAA,CAAAlD,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"EventManager.js","names":["_dataSources","require","_react","_EventManager","_helpers","_trackError","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","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","return","isArray","EventManager","_useStore","useStore","_useStore$value","set","_value$cookieBanner","cookieBanner","_value$cookieBanner2","countryInactive","_value$finder","finder","hotel","id","session","_value$tags","tags","type","useEffect","configureErrorTracking","handleSetStore","_tags$options","_ref","undefined","placeId","chainSelectorValue","calendar","currency","commissionCode","hsri","locale","occupation","promocode","origin","_locale$split","split","_locale$split2","language","Event","publish","COMPONENTS_EVENT","LOCALE_CHANGED","place","options","find","_ref2","subscribe","EVENT","SET_STORE","unsubscribe","FINDER_FIELD_CHANGE","handleFinderFieldChange","FINDER_LOADED","COOKIE_BANNER_SKIPPED_BY_COUNTRY","FINDER_CHANGE","exports"],"sources":["../../../src/contexts/EventManager/EventManager.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useEffect } from 'react';\n\nimport { EVENT } from './EventManager.constants';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { configureErrorTracking } from '../../helpers/trackError';\n\nconst EventManager = () => {\n const { value = {}, set } = useStore();\n const { cookieBanner: { countryInactive } = {}, finder = {}, hotel, id, session, tags = {}, type } = value;\n\n useEffect(() => {\n configureErrorTracking({ hotel, id, session, type });\n }, [hotel, id, session, type]);\n\n useEffect(() => {\n const handleSetStore = ({\n chainSelectorValue: placeId,\n calendar,\n currency,\n hsri: commissionCode,\n locale,\n occupation,\n promocode,\n } = {}) => {\n const next = {};\n\n if (commissionCode) next.origin = { commissionCode };\n if (calendar?.length && calendar?.length === 2) next.finder = { calendar };\n if (currency) next.currency = currency;\n if (locale) {\n const [language] = locale.split('-');\n next.language = language;\n next.locale = locale;\n Event.publish(COMPONENTS_EVENT.LOCALE_CHANGED, { locale, language });\n }\n if (occupation?.length) next.finder = { ...next.finder, occupation };\n if (promocode !== undefined && promocode !== null) next.finder = { ...next.finder, promocode };\n if (placeId) next.finder = { ...next.finder, place: tags?.options?.find(({ value } = {}) => value === placeId) };\n\n set(next);\n };\n\n Event.subscribe(EVENT.SET_STORE, handleSetStore);\n\n return () => Event.unsubscribe(EVENT.SET_STORE, handleSetStore);\n }, [set, tags]);\n\n useEffect(() => {\n if (!finder) return;\n\n Event.subscribe(COMPONENTS_EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);\n\n Event.publish(EVENT.FINDER_LOADED, finder);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!countryInactive) return;\n\n Event.publish(EVENT.COOKIE_BANNER_SKIPPED_BY_COUNTRY);\n }, [countryInactive]);\n\n const handleFinderFieldChange = (value) => Event.publish(EVENT.FINDER_CHANGE, value);\n\n return null;\n};\n\nexport { EventManager };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,7 +18,7 @@ var _Core = require("../../Core.constants");
|
|
|
18
18
|
var _helpers3 = require("../../helpers");
|
|
19
19
|
var _getSuperProps = require("../../helpers/getSuperProps");
|
|
20
20
|
const _excluded = ["performance"],
|
|
21
|
-
_excluded2 = ["
|
|
21
|
+
_excluded2 = ["id"],
|
|
22
22
|
_excluded3 = ["event"];
|
|
23
23
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
24
24
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -69,30 +69,19 @@ const PerformanceManager = () => {
|
|
|
69
69
|
(0, _react.useEffect)(() => {
|
|
70
70
|
const metrics = _services.ServiceFeatures.get('metrics', instanceId);
|
|
71
71
|
const handleMetrics = _ref2 => {
|
|
72
|
-
let
|
|
73
|
-
id = _ref2.id,
|
|
72
|
+
let id = _ref2.id,
|
|
74
73
|
props = _objectWithoutProperties(_ref2, _excluded2);
|
|
75
|
-
if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
track(event, _objectSpread(_objectSpread(_objectSpread({}, props), (0, _getSuperProps.getSuperProps)({
|
|
87
|
-
store,
|
|
88
|
-
engineVersion: _package.version
|
|
89
|
-
})), {}, {
|
|
90
|
-
locale,
|
|
91
|
-
mobile: device.mobile,
|
|
92
|
-
session,
|
|
93
|
-
type
|
|
94
|
-
}));
|
|
95
|
-
}
|
|
74
|
+
if (!id || !metrics || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;
|
|
75
|
+
const event = id.toUpperCase().trim();
|
|
76
|
+
track(event, _objectSpread(_objectSpread(_objectSpread({}, props), (0, _getSuperProps.getSuperProps)({
|
|
77
|
+
store,
|
|
78
|
+
engineVersion: _package.version
|
|
79
|
+
})), {}, {
|
|
80
|
+
locale,
|
|
81
|
+
mobile: device.mobile,
|
|
82
|
+
session,
|
|
83
|
+
type
|
|
84
|
+
}));
|
|
96
85
|
};
|
|
97
86
|
_dataSources.Event.subscribe(_helpers2.EVENT.METRICS, handleMetrics);
|
|
98
87
|
return () => _dataSources.Event.unsubscribe(_helpers2.EVENT.METRICS, handleMetrics);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_package","_helpers2","_Core","_helpers3","_getSuperProps","_excluded","_excluded2","_excluded3","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","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","hasOwnProperty","MAX_COUNTER","_ref","PERFORMANCE","COMPARE","GTM","counter","memoizedPendingEvents","PerformanceManager","device","useDevice","_useMetrics","useMetrics","track","_useStore","useStore","_useStore$value","_useStore$value$perfo","performance","storePerformance","store","_useState","useState","getConsentMode","_useState2","consentMode","setConsentMode","_useState3","_useState4","setPerformance","components","_store$finder","finder","_store$finder2","place","_store$hotel","hotel","instanceId","id","locale","session","type","useEffect","metrics","ServiceFeatures","get","handleMetrics","_ref2","errorMessage","props","window","IS_PLAYWRIGHT","location","host","ServiceAnna","eventName","chain","undefined","event","toUpperCase","trim","getSuperProps","engineVersion","version","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","nextConsentMode","isGtm","provider","includes","_ref3","nextMemoizedPendingEvents","execute","CONSENT_MODE_ANSWERED","requeue","executeEvent","clearInterval","config","_store$finder3","_store$finder4","_store$finder4$place","_store$finder4$place2","_store$finder4$place3","_store$finder4$place4","_store$finder4$place5","hotelId","isHotel","getPerformance","handleEvent","_ref4","currentConsentMode","availableProviders","map","_ref5","CONSENT_MODE_REQUIRED","entries","EVENTS","_ref6","_ref7","propProvider","_ref7$","callback","parseInt","some","item","_ref8","loadScripts","_ref9","then","find","_ref0","response","label","concat","getPerformanceLabel","console","log","Mirai","urlParameters","fetchUrlParams","search","_ref1","propConsentMode","loadedComponents","scripts","_ref10","_ref11","_ref11$instances","instances","propInstances","gtgEnabled","_ref12","SCRIPTS","_ref12$components","_ref12$init","init","_ref12$once","once","index","domain","loadScript","catch","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceAnna, ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { version } from '../../../package.json';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams, getPerformance, loadScript } from '../../helpers';\nimport { getSuperProps } from '../../helpers/getSuperProps';\n\nconst MAX_COUNTER = 5;\nconst { COMPARE, GTM } = PERFORMANCE || {};\n\nlet counter = 0;\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track } = useMetrics();\n const {\n value: { performance: storePerformance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [performance, setPerformance] = useState(storePerformance);\n\n const { components, finder: { place } = {}, hotel = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const metrics = ServiceFeatures.get('metrics', instanceId);\n\n const handleMetrics = ({ errorMessage, id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n\n if (errorMessage) {\n ServiceAnna.track({\n ...props,\n errorMessage,\n eventName: id,\n hotel: hotel.id,\n chain: type === 'chain' ? instanceId : undefined,\n session,\n });\n } else if (metrics) {\n const event = id.toUpperCase().trim();\n track(event, {\n ...props,\n ...getSuperProps({ store, engineVersion: version }),\n locale,\n mobile: device.mobile,\n session,\n type,\n });\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 }, [store]);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n counter !== undefined && counter++;\n const nextConsentMode = getConsentMode(counter >= MAX_COUNTER);\n const isGtm = (provider) => [COMPARE, GTM].includes(provider);\n\n if (\n (nextConsentMode === undefined &&\n memoizedPendingEvents.filter(({ provider } = {}) => isGtm(provider)).length === 0) ||\n (!nextConsentMode && counter < MAX_COUNTER)\n )\n return;\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event = {}) => {\n const { provider } = event;\n const execute =\n nextConsentMode ||\n (counter >= MAX_COUNTER &&\n CONSENT_MODE_ANSWERED.includes(provider) &&\n (nextConsentMode === false || isGtm(provider)));\n const requeue = nextConsentMode === undefined && !isGtm(provider);\n\n if (execute) {\n executeEvent(event, nextConsentMode);\n\n if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);\n } else if (!execute || requeue) {\n nextMemoizedPendingEvents.push(event);\n }\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n if (nextConsentMode !== undefined) {\n counter = undefined;\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 { config, finder: { place: { id: [hotelId] = [], isHotel } = {} } = {} } = store;\n\n if (place) {\n setPerformance(getPerformance(config, isHotel ? hotelId : undefined));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n if (performance.length === 0) return;\n\n const currentConsentMode = getConsentMode(true);\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(!currentConsentMode && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([propProvider, callback = () => {}]) => {\n const provider = parseInt(propProvider);\n const props = { callback, event, provider, value };\n\n if (!currentConsentMode && !availableProviders.includes(provider)) {\n if (counter === undefined && CONSENT_MODE_ANSWERED.includes(provider)) {\n executeEvent(props);\n } else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else executeEvent(props, currentConsentMode);\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 }, [device, performance, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}, nextConsentMode = consentMode) => {\n loadScripts(\n performance.filter(({ type } = {}) => type === provider && type !== COMPARE),\n nextConsentMode,\n ).then(() => {\n const config = performance.find(({ type }) => type === provider);\n const response = callback({ ...value, ...config, device, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n\n if (provider === GTM) {\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n loadScripts(\n performance.filter(({ type } = {}) => type === COMPARE),\n nextConsentMode,\n );\n }\n });\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [], gtgEnabled } = {}) => {\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, index, instanceId, gtgEnabled, loadedComponents, place }),\n type,\n })),\n );\n }\n });\n\n for (let index = 0; index < scripts.length; index++) {\n await loadScript(scripts[index]).catch(() => {});\n }\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_package","_helpers2","_Core","_helpers3","_getSuperProps","_excluded","_excluded2","_excluded3","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","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","hasOwnProperty","MAX_COUNTER","_ref","PERFORMANCE","COMPARE","GTM","counter","memoizedPendingEvents","PerformanceManager","device","useDevice","_useMetrics","useMetrics","track","_useStore","useStore","_useStore$value","_useStore$value$perfo","performance","storePerformance","store","_useState","useState","getConsentMode","_useState2","consentMode","setConsentMode","_useState3","_useState4","setPerformance","components","_store$finder","finder","_store$finder2","place","_store$hotel","hotel","instanceId","id","locale","session","type","useEffect","metrics","ServiceFeatures","get","handleMetrics","_ref2","props","window","IS_PLAYWRIGHT","location","host","event","toUpperCase","trim","getSuperProps","engineVersion","version","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","undefined","nextConsentMode","isGtm","provider","includes","_ref3","nextMemoizedPendingEvents","execute","CONSENT_MODE_ANSWERED","requeue","executeEvent","clearInterval","config","_store$finder3","_store$finder4","_store$finder4$place","_store$finder4$place2","_store$finder4$place3","_store$finder4$place4","_store$finder4$place5","hotelId","isHotel","getPerformance","handleEvent","_ref4","currentConsentMode","availableProviders","map","_ref5","CONSENT_MODE_REQUIRED","entries","EVENTS","_ref6","_ref7","propProvider","_ref7$","callback","parseInt","some","item","_ref8","loadScripts","_ref9","then","find","_ref0","response","label","concat","getPerformanceLabel","console","log","Mirai","urlParameters","fetchUrlParams","search","_ref1","propConsentMode","loadedComponents","scripts","_ref10","_ref11","_ref11$instances","instances","propInstances","gtgEnabled","_ref12","SCRIPTS","_ref12$components","_ref12$init","init","_ref12$once","once","index","domain","loadScript","catch","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_ANSWERED, CONSENT_MODE_REQUIRED } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { version } from '../../../package.json';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams, getPerformance, loadScript } from '../../helpers';\nimport { getSuperProps } from '../../helpers/getSuperProps';\n\nconst MAX_COUNTER = 5;\nconst { COMPARE, GTM } = PERFORMANCE || {};\n\nlet counter = 0;\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track } = useMetrics();\n const {\n value: { performance: storePerformance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [performance, setPerformance] = useState(storePerformance);\n\n const { components, finder: { place } = {}, hotel = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const metrics = ServiceFeatures.get('metrics', instanceId);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || !metrics || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n\n const event = id.toUpperCase().trim();\n track(event, {\n ...props,\n ...getSuperProps({ store, engineVersion: version }),\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 }, [store]);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n counter !== undefined && counter++;\n const nextConsentMode = getConsentMode(counter >= MAX_COUNTER);\n const isGtm = (provider) => [COMPARE, GTM].includes(provider);\n\n if (\n (nextConsentMode === undefined &&\n memoizedPendingEvents.filter(({ provider } = {}) => isGtm(provider)).length === 0) ||\n (!nextConsentMode && counter < MAX_COUNTER)\n )\n return;\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event = {}) => {\n const { provider } = event;\n const execute =\n nextConsentMode ||\n (counter >= MAX_COUNTER &&\n CONSENT_MODE_ANSWERED.includes(provider) &&\n (nextConsentMode === false || isGtm(provider)));\n const requeue = nextConsentMode === undefined && !isGtm(provider);\n\n if (execute) {\n executeEvent(event, nextConsentMode);\n\n if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);\n } else if (!execute || requeue) {\n nextMemoizedPendingEvents.push(event);\n }\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n if (nextConsentMode !== undefined) {\n counter = undefined;\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 { config, finder: { place: { id: [hotelId] = [], isHotel } = {} } = {} } = store;\n\n if (place) {\n setPerformance(getPerformance(config, isHotel ? hotelId : undefined));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n if (performance.length === 0) return;\n\n const currentConsentMode = getConsentMode(true);\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(!currentConsentMode && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([propProvider, callback = () => {}]) => {\n const provider = parseInt(propProvider);\n const props = { callback, event, provider, value };\n\n if (!currentConsentMode && !availableProviders.includes(provider)) {\n if (counter === undefined && CONSENT_MODE_ANSWERED.includes(provider)) {\n executeEvent(props);\n } else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else executeEvent(props, currentConsentMode);\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 }, [device, performance, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}, nextConsentMode = consentMode) => {\n loadScripts(\n performance.filter(({ type } = {}) => type === provider && type !== COMPARE),\n nextConsentMode,\n ).then(() => {\n const config = performance.find(({ type }) => type === provider);\n const response = callback({ ...value, ...config, device, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n\n if (provider === GTM) {\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n loadScripts(\n performance.filter(({ type } = {}) => type === COMPARE),\n nextConsentMode,\n );\n }\n });\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [], gtgEnabled } = {}) => {\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, index, instanceId, gtgEnabled, loadedComponents, place }),\n type,\n })),\n );\n }\n });\n\n for (let index = 0; index < scripts.length; index++) {\n await loadScript(scripts[index]).catch(() => {});\n }\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,17 +3,131 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.trackError = void 0;
|
|
7
|
-
var
|
|
6
|
+
exports.trackError = exports.reportError = exports.initializeErrorTracking = exports.configureErrorTracking = void 0;
|
|
7
|
+
var _services = require("@mirai/services");
|
|
8
8
|
var _helpers = require("../components/helpers");
|
|
9
|
-
var
|
|
9
|
+
var _Error$stack;
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
13
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
14
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
15
|
+
const ERROR_TRACKING_FEATURE = 'errorTracking';
|
|
16
|
+
const MAX_REPORTS_PER_MESSAGE = 5;
|
|
17
|
+
const MAX_TRACKED_MESSAGES = 100;
|
|
18
|
+
const RATE_LIMIT_WINDOW_MS = 60000;
|
|
19
|
+
const resolveBase = url => {
|
|
20
|
+
try {
|
|
21
|
+
const _URL = new URL(url),
|
|
22
|
+
origin = _URL.origin,
|
|
23
|
+
pathname = _URL.pathname;
|
|
24
|
+
return "".concat(origin).concat(pathname.replace(/[^/]*$/, ''));
|
|
25
|
+
} catch (_unused) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const CORE_BASE = resolveBase((_Error$stack = new Error().stack) === null || _Error$stack === void 0 || (_Error$stack = _Error$stack.match(/https?:\/\/[^\s)'"]+/)) === null || _Error$stack === void 0 ? void 0 : _Error$stack[0]) || resolveBase(process.env.SERVICE_STATIC && "".concat(process.env.SERVICE_STATIC, "/core/index.js"));
|
|
30
|
+
const reportedErrors = new WeakMap();
|
|
31
|
+
const messageCounts = new Map();
|
|
32
|
+
let errorContext = {};
|
|
33
|
+
let removeGlobalErrorListeners;
|
|
34
|
+
const isErrorTrackingEnabled = () => {
|
|
35
|
+
const id = errorContext.chain || errorContext.hotel;
|
|
36
|
+
return !!id && _services.ServiceFeatures.get(ERROR_TRACKING_FEATURE, id);
|
|
37
|
+
};
|
|
38
|
+
const isCoreUrl = url => !!CORE_BASE && typeof url === 'string' && url.startsWith(CORE_BASE);
|
|
39
|
+
const isStackFrame = line => /^\s*at\s/.test(line) || line.includes('@');
|
|
40
|
+
const stackHasCoreFrame = stack => typeof stack === 'string' && stack.split('\n').some(line => isStackFrame(line) && isCoreUrl((line.match(/https?:\/\/[^\s)'"]+/) || [])[0]));
|
|
41
|
+
const isCoreSource = function () {
|
|
42
|
+
let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
43
|
+
filename = _ref.filename,
|
|
44
|
+
stack = _ref.stack;
|
|
45
|
+
return filename ? isCoreUrl(filename) : stackHasCoreFrame(stack);
|
|
46
|
+
};
|
|
47
|
+
const isDuplicate = (error, now) => {
|
|
48
|
+
if (error === null || typeof error !== 'object' && typeof error !== 'function') return false;
|
|
49
|
+
const lastReported = reportedErrors.get(error);
|
|
50
|
+
if (lastReported && now - lastReported <= RATE_LIMIT_WINDOW_MS) return true;
|
|
51
|
+
reportedErrors.set(error, now);
|
|
52
|
+
return false;
|
|
53
|
+
};
|
|
54
|
+
const isRateLimited = (message, now) => {
|
|
55
|
+
const entry = messageCounts.get(message);
|
|
56
|
+
if (entry && now - entry.since <= RATE_LIMIT_WINDOW_MS) {
|
|
57
|
+
if (entry.count >= MAX_REPORTS_PER_MESSAGE) return true;
|
|
58
|
+
entry.count += 1;
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
if (!entry && messageCounts.size >= MAX_TRACKED_MESSAGES) messageCounts.delete(messageCounts.keys().next().value);
|
|
62
|
+
messageCounts.set(message, {
|
|
63
|
+
count: 1,
|
|
64
|
+
since: now
|
|
65
|
+
});
|
|
66
|
+
return false;
|
|
67
|
+
};
|
|
68
|
+
const configureErrorTracking = function () {
|
|
69
|
+
let _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
70
|
+
hotel = _ref2.hotel,
|
|
71
|
+
id = _ref2.id,
|
|
72
|
+
session = _ref2.session,
|
|
73
|
+
type = _ref2.type;
|
|
74
|
+
errorContext = {
|
|
75
|
+
chain: type === 'chain' ? id : undefined,
|
|
76
|
+
hotel: hotel === null || hotel === void 0 ? void 0 : hotel.id,
|
|
77
|
+
session
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
exports.configureErrorTracking = configureErrorTracking;
|
|
81
|
+
const reportError = function (error) {
|
|
82
|
+
let _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
83
|
+
componentStack = _ref3.componentStack;
|
|
84
|
+
const now = Date.now();
|
|
85
|
+
if (isDuplicate(error, now)) return;
|
|
86
|
+
const errorMessage = (error === null || error === void 0 ? void 0 : error.message) || (typeof error === 'string' ? error : String(error !== null && error !== void 0 ? error : 'Unknown error'));
|
|
87
|
+
if (isRateLimited(errorMessage, now)) return;
|
|
88
|
+
const errorStack = [error === null || error === void 0 ? void 0 : error.stack, componentStack].filter(Boolean).join('\n') || undefined;
|
|
89
|
+
trackError(errorMessage, errorStack);
|
|
90
|
+
};
|
|
91
|
+
exports.reportError = reportError;
|
|
92
|
+
const handleError = function () {
|
|
93
|
+
let _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
94
|
+
error = _ref4.error,
|
|
95
|
+
message = _ref4.message,
|
|
96
|
+
filename = _ref4.filename;
|
|
97
|
+
if (!isCoreSource({
|
|
98
|
+
filename,
|
|
99
|
+
stack: error === null || error === void 0 ? void 0 : error.stack
|
|
100
|
+
})) return;
|
|
101
|
+
reportError(error !== null && error !== void 0 ? error : message);
|
|
102
|
+
};
|
|
103
|
+
const handleUnhandledRejection = function () {
|
|
104
|
+
let _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
105
|
+
reason = _ref5.reason;
|
|
106
|
+
if (!isCoreSource({
|
|
107
|
+
stack: reason === null || reason === void 0 ? void 0 : reason.stack
|
|
108
|
+
})) return;
|
|
109
|
+
reportError(reason);
|
|
110
|
+
};
|
|
111
|
+
const initializeErrorTracking = () => {
|
|
112
|
+
if (removeGlobalErrorListeners) return removeGlobalErrorListeners;
|
|
113
|
+
window.addEventListener('error', handleError);
|
|
114
|
+
window.addEventListener('unhandledrejection', handleUnhandledRejection);
|
|
115
|
+
removeGlobalErrorListeners = () => {
|
|
116
|
+
window.removeEventListener('error', handleError);
|
|
117
|
+
window.removeEventListener('unhandledrejection', handleUnhandledRejection);
|
|
118
|
+
removeGlobalErrorListeners = undefined;
|
|
119
|
+
};
|
|
120
|
+
return removeGlobalErrorListeners;
|
|
121
|
+
};
|
|
122
|
+
exports.initializeErrorTracking = initializeErrorTracking;
|
|
10
123
|
const trackError = (errorMessage, errorStack) => {
|
|
11
124
|
if (typeof errorMessage !== 'string' || errorMessage.trim() === '') return;
|
|
12
|
-
|
|
13
|
-
|
|
125
|
+
if (window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com' || !isErrorTrackingEnabled()) return;
|
|
126
|
+
_services.ServiceAnna.track(_objectSpread(_objectSpread({}, errorContext), {}, {
|
|
14
127
|
errorMessage,
|
|
15
|
-
errorStack: errorStack ? typeof errorStack === 'object' ? JSON.stringify(errorStack) : String(errorStack) : undefined
|
|
16
|
-
|
|
128
|
+
errorStack: errorStack ? typeof errorStack === 'object' ? JSON.stringify(errorStack) : String(errorStack) : undefined,
|
|
129
|
+
eventName: _helpers.METRICS_EVENTS.ERROR_CORE
|
|
130
|
+
}));
|
|
17
131
|
};
|
|
18
132
|
exports.trackError = trackError;
|
|
19
133
|
//# sourceMappingURL=trackError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trackError.js","names":["_dataSources","require","_helpers","_Core","trackError","errorMessage","errorStack","trim","Event","publish","EVENT","METRICS","id","METRICS_EVENTS","ERROR_CORE","JSON","stringify","String","undefined","exports"],"sources":["../../src/helpers/trackError.js"],"sourcesContent":["import { Event } from '@mirai/data-sources';\n\nimport { METRICS_EVENTS } from '../components/helpers';\nimport { EVENT } from '../Core.constants';\n\nexport const trackError = (errorMessage, errorStack) => {\n if (typeof errorMessage !== 'string' || errorMessage.trim() === '') return;\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.ERROR_CORE,\n errorMessage,\n errorStack: errorStack\n ? typeof errorStack === 'object'\n ? JSON.stringify(errorStack)\n : String(errorStack)\n : undefined,\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEO,MAAMG,UAAU,GAAGA,CAACC,YAAY,EAAEC,UAAU,KAAK;EACtD,IAAI,OAAOD,YAAY,KAAK,QAAQ,IAAIA,YAAY,CAACE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;EAEpEC,kBAAK,CAACC,OAAO,CAACC,WAAK,CAACC,OAAO,EAAE;IAC3BC,EAAE,EAAEC,uBAAc,CAACC,UAAU;IAC7BT,YAAY;IACZC,UAAU,EAAEA,UAAU,GAClB,OAAOA,UAAU,KAAK,QAAQ,GAC5BS,IAAI,CAACC,SAAS,CAACV,UAAU,CAAC,GAC1BW,MAAM,CAACX,UAAU,CAAC,GACpBY;EACN,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAf,UAAA,GAAAA,UAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"trackError.js","names":["_services","require","_helpers","_Error$stack","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","ERROR_TRACKING_FEATURE","MAX_REPORTS_PER_MESSAGE","MAX_TRACKED_MESSAGES","RATE_LIMIT_WINDOW_MS","resolveBase","url","_URL","URL","origin","pathname","concat","replace","_unused","undefined","CORE_BASE","Error","stack","match","process","env","SERVICE_STATIC","reportedErrors","WeakMap","messageCounts","Map","errorContext","removeGlobalErrorListeners","isErrorTrackingEnabled","id","chain","hotel","ServiceFeatures","get","isCoreUrl","startsWith","isStackFrame","line","test","includes","stackHasCoreFrame","split","some","isCoreSource","_ref","filename","isDuplicate","error","now","lastReported","set","isRateLimited","message","entry","since","count","size","delete","next","configureErrorTracking","_ref2","session","type","exports","reportError","_ref3","componentStack","Date","errorMessage","errorStack","Boolean","join","trackError","handleError","_ref4","handleUnhandledRejection","_ref5","reason","initializeErrorTracking","window","addEventListener","removeEventListener","trim","IS_PLAYWRIGHT","location","host","ServiceAnna","track","JSON","stringify","eventName","METRICS_EVENTS","ERROR_CORE"],"sources":["../../src/helpers/trackError.js"],"sourcesContent":["import { ServiceAnna, ServiceFeatures } from '@mirai/services';\n\nimport { METRICS_EVENTS } from '../components/helpers';\n\nconst ERROR_TRACKING_FEATURE = 'errorTracking';\nconst MAX_REPORTS_PER_MESSAGE = 5;\nconst MAX_TRACKED_MESSAGES = 100;\nconst RATE_LIMIT_WINDOW_MS = 60000;\n\nconst resolveBase = (url) => {\n try {\n const { origin, pathname } = new URL(url);\n return `${origin}${pathname.replace(/[^/]*$/, '')}`;\n } catch {\n return undefined;\n }\n};\n\nconst CORE_BASE =\n resolveBase(new Error().stack?.match(/https?:\\/\\/[^\\s)'\"]+/)?.[0]) ||\n resolveBase(process.env.SERVICE_STATIC && `${process.env.SERVICE_STATIC}/core/index.js`);\n\nconst reportedErrors = new WeakMap();\nconst messageCounts = new Map();\nlet errorContext = {};\nlet removeGlobalErrorListeners;\n\nconst isErrorTrackingEnabled = () => {\n const id = errorContext.chain || errorContext.hotel;\n return !!id && ServiceFeatures.get(ERROR_TRACKING_FEATURE, id);\n};\n\nconst isCoreUrl = (url) => !!CORE_BASE && typeof url === 'string' && url.startsWith(CORE_BASE);\n\nconst isStackFrame = (line) => /^\\s*at\\s/.test(line) || line.includes('@');\n\nconst stackHasCoreFrame = (stack) =>\n typeof stack === 'string' &&\n stack.split('\\n').some((line) => isStackFrame(line) && isCoreUrl((line.match(/https?:\\/\\/[^\\s)'\"]+/) || [])[0]));\n\nconst isCoreSource = ({ filename, stack } = {}) => (filename ? isCoreUrl(filename) : stackHasCoreFrame(stack));\n\nconst isDuplicate = (error, now) => {\n if (error === null || (typeof error !== 'object' && typeof error !== 'function')) return false;\n const lastReported = reportedErrors.get(error);\n if (lastReported && now - lastReported <= RATE_LIMIT_WINDOW_MS) return true;\n reportedErrors.set(error, now);\n return false;\n};\n\nconst isRateLimited = (message, now) => {\n const entry = messageCounts.get(message);\n if (entry && now - entry.since <= RATE_LIMIT_WINDOW_MS) {\n if (entry.count >= MAX_REPORTS_PER_MESSAGE) return true;\n entry.count += 1;\n return false;\n }\n if (!entry && messageCounts.size >= MAX_TRACKED_MESSAGES) messageCounts.delete(messageCounts.keys().next().value);\n messageCounts.set(message, { count: 1, since: now });\n return false;\n};\n\nexport const configureErrorTracking = ({ hotel, id, session, type } = {}) => {\n errorContext = {\n chain: type === 'chain' ? id : undefined,\n hotel: hotel?.id,\n session,\n };\n};\n\nexport const reportError = (error, { componentStack } = {}) => {\n const now = Date.now();\n if (isDuplicate(error, now)) return;\n\n const errorMessage = error?.message || (typeof error === 'string' ? error : String(error ?? 'Unknown error'));\n\n if (isRateLimited(errorMessage, now)) return;\n\n const errorStack = [error?.stack, componentStack].filter(Boolean).join('\\n') || undefined;\n trackError(errorMessage, errorStack);\n};\n\nconst handleError = ({ error, message, filename } = {}) => {\n if (!isCoreSource({ filename, stack: error?.stack })) return;\n reportError(error ?? message);\n};\n\nconst handleUnhandledRejection = ({ reason } = {}) => {\n if (!isCoreSource({ stack: reason?.stack })) return;\n reportError(reason);\n};\n\nexport const initializeErrorTracking = () => {\n if (removeGlobalErrorListeners) return removeGlobalErrorListeners;\n\n window.addEventListener('error', handleError);\n window.addEventListener('unhandledrejection', handleUnhandledRejection);\n\n removeGlobalErrorListeners = () => {\n window.removeEventListener('error', handleError);\n window.removeEventListener('unhandledrejection', handleUnhandledRejection);\n removeGlobalErrorListeners = undefined;\n };\n\n return removeGlobalErrorListeners;\n};\n\nexport const trackError = (errorMessage, errorStack) => {\n if (typeof errorMessage !== 'string' || errorMessage.trim() === '') return;\n if (window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com' || !isErrorTrackingEnabled()) return;\n\n ServiceAnna.track({\n ...errorContext,\n errorMessage,\n errorStack: errorStack\n ? typeof errorStack === 'object'\n ? JSON.stringify(errorStack)\n : String(errorStack)\n : undefined,\n eventName: METRICS_EVENTS.ERROR_CORE,\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAAuD,IAAAE,YAAA;AAAA,SAAAC,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;AAEvD,MAAM8B,sBAAsB,GAAG,eAAe;AAC9C,MAAMC,uBAAuB,GAAG,CAAC;AACjC,MAAMC,oBAAoB,GAAG,GAAG;AAChC,MAAMC,oBAAoB,GAAG,KAAK;AAElC,MAAMC,WAAW,GAAIC,GAAG,IAAK;EAC3B,IAAI;IACF,MAAAC,IAAA,GAA6B,IAAIC,GAAG,CAACF,GAAG,CAAC;MAAjCG,MAAM,GAAAF,IAAA,CAANE,MAAM;MAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACxB,UAAAC,MAAA,CAAUF,MAAM,EAAAE,MAAA,CAAGD,QAAQ,CAACE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;EACnD,CAAC,CAAC,OAAAC,OAAA,EAAM;IACN,OAAOC,SAAS;EAClB;AACF,CAAC;AAED,MAAMC,SAAS,GACbV,WAAW,EAAAtC,YAAA,GAAC,IAAIiD,KAAK,CAAC,CAAC,CAACC,KAAK,cAAAlD,YAAA,gBAAAA,YAAA,GAAjBA,YAAA,CAAmBmD,KAAK,CAAC,sBAAsB,CAAC,cAAAnD,YAAA,uBAAhDA,YAAA,CAAmD,CAAC,CAAC,CAAC,IAClEsC,WAAW,CAACc,OAAO,CAACC,GAAG,CAACC,cAAc,OAAAV,MAAA,CAAOQ,OAAO,CAACC,GAAG,CAACC,cAAc,mBAAgB,CAAC;AAE1F,MAAMC,cAAc,GAAG,IAAIC,OAAO,CAAC,CAAC;AACpC,MAAMC,aAAa,GAAG,IAAIC,GAAG,CAAC,CAAC;AAC/B,IAAIC,YAAY,GAAG,CAAC,CAAC;AACrB,IAAIC,0BAA0B;AAE9B,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;EACnC,MAAMC,EAAE,GAAGH,YAAY,CAACI,KAAK,IAAIJ,YAAY,CAACK,KAAK;EACnD,OAAO,CAAC,CAACF,EAAE,IAAIG,yBAAe,CAACC,GAAG,CAAChC,sBAAsB,EAAE4B,EAAE,CAAC;AAChE,CAAC;AAED,MAAMK,SAAS,GAAI5B,GAAG,IAAK,CAAC,CAACS,SAAS,IAAI,OAAOT,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAAC6B,UAAU,CAACpB,SAAS,CAAC;AAE9F,MAAMqB,YAAY,GAAIC,IAAI,IAAK,UAAU,CAACC,IAAI,CAACD,IAAI,CAAC,IAAIA,IAAI,CAACE,QAAQ,CAAC,GAAG,CAAC;AAE1E,MAAMC,iBAAiB,GAAIvB,KAAK,IAC9B,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,CAACwB,KAAK,CAAC,IAAI,CAAC,CAACC,IAAI,CAAEL,IAAI,IAAKD,YAAY,CAACC,IAAI,CAAC,IAAIH,SAAS,CAAC,CAACG,IAAI,CAACnB,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAElH,MAAMyB,YAAY,GAAG,SAAAA,CAAA;EAAA,IAAAC,IAAA,GAAA9D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAuB,CAAC,CAAC;IAAtB+D,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAE5B,KAAK,GAAA2B,IAAA,CAAL3B,KAAK;EAAA,OAAa4B,QAAQ,GAAGX,SAAS,CAACW,QAAQ,CAAC,GAAGL,iBAAiB,CAACvB,KAAK,CAAC;AAAA,CAAC;AAE9G,MAAM6B,WAAW,GAAGA,CAACC,KAAK,EAAEC,GAAG,KAAK;EAClC,IAAID,KAAK,KAAK,IAAI,IAAK,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,UAAW,EAAE,OAAO,KAAK;EAC9F,MAAME,YAAY,GAAG3B,cAAc,CAACW,GAAG,CAACc,KAAK,CAAC;EAC9C,IAAIE,YAAY,IAAID,GAAG,GAAGC,YAAY,IAAI7C,oBAAoB,EAAE,OAAO,IAAI;EAC3EkB,cAAc,CAAC4B,GAAG,CAACH,KAAK,EAAEC,GAAG,CAAC;EAC9B,OAAO,KAAK;AACd,CAAC;AAED,MAAMG,aAAa,GAAGA,CAACC,OAAO,EAAEJ,GAAG,KAAK;EACtC,MAAMK,KAAK,GAAG7B,aAAa,CAACS,GAAG,CAACmB,OAAO,CAAC;EACxC,IAAIC,KAAK,IAAIL,GAAG,GAAGK,KAAK,CAACC,KAAK,IAAIlD,oBAAoB,EAAE;IACtD,IAAIiD,KAAK,CAACE,KAAK,IAAIrD,uBAAuB,EAAE,OAAO,IAAI;IACvDmD,KAAK,CAACE,KAAK,IAAI,CAAC;IAChB,OAAO,KAAK;EACd;EACA,IAAI,CAACF,KAAK,IAAI7B,aAAa,CAACgC,IAAI,IAAIrD,oBAAoB,EAAEqB,aAAa,CAACiC,MAAM,CAACjC,aAAa,CAACnD,IAAI,CAAC,CAAC,CAACqF,IAAI,CAAC,CAAC,CAACpE,KAAK,CAAC;EACjHkC,aAAa,CAAC0B,GAAG,CAACE,OAAO,EAAE;IAAEG,KAAK,EAAE,CAAC;IAAED,KAAK,EAAEN;EAAI,CAAC,CAAC;EACpD,OAAO,KAAK;AACd,CAAC;AAEM,MAAMW,sBAAsB,GAAG,SAAAA,CAAA,EAAuC;EAAA,IAAAC,KAAA,GAAA9E,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAP,CAAC,CAAC;IAA/BiD,KAAK,GAAA6B,KAAA,CAAL7B,KAAK;IAAEF,EAAE,GAAA+B,KAAA,CAAF/B,EAAE;IAAEgC,OAAO,GAAAD,KAAA,CAAPC,OAAO;IAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;EAC/DpC,YAAY,GAAG;IACbI,KAAK,EAAEgC,IAAI,KAAK,OAAO,GAAGjC,EAAE,GAAGf,SAAS;IACxCiB,KAAK,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEF,EAAE;IAChBgC;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAJ,sBAAA,GAAAA,sBAAA;AAEK,MAAMK,WAAW,GAAG,SAAAA,CAACjB,KAAK,EAA8B;EAAA,IAAAkB,KAAA,GAAAnF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAP,CAAC,CAAC;IAArBoF,cAAc,GAAAD,KAAA,CAAdC,cAAc;EACjD,MAAMlB,GAAG,GAAGmB,IAAI,CAACnB,GAAG,CAAC,CAAC;EACtB,IAAIF,WAAW,CAACC,KAAK,EAAEC,GAAG,CAAC,EAAE;EAE7B,MAAMoB,YAAY,GAAG,CAAArB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEK,OAAO,MAAK,OAAOL,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGhD,MAAM,CAACgD,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,eAAe,CAAC,CAAC;EAE7G,IAAII,aAAa,CAACiB,YAAY,EAAEpB,GAAG,CAAC,EAAE;EAEtC,MAAMqB,UAAU,GAAG,CAACtB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE9B,KAAK,EAAEiD,cAAc,CAAC,CAAC1F,MAAM,CAAC8F,OAAO,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,IAAIzD,SAAS;EACzF0D,UAAU,CAACJ,YAAY,EAAEC,UAAU,CAAC;AACtC,CAAC;AAACN,OAAA,CAAAC,WAAA,GAAAA,WAAA;AAEF,MAAMS,WAAW,GAAG,SAAAA,CAAA,EAAuC;EAAA,IAAAC,KAAA,GAAA5F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAP,CAAC,CAAC;IAA/BiE,KAAK,GAAA2B,KAAA,CAAL3B,KAAK;IAAEK,OAAO,GAAAsB,KAAA,CAAPtB,OAAO;IAAEP,QAAQ,GAAA6B,KAAA,CAAR7B,QAAQ;EAC7C,IAAI,CAACF,YAAY,CAAC;IAAEE,QAAQ;IAAE5B,KAAK,EAAE8B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE9B;EAAM,CAAC,CAAC,EAAE;EACtD+C,WAAW,CAACjB,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIK,OAAO,CAAC;AAC/B,CAAC;AAED,MAAMuB,wBAAwB,GAAG,SAAAA,CAAA,EAAqB;EAAA,IAAAC,KAAA,GAAA9F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAP,CAAC,CAAC;IAAb+F,MAAM,GAAAD,KAAA,CAANC,MAAM;EACxC,IAAI,CAAClC,YAAY,CAAC;IAAE1B,KAAK,EAAE4D,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE5D;EAAM,CAAC,CAAC,EAAE;EAC7C+C,WAAW,CAACa,MAAM,CAAC;AACrB,CAAC;AAEM,MAAMC,uBAAuB,GAAGA,CAAA,KAAM;EAC3C,IAAInD,0BAA0B,EAAE,OAAOA,0BAA0B;EAEjEoD,MAAM,CAACC,gBAAgB,CAAC,OAAO,EAAEP,WAAW,CAAC;EAC7CM,MAAM,CAACC,gBAAgB,CAAC,oBAAoB,EAAEL,wBAAwB,CAAC;EAEvEhD,0BAA0B,GAAGA,CAAA,KAAM;IACjCoD,MAAM,CAACE,mBAAmB,CAAC,OAAO,EAAER,WAAW,CAAC;IAChDM,MAAM,CAACE,mBAAmB,CAAC,oBAAoB,EAAEN,wBAAwB,CAAC;IAC1EhD,0BAA0B,GAAGb,SAAS;EACxC,CAAC;EAED,OAAOa,0BAA0B;AACnC,CAAC;AAACoC,OAAA,CAAAe,uBAAA,GAAAA,uBAAA;AAEK,MAAMN,UAAU,GAAGA,CAACJ,YAAY,EAAEC,UAAU,KAAK;EACtD,IAAI,OAAOD,YAAY,KAAK,QAAQ,IAAIA,YAAY,CAACc,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;EACpE,IAAIH,MAAM,CAACI,aAAa,IAAIJ,MAAM,CAACK,QAAQ,CAACC,IAAI,KAAK,oBAAoB,IAAI,CAACzD,sBAAsB,CAAC,CAAC,EAAE;EAExG0D,qBAAW,CAACC,KAAK,CAAA1G,aAAA,CAAAA,aAAA,KACZ6C,YAAY;IACf0C,YAAY;IACZC,UAAU,EAAEA,UAAU,GAClB,OAAOA,UAAU,KAAK,QAAQ,GAC5BmB,IAAI,CAACC,SAAS,CAACpB,UAAU,CAAC,GAC1BtE,MAAM,CAACsE,UAAU,CAAC,GACpBvD,SAAS;IACb4E,SAAS,EAAEC,uBAAc,CAACC;EAAU,EACrC,CAAC;AACJ,CAAC;AAAC7B,OAAA,CAAAS,UAAA,GAAAA,UAAA","ignoreList":[]}
|
package/build/index.js
CHANGED
|
@@ -33,9 +33,11 @@ window.Mirai = _objectSpread(_objectSpread({}, window.Mirai), {}, {
|
|
|
33
33
|
trackError: _helpers.trackError,
|
|
34
34
|
version: _package.version
|
|
35
35
|
});
|
|
36
|
+
(0, _helpers.initializeErrorTracking)();
|
|
36
37
|
let memoizedRoot;
|
|
37
38
|
window.Mirai.core = async () => {
|
|
38
39
|
if (memoizedRoot) memoizedRoot.unmount();
|
|
40
|
+
(0, _helpers.configureErrorTracking)();
|
|
39
41
|
_dataSources.Event.publish(_Core2.EVENT.CORE_EVENTS_READY);
|
|
40
42
|
const isProduction = process.env.NODE_ENV === 'production';
|
|
41
43
|
const isDevelopment = process.env.NODE_ENV === 'development';
|
|
@@ -51,6 +53,13 @@ window.Mirai.core = async () => {
|
|
|
51
53
|
urlParams
|
|
52
54
|
});
|
|
53
55
|
if (!instance) return;
|
|
56
|
+
(0, _helpers.configureErrorTracking)({
|
|
57
|
+
hotel: {
|
|
58
|
+
id: instance.type === 'chain' ? instance.hotel : instance.id
|
|
59
|
+
},
|
|
60
|
+
id: instance.id,
|
|
61
|
+
type: instance.type
|
|
62
|
+
});
|
|
54
63
|
|
|
55
64
|
// 2. Fetch client-side dataSources
|
|
56
65
|
const cookies = (0, _helpers.fetchCookies)(Object.values(_Core2.COOKIE));
|
|
@@ -113,6 +122,7 @@ window.Mirai.core = async () => {
|
|
|
113
122
|
session,
|
|
114
123
|
urlParams
|
|
115
124
|
});
|
|
125
|
+
(0, _helpers.configureErrorTracking)(store);
|
|
116
126
|
|
|
117
127
|
// 11. Initialize features
|
|
118
128
|
await _services.ServiceFeatures.initialize();
|
|
@@ -140,7 +150,7 @@ window.Mirai.core = async () => {
|
|
|
140
150
|
try {
|
|
141
151
|
!window.ON_DEMAND_INIT && (await window.Mirai.core());
|
|
142
152
|
} catch (error) {
|
|
143
|
-
(0, _helpers.
|
|
153
|
+
(0, _helpers.reportError)(error);
|
|
144
154
|
throw error;
|
|
145
155
|
}
|
|
146
156
|
const _window$Mirai = window.Mirai,
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_dataSources","require","_services","_react","_interopRequireDefault","_client","_contexts","_Core","_Core2","_Core3","_helpers","_package","e","__esModule","default","ownKeys","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","window","Mirai","components","undefined","config","environment","process","env","NODE_ENV","Event","services","booking","SERVICE_BOOKING","club","SERVICE_CLUB","dictionary","SERVICE_DICTIONARY","engine","SERVICE_ENGINE","static","SERVICE_STATIC","user","SERVICE_USER","trackError","version","memoizedRoot","core","unmount","publish","EVENT","CORE_EVENTS_READY","isProduction","isDevelopment","isPreproduction","log","concat","name","console","urlParams","fetchUrlParams","location","search","urlParameters","instance","findInstance","cookies","fetchCookies","values","COOKIE","session","fetchSession","loadEnvironment","findComponents","theme","localeInstance","getLocale","createRoot","el","IS_PLAYWRIGHT","render","createElement","StrictMode","StoreProvider","id","skeleton","type","Core","fetchConfig","language","checkSession","hsri","SYNAPSE_COMMISSION_CODE","fingerprint","_localStorage","localStorage","setItem","fetchExternalSession","store","consolidateStore","ServiceFeatures","initialize","ServiceDictionary","cache","locale","get","ErrorBoundary","MetricsProvider","token","disableMetrics","METRICS","PerformanceManager","EventManager","ready","setTimeout","CORE_READY","ON_DEMAND_INIT","error","message","stack","_window$Mirai","_window$Mirai$compone","_ref","component","includes","addEventListener","event","persisted"],"sources":["../src/index.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { Event, MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport { ServiceDictionary, ServiceFeatures } from '@mirai/services';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { EventManager, PerformanceManager } from './contexts';\nimport { Core } from './Core';\nimport { COOKIE, EVENT, SYNAPSE_COMMISSION_CODE } from './Core.constants';\nimport { ErrorBoundary } from './Core.ErrorBoundary';\nimport {\n checkSession,\n consolidateStore,\n fetchConfig,\n fetchCookies,\n fetchExternalSession,\n fetchSession,\n fetchUrlParams,\n findComponents,\n findInstance,\n getLocale,\n loadEnvironment,\n theme,\n trackError,\n} from './helpers';\nimport { name, version } from '../package.json';\nimport './helpers/polyfills';\n\nwindow.Mirai = {\n ...window.Mirai,\n components: undefined,\n config: undefined,\n environment: process.env.NODE_ENV,\n Event,\n services: {\n booking: process.env.SERVICE_BOOKING,\n club: process.env.SERVICE_CLUB,\n dictionary: process.env.SERVICE_DICTIONARY,\n engine: process.env.SERVICE_ENGINE,\n static: process.env.SERVICE_STATIC,\n user: process.env.SERVICE_USER,\n },\n trackError,\n version,\n};\n\nlet memoizedRoot;\nwindow.Mirai.core = async () => {\n if (memoizedRoot) memoizedRoot.unmount();\n\n Event.publish(EVENT.CORE_EVENTS_READY);\n\n const isProduction = process.env.NODE_ENV === 'production';\n const isDevelopment = process.env.NODE_ENV === 'development';\n const isPreproduction = process.env.NODE_ENV === 'preproduction';\n const log = `${isProduction ? '🟢' : isPreproduction ? '🟡' : isDevelopment ? '🔴' : '⚫️'} ${name} v${version}`;\n\n console.log(log, 'starting...');\n\n // 1. Find instance\n const urlParams = fetchUrlParams(location.search);\n //Compatibility with 123 compare\n window.Mirai.urlParameters = urlParams;\n\n const instance = findInstance({ urlParams });\n if (!instance) return;\n\n // 2. Fetch client-side dataSources\n const cookies = fetchCookies(Object.values(COOKIE));\n let session = fetchSession(urlParams);\n\n // 3. Analyze environment\n const environment = urlParams.env && isProduction ? loadEnvironment(urlParams.env) : undefined;\n if (environment) return;\n\n // 4. Find components\n const components = findComponents({ ...instance, ...urlParams });\n\n window.Mirai = { ...window.Mirai, components };\n\n // 5. Theming\n theme(urlParams);\n\n const localeInstance = getLocale(instance, urlParams);\n\n memoizedRoot = createRoot(instance.el);\n // 7. 1st render\n window &&\n !window.IS_PLAYWRIGHT &&\n memoizedRoot.render(\n <React.StrictMode>\n <StoreProvider\n value={{ id: instance.id, session, skeleton: true, type: instance.type, urlParams, ...localeInstance }}\n >\n <Core {...{ components }} />\n </StoreProvider>\n </React.StrictMode>,\n );\n\n // 8. Analyze id to fetch its config\n const config = await fetchConfig({ ...instance, language: localeInstance.language });\n if (!config) return;\n window.Mirai.config = config;\n\n // 8. Check session\n if (session && !(await checkSession(instance.id, session, config))) session = undefined;\n if (urlParams.hsri == SYNAPSE_COMMISSION_CODE && urlParams.fingerprint) {\n localStorage?.setItem('MIRAI:FINGERPRINT', urlParams.fingerprint);\n }\n\n // 9. Fetch external session\n session = await fetchExternalSession({ config, cookies, session });\n\n // 10. Consolidate store\n const store = await consolidateStore({ components, config, cookies, instance, session, urlParams });\n\n // 11. Initialize features\n await ServiceFeatures.initialize();\n\n // 12. Initialize dictionary\n if (!ServiceDictionary.cache(store.locale)) await ServiceDictionary.get(store.locale, false);\n\n // 13. Render components\n memoizedRoot.unmount();\n memoizedRoot = createRoot(instance.el);\n memoizedRoot.render(\n <React.StrictMode>\n <ErrorBoundary>\n <MetricsProvider token={!urlParams.disableMetrics ? process.env.METRICS : undefined}>\n <StoreProvider value={store}>\n <PerformanceManager />\n <Core {...{ components }} />\n <EventManager />\n </StoreProvider>\n </MetricsProvider>\n </ErrorBoundary>\n </React.StrictMode>,\n );\n\n // 14. Up & Ready\n window.Mirai.ready = true;\n setTimeout(() => Event.publish(EVENT.CORE_READY, window.Mirai), 0);\n console.log(log, '[READY]', window.Mirai);\n};\n\n(async () => {\n try {\n !window.ON_DEMAND_INIT && (await window.Mirai.core());\n } catch (error) {\n trackError(error?.message || 'core:init', error?.stack);\n\n throw error;\n }\n\n const { components = [], ready } = window.Mirai;\n\n if (ready && components.filter(({ component } = {}) => ['booking', 'checkout', 'rates'].includes(component).length)) {\n window.addEventListener('pageshow', (event) => event.persisted && window.Mirai.core());\n }\n})();\n"],"mappings":";;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAeA,IAAAU,QAAA,GAAAV,OAAA;AACAA,OAAA;AAA6B,SAAAG,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,QAAAH,CAAA,EAAAI,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAP,CAAA,OAAAM,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAR,CAAA,GAAAI,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAX,CAAA,EAAAI,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAf,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAG,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAArB,CAAA,EAAAM,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAJ,CAAA;AAAA,SAAAmB,gBAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAJ,CAAA,GAAAM,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAA1B,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAuB,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,MAAAL,CAAA,GAAAK,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA9B,CAAA,QAAA2B,CAAA,GAAA3B,CAAA,CAAA+B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA,KA1B7B;AA4BA8B,MAAM,CAACC,KAAK,GAAArB,aAAA,CAAAA,aAAA,KACPoB,MAAM,CAACC,KAAK;EACfC,UAAU,EAAEC,SAAS;EACrBC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ;EACjCC,KAAK,EAALA,kBAAK;EACLC,QAAQ,EAAE;IACRC,OAAO,EAAEL,OAAO,CAACC,GAAG,CAACK,eAAe;IACpCC,IAAI,EAAEP,OAAO,CAACC,GAAG,CAACO,YAAY;IAC9BC,UAAU,EAAET,OAAO,CAACC,GAAG,CAACS,kBAAkB;IAC1CC,MAAM,EAAEX,OAAO,CAACC,GAAG,CAACW,cAAc;IAClCC,MAAM,EAAEb,OAAO,CAACC,GAAG,CAACa,cAAc;IAClCC,IAAI,EAAEf,OAAO,CAACC,GAAG,CAACe;EACpB,CAAC;EACDC,UAAU,EAAVA,mBAAU;EACVC,OAAO,EAAPA;AAAO,EACR;AAED,IAAIC,YAAY;AAChBzB,MAAM,CAACC,KAAK,CAACyB,IAAI,GAAG,YAAY;EAC9B,IAAID,YAAY,EAAEA,YAAY,CAACE,OAAO,CAAC,CAAC;EAExClB,kBAAK,CAACmB,OAAO,CAACC,YAAK,CAACC,iBAAiB,CAAC;EAEtC,MAAMC,YAAY,GAAGzB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY;EAC1D,MAAMwB,aAAa,GAAG1B,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa;EAC5D,MAAMyB,eAAe,GAAG3B,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,eAAe;EAChE,MAAM0B,GAAG,MAAAC,MAAA,CAAMJ,YAAY,GAAG,IAAI,GAAGE,eAAe,GAAG,IAAI,GAAGD,aAAa,GAAG,IAAI,GAAG,IAAI,OAAAG,MAAA,CAAIC,aAAI,QAAAD,MAAA,CAAKX,gBAAO,CAAE;EAE/Ga,OAAO,CAACH,GAAG,CAACA,GAAG,EAAE,aAAa,CAAC;;EAE/B;EACA,MAAMI,SAAS,GAAG,IAAAC,uBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;EACjD;EACAzC,MAAM,CAACC,KAAK,CAACyC,aAAa,GAAGJ,SAAS;EAEtC,MAAMK,QAAQ,GAAG,IAAAC,qBAAY,EAAC;IAAEN;EAAU,CAAC,CAAC;EAC5C,IAAI,CAACK,QAAQ,EAAE;;EAEf;EACA,MAAME,OAAO,GAAG,IAAAC,qBAAY,EAAC3E,MAAM,CAAC4E,MAAM,CAACC,aAAM,CAAC,CAAC;EACnD,IAAIC,OAAO,GAAG,IAAAC,qBAAY,EAACZ,SAAS,CAAC;;EAErC;EACA,MAAMjC,WAAW,GAAGiC,SAAS,CAAC/B,GAAG,IAAIwB,YAAY,GAAG,IAAAoB,wBAAe,EAACb,SAAS,CAAC/B,GAAG,CAAC,GAAGJ,SAAS;EAC9F,IAAIE,WAAW,EAAE;;EAEjB;EACA,MAAMH,UAAU,GAAG,IAAAkD,uBAAc,EAAAxE,aAAA,CAAAA,aAAA,KAAM+D,QAAQ,GAAKL,SAAS,CAAE,CAAC;EAEhEtC,MAAM,CAACC,KAAK,GAAArB,aAAA,CAAAA,aAAA,KAAQoB,MAAM,CAACC,KAAK;IAAEC;EAAU,EAAE;;EAE9C;EACA,IAAAmD,cAAK,EAACf,SAAS,CAAC;EAEhB,MAAMgB,cAAc,GAAG,IAAAC,kBAAS,EAACZ,QAAQ,EAAEL,SAAS,CAAC;EAErDb,YAAY,GAAG,IAAA+B,kBAAU,EAACb,QAAQ,CAACc,EAAE,CAAC;EACtC;EACAzD,MAAM,IACJ,CAACA,MAAM,CAAC0D,aAAa,IACrBjC,YAAY,CAACkC,MAAM,cACjBvG,MAAA,CAAAW,OAAA,CAAA6F,aAAA,CAACxG,MAAA,CAAAW,OAAK,CAAC8F,UAAU,qBACfzG,MAAA,CAAAW,OAAA,CAAA6F,aAAA,CAAC3G,YAAA,CAAA6G,aAAa;IACZzE,KAAK,EAAAT,aAAA;MAAImF,EAAE,EAAEpB,QAAQ,CAACoB,EAAE;MAAEd,OAAO;MAAEe,QAAQ,EAAE,IAAI;MAAEC,IAAI,EAAEtB,QAAQ,CAACsB,IAAI;MAAE3B;IAAS,GAAKgB,cAAc;EAAG,gBAEvGlG,MAAA,CAAAW,OAAA,CAAA6F,aAAA,CAACpG,KAAA,CAAA0G,IAAI;IAAOhE;EAAU,CAAK,CACd,CACC,CACpB,CAAC;;EAEH;EACA,MAAME,MAAM,GAAG,MAAM,IAAA+D,oBAAW,EAAAvF,aAAA,CAAAA,aAAA,KAAM+D,QAAQ;IAAEyB,QAAQ,EAAEd,cAAc,CAACc;EAAQ,EAAE,CAAC;EACpF,IAAI,CAAChE,MAAM,EAAE;EACbJ,MAAM,CAACC,KAAK,CAACG,MAAM,GAAGA,MAAM;;EAE5B;EACA,IAAI6C,OAAO,IAAI,EAAE,MAAM,IAAAoB,qBAAY,EAAC1B,QAAQ,CAACoB,EAAE,EAAEd,OAAO,EAAE7C,MAAM,CAAC,CAAC,EAAE6C,OAAO,GAAG9C,SAAS;EACvF,IAAImC,SAAS,CAACgC,IAAI,IAAIC,8BAAuB,IAAIjC,SAAS,CAACkC,WAAW,EAAE;IAAA,IAAAC,aAAA;IACtE,CAAAA,aAAA,GAAAC,YAAY,cAAAD,aAAA,eAAZA,aAAA,CAAcE,OAAO,CAAC,mBAAmB,EAAErC,SAAS,CAACkC,WAAW,CAAC;EACnE;;EAEA;EACAvB,OAAO,GAAG,MAAM,IAAA2B,6BAAoB,EAAC;IAAExE,MAAM;IAAEyC,OAAO;IAAEI;EAAQ,CAAC,CAAC;;EAElE;EACA,MAAM4B,KAAK,GAAG,MAAM,IAAAC,yBAAgB,EAAC;IAAE5E,UAAU;IAAEE,MAAM;IAAEyC,OAAO;IAAEF,QAAQ;IAAEM,OAAO;IAAEX;EAAU,CAAC,CAAC;;EAEnG;EACA,MAAMyC,yBAAe,CAACC,UAAU,CAAC,CAAC;;EAElC;EACA,IAAI,CAACC,2BAAiB,CAACC,KAAK,CAACL,KAAK,CAACM,MAAM,CAAC,EAAE,MAAMF,2BAAiB,CAACG,GAAG,CAACP,KAAK,CAACM,MAAM,EAAE,KAAK,CAAC;;EAE5F;EACA1D,YAAY,CAACE,OAAO,CAAC,CAAC;EACtBF,YAAY,GAAG,IAAA+B,kBAAU,EAACb,QAAQ,CAACc,EAAE,CAAC;EACtChC,YAAY,CAACkC,MAAM,cACjBvG,MAAA,CAAAW,OAAA,CAAA6F,aAAA,CAACxG,MAAA,CAAAW,OAAK,CAAC8F,UAAU,qBACfzG,MAAA,CAAAW,OAAA,CAAA6F,aAAA,CAAClG,MAAA,CAAA2H,aAAa,qBACZjI,MAAA,CAAAW,OAAA,CAAA6F,aAAA,CAAC3G,YAAA,CAAAqI,eAAe;IAACC,KAAK,EAAE,CAACjD,SAAS,CAACkD,cAAc,GAAGlF,OAAO,CAACC,GAAG,CAACkF,OAAO,GAAGtF;EAAU,gBAClF/C,MAAA,CAAAW,OAAA,CAAA6F,aAAA,CAAC3G,YAAA,CAAA6G,aAAa;IAACzE,KAAK,EAAEwF;EAAM,gBAC1BzH,MAAA,CAAAW,OAAA,CAAA6F,aAAA,CAACrG,SAAA,CAAAmI,kBAAkB,MAAE,CAAC,eACtBtI,MAAA,CAAAW,OAAA,CAAA6F,aAAA,CAACpG,KAAA,CAAA0G,IAAI;IAAOhE;EAAU,CAAK,CAAC,eAC5B9C,MAAA,CAAAW,OAAA,CAAA6F,aAAA,CAACrG,SAAA,CAAAoI,YAAY,MAAE,CACF,CACA,CACJ,CACC,CACpB,CAAC;;EAED;EACA3F,MAAM,CAACC,KAAK,CAAC2F,KAAK,GAAG,IAAI;EACzBC,UAAU,CAAC,MAAMpF,kBAAK,CAACmB,OAAO,CAACC,YAAK,CAACiE,UAAU,EAAE9F,MAAM,CAACC,KAAK,CAAC,EAAE,CAAC,CAAC;EAClEoC,OAAO,CAACH,GAAG,CAACA,GAAG,EAAE,SAAS,EAAElC,MAAM,CAACC,KAAK,CAAC;AAC3C,CAAC;AAED,CAAC,YAAY;EACX,IAAI;IACF,CAACD,MAAM,CAAC+F,cAAc,KAAK,MAAM/F,MAAM,CAACC,KAAK,CAACyB,IAAI,CAAC,CAAC,CAAC;EACvD,CAAC,CAAC,OAAOsE,KAAK,EAAE;IACd,IAAAzE,mBAAU,EAAC,CAAAyE,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,OAAO,KAAI,WAAW,EAAED,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,KAAK,CAAC;IAEvD,MAAMF,KAAK;EACb;EAEA,MAAAG,aAAA,GAAmCnG,MAAM,CAACC,KAAK;IAAAmG,qBAAA,GAAAD,aAAA,CAAvCjG,UAAU;IAAVA,UAAU,GAAAkG,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IAAER,KAAK,GAAAO,aAAA,CAALP,KAAK;EAE9B,IAAIA,KAAK,IAAI1F,UAAU,CAAC3B,MAAM,CAAC;IAAA,IAAA8H,IAAA,GAAAxH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsB,SAAA,GAAAtB,SAAA,MAAiB,CAAC,CAAC;MAAhByH,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAA,OAAY,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAACC,QAAQ,CAACD,SAAS,CAAC,CAACxH,MAAM;EAAA,EAAC,EAAE;IACnHkB,MAAM,CAACwG,gBAAgB,CAAC,UAAU,EAAGC,KAAK,IAAKA,KAAK,CAACC,SAAS,IAAI1G,MAAM,CAACC,KAAK,CAACyB,IAAI,CAAC,CAAC,CAAC;EACxF;AACF,CAAC,EAAE,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_dataSources","require","_services","_react","_interopRequireDefault","_client","_contexts","_Core","_Core2","_Core3","_helpers","_package","e","__esModule","default","ownKeys","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","window","Mirai","components","undefined","config","environment","process","env","NODE_ENV","Event","services","booking","SERVICE_BOOKING","club","SERVICE_CLUB","dictionary","SERVICE_DICTIONARY","engine","SERVICE_ENGINE","static","SERVICE_STATIC","user","SERVICE_USER","trackError","version","initializeErrorTracking","memoizedRoot","core","unmount","configureErrorTracking","publish","EVENT","CORE_EVENTS_READY","isProduction","isDevelopment","isPreproduction","log","concat","name","console","urlParams","fetchUrlParams","location","search","urlParameters","instance","findInstance","hotel","id","type","cookies","fetchCookies","values","COOKIE","session","fetchSession","loadEnvironment","findComponents","theme","localeInstance","getLocale","createRoot","el","IS_PLAYWRIGHT","render","createElement","StrictMode","StoreProvider","skeleton","Core","fetchConfig","language","checkSession","hsri","SYNAPSE_COMMISSION_CODE","fingerprint","_localStorage","localStorage","setItem","fetchExternalSession","store","consolidateStore","ServiceFeatures","initialize","ServiceDictionary","cache","locale","get","ErrorBoundary","MetricsProvider","token","disableMetrics","METRICS","PerformanceManager","EventManager","ready","setTimeout","CORE_READY","ON_DEMAND_INIT","error","reportError","_window$Mirai","_window$Mirai$compone","_ref","component","includes","addEventListener","event","persisted"],"sources":["../src/index.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { Event, MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport { ServiceDictionary, ServiceFeatures } from '@mirai/services';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { EventManager, PerformanceManager } from './contexts';\nimport { Core } from './Core';\nimport { COOKIE, EVENT, SYNAPSE_COMMISSION_CODE } from './Core.constants';\nimport { ErrorBoundary } from './Core.ErrorBoundary';\nimport {\n checkSession,\n configureErrorTracking,\n consolidateStore,\n fetchConfig,\n fetchCookies,\n fetchExternalSession,\n fetchSession,\n fetchUrlParams,\n findComponents,\n findInstance,\n getLocale,\n initializeErrorTracking,\n loadEnvironment,\n reportError,\n theme,\n trackError,\n} from './helpers';\nimport { name, version } from '../package.json';\nimport './helpers/polyfills';\n\nwindow.Mirai = {\n ...window.Mirai,\n components: undefined,\n config: undefined,\n environment: process.env.NODE_ENV,\n Event,\n services: {\n booking: process.env.SERVICE_BOOKING,\n club: process.env.SERVICE_CLUB,\n dictionary: process.env.SERVICE_DICTIONARY,\n engine: process.env.SERVICE_ENGINE,\n static: process.env.SERVICE_STATIC,\n user: process.env.SERVICE_USER,\n },\n trackError,\n version,\n};\n\ninitializeErrorTracking();\n\nlet memoizedRoot;\nwindow.Mirai.core = async () => {\n if (memoizedRoot) memoizedRoot.unmount();\n\n configureErrorTracking();\n\n Event.publish(EVENT.CORE_EVENTS_READY);\n\n const isProduction = process.env.NODE_ENV === 'production';\n const isDevelopment = process.env.NODE_ENV === 'development';\n const isPreproduction = process.env.NODE_ENV === 'preproduction';\n const log = `${isProduction ? '🟢' : isPreproduction ? '🟡' : isDevelopment ? '🔴' : '⚫️'} ${name} v${version}`;\n\n console.log(log, 'starting...');\n\n // 1. Find instance\n const urlParams = fetchUrlParams(location.search);\n //Compatibility with 123 compare\n window.Mirai.urlParameters = urlParams;\n\n const instance = findInstance({ urlParams });\n if (!instance) return;\n\n configureErrorTracking({\n hotel: { id: instance.type === 'chain' ? instance.hotel : instance.id },\n id: instance.id,\n type: instance.type,\n });\n\n // 2. Fetch client-side dataSources\n const cookies = fetchCookies(Object.values(COOKIE));\n let session = fetchSession(urlParams);\n\n // 3. Analyze environment\n const environment = urlParams.env && isProduction ? loadEnvironment(urlParams.env) : undefined;\n if (environment) return;\n\n // 4. Find components\n const components = findComponents({ ...instance, ...urlParams });\n\n window.Mirai = { ...window.Mirai, components };\n\n // 5. Theming\n theme(urlParams);\n\n const localeInstance = getLocale(instance, urlParams);\n\n memoizedRoot = createRoot(instance.el);\n // 7. 1st render\n window &&\n !window.IS_PLAYWRIGHT &&\n memoizedRoot.render(\n <React.StrictMode>\n <StoreProvider\n value={{ id: instance.id, session, skeleton: true, type: instance.type, urlParams, ...localeInstance }}\n >\n <Core {...{ components }} />\n </StoreProvider>\n </React.StrictMode>,\n );\n\n // 8. Analyze id to fetch its config\n const config = await fetchConfig({ ...instance, language: localeInstance.language });\n if (!config) return;\n window.Mirai.config = config;\n\n // 8. Check session\n if (session && !(await checkSession(instance.id, session, config))) session = undefined;\n if (urlParams.hsri == SYNAPSE_COMMISSION_CODE && urlParams.fingerprint) {\n localStorage?.setItem('MIRAI:FINGERPRINT', urlParams.fingerprint);\n }\n\n // 9. Fetch external session\n session = await fetchExternalSession({ config, cookies, session });\n\n // 10. Consolidate store\n const store = await consolidateStore({ components, config, cookies, instance, session, urlParams });\n configureErrorTracking(store);\n\n // 11. Initialize features\n await ServiceFeatures.initialize();\n\n // 12. Initialize dictionary\n if (!ServiceDictionary.cache(store.locale)) await ServiceDictionary.get(store.locale, false);\n\n // 13. Render components\n memoizedRoot.unmount();\n memoizedRoot = createRoot(instance.el);\n memoizedRoot.render(\n <React.StrictMode>\n <ErrorBoundary>\n <MetricsProvider token={!urlParams.disableMetrics ? process.env.METRICS : undefined}>\n <StoreProvider value={store}>\n <PerformanceManager />\n <Core {...{ components }} />\n <EventManager />\n </StoreProvider>\n </MetricsProvider>\n </ErrorBoundary>\n </React.StrictMode>,\n );\n\n // 14. Up & Ready\n window.Mirai.ready = true;\n setTimeout(() => Event.publish(EVENT.CORE_READY, window.Mirai), 0);\n console.log(log, '[READY]', window.Mirai);\n};\n\n(async () => {\n try {\n !window.ON_DEMAND_INIT && (await window.Mirai.core());\n } catch (error) {\n reportError(error);\n\n throw error;\n }\n\n const { components = [], ready } = window.Mirai;\n\n if (ready && components.filter(({ component } = {}) => ['booking', 'checkout', 'rates'].includes(component).length)) {\n window.addEventListener('pageshow', (event) => event.persisted && window.Mirai.core());\n }\n})();\n"],"mappings":"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","ignoreList":[]}
|