@mirai/core 0.4.557 → 0.4.559
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/components/Chat/components/Message/helpers/formatText.js +1 -1
- package/build/components/Chat/components/Message/helpers/formatText.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js +2 -1
- package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ exports.formatText = exports.extractImageMarkdown = void 0;
|
|
|
7
7
|
var _ui = require("@mirai/ui");
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
const IMAGE_MARKDOWN_REGEX =
|
|
10
|
+
const IMAGE_MARKDOWN_REGEX = /!?\[[^\]]*]\((https?:\/\/[^\s)]+)\)/g;
|
|
11
11
|
const IMAGE_LIST_ITEM_REGEX = /^(?:(?:\d+\.|[-*])\s+)?(https?:\/\/[^\s)]+)\s*$/;
|
|
12
12
|
const IMAGE_URL_EXTENSION_REGEX = /\.(?:apng|avif|bmp|gif|jpe?g|png|svg|webp)(?:[?#][^\s)]*)?$/i;
|
|
13
13
|
const LIST_MARKER_ONLY_REGEX = /^(?:\d+[.)]|[-*])$/;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatText.js","names":["_ui","require","_react","_interopRequireDefault","e","__esModule","default","IMAGE_MARKDOWN_REGEX","IMAGE_LIST_ITEM_REGEX","IMAGE_URL_EXTENSION_REGEX","LIST_MARKER_ONLY_REGEX","LINK_TOKEN_REGEX","TRAILING_PUNCTUATION_REGEX","renderTextWithLineBreaks","value","keyPrefix","lines","split","length","flatMap","line","index","createElement","key","concat","isImageUrl","arguments","undefined","test","getImageListLineUrl","match","trim","imageUrl","normalizeTextAfterImageExtraction","compactedLines","map","replace","forEach","isEmptyLine","push","join","isListMarkerOnlyLine","extractImageMarkdown","text","imageUrls","imageItems","textWithoutMarkdownImages","sourceOffset","textWithoutImageList","filter","sort","a","b","_ref","nextText","exports","formatText","hasNewlines","includes","hasLinks","lastIndex","output","exec","rawMatch","markdownLabel","markdownUrl","rawUrl","matchIndex","beforeText","slice","renderedBefore","Array","isArray","linkUrl","linkLabel","Action","href","paragraph","rel","target","underline","remainingText","renderedRemaining"],"sources":["../../../../../../src/components/Chat/components/Message/helpers/formatText.js"],"sourcesContent":["import { Action } from '@mirai/ui';\nimport React from 'react';\n\nconst IMAGE_MARKDOWN_REGEX = /!\\[[^\\]]*]\\((https?:\\/\\/[^\\s)]+)\\)/g;\nconst IMAGE_LIST_ITEM_REGEX = /^(?:(?:\\d+\\.|[-*])\\s+)?(https?:\\/\\/[^\\s)]+)\\s*$/;\nconst IMAGE_URL_EXTENSION_REGEX = /\\.(?:apng|avif|bmp|gif|jpe?g|png|svg|webp)(?:[?#][^\\s)]*)?$/i;\nconst LIST_MARKER_ONLY_REGEX = /^(?:\\d+[.)]|[-*])$/;\nconst LINK_TOKEN_REGEX = /\\[([^\\]]+)\\]\\((https?:\\/\\/[^\\s)]+)\\)|(https?:\\/\\/[^\\s]+)/g;\nconst TRAILING_PUNCTUATION_REGEX = /[.,!?;:]$/;\n\nconst renderTextWithLineBreaks = (value, keyPrefix) => {\n const lines = value.split('\\n');\n\n if (lines.length === 1) return value;\n\n return lines.flatMap((line, index) => {\n if (index === lines.length - 1) return line;\n\n return [line, <br key={`${keyPrefix}-br-${index}`} />];\n });\n};\n\nconst isImageUrl = (value = '') => IMAGE_URL_EXTENSION_REGEX.test(value);\n\nconst getImageListLineUrl = (line = '') => {\n const match = line.trim().match(IMAGE_LIST_ITEM_REGEX);\n\n if (!match) return undefined;\n\n const [, imageUrl] = match;\n return isImageUrl(imageUrl) ? imageUrl : undefined;\n};\n\nconst normalizeTextAfterImageExtraction = (value = '') => {\n const compactedLines = [];\n const lines = value.split('\\n').map((line) => line.replace(/[ \\t]+$/g, ''));\n\n lines.forEach((line) => {\n const isEmptyLine = line.trim() === '';\n\n if (!isEmptyLine) return compactedLines.push(line);\n if (!compactedLines.length || compactedLines[compactedLines.length - 1] === '') return undefined;\n\n return compactedLines.push('');\n });\n\n return compactedLines.join('\\n').trim();\n};\n\nconst isListMarkerOnlyLine = (value = '') => LIST_MARKER_ONLY_REGEX.test(value.trim());\n\nexport const extractImageMarkdown = (text) => {\n if (!text) return { imageUrls: [], text };\n\n const imageItems = [];\n const textWithoutMarkdownImages = text.replace(IMAGE_MARKDOWN_REGEX, (match, imageUrl, index) => {\n if (!isImageUrl(imageUrl)) return match;\n\n imageItems.push({ imageUrl, index });\n return '';\n });\n\n let sourceOffset = 0;\n text.split('\\n').forEach((line) => {\n const imageUrl = getImageListLineUrl(line);\n if (imageUrl) imageItems.push({ imageUrl, index: sourceOffset });\n sourceOffset += line.length + 1;\n });\n\n if (!imageItems.length) return { imageUrls: [], text };\n\n const textWithoutImageList = textWithoutMarkdownImages\n .split('\\n')\n .filter((line) => !getImageListLineUrl(line) && !isListMarkerOnlyLine(line))\n .join('\\n');\n\n const imageUrls = imageItems.sort((a, b) => a.index - b.index).map(({ imageUrl }) => imageUrl);\n const nextText = normalizeTextAfterImageExtraction(textWithoutImageList);\n\n return { imageUrls, text: nextText };\n};\n\nexport const formatText = (text) => {\n if (!text) return text;\n\n const hasNewlines = text.includes('\\n');\n const hasLinks = LINK_TOKEN_REGEX.test(text);\n LINK_TOKEN_REGEX.lastIndex = 0;\n\n if (!hasLinks && !hasNewlines) return text;\n if (!hasLinks) return renderTextWithLineBreaks(text, 'text');\n\n const output = [];\n let lastIndex = 0;\n let match;\n\n while ((match = LINK_TOKEN_REGEX.exec(text)) !== null) {\n const [rawMatch, markdownLabel, markdownUrl, rawUrl] = match;\n const matchIndex = match.index;\n\n if (matchIndex > lastIndex) {\n const beforeText = text.slice(lastIndex, matchIndex);\n const renderedBefore = renderTextWithLineBreaks(beforeText, `text-${matchIndex}`);\n if (Array.isArray(renderedBefore)) {\n output.push(...renderedBefore);\n } else {\n output.push(renderedBefore);\n }\n }\n\n const linkUrl = (markdownUrl || rawUrl).replace(TRAILING_PUNCTUATION_REGEX, '');\n const linkLabel = markdownLabel || linkUrl;\n\n output.push(\n <Action key={`link-${matchIndex}`} href={linkUrl} paragraph rel=\"noopener noreferrer\" target=\"_blank\" underline>\n {linkLabel}\n </Action>,\n );\n\n lastIndex = matchIndex + rawMatch.length;\n }\n\n if (lastIndex < text.length) {\n const remainingText = text.slice(lastIndex);\n const renderedRemaining = renderTextWithLineBreaks(remainingText, `text-${lastIndex}`);\n if (Array.isArray(renderedRemaining)) {\n output.push(...renderedRemaining);\n } else {\n output.push(renderedRemaining);\n }\n }\n\n return output;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"formatText.js","names":["_ui","require","_react","_interopRequireDefault","e","__esModule","default","IMAGE_MARKDOWN_REGEX","IMAGE_LIST_ITEM_REGEX","IMAGE_URL_EXTENSION_REGEX","LIST_MARKER_ONLY_REGEX","LINK_TOKEN_REGEX","TRAILING_PUNCTUATION_REGEX","renderTextWithLineBreaks","value","keyPrefix","lines","split","length","flatMap","line","index","createElement","key","concat","isImageUrl","arguments","undefined","test","getImageListLineUrl","match","trim","imageUrl","normalizeTextAfterImageExtraction","compactedLines","map","replace","forEach","isEmptyLine","push","join","isListMarkerOnlyLine","extractImageMarkdown","text","imageUrls","imageItems","textWithoutMarkdownImages","sourceOffset","textWithoutImageList","filter","sort","a","b","_ref","nextText","exports","formatText","hasNewlines","includes","hasLinks","lastIndex","output","exec","rawMatch","markdownLabel","markdownUrl","rawUrl","matchIndex","beforeText","slice","renderedBefore","Array","isArray","linkUrl","linkLabel","Action","href","paragraph","rel","target","underline","remainingText","renderedRemaining"],"sources":["../../../../../../src/components/Chat/components/Message/helpers/formatText.js"],"sourcesContent":["import { Action } from '@mirai/ui';\nimport React from 'react';\n\nconst IMAGE_MARKDOWN_REGEX = /!?\\[[^\\]]*]\\((https?:\\/\\/[^\\s)]+)\\)/g;\nconst IMAGE_LIST_ITEM_REGEX = /^(?:(?:\\d+\\.|[-*])\\s+)?(https?:\\/\\/[^\\s)]+)\\s*$/;\nconst IMAGE_URL_EXTENSION_REGEX = /\\.(?:apng|avif|bmp|gif|jpe?g|png|svg|webp)(?:[?#][^\\s)]*)?$/i;\nconst LIST_MARKER_ONLY_REGEX = /^(?:\\d+[.)]|[-*])$/;\nconst LINK_TOKEN_REGEX = /\\[([^\\]]+)\\]\\((https?:\\/\\/[^\\s)]+)\\)|(https?:\\/\\/[^\\s]+)/g;\nconst TRAILING_PUNCTUATION_REGEX = /[.,!?;:]$/;\n\nconst renderTextWithLineBreaks = (value, keyPrefix) => {\n const lines = value.split('\\n');\n\n if (lines.length === 1) return value;\n\n return lines.flatMap((line, index) => {\n if (index === lines.length - 1) return line;\n\n return [line, <br key={`${keyPrefix}-br-${index}`} />];\n });\n};\n\nconst isImageUrl = (value = '') => IMAGE_URL_EXTENSION_REGEX.test(value);\n\nconst getImageListLineUrl = (line = '') => {\n const match = line.trim().match(IMAGE_LIST_ITEM_REGEX);\n\n if (!match) return undefined;\n\n const [, imageUrl] = match;\n return isImageUrl(imageUrl) ? imageUrl : undefined;\n};\n\nconst normalizeTextAfterImageExtraction = (value = '') => {\n const compactedLines = [];\n const lines = value.split('\\n').map((line) => line.replace(/[ \\t]+$/g, ''));\n\n lines.forEach((line) => {\n const isEmptyLine = line.trim() === '';\n\n if (!isEmptyLine) return compactedLines.push(line);\n if (!compactedLines.length || compactedLines[compactedLines.length - 1] === '') return undefined;\n\n return compactedLines.push('');\n });\n\n return compactedLines.join('\\n').trim();\n};\n\nconst isListMarkerOnlyLine = (value = '') => LIST_MARKER_ONLY_REGEX.test(value.trim());\n\nexport const extractImageMarkdown = (text) => {\n if (!text) return { imageUrls: [], text };\n\n const imageItems = [];\n const textWithoutMarkdownImages = text.replace(IMAGE_MARKDOWN_REGEX, (match, imageUrl, index) => {\n if (!isImageUrl(imageUrl)) return match;\n\n imageItems.push({ imageUrl, index });\n return '';\n });\n\n let sourceOffset = 0;\n text.split('\\n').forEach((line) => {\n const imageUrl = getImageListLineUrl(line);\n if (imageUrl) imageItems.push({ imageUrl, index: sourceOffset });\n sourceOffset += line.length + 1;\n });\n\n if (!imageItems.length) return { imageUrls: [], text };\n\n const textWithoutImageList = textWithoutMarkdownImages\n .split('\\n')\n .filter((line) => !getImageListLineUrl(line) && !isListMarkerOnlyLine(line))\n .join('\\n');\n\n const imageUrls = imageItems.sort((a, b) => a.index - b.index).map(({ imageUrl }) => imageUrl);\n const nextText = normalizeTextAfterImageExtraction(textWithoutImageList);\n\n return { imageUrls, text: nextText };\n};\n\nexport const formatText = (text) => {\n if (!text) return text;\n\n const hasNewlines = text.includes('\\n');\n const hasLinks = LINK_TOKEN_REGEX.test(text);\n LINK_TOKEN_REGEX.lastIndex = 0;\n\n if (!hasLinks && !hasNewlines) return text;\n if (!hasLinks) return renderTextWithLineBreaks(text, 'text');\n\n const output = [];\n let lastIndex = 0;\n let match;\n\n while ((match = LINK_TOKEN_REGEX.exec(text)) !== null) {\n const [rawMatch, markdownLabel, markdownUrl, rawUrl] = match;\n const matchIndex = match.index;\n\n if (matchIndex > lastIndex) {\n const beforeText = text.slice(lastIndex, matchIndex);\n const renderedBefore = renderTextWithLineBreaks(beforeText, `text-${matchIndex}`);\n if (Array.isArray(renderedBefore)) {\n output.push(...renderedBefore);\n } else {\n output.push(renderedBefore);\n }\n }\n\n const linkUrl = (markdownUrl || rawUrl).replace(TRAILING_PUNCTUATION_REGEX, '');\n const linkLabel = markdownLabel || linkUrl;\n\n output.push(\n <Action key={`link-${matchIndex}`} href={linkUrl} paragraph rel=\"noopener noreferrer\" target=\"_blank\" underline>\n {linkLabel}\n </Action>,\n );\n\n lastIndex = matchIndex + rawMatch.length;\n }\n\n if (lastIndex < text.length) {\n const remainingText = text.slice(lastIndex);\n const renderedRemaining = renderTextWithLineBreaks(remainingText, `text-${lastIndex}`);\n if (Array.isArray(renderedRemaining)) {\n output.push(...renderedRemaining);\n } else {\n output.push(renderedRemaining);\n }\n }\n\n return output;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -82,6 +82,7 @@ const ratesResponse = function () {
|
|
|
82
82
|
} = tracking;
|
|
83
83
|
const {
|
|
84
84
|
adults = 0,
|
|
85
|
+
babies = 0,
|
|
85
86
|
children = 0
|
|
86
87
|
} = (0, _helpers2.getOccupationTotals)({
|
|
87
88
|
infantAge,
|
|
@@ -123,7 +124,7 @@ const ratesResponse = function () {
|
|
|
123
124
|
lodgingDenomination: ACCOMMODATION_TYPE_NAME[((_variants$hotelId = variants[hotelId]) === null || _variants$hotelId === void 0 ? void 0 : _variants$hotelId.accommodationType) || accommodationType],
|
|
124
125
|
multiroom: occupation.length > 1,
|
|
125
126
|
numAdults: adults,
|
|
126
|
-
numChildren: children,
|
|
127
|
+
numChildren: babies + children,
|
|
127
128
|
numRooms: occupation.length,
|
|
128
129
|
pricePerNight: showPricePerNight,
|
|
129
130
|
propertyName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ratesResponse.js","names":["_locale","require","_duetto","_helpers","_helpers2","_helpers3","_Core","_helpers4","_helpers5","_helpers6","_legacy","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","ACCOMMODATION_TYPE_NAME","ACCOMMODATION_TYPE","ratesResponse","_variants$hotelId","device","mobile","response","calendar","calendarSuggestion","currency","finder","occupation","place","title","searchCategory","promocode","hotels","infantAge","language","session","tracking","store","hotel","accommodationType","features","variants","id","type","urlParams","undefined","idchain","idoffers","idtokenprovider","hotelId","roomTypeId","fetchUrlParams","location","search","country","hotelInfo","hotelCurrency","propertyName","propertyType","hotelInfoBAR","localTaxesIncluded","rates","taxesIncluded","userCurrency","userCurrencyValue","userLocation","adults","children","getOccupationTotals","minRate","maxRate","getRatesPriceRange","days","nights","dateDiff","showPricePerNight","getFeatures","has","hotelAvailability","chainAvailability","bestAvailableRate","availability","step","common","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","totalPrice","internalWithTaxes","cause","noAvailableReason","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: {\n calendar: calendarSuggestion,\n currency,\n finder: { calendar = [], occupation = [], place: { title: searchCategory } = {}, promocode = '' } = {},\n hotels,\n infantAge,\n language,\n session,\n tracking = {},\n } = {},\n store: { hotel: { accommodationType, features = {}, variants = {} } = {}, id, type, urlParams } = {},\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 userLocation = {},\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 const has = {\n hotelAvailability: () => rates,\n chainAvailability: () => hotelInfoBAR?.length > 0 && hotelInfoBAR[0].bestAvailableRate,\n availability: () => has.hotelAvailability() || has.chainAvailability(),\n };\n\n const step = hotels && !calendarSuggestion && searchCategory ? 'CHAINRESULT' : 'BOOKINGSTEP1';\n const common = {\n ...(!has.availability() ? { 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 = has.hotelAvailability()\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 userLocation,\n }\n : has.chainAvailability()\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 userLocation,\n }\n : {\n ...common,\n cause: hotelInfoBAR?.length > 0 ? hotelInfoBAR[0].noAvailableReason : undefined,\n };\n\n dataLayerPush(getInitEvent({ mobile, hotel: { accommodationType, id: hotelId, variants }, id, step, type }));\n dataLayerPush({\n event: has.availability() ? '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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ratesResponse.js","names":["_locale","require","_duetto","_helpers","_helpers2","_helpers3","_Core","_helpers4","_helpers5","_helpers6","_legacy","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","ACCOMMODATION_TYPE_NAME","ACCOMMODATION_TYPE","ratesResponse","_variants$hotelId","device","mobile","response","calendar","calendarSuggestion","currency","finder","occupation","place","title","searchCategory","promocode","hotels","infantAge","language","session","tracking","store","hotel","accommodationType","features","variants","id","type","urlParams","undefined","idchain","idoffers","idtokenprovider","hotelId","roomTypeId","fetchUrlParams","location","search","country","hotelInfo","hotelCurrency","propertyName","propertyType","hotelInfoBAR","localTaxesIncluded","rates","taxesIncluded","userCurrency","userCurrencyValue","userLocation","adults","babies","children","getOccupationTotals","minRate","maxRate","getRatesPriceRange","days","nights","dateDiff","showPricePerNight","getFeatures","has","hotelAvailability","chainAvailability","bestAvailableRate","availability","step","common","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","totalPrice","internalWithTaxes","cause","noAvailableReason","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: {\n calendar: calendarSuggestion,\n currency,\n finder: { calendar = [], occupation = [], place: { title: searchCategory } = {}, promocode = '' } = {},\n hotels,\n infantAge,\n language,\n session,\n tracking = {},\n } = {},\n store: { hotel: { accommodationType, features = {}, variants = {} } = {}, id, type, urlParams } = {},\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 userLocation = {},\n } = tracking;\n\n const { adults = 0, babies = 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 const has = {\n hotelAvailability: () => rates,\n chainAvailability: () => hotelInfoBAR?.length > 0 && hotelInfoBAR[0].bestAvailableRate,\n availability: () => has.hotelAvailability() || has.chainAvailability(),\n };\n\n const step = hotels && !calendarSuggestion && searchCategory ? 'CHAINRESULT' : 'BOOKINGSTEP1';\n const common = {\n ...(!has.availability() ? { 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: babies + 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 = has.hotelAvailability()\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 userLocation,\n }\n : has.chainAvailability()\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 userLocation,\n }\n : {\n ...common,\n cause: hotelInfoBAR?.length > 0 ? hotelInfoBAR[0].noAvailableReason : undefined,\n };\n\n dataLayerPush(getInitEvent({ mobile, hotel: { accommodationType, id: hotelId, variants }, id, step, type }));\n dataLayerPush({\n event: has.availability() ? '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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","ignoreList":[]}
|