@mirai/core 0.4.98 → 0.4.100

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.
@@ -8,10 +8,11 @@ var _locale = require("@mirai/locale");
8
8
  var _duetto = require("./duetto");
9
9
  var _helpers = require("./helpers");
10
10
  var _helpers2 = require("../../../../components/helpers");
11
+ var _helpers3 = require("../../../../components/Rates/helpers");
11
12
  var _Core = require("../../../../Core.constants");
12
- var _helpers3 = require("../../../../helpers");
13
- var _helpers4 = require("../../helpers");
14
- var _helpers5 = require("../helpers");
13
+ var _helpers4 = require("../../../../helpers");
14
+ var _helpers5 = require("../../helpers");
15
+ var _helpers6 = require("../helpers");
15
16
  var _legacy = require("../helpers/legacy");
16
17
  const ACCOMMODATION_TYPE_NAME = Object.keys(_Core.ACCOMMODATION_TYPE);
17
18
  const ratesResponse = function () {
@@ -38,13 +39,15 @@ const ratesResponse = function () {
38
39
  } = {},
39
40
  hotel: {
40
41
  accommodationType,
42
+ features = {},
41
43
  variants = {},
42
44
  ...hotel
43
45
  } = {},
44
46
  id,
45
47
  language,
46
48
  session,
47
- type
49
+ type,
50
+ urlParams
48
51
  } = {}
49
52
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
50
53
  // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------
@@ -54,7 +57,7 @@ const ratesResponse = function () {
54
57
  idtokenprovider: hotelId,
55
58
  // ? TODO: Could we take it from store?
56
59
  roomTypeId
57
- } = (0, _helpers3.fetchUrlParams)(location.search);
60
+ } = (0, _helpers4.fetchUrlParams)(location.search);
58
61
 
59
62
  // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------
60
63
  const {
@@ -82,10 +85,13 @@ const ratesResponse = function () {
82
85
  const {
83
86
  minRate,
84
87
  maxRate
85
- } = (0, _helpers5.getRatesPriceRange)(rates, hotelCurrency);
88
+ } = (0, _helpers6.getRatesPriceRange)(rates, hotelCurrency);
86
89
  const {
87
90
  days: nights
88
91
  } = (0, _locale.dateDiff)(...calendar);
92
+ const {
93
+ showPricePerNight = false
94
+ } = (0, _helpers3.getFeatures)(features, urlParams);
89
95
  const step = hotels && !calendarSuggestion && searchCategory ? 'CHAINRESULT' : 'BOOKINGSTEP1';
90
96
  const common = {
91
97
  ...(!rates && (hotelInfoBAR === null || hotelInfoBAR === void 0 ? void 0 : hotelInfoBAR.length) === 0 ? {
@@ -110,6 +116,7 @@ const ratesResponse = function () {
110
116
  numAdults: adults,
111
117
  numChildren: children,
112
118
  numRooms: occupation.length,
119
+ pricePerNight: showPricePerNight,
113
120
  propertyName,
114
121
  propertyType,
115
122
  ...(!rates && hotelInfoBAR ? {
@@ -199,7 +206,7 @@ const ratesResponse = function () {
199
206
  }).join(','),
200
207
  lowestRate: (0, _legacy.formatPrice)(hotelInfoBAR[0].bestAvailableRate.totalPrice.internalWithTaxes / nights, hotelInfoBAR[0].currency)
201
208
  } : common;
202
- (0, _helpers4.dataLayerPush)((0, _helpers.getInitEvent)({
209
+ (0, _helpers5.dataLayerPush)((0, _helpers.getInitEvent)({
203
210
  mobile,
204
211
  hotel: {
205
212
  accommodationType,
@@ -210,7 +217,7 @@ const ratesResponse = function () {
210
217
  step,
211
218
  type
212
219
  }));
213
- (0, _helpers4.dataLayerPush)({
220
+ (0, _helpers5.dataLayerPush)({
214
221
  event: rates || (hotelInfoBAR === null || hotelInfoBAR === void 0 ? void 0 : hotelInfoBAR.length) > 0 ? 'mirai.Availability' : 'mirai.noAvailability',
215
222
  'mirai.data': dataLayer
216
223
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ratesResponse.js","names":["_locale","require","_duetto","_helpers","_helpers2","_Core","_helpers3","_helpers4","_helpers5","_legacy","ACCOMMODATION_TYPE_NAME","Object","keys","ACCOMMODATION_TYPE","ratesResponse","_variants$hotelId","device","mobile","response","calendar","calendarSuggestion","hotels","infantAge","tracking","store","currency","finder","occupation","place","title","searchCategory","promocode","hotel","accommodationType","variants","id","language","session","type","arguments","length","undefined","idchain","idoffers","idtokenprovider","hotelId","roomTypeId","fetchUrlParams","location","search","country","hotelInfo","hotelCurrency","propertyName","propertyType","hotelInfoBAR","localTaxesIncluded","rates","taxesIncluded","userCurrency","value","userCurrencyValue","adults","children","getOccupationTotals","minRate","maxRate","getRatesPriceRange","days","nights","dateDiff","step","common","availability","chainId","checkin","dateFormat","format","checkout","coupon","home","document","hostname","idOffer","parseInt","idRoom","lodgingDenomination","multiroom","numAdults","numChildren","numRooms","userCountry","userLogged","dataLayer","code","exchangeRate","highestRate","parseRate","lowestRate","ratesByRoom","values","map","name","occupationOptions","occupations","numFirstRangeChildren","numSecondRangeChildren","boardOptions","boards","totalBasePrice","totalLocalTaxes","totalPriceWithTaxes","localTaxes","formatPrice","netPrice","taxes","hotelIds","idTokenProvider","join","hotelNames","hotelName","bestAvailableRate","totalPrice","internalWithTaxes","dataLayerPush","getInitEvent","event","duettoRatesResponse","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/ratesResponse.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\nimport { ratesResponse as duettoRatesResponse } from './duetto';\nimport { getInitEvent, parseRate } from './helpers';\nimport { getOccupationTotals } from '../../../../components/helpers';\nimport { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { dataLayerPush } from '../../helpers';\nimport { getRatesPriceRange } from '../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const ratesResponse = ({\n device: { mobile } = {},\n response: { calendar: calendarSuggestion, hotels, infantAge, tracking = {} } = {},\n store: {\n currency,\n finder: { calendar = [], occupation = [], place: { title: searchCategory } = {}, promocode = '' } = {},\n hotel: { accommodationType, variants = {}, ...hotel } = {},\n id,\n language,\n session,\n type,\n } = {},\n} = {}) => {\n // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------\n const {\n idchain,\n idoffers,\n idtokenprovider: hotelId, // ? TODO: Could we take it from store?\n roomTypeId,\n } = fetchUrlParams(location.search);\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n country,\n hotelInfo: { currency: hotelCurrency = {}, propertyName, propertyType } = {},\n hotelInfoBAR,\n localTaxesIncluded,\n rates,\n taxesIncluded,\n userCurrency: { value: userCurrencyValue } = {},\n } = tracking;\n\n const { adults = 0, children = 0 } = getOccupationTotals({ infantAge, occupation });\n const { minRate, maxRate } = getRatesPriceRange(rates, hotelCurrency);\n const { days: nights } = dateDiff(...calendar);\n\n const step = hotels && !calendarSuggestion && searchCategory ? 'CHAINRESULT' : 'BOOKINGSTEP1';\n const common = {\n ...(!rates && hotelInfoBAR?.length === 0 ? { availability: 'no' } : undefined),\n chainId: idchain,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n checkout: dateFormat(calendar[1], { format: 'DD/MM/YYYY' }),\n coupon: promocode,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n home: document.location.hostname,\n hotelId,\n idOffer: idoffers ? parseInt(idoffers) : undefined,\n idRoom: roomTypeId ? parseInt(roomTypeId) : undefined,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n multiroom: occupation.length > 1,\n numAdults: adults,\n numChildren: children,\n numRooms: occupation.length,\n propertyName,\n propertyType,\n ...(!rates && hotelInfoBAR ? { searchCategory } : undefined),\n step,\n userCountry: country,\n userLogged: !!session,\n };\n\n const dataLayer = rates\n ? {\n ...common,\n currency: hotelCurrency.code,\n exchangeRate: userCurrencyValue && hotelCurrency.value && userCurrencyValue / hotelCurrency.value,\n highestRate: parseRate(maxRate, hotelCurrency, nights),\n localTaxesIncluded,\n lowestRate: parseRate(minRate, hotelCurrency, nights),\n nights,\n ratesByRoom: Object.values(rates).map(({ id, name, occupationOptions = {} } = {}) => ({\n id,\n name,\n occupations: Object.values(occupationOptions).map(\n ({ numAdults = 0, numFirstRangeChildren = 0, numSecondRangeChildren = 0, id, rates = {} } = {}) => ({\n adults: numAdults,\n children: numFirstRangeChildren + numSecondRangeChildren,\n id,\n rates: Object.values(rates).map(({ boardOptions = {}, id, name } = {}) => ({\n boards: Object.values(boardOptions).map(\n ({ id, name, totalBasePrice, totalLocalTaxes = 0, totalPriceWithTaxes } = {}) => ({\n id,\n localTaxes: formatPrice(totalLocalTaxes, hotelCurrency),\n name,\n netPrice: formatPrice(totalBasePrice, hotelCurrency),\n taxes: formatPrice(totalPriceWithTaxes - totalBasePrice, hotelCurrency),\n }),\n ),\n id,\n name,\n })),\n }),\n ),\n })),\n taxesIncluded,\n userCurrency: currency,\n }\n : hotelInfoBAR?.length > 0\n ? {\n ...common,\n availability: 'yes',\n exchangeRate:\n userCurrencyValue && hotelInfoBAR[0].currency.value && userCurrencyValue / hotelInfoBAR[0].currency.value,\n hotelIds: hotelInfoBAR.map(({ idTokenProvider } = {}) => idTokenProvider).join(','),\n hotelNames: hotelInfoBAR.map(({ hotelName } = {}) => hotelName).join(','),\n lowestRate: formatPrice(\n hotelInfoBAR[0].bestAvailableRate.totalPrice.internalWithTaxes / nights,\n hotelInfoBAR[0].currency,\n ),\n }\n : common;\n\n dataLayerPush(getInitEvent({ mobile, hotel: { accommodationType, variants, ...hotel }, id, step, type }));\n dataLayerPush({\n event: rates || hotelInfoBAR?.length > 0 ? 'mirai.Availability' : 'mirai.noAvailability',\n 'mirai.data': dataLayer,\n });\n duettoRatesResponse({ ...common, hotelCurrency, rates });\n\n return dataLayer;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ratesResponse.js","names":["_locale","require","_duetto","_helpers","_helpers2","_helpers3","_Core","_helpers4","_helpers5","_helpers6","_legacy","ACCOMMODATION_TYPE_NAME","Object","keys","ACCOMMODATION_TYPE","ratesResponse","_variants$hotelId","device","mobile","response","calendar","calendarSuggestion","hotels","infantAge","tracking","store","currency","finder","occupation","place","title","searchCategory","promocode","hotel","accommodationType","features","variants","id","language","session","type","urlParams","arguments","length","undefined","idchain","idoffers","idtokenprovider","hotelId","roomTypeId","fetchUrlParams","location","search","country","hotelInfo","hotelCurrency","propertyName","propertyType","hotelInfoBAR","localTaxesIncluded","rates","taxesIncluded","userCurrency","value","userCurrencyValue","adults","children","getOccupationTotals","minRate","maxRate","getRatesPriceRange","days","nights","dateDiff","showPricePerNight","getFeatures","step","common","availability","chainId","checkin","dateFormat","format","checkout","coupon","home","document","hostname","idOffer","parseInt","idRoom","lodgingDenomination","multiroom","numAdults","numChildren","numRooms","pricePerNight","userCountry","userLogged","dataLayer","code","exchangeRate","highestRate","parseRate","lowestRate","ratesByRoom","values","map","name","occupationOptions","occupations","numFirstRangeChildren","numSecondRangeChildren","boardOptions","boards","totalBasePrice","totalLocalTaxes","totalPriceWithTaxes","localTaxes","formatPrice","netPrice","taxes","hotelIds","idTokenProvider","join","hotelNames","hotelName","bestAvailableRate","totalPrice","internalWithTaxes","dataLayerPush","getInitEvent","event","duettoRatesResponse","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/ratesResponse.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\nimport { ratesResponse as duettoRatesResponse } from './duetto';\nimport { getInitEvent, parseRate } from './helpers';\nimport { getOccupationTotals } from '../../../../components/helpers';\nimport { getFeatures } from '../../../../components/Rates/helpers';\nimport { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { dataLayerPush } from '../../helpers';\nimport { getRatesPriceRange } from '../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const ratesResponse = ({\n device: { mobile } = {},\n response: { calendar: calendarSuggestion, hotels, infantAge, tracking = {} } = {},\n store: {\n currency,\n finder: { calendar = [], occupation = [], place: { title: searchCategory } = {}, promocode = '' } = {},\n hotel: { accommodationType, features = {}, variants = {}, ...hotel } = {},\n id,\n language,\n session,\n type,\n urlParams,\n } = {},\n} = {}) => {\n // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------\n const {\n idchain,\n idoffers,\n idtokenprovider: hotelId, // ? TODO: Could we take it from store?\n roomTypeId,\n } = fetchUrlParams(location.search);\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n country,\n hotelInfo: { currency: hotelCurrency = {}, propertyName, propertyType } = {},\n hotelInfoBAR,\n localTaxesIncluded,\n rates,\n taxesIncluded,\n userCurrency: { value: userCurrencyValue } = {},\n } = tracking;\n\n const { adults = 0, children = 0 } = getOccupationTotals({ infantAge, occupation });\n const { minRate, maxRate } = getRatesPriceRange(rates, hotelCurrency);\n const { days: nights } = dateDiff(...calendar);\n const { showPricePerNight = false } = getFeatures(features, urlParams);\n\n const step = hotels && !calendarSuggestion && searchCategory ? 'CHAINRESULT' : 'BOOKINGSTEP1';\n const common = {\n ...(!rates && hotelInfoBAR?.length === 0 ? { availability: 'no' } : undefined),\n chainId: idchain,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n checkout: dateFormat(calendar[1], { format: 'DD/MM/YYYY' }),\n coupon: promocode,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n home: document.location.hostname,\n hotelId,\n idOffer: idoffers ? parseInt(idoffers) : undefined,\n idRoom: roomTypeId ? parseInt(roomTypeId) : undefined,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n multiroom: occupation.length > 1,\n numAdults: adults,\n numChildren: children,\n numRooms: occupation.length,\n pricePerNight: showPricePerNight,\n propertyName,\n propertyType,\n ...(!rates && hotelInfoBAR ? { searchCategory } : undefined),\n step,\n userCountry: country,\n userLogged: !!session,\n };\n\n const dataLayer = rates\n ? {\n ...common,\n currency: hotelCurrency.code,\n exchangeRate: userCurrencyValue && hotelCurrency.value && userCurrencyValue / hotelCurrency.value,\n highestRate: parseRate(maxRate, hotelCurrency, nights),\n localTaxesIncluded,\n lowestRate: parseRate(minRate, hotelCurrency, nights),\n nights,\n ratesByRoom: Object.values(rates).map(({ id, name, occupationOptions = {} } = {}) => ({\n id,\n name,\n occupations: Object.values(occupationOptions).map(\n ({ numAdults = 0, numFirstRangeChildren = 0, numSecondRangeChildren = 0, id, rates = {} } = {}) => ({\n adults: numAdults,\n children: numFirstRangeChildren + numSecondRangeChildren,\n id,\n rates: Object.values(rates).map(({ boardOptions = {}, id, name } = {}) => ({\n boards: Object.values(boardOptions).map(\n ({ id, name, totalBasePrice, totalLocalTaxes = 0, totalPriceWithTaxes } = {}) => ({\n id,\n localTaxes: formatPrice(totalLocalTaxes, hotelCurrency),\n name,\n netPrice: formatPrice(totalBasePrice, hotelCurrency),\n taxes: formatPrice(totalPriceWithTaxes - totalBasePrice, hotelCurrency),\n }),\n ),\n id,\n name,\n })),\n }),\n ),\n })),\n taxesIncluded,\n userCurrency: currency,\n }\n : hotelInfoBAR?.length > 0\n ? {\n ...common,\n availability: 'yes',\n exchangeRate:\n userCurrencyValue && hotelInfoBAR[0].currency.value && userCurrencyValue / hotelInfoBAR[0].currency.value,\n hotelIds: hotelInfoBAR.map(({ idTokenProvider } = {}) => idTokenProvider).join(','),\n hotelNames: hotelInfoBAR.map(({ hotelName } = {}) => hotelName).join(','),\n lowestRate: formatPrice(\n hotelInfoBAR[0].bestAvailableRate.totalPrice.internalWithTaxes / nights,\n hotelInfoBAR[0].currency,\n ),\n }\n : common;\n\n dataLayerPush(getInitEvent({ mobile, hotel: { accommodationType, variants, ...hotel }, id, step, type }));\n dataLayerPush({\n event: rates || hotelInfoBAR?.length > 0 ? 'mirai.Availability' : 'mirai.noAvailability',\n 'mirai.data': dataLayer,\n });\n duettoRatesResponse({ ...common, hotelCurrency, rates });\n\n return dataLayer;\n};\n"],"mappings":"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"}
@@ -40,12 +40,10 @@ const getPerformance = function () {
40
40
  type: _Core.TRACKING[key],
41
41
  instances: tracking[key].map(_ref => {
42
42
  let {
43
- configuration = {},
44
- id
43
+ configuration = {}
45
44
  } = _ref;
46
45
  return {
47
- ...(configuration !== null ? configuration : {}),
48
- id
46
+ ...(configuration !== null ? configuration : {})
49
47
  };
50
48
  })
51
49
  })) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"getPerformance.js","names":["_helpers","require","_Core","MONALISA_ID","getPerformance","tracking","trackingChain","trackingHotels","others","arguments","length","undefined","hotelId","IS_JEST","process","env","NODE_ENV","hotelTracking","find","idTokenProvider","id","parseInt","Object","keys","forEach","key","filter","TRACKING","map","type","instances","_ref","configuration","exports"],"sources":["../../src/helpers/getPerformance.js"],"sourcesContent":["import { IS_JEST } from '../components/helpers';\nimport { TRACKING } from '../Core.constants';\n\nconst MONALISA_ID = '100379008';\n\nexport const getPerformance = ({ tracking: { trackingChain, trackingHotels, ...others } = {} } = {}, hotelId) => {\n if (!IS_JEST && process.env.NODE_ENV !== 'production' && hotelId !== MONALISA_ID) return;\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n let tracking = others;\n\n if (trackingChain && trackingHotels) {\n tracking = { ...trackingChain };\n const hotelTracking = hotelId && trackingHotels.find(({ idTokenProvider: id } = {}) => id === parseInt(hotelId));\n\n hotelTracking &&\n Object.keys(tracking).forEach((key) => {\n tracking[key] = [...tracking[key], ...hotelTracking[key]];\n });\n }\n\n // ! -- TODO: Choose which one will load gtag\n return Object.keys(tracking).length > 0\n ? Object.keys(tracking)\n .filter((key) => !!TRACKING[key] && tracking[key].length > 0)\n .map((key) => ({\n type: TRACKING[key],\n instances: tracking[key].map(({ configuration = {}, id }) => ({\n ...(configuration !== null ? configuration : {}),\n id,\n })),\n }))\n : undefined;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,MAAME,WAAW,GAAG,WAAW;AAExB,MAAMC,cAAc,GAAG,SAAAA,CAAA,EAAmF;EAAA,IAAlF;IAAEC,QAAQ,EAAE;MAAEC,aAAa;MAAEC,cAAc;MAAE,GAAGC;IAAO,CAAC,GAAG,CAAC;EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEG,OAAO,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC1G,IAAI,CAACE,gBAAO,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIJ,OAAO,KAAKT,WAAW,EAAE;;EAElF;EACA,IAAIE,QAAQ,GAAGG,MAAM;EAErB,IAAIF,aAAa,IAAIC,cAAc,EAAE;IACnCF,QAAQ,GAAG;MAAE,GAAGC;IAAc,CAAC;IAC/B,MAAMW,aAAa,GAAGL,OAAO,IAAIL,cAAc,CAACW,IAAI,CAAC;MAAA,IAAC;QAAEC,eAAe,EAAEC;MAAG,CAAC,GAAAX,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKW,EAAE,KAAKC,QAAQ,CAACT,OAAO,CAAC;IAAA,EAAC;IAEhHK,aAAa,IACXK,MAAM,CAACC,IAAI,CAAClB,QAAQ,CAAC,CAACmB,OAAO,CAAEC,GAAG,IAAK;MACrCpB,QAAQ,CAACoB,GAAG,CAAC,GAAG,CAAC,GAAGpB,QAAQ,CAACoB,GAAG,CAAC,EAAE,GAAGR,aAAa,CAACQ,GAAG,CAAC,CAAC;IAC3D,CAAC,CAAC;EACN;;EAEA;EACA,OAAOH,MAAM,CAACC,IAAI,CAAClB,QAAQ,CAAC,CAACK,MAAM,GAAG,CAAC,GACnCY,MAAM,CAACC,IAAI,CAAClB,QAAQ,CAAC,CAClBqB,MAAM,CAAED,GAAG,IAAK,CAAC,CAACE,cAAQ,CAACF,GAAG,CAAC,IAAIpB,QAAQ,CAACoB,GAAG,CAAC,CAACf,MAAM,GAAG,CAAC,CAAC,CAC5DkB,GAAG,CAAEH,GAAG,KAAM;IACbI,IAAI,EAAEF,cAAQ,CAACF,GAAG,CAAC;IACnBK,SAAS,EAAEzB,QAAQ,CAACoB,GAAG,CAAC,CAACG,GAAG,CAACG,IAAA;MAAA,IAAC;QAAEC,aAAa,GAAG,CAAC,CAAC;QAAEZ;MAAG,CAAC,GAAAW,IAAA;MAAA,OAAM;QAC5D,IAAIC,aAAa,KAAK,IAAI,GAAGA,aAAa,GAAG,CAAC,CAAC,CAAC;QAChDZ;MACF,CAAC;IAAA,CAAC;EACJ,CAAC,CAAC,CAAC,GACLT,SAAS;AACf,CAAC;AAACsB,OAAA,CAAA7B,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"file":"getPerformance.js","names":["_helpers","require","_Core","MONALISA_ID","getPerformance","tracking","trackingChain","trackingHotels","others","arguments","length","undefined","hotelId","IS_JEST","process","env","NODE_ENV","hotelTracking","find","idTokenProvider","id","parseInt","Object","keys","forEach","key","filter","TRACKING","map","type","instances","_ref","configuration","exports"],"sources":["../../src/helpers/getPerformance.js"],"sourcesContent":["import { IS_JEST } from '../components/helpers';\nimport { TRACKING } from '../Core.constants';\n\nconst MONALISA_ID = '100379008';\n\nexport const getPerformance = ({ tracking: { trackingChain, trackingHotels, ...others } = {} } = {}, hotelId) => {\n if (!IS_JEST && process.env.NODE_ENV !== 'production' && hotelId !== MONALISA_ID) return;\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n let tracking = others;\n\n if (trackingChain && trackingHotels) {\n tracking = { ...trackingChain };\n const hotelTracking = hotelId && trackingHotels.find(({ idTokenProvider: id } = {}) => id === parseInt(hotelId));\n\n hotelTracking &&\n Object.keys(tracking).forEach((key) => {\n tracking[key] = [...tracking[key], ...hotelTracking[key]];\n });\n }\n\n // ! -- TODO: Choose which one will load gtag\n return Object.keys(tracking).length > 0\n ? Object.keys(tracking)\n .filter((key) => !!TRACKING[key] && tracking[key].length > 0)\n .map((key) => ({\n type: TRACKING[key],\n instances: tracking[key].map(({ configuration = {} }) => ({\n ...(configuration !== null ? configuration : {}),\n })),\n }))\n : undefined;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,MAAME,WAAW,GAAG,WAAW;AAExB,MAAMC,cAAc,GAAG,SAAAA,CAAA,EAAmF;EAAA,IAAlF;IAAEC,QAAQ,EAAE;MAAEC,aAAa;MAAEC,cAAc;MAAE,GAAGC;IAAO,CAAC,GAAG,CAAC;EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEG,OAAO,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC1G,IAAI,CAACE,gBAAO,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIJ,OAAO,KAAKT,WAAW,EAAE;;EAElF;EACA,IAAIE,QAAQ,GAAGG,MAAM;EAErB,IAAIF,aAAa,IAAIC,cAAc,EAAE;IACnCF,QAAQ,GAAG;MAAE,GAAGC;IAAc,CAAC;IAC/B,MAAMW,aAAa,GAAGL,OAAO,IAAIL,cAAc,CAACW,IAAI,CAAC;MAAA,IAAC;QAAEC,eAAe,EAAEC;MAAG,CAAC,GAAAX,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKW,EAAE,KAAKC,QAAQ,CAACT,OAAO,CAAC;IAAA,EAAC;IAEhHK,aAAa,IACXK,MAAM,CAACC,IAAI,CAAClB,QAAQ,CAAC,CAACmB,OAAO,CAAEC,GAAG,IAAK;MACrCpB,QAAQ,CAACoB,GAAG,CAAC,GAAG,CAAC,GAAGpB,QAAQ,CAACoB,GAAG,CAAC,EAAE,GAAGR,aAAa,CAACQ,GAAG,CAAC,CAAC;IAC3D,CAAC,CAAC;EACN;;EAEA;EACA,OAAOH,MAAM,CAACC,IAAI,CAAClB,QAAQ,CAAC,CAACK,MAAM,GAAG,CAAC,GACnCY,MAAM,CAACC,IAAI,CAAClB,QAAQ,CAAC,CAClBqB,MAAM,CAAED,GAAG,IAAK,CAAC,CAACE,cAAQ,CAACF,GAAG,CAAC,IAAIpB,QAAQ,CAACoB,GAAG,CAAC,CAACf,MAAM,GAAG,CAAC,CAAC,CAC5DkB,GAAG,CAAEH,GAAG,KAAM;IACbI,IAAI,EAAEF,cAAQ,CAACF,GAAG,CAAC;IACnBK,SAAS,EAAEzB,QAAQ,CAACoB,GAAG,CAAC,CAACG,GAAG,CAACG,IAAA;MAAA,IAAC;QAAEC,aAAa,GAAG,CAAC;MAAE,CAAC,GAAAD,IAAA;MAAA,OAAM;QACxD,IAAIC,aAAa,KAAK,IAAI,GAAGA,aAAa,GAAG,CAAC,CAAC;MACjD,CAAC;IAAA,CAAC;EACJ,CAAC,CAAC,CAAC,GACLrB,SAAS;AACf,CAAC;AAACsB,OAAA,CAAA7B,cAAA,GAAAA,cAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.98",
3
+ "version": "0.4.100",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",