@mirai/core 0.4.673 → 0.4.674

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.
@@ -154,13 +154,21 @@ const Banner = _ref => {
154
154
  const locale = (0, _helpers.getNormalizedLocale)(stateLocale);
155
155
  const shouldRender = clubActive && !session || !isClub && banner;
156
156
  (0, _react.useEffect)(() => {
157
- if (!isClub || !shouldRender || !title || skeleton || loyaltyMetricsSent.current) return;
158
- _dataSources.Event.publish(_helpers.EVENT.METRICS, {
159
- id: _helpers.METRICS_EVENTS.RATES_LOYALTY_READY,
160
- loyalty_discount_active: clubDiscount
161
- });
162
- loyaltyMetricsSent.current = true;
163
- }, [clubDiscount, isClub, shouldRender, title, skeleton]);
157
+ if (skeleton || loyaltyMetricsSent.current) return;
158
+ const timeout = setTimeout(() => {
159
+ loyaltyMetricsSent.current = true;
160
+ _dataSources.Event.publish(_helpers.EVENT.METRICS, {
161
+ id: _helpers.METRICS_EVENTS.RATES_LOYALTY_READY,
162
+ isClub,
163
+ clubActive,
164
+ shouldRender: !!shouldRender,
165
+ hasSession: !!session,
166
+ hasTitle: !!title,
167
+ hasBanner: !!banner && Object.keys(banner).length > 0
168
+ });
169
+ }, 0);
170
+ return () => clearTimeout(timeout);
171
+ }, [clubActive, banner, isClub, shouldRender, title, session, skeleton]);
164
172
  return shouldRender && skeleton ? /*#__PURE__*/_react.default.createElement(_Banner3.default, null) : shouldRender && title ? /*#__PURE__*/_react.default.createElement(_ui.View, {
165
173
  testId: others.testId,
166
174
  className: [style.container, others.className]
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Banner","_Banner2","style","_Banner3","_helpers","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","next","done","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Banner","_ref","_itemRef$current","clubConditions","others","_useDevice","useDevice","isDesktop","isMobile","_useLocale","useLocale","stateLocale","locale","translate","_useStore","useStore","_useStore$value","storeBanner","banner","_useStore$value$club","club","_useStore$value$finde","finder","_useStore$value$finde2","place","session","_useStore$value$skele","skeleton","_useState","useState","_useState2","setBanner","_useState3","active","_useState4","clubActive","setClubActive","_useState5","discount","_useState6","clubDiscount","setClubDiscount","_useState7","_useState8","expanded","setExpanded","_useState9","_useState0","scrollIndex","setScrollIndex","itemRef","useRef","loyaltyMetricsSent","useEffect","callback","nextClubDiscount","undefined","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","_ref2","_ref2$id","id","_ref2$id2","_ref2$id3","hotelId","isHotel","_ref3","_ref3$variants","variants","_club$variants","clubVariants","nextBanner","clubVariant","find","_ref4","_ref4$id","handleExpanded","handlePressBenefit","index","isClub","publish","METRICS","METRICS_EVENTS","RATES_LOYALTY_INTERACTION","action","loyalty_interaction_subtype","handlePressFilter","loyalty_discount_active","Filter","createElement","View","row","className","Text","medium","L10N","LABEL_ONLY_MEMBERS","Switch","checked","onChange","_ref5","_ref5$benefits","benefits","_ref5$description","description","title","url","buttonProps","secondary","squared","rounded","lastBenefit","getNormalizedLocale","shouldRender","current","RATES_LOYALTY_READY","testId","container","highlight","bold","brand","headline","level","DEFAULT_LOCALE","small","Fragment","Action","href","target","underline","textInline","ACTION_MORE_INFO","LABEL_CLUB_CONDITIONS","conditions","ACTION_CLUB_VIEW_CONDITIONS","Button","transparent","onPress","Icon","ICON","EXPAND_LESS","EXPAND_MORE","wide","LEFT","React","ScrollView","horizontal","scrollTo","offsetWidth","BENEFIT_MIN_WIDTH","list","map","_ref6","_ref6$description","icon","ref","key","accent","AMENITY","REPLAY","RIGHT","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Banner/Banner.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, ScrollView, Switch, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH } from './Banner.constants';\nimport { L10N } from './Banner.l10n';\nimport * as style from './Banner.module.css';\nimport Skeleton from './Banner.skeleton';\nimport { EVENT, getNormalizedLocale, ICON, METRICS_EVENTS } from '../helpers';\n\nconst Banner = ({ clubConditions, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { banner: storeBanner, club = {}, finder: { place } = {}, session, skeleton = false },\n } = useStore();\n\n const [banner, setBanner] = useState(storeBanner);\n const [clubActive, setClubActive] = useState(club.active);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [expanded, setExpanded] = useState(false);\n const [scrollIndex, setScrollIndex] = useState(0);\n\n const itemRef = useRef();\n const loyaltyMetricsSent = useRef(false);\n\n useEffect(() => {\n const callback = (nextClubDiscount) =>\n setClubDiscount(typeof nextClubDiscount !== 'object' ? nextClubDiscount : undefined);\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, []);\n\n useEffect(() => {\n if (!place) return;\n\n const { id: [hotelId] = [], isHotel } = place || {};\n const { variants = {} } = storeBanner || {};\n const { variants: clubVariants = [] } = club;\n if (hotelId && (Object.keys(variants).length || clubVariants.length)) {\n const nextBanner = variants[isHotel && hotelId] || storeBanner || {};\n const clubVariant = isHotel\n ? clubVariants?.find(({ id = '' } = {}) => id.toString() === hotelId.toString())\n : club;\n\n nextBanner && setBanner({ ...banner, ...nextBanner });\n setClubActive(clubVariant?.active);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n const handleExpanded = () => {\n setExpanded(!expanded);\n };\n\n const handlePressBenefit = (index) => {\n setScrollIndex(index);\n isClub &&\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_LOYALTY_INTERACTION,\n action: 'loyalty_banner_interaction',\n loyalty_interaction_subtype: 'slider_move',\n });\n };\n\n const handlePressFilter = (value) => {\n Event.publish(EVENT.RATES_FILTER_CLUB, value);\n isClub &&\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_LOYALTY_INTERACTION,\n action: 'loyalty_banner_interaction',\n loyalty_interaction_subtype: 'discount_toggle',\n loyalty_discount_active: value,\n });\n };\n\n const Filter = () => (\n <View row className={style.filter}>\n <Text action medium>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n <Switch\n checked={clubDiscount}\n name={`switch`}\n onChange={handlePressFilter}\n aria-label={translate(L10N.LABEL_ONLY_MEMBERS)}\n />\n </View>\n );\n\n const { benefits = [], description = {}, isClub, title, url } = banner || {};\n const buttonProps = { secondary: true, squared: true, rounded: true };\n const lastBenefit = scrollIndex === benefits.length - 4;\n const locale = getNormalizedLocale(stateLocale);\n const shouldRender = (clubActive && !session) || (!isClub && banner);\n\n useEffect(() => {\n if (!isClub || !shouldRender || !title || skeleton || loyaltyMetricsSent.current) return;\n\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.RATES_LOYALTY_READY, loyalty_discount_active: clubDiscount });\n loyaltyMetricsSent.current = true;\n }, [clubDiscount, isClub, shouldRender, title, skeleton]);\n\n return shouldRender && skeleton ? (\n <Skeleton />\n ) : shouldRender && title ? (\n <View testId={others.testId} className={[style.container, others.className]}>\n <View row className={style.highlight}>\n <View>\n <Text bold brand headline level={isDesktop ? 2 : 3} className={style.title}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n {url && (\n <>\n {' '}\n <Action bold href={url} target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n {clubConditions && (\n <Text action={isDesktop} small={!isDesktop}>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n )}\n </View>\n\n {isMobile ? (\n <Button small squared transparent onPress={handleExpanded}>\n <Icon value={expanded ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n </Button>\n ) : (\n clubDiscount !== undefined && <Filter />\n )}\n </View>\n\n {(!isMobile || expanded) && benefits.length > 0 && (\n <View row wide>\n {!isMobile && scrollIndex !== 0 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(scrollIndex - 1)}>\n <Icon value={ICON.LEFT} />\n </Button>\n )}\n\n {React.createElement(\n isMobile ? View : ScrollView,\n {\n ...(!isMobile\n ? {\n horizontal: !isMobile,\n scrollTo: scrollIndex * (itemRef?.current?.offsetWidth || BENEFIT_MIN_WIDTH),\n }\n : {}),\n className: style.list,\n },\n benefits.map(({ description = {}, icon } = {}, index) => (\n <View ref={index === 0 ? itemRef : undefined} row key={index}>\n <Icon accent headline level={!isDesktop ? 3 : 2} value={ICON[icon] || ICON.AMENITY} />\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n )),\n )}\n\n {!isMobile && benefits.length > 4 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)}>\n <Icon value={lastBenefit ? ICON.REPLAY : ICON.RIGHT} />\n </Button>\n )}\n </View>\n )}\n\n {isMobile && clubDiscount !== undefined && <Filter />}\n </View>\n ) : null;\n};\n\nBanner.displayName = 'Mirai:Core:Banner';\n\nBanner.propTypes = {\n clubConditions: PropTypes.string,\n};\n\nexport { Banner };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Banner.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Banner","_Banner2","style","_Banner3","_helpers","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","next","done","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Banner","_ref","_itemRef$current","clubConditions","others","_useDevice","useDevice","isDesktop","isMobile","_useLocale","useLocale","stateLocale","locale","translate","_useStore","useStore","_useStore$value","storeBanner","banner","_useStore$value$club","club","_useStore$value$finde","finder","_useStore$value$finde2","place","session","_useStore$value$skele","skeleton","_useState","useState","_useState2","setBanner","_useState3","active","_useState4","clubActive","setClubActive","_useState5","discount","_useState6","clubDiscount","setClubDiscount","_useState7","_useState8","expanded","setExpanded","_useState9","_useState0","scrollIndex","setScrollIndex","itemRef","useRef","loyaltyMetricsSent","useEffect","callback","nextClubDiscount","undefined","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","_ref2","_ref2$id","id","_ref2$id2","_ref2$id3","hotelId","isHotel","_ref3","_ref3$variants","variants","_club$variants","clubVariants","nextBanner","clubVariant","find","_ref4","_ref4$id","handleExpanded","handlePressBenefit","index","isClub","publish","METRICS","METRICS_EVENTS","RATES_LOYALTY_INTERACTION","action","loyalty_interaction_subtype","handlePressFilter","loyalty_discount_active","Filter","createElement","View","row","className","Text","medium","L10N","LABEL_ONLY_MEMBERS","Switch","checked","onChange","_ref5","_ref5$benefits","benefits","_ref5$description","description","title","url","buttonProps","secondary","squared","rounded","lastBenefit","getNormalizedLocale","shouldRender","current","timeout","setTimeout","RATES_LOYALTY_READY","hasSession","hasTitle","hasBanner","clearTimeout","testId","container","highlight","bold","brand","headline","level","DEFAULT_LOCALE","small","Fragment","Action","href","target","underline","textInline","ACTION_MORE_INFO","LABEL_CLUB_CONDITIONS","conditions","ACTION_CLUB_VIEW_CONDITIONS","Button","transparent","onPress","Icon","ICON","EXPAND_LESS","EXPAND_MORE","wide","LEFT","React","ScrollView","horizontal","scrollTo","offsetWidth","BENEFIT_MIN_WIDTH","list","map","_ref6","_ref6$description","icon","ref","key","accent","AMENITY","REPLAY","RIGHT","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Banner/Banner.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, ScrollView, Switch, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH } from './Banner.constants';\nimport { L10N } from './Banner.l10n';\nimport * as style from './Banner.module.css';\nimport Skeleton from './Banner.skeleton';\nimport { EVENT, getNormalizedLocale, ICON, METRICS_EVENTS } from '../helpers';\n\nconst Banner = ({ clubConditions, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { banner: storeBanner, club = {}, finder: { place } = {}, session, skeleton = false },\n } = useStore();\n\n const [banner, setBanner] = useState(storeBanner);\n const [clubActive, setClubActive] = useState(club.active);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [expanded, setExpanded] = useState(false);\n const [scrollIndex, setScrollIndex] = useState(0);\n\n const itemRef = useRef();\n const loyaltyMetricsSent = useRef(false);\n\n useEffect(() => {\n const callback = (nextClubDiscount) =>\n setClubDiscount(typeof nextClubDiscount !== 'object' ? nextClubDiscount : undefined);\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, []);\n\n useEffect(() => {\n if (!place) return;\n\n const { id: [hotelId] = [], isHotel } = place || {};\n const { variants = {} } = storeBanner || {};\n const { variants: clubVariants = [] } = club;\n if (hotelId && (Object.keys(variants).length || clubVariants.length)) {\n const nextBanner = variants[isHotel && hotelId] || storeBanner || {};\n const clubVariant = isHotel\n ? clubVariants?.find(({ id = '' } = {}) => id.toString() === hotelId.toString())\n : club;\n\n nextBanner && setBanner({ ...banner, ...nextBanner });\n setClubActive(clubVariant?.active);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n const handleExpanded = () => {\n setExpanded(!expanded);\n };\n\n const handlePressBenefit = (index) => {\n setScrollIndex(index);\n isClub &&\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_LOYALTY_INTERACTION,\n action: 'loyalty_banner_interaction',\n loyalty_interaction_subtype: 'slider_move',\n });\n };\n\n const handlePressFilter = (value) => {\n Event.publish(EVENT.RATES_FILTER_CLUB, value);\n isClub &&\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_LOYALTY_INTERACTION,\n action: 'loyalty_banner_interaction',\n loyalty_interaction_subtype: 'discount_toggle',\n loyalty_discount_active: value,\n });\n };\n\n const Filter = () => (\n <View row className={style.filter}>\n <Text action medium>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n <Switch\n checked={clubDiscount}\n name={`switch`}\n onChange={handlePressFilter}\n aria-label={translate(L10N.LABEL_ONLY_MEMBERS)}\n />\n </View>\n );\n\n const { benefits = [], description = {}, isClub, title, url } = banner || {};\n const buttonProps = { secondary: true, squared: true, rounded: true };\n const lastBenefit = scrollIndex === benefits.length - 4;\n const locale = getNormalizedLocale(stateLocale);\n const shouldRender = (clubActive && !session) || (!isClub && banner);\n\n useEffect(() => {\n if (skeleton || loyaltyMetricsSent.current) return;\n\n const timeout = setTimeout(() => {\n loyaltyMetricsSent.current = true;\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_LOYALTY_READY,\n isClub,\n clubActive,\n shouldRender: !!shouldRender,\n hasSession: !!session,\n hasTitle: !!title,\n hasBanner: !!banner && Object.keys(banner).length > 0,\n });\n }, 0);\n\n return () => clearTimeout(timeout);\n }, [clubActive, banner, isClub, shouldRender, title, session, skeleton]);\n\n return shouldRender && skeleton ? (\n <Skeleton />\n ) : shouldRender && title ? (\n <View testId={others.testId} className={[style.container, others.className]}>\n <View row className={style.highlight}>\n <View>\n <Text bold brand headline level={isDesktop ? 2 : 3} className={style.title}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n {url && (\n <>\n {' '}\n <Action bold href={url} target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n {clubConditions && (\n <Text action={isDesktop} small={!isDesktop}>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n )}\n </View>\n\n {isMobile ? (\n <Button small squared transparent onPress={handleExpanded}>\n <Icon value={expanded ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n </Button>\n ) : (\n clubDiscount !== undefined && <Filter />\n )}\n </View>\n\n {(!isMobile || expanded) && benefits.length > 0 && (\n <View row wide>\n {!isMobile && scrollIndex !== 0 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(scrollIndex - 1)}>\n <Icon value={ICON.LEFT} />\n </Button>\n )}\n\n {React.createElement(\n isMobile ? View : ScrollView,\n {\n ...(!isMobile\n ? {\n horizontal: !isMobile,\n scrollTo: scrollIndex * (itemRef?.current?.offsetWidth || BENEFIT_MIN_WIDTH),\n }\n : {}),\n className: style.list,\n },\n benefits.map(({ description = {}, icon } = {}, index) => (\n <View ref={index === 0 ? itemRef : undefined} row key={index}>\n <Icon accent headline level={!isDesktop ? 3 : 2} value={ICON[icon] || ICON.AMENITY} />\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n )),\n )}\n\n {!isMobile && benefits.length > 4 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)}>\n <Icon value={lastBenefit ? ICON.REPLAY : ICON.RIGHT} />\n </Button>\n )}\n </View>\n )}\n\n {isMobile && clubDiscount !== undefined && <Filter />}\n </View>\n ) : null;\n};\n\nBanner.displayName = 'Mirai:Core:Banner';\n\nBanner.propTypes = {\n clubConditions: PropTypes.string,\n};\n\nexport { Banner };\n"],"mappings":"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","ignoreList":[]}
@@ -5,15 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.fetchConfig = void 0;
7
7
  var _services = require("@mirai/services");
8
- const fetchConfig = function () {
8
+ var _trackError = require("./trackError");
9
+ const fetchConfig = async function () {
9
10
  let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
10
11
  id = _ref.id,
11
12
  _ref$type = _ref.type,
12
13
  type = _ref$type === void 0 ? 'hotel' : _ref$type;
13
- return id ? _services.ServiceEngine.get({
14
+ return id ? (await _services.ServiceEngine.get({
14
15
  id,
15
16
  type
16
- }) : undefined;
17
+ }).catch(error => {
18
+ (0, _trackError.trackError)('Error loading json config', (error === null || error === void 0 ? void 0 : error.stack) || JSON.stringify(error), true);
19
+ })) || {} : undefined;
17
20
  };
18
21
  exports.fetchConfig = fetchConfig;
19
22
  //# sourceMappingURL=fetchConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchConfig.js","names":["_services","require","fetchConfig","_ref","arguments","length","undefined","id","_ref$type","type","ServiceEngine","get","exports"],"sources":["../../src/helpers/fetchConfig.js"],"sourcesContent":["import { ServiceEngine } from '@mirai/services';\n\nexport const fetchConfig = ({ id, type = 'hotel' } = {}) => (id ? ServiceEngine.get({ id, type }) : undefined);\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEO,MAAMC,WAAW,GAAG,SAAAA,CAAA;EAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAA0B,CAAC,CAAC;IAAzBG,EAAE,GAAAJ,IAAA,CAAFI,EAAE;IAAAC,SAAA,GAAAL,IAAA,CAAEM,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA;EAAA,OAAaD,EAAE,GAAGG,uBAAa,CAACC,GAAG,CAAC;IAAEJ,EAAE;IAAEE;EAAK,CAAC,CAAC,GAAGH,SAAS;AAAA,CAAC;AAACM,OAAA,CAAAV,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"file":"fetchConfig.js","names":["_services","require","_trackError","fetchConfig","_ref","arguments","length","undefined","id","_ref$type","type","ServiceEngine","get","catch","error","trackError","stack","JSON","stringify","exports"],"sources":["../../src/helpers/fetchConfig.js"],"sourcesContent":["import { ServiceEngine } from '@mirai/services';\n\nimport { trackError } from './trackError';\n\nexport const fetchConfig = async ({ id, type = 'hotel' } = {}) =>\n id\n ? (await ServiceEngine.get({ id, type }).catch((error) => {\n trackError('Error loading json config', error?.stack || JSON.stringify(error), true);\n })) || {}\n : undefined;\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAEO,MAAME,WAAW,GAAG,eAAAA,CAAA;EAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAgC,CAAC,CAAC;IAAzBG,EAAE,GAAAJ,IAAA,CAAFI,EAAE;IAAAC,SAAA,GAAAL,IAAA,CAAEM,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA;EAAA,OACpDD,EAAE,GACE,CAAC,MAAMG,uBAAa,CAACC,GAAG,CAAC;IAAEJ,EAAE;IAAEE;EAAK,CAAC,CAAC,CAACG,KAAK,CAAEC,KAAK,IAAK;IACtD,IAAAC,sBAAU,EAAC,2BAA2B,EAAE,CAAAD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,KAAK,KAAIC,IAAI,CAACC,SAAS,CAACJ,KAAK,CAAC,EAAE,IAAI,CAAC;EACtF,CAAC,CAAC,KAAK,CAAC,CAAC,GACTP,SAAS;AAAA;AAACY,OAAA,CAAAhB,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -120,9 +120,9 @@ const initializeErrorTracking = () => {
120
120
  return removeGlobalErrorListeners;
121
121
  };
122
122
  exports.initializeErrorTracking = initializeErrorTracking;
123
- const trackError = (errorMessage, errorStack) => {
123
+ const trackError = (errorMessage, errorStack, overrideTrakingEnabled) => {
124
124
  if (typeof errorMessage !== 'string' || errorMessage.trim() === '') return;
125
- if (window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com' || !isErrorTrackingEnabled()) return;
125
+ if (window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com' || !isErrorTrackingEnabled() && !overrideTrakingEnabled) return;
126
126
  _services.ServiceAnna.track(_objectSpread(_objectSpread({}, errorContext), {}, {
127
127
  errorMessage,
128
128
  errorStack: errorStack ? typeof errorStack === 'object' ? JSON.stringify(errorStack) : String(errorStack) : undefined,
@@ -1 +1 @@
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":"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","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","overrideTrakingEnabled","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, overrideTrakingEnabled) => {\n if (typeof errorMessage !== 'string' || errorMessage.trim() === '') return;\n if (\n window.IS_PLAYWRIGHT ||\n window.location.host === 'monalisa.mirai.com' ||\n (!isErrorTrackingEnabled() && !overrideTrakingEnabled)\n )\n 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":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.673",
3
+ "version": "0.4.674",
4
4
  "source": "src/index.js",
5
5
  "files": [
6
6
  "build"