@mirai/core 0.3.252 → 0.3.253

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.
@@ -211,9 +211,7 @@ const Unavailability = _ref => {
211
211
  } = _ref2;
212
212
  return /*#__PURE__*/_react.default.createElement(_shared__.Card, {
213
213
  key: "rooms:".concat(index)
214
- }, /*#__PURE__*/_react.default.createElement(_ui.View, {
215
- className: style._card
216
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
214
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
217
215
  bold: true,
218
216
  capitalize: true,
219
217
  headline: !isMobile,
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotel","email","phone","hotels","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","currency","finder","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","rooms","undefined","map","handleFinder","isCalendar","focus","renderPrice","price","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","inline","href","concat","place","id","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","taxes","index","Card","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref2","_card","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, OCCUPATION_TYPE } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const renderContactInfo = () => (\n <Text action={!isMobile} small={isMobile} className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action inline href={`mailto:${email}`} small={isMobile} target=\"_blank\" className={style.action}>\n {email}\n </Action>\n ),\n phone: (\n <Action inline href={`tel:${phone}`} small={isMobile} target=\"_blank\" className={style.action}>\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n {!isMobile && renderContactInfo()}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <Cards>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {occupationSuggestions.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View className={style._card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} lighten small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotel","email","phone","hotels","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","currency","finder","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","rooms","undefined","map","handleFinder","isCalendar","focus","renderPrice","price","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","inline","href","concat","place","id","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","taxes","index","Card","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, OCCUPATION_TYPE } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const renderContactInfo = () => (\n <Text action={!isMobile} small={isMobile} className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action inline href={`mailto:${email}`} small={isMobile} target=\"_blank\" className={style.action}>\n {email}\n </Action>\n ),\n phone: (\n <Action inline href={`tel:${phone}`} small={isMobile} target=\"_blank\" className={style.action}>\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n {!isMobile && renderContactInfo()}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <Cards>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {occupationSuggestions.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} lighten small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
@@ -102,7 +102,7 @@ const SelectEnvironment = _ref => {
102
102
  type: 'currency'
103
103
  }).of(item))) : locales.length > 0 ? _SelectEnvironment.LANGUAGES.filter((_, index) => locales.includes(_SelectEnvironment.LOCALES[index])) : _SelectEnvironment.LANGUAGES,
104
104
  value: is.currency ? currency : locale,
105
- values: is.currency ? _SelectEnvironment.CURRENCIES : _SelectEnvironment.LOCALES,
105
+ values: is.currency ? _SelectEnvironment.CURRENCIES : locales.length > 0 ? _SelectEnvironment.LOCALES.filter(locale => locales.includes(locale)) : _SelectEnvironment.LOCALES,
106
106
  onChange: handleChange,
107
107
  className: style.input,
108
108
  testId: testId
@@ -1 +1 @@
1
- {"version":3,"file":"SelectEnvironment.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_SelectEnvironment","_SelectEnvironment2","style","_interopRequireWildcard","_getLocale2","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","SelectEnvironment","_ref","compacted","name","small","others","isMobile","useDevice","translate","useLocale","value","currency","language","locale","locales","useStore","is","handleChange","next","event","replaceUrlParams","_getLocale","lang","split","nextLocale","getLocale","undefined","join","Event","publish","EVENT","INTENT_ENVIRONMENT","className","testId","createElement","Tooltip","text","L10N","LABEL_SELECT_CURRENCY","LABEL_SELECT_LANGUAGE","View","row","styles","selectEnvironment","caption","Icon","headline","level","ICON","CURRENCY","LANGUAGE","Text","action","bold","LANGUAGES","LOCALES","findIndex","includes","Select","options","CURRENCIES","map","item","concat","Intl","DisplayNames","type","of","length","filter","_","index","values","onChange","input","exports","displayName","propTypes","PropTypes","bool","oneOf","isRequired"],"sources":["../../../../src/components/__shared__/SelectEnvironment/SelectEnvironment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Select, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { CURRENCIES, LANGUAGES, LOCALES } from './SelectEnvironment.constants';\nimport { L10N } from './SelectEnvironment.l10n';\nimport * as style from './SelectEnvironment.module.css';\nimport { getLocale } from '../../../helpers/getLocale';\nimport { EVENT, ICON, replaceUrlParams } from '../../helpers';\n\nconst SelectEnvironment = ({ compacted = false, name, small = false, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { currency, language, locale, locales = [] },\n } = useStore();\n\n const is = {\n currency: name === 'currency',\n locale: name === 'locale',\n };\n\n const handleChange = (next) => {\n let event = { currency, locale };\n\n if (is.currency) {\n event = { ...event, currency: next };\n replaceUrlParams({ currency: next });\n // ? Something is wrong with this event when has been subscribed in Core.jsx\n // Event.publish(EVENT.INTENT_CURRENCY, { currency: next });\n } else if (is.locale) {\n const [lang] = next.split('-');\n const nextLocale = getLocale(undefined, { lang })?.join('-');\n event = { ...event, locale: nextLocale };\n replaceUrlParams({ lang, locale: nextLocale });\n // ? Something is wrong with this event when has been subscribed in Core.jsx\n // Event.publish(EVENT.INTENT_LOCALE, { locale: next });\n }\n\n Event.publish(EVENT.INTENT_ENVIRONMENT, event);\n };\n\n const { className, testId } = others;\n\n return (\n <Tooltip\n text={!isMobile ? translate(is.currency ? L10N.LABEL_SELECT_CURRENCY : L10N.LABEL_SELECT_LANGUAGE) : undefined}\n >\n <View row className={styles(style.selectEnvironment, small && style.small, className)}>\n <View row className={style.caption}>\n <Icon headline level={2} value={is.currency ? ICON.CURRENCY : ICON.LANGUAGE} />\n {!compacted && (\n <Text action={!isMobile} bold small={isMobile}>\n {is.currency ? currency : LANGUAGES[LOCALES.findIndex((locale) => locale.includes(language))]}\n </Text>\n )}\n </View>\n <Select\n name={name}\n options={\n is.currency\n ? CURRENCIES.map((item) => `${item} - ${new Intl.DisplayNames(locale, { type: 'currency' }).of(item)}`)\n : locales.length > 0\n ? LANGUAGES.filter((_, index) => locales.includes(LOCALES[index]))\n : LANGUAGES\n }\n value={is.currency ? currency : locale}\n values={is.currency ? CURRENCIES : LOCALES}\n onChange={handleChange}\n className={style.input}\n testId={testId}\n />\n </View>\n </Tooltip>\n );\n};\n\nSelectEnvironment.displayName = 'Mirai:Core:SelectEnvironment';\n\nSelectEnvironment.propTypes = {\n compacted: PropTypes.bool,\n name: PropTypes.oneOf(['currency', 'locale']).isRequired,\n small: PropTypes.bool,\n};\n\nexport { SelectEnvironment };\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectEnvironment.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_SelectEnvironment","_SelectEnvironment2","style","_interopRequireWildcard","_getLocale2","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","SelectEnvironment","_ref","compacted","name","small","others","isMobile","useDevice","translate","useLocale","value","currency","language","locale","locales","useStore","is","handleChange","next","event","replaceUrlParams","_getLocale","lang","split","nextLocale","getLocale","undefined","join","Event","publish","EVENT","INTENT_ENVIRONMENT","className","testId","createElement","Tooltip","text","L10N","LABEL_SELECT_CURRENCY","LABEL_SELECT_LANGUAGE","View","row","styles","selectEnvironment","caption","Icon","headline","level","ICON","CURRENCY","LANGUAGE","Text","action","bold","LANGUAGES","LOCALES","findIndex","includes","Select","options","CURRENCIES","map","item","concat","Intl","DisplayNames","type","of","length","filter","_","index","values","onChange","input","exports","displayName","propTypes","PropTypes","bool","oneOf","isRequired"],"sources":["../../../../src/components/__shared__/SelectEnvironment/SelectEnvironment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Select, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { CURRENCIES, LANGUAGES, LOCALES } from './SelectEnvironment.constants';\nimport { L10N } from './SelectEnvironment.l10n';\nimport * as style from './SelectEnvironment.module.css';\nimport { getLocale } from '../../../helpers/getLocale';\nimport { EVENT, ICON, replaceUrlParams } from '../../helpers';\n\nconst SelectEnvironment = ({ compacted = false, name, small = false, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { currency, language, locale, locales = [] },\n } = useStore();\n\n const is = {\n currency: name === 'currency',\n locale: name === 'locale',\n };\n\n const handleChange = (next) => {\n let event = { currency, locale };\n\n if (is.currency) {\n event = { ...event, currency: next };\n replaceUrlParams({ currency: next });\n // ? Something is wrong with this event when has been subscribed in Core.jsx\n // Event.publish(EVENT.INTENT_CURRENCY, { currency: next });\n } else if (is.locale) {\n const [lang] = next.split('-');\n const nextLocale = getLocale(undefined, { lang })?.join('-');\n event = { ...event, locale: nextLocale };\n replaceUrlParams({ lang, locale: nextLocale });\n // ? Something is wrong with this event when has been subscribed in Core.jsx\n // Event.publish(EVENT.INTENT_LOCALE, { locale: next });\n }\n\n Event.publish(EVENT.INTENT_ENVIRONMENT, event);\n };\n\n const { className, testId } = others;\n\n return (\n <Tooltip\n text={!isMobile ? translate(is.currency ? L10N.LABEL_SELECT_CURRENCY : L10N.LABEL_SELECT_LANGUAGE) : undefined}\n >\n <View row className={styles(style.selectEnvironment, small && style.small, className)}>\n <View row className={style.caption}>\n <Icon headline level={2} value={is.currency ? ICON.CURRENCY : ICON.LANGUAGE} />\n {!compacted && (\n <Text action={!isMobile} bold small={isMobile}>\n {is.currency ? currency : LANGUAGES[LOCALES.findIndex((locale) => locale.includes(language))]}\n </Text>\n )}\n </View>\n <Select\n name={name}\n options={\n is.currency\n ? CURRENCIES.map((item) => `${item} - ${new Intl.DisplayNames(locale, { type: 'currency' }).of(item)}`)\n : locales.length > 0\n ? LANGUAGES.filter((_, index) => locales.includes(LOCALES[index]))\n : LANGUAGES\n }\n value={is.currency ? currency : locale}\n values={\n is.currency\n ? CURRENCIES\n : locales.length > 0\n ? LOCALES.filter((locale) => locales.includes(locale))\n : LOCALES\n }\n onChange={handleChange}\n className={style.input}\n testId={testId}\n />\n </View>\n </Tooltip>\n );\n};\n\nSelectEnvironment.displayName = 'Mirai:Core:SelectEnvironment';\n\nSelectEnvironment.propTypes = {\n compacted: PropTypes.bool,\n name: PropTypes.oneOf(['currency', 'locale']).isRequired,\n small: PropTypes.bool,\n};\n\nexport { SelectEnvironment };\n"],"mappings":"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"}
@@ -44,7 +44,7 @@ const extras = function () {
44
44
  currency: userCurrency,
45
45
  ...others,
46
46
  accessClubToken: authorization,
47
- lang: language,
47
+ lang: (0, _helpers.getLanguage)(language),
48
48
  rooms,
49
49
  offersAppliedBySelectedRoom,
50
50
  totalPrice: price
@@ -1 +1 @@
1
- {"version":3,"file":"extras.js","names":["_dataSources","require","_services","_constants","_helpers","GUEST","RANGE","ROOM","UNIT","EXTRA_TYPE","ADULT","CHILD","GUEST_TYPE","extras","adults","children","clubDiscount","applyClubDiscount","currency","userCurrency","hotelCurrency","locale","offersAppliedBySelectedRoom","price","rooms","session","authorization","others","arguments","length","undefined","Promise","resolve","reject","language","split","params","Object","entries","accessClubToken","lang","totalPrice","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","concat","URLSearchParams","headers","catch","error","result","sortedExtrasIds","ServiceCurrency","exchange","id","draft","includedInOffer","map","ageCategory","conditionDetails","conditions","defaultQuantity","description","included","guestsPresent","guestThreshold","name","title","nights","occupationsPresent","accommodationThreshold","perGuest","perNight","perRange","perReserve","perRoom","photo","image","priceOptionValues","priceOptions","showApplyNights","inputNights","showApplyPersons","inputGuests","subtitle","taxesInformation","taxes","text","guestType","type","amount","includes","discounts","discount","basePrice","withTaxes","find","_ref2","option","percent","originalPrice","getValue","base","fromEntries","Array","from","_","indexAmount","indexNights","withoutTaxes","_ref3","getAmount","getPrice","normalize","baseValue","frequency","FREQUENCY","NIGHTLY","ONCE","exports"],"sources":["../../../src/services/Rates/extras.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\n\nimport { EXTRA_TYPE, FREQUENCY, GUEST_TYPE } from './constants';\nimport { getPrice } from './helpers';\n\nconst { GUEST, RANGE, ROOM, UNIT } = EXTRA_TYPE;\nconst { ADULT, CHILD } = GUEST_TYPE;\n\nexport const extras = ({\n adults,\n children,\n clubDiscount: applyClubDiscount,\n currency: userCurrency,\n hotelCurrency = userCurrency,\n locale,\n offersAppliedBySelectedRoom,\n price,\n rooms,\n session: { authorization } = {},\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n if (!userCurrency || !locale) return reject();\n\n const language = locale?.split('-')[0];\n const params = Object.entries({\n applyClubDiscount,\n currency: userCurrency,\n ...others,\n accessClubToken: authorization,\n lang: language,\n rooms,\n offersAppliedBySelectedRoom,\n totalPrice: price,\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_extras_v2.json?${new URLSearchParams(params)}`,\n //TODO: back have to change the endpoint for don`t have remove this headers\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch((error) => {\n reject(error);\n });\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const { extras = {}, sortedExtrasIds = [] } = response;\n const currency = userCurrency || hotelCurrency;\n if (userCurrency !== hotelCurrency) await ServiceCurrency.exchange(currency);\n\n resolve({\n extras: sortedExtrasIds\n .filter((id) => {\n const { draft, includedInOffer } = extras[id] || {};\n\n return includedInOffer || !draft;\n })\n .map((id) => {\n const {\n ageCategory,\n conditionDetails: conditions,\n defaultQuantity,\n description,\n includedInOffer: included,\n guestsPresent: guestThreshold,\n name: title,\n nights,\n occupationsPresent: accommodationThreshold,\n perGuest,\n perNight,\n perRange,\n perReserve,\n perRoom,\n photo: image,\n priceOptionValues: priceOptions,\n showApplyNights: inputNights,\n showApplyPersons: inputGuests,\n subtitle,\n taxesInformation: taxes,\n } = extras[id] || {};\n\n const text = subtitle ? `${subtitle}. ${description}` : description;\n const guestType = GUEST_TYPE[ageCategory];\n const type = perRoom ? ROOM : perRange ? RANGE : perReserve ? UNIT : perGuest ? GUEST : undefined;\n const amount = [GUEST, RANGE].includes(type)\n ? guestType === ADULT\n ? adults\n : guestType === CHILD\n ? children\n : adults + children\n : defaultQuantity;\n\n const { discounts: [discount] = [], value: { price: basePrice, withTaxes: price } = {} } =\n priceOptions.find(({ option }) => option === amount) || priceOptions[0];\n const { percent, value: { price: originalPrice } = {} } = discount || {};\n\n const getValue = (base = false) =>\n Object.fromEntries(\n Array.from({ length: amount }, (_, indexAmount) => [\n indexAmount + 1,\n Object.fromEntries(\n Array.from({ length: nights }, (_, indexNights) => {\n const amount = indexAmount + 1;\n const nights = indexNights + 1;\n const { value: { price, withTaxes, withoutTaxes: basePrice } = {} } =\n priceOptions.find(({ option }) => option === amount) || priceOptions[0];\n const taxes = withTaxes - basePrice;\n\n const getAmount = (value) =>\n getPrice({\n currency,\n hotelCurrency: base ? currency : hotelCurrency,\n normalize: false,\n price: type !== RANGE ? (perNight ? amount * nights * value : amount * value) : value,\n });\n\n return [\n nights,\n { basePrice: getAmount(basePrice), price: getAmount(price), taxes: getAmount(taxes) },\n ];\n }),\n ),\n ]),\n );\n\n return {\n accommodationThreshold,\n amount,\n baseValue: getValue(true),\n conditions: conditions ? conditions : undefined,\n discount: discount && { originalPrice, percent },\n frequency: perNight ? FREQUENCY.NIGHTLY : FREQUENCY.ONCE,\n guestThreshold,\n guestType,\n id,\n image,\n included,\n inputGuests,\n inputNights,\n nights,\n taxes: price !== basePrice ? taxes : undefined,\n text: text ? text : undefined,\n title,\n type,\n value: getValue(),\n };\n })\n .filter(({ amount } = {}) => amount > 0),\n });\n });\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AALA;;AAOA,MAAM;EAAEI,KAAK;EAAEC,KAAK;EAAEC,IAAI;EAAEC;AAAK,CAAC,GAAGC,qBAAU;AAC/C,MAAM;EAAEC,KAAK;EAAEC;AAAM,CAAC,GAAGC,qBAAU;AAE5B,MAAMC,MAAM,GAAG,SAAAA,CAAA;EAAA,IAAC;IACrBC,MAAM;IACNC,QAAQ;IACRC,YAAY,EAAEC,iBAAiB;IAC/BC,QAAQ,EAAEC,YAAY;IACtBC,aAAa,GAAGD,YAAY;IAC5BE,MAAM;IACNC,2BAA2B;IAC3BC,KAAK;IACLC,KAAK;IACLC,OAAO,EAAE;MAAEC;IAAc,CAAC,GAAG,CAAC,CAAC;IAC/B,GAAGC;EACL,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OACJ,IAAIG,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;IACrC,IAAI,CAACd,YAAY,IAAI,CAACE,MAAM,EAAE,OAAOY,MAAM,CAAC,CAAC;IAE7C,MAAMC,QAAQ,GAAGb,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEc,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtC,MAAMC,MAAM,GAAGC,MAAM,CAACC,OAAO,CAAC;MAC5BrB,iBAAiB;MACjBC,QAAQ,EAAEC,YAAY;MACtB,GAAGQ,MAAM;MACTY,eAAe,EAAEb,aAAa;MAC9Bc,IAAI,EAAEN,QAAQ;MACdV,KAAK;MACLF,2BAA2B;MAC3BmB,UAAU,EAAElB;IACd,CAAC,CAAC,CAACmB,MAAM,CAACC,IAAA;MAAA,IAAC,GAAGC,KAAK,CAAC,GAAAD,IAAA;MAAA,OAAKC,KAAK,KAAKd,SAAS;IAAA,EAAC;IAE7C,MAAMe,QAAQ,GAAG,MAAM,IAAAC,oBAAO,EAAC;MAC7BC,QAAQ,EAAEC,OAAO,CAACC,GAAG,CAACC,eAAe;MACrCC,QAAQ,6BAAAC,MAAA,CAA6B,IAAIC,eAAe,CAACjB,MAAM,CAAC,CAAE;MAClE;MACAkB,OAAO,EAAE;QAAE,cAAc,EAAExB,SAAS;QAAE,kBAAkB,EAAEA;MAAU;IACtE,CAAC,CAAC,CAACyB,KAAK,CAAEC,KAAK,IAAK;MAClBvB,MAAM,CAACuB,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,CAACX,QAAQ,IAAIA,QAAQ,CAACY,MAAM,KAAK,WAAW,EAAE,OAAOxB,MAAM,CAAC;MAAEuB,KAAK,EAAE;IAAgC,CAAC,CAAC,CAAC,CAAC;;IAE7G,MAAM;MAAE3C,MAAM,GAAG,CAAC,CAAC;MAAE6C,eAAe,GAAG;IAAG,CAAC,GAAGb,QAAQ;IACtD,MAAM3B,QAAQ,GAAGC,YAAY,IAAIC,aAAa;IAC9C,IAAID,YAAY,KAAKC,aAAa,EAAE,MAAMuC,yBAAe,CAACC,QAAQ,CAAC1C,QAAQ,CAAC;IAE5Ec,OAAO,CAAC;MACNnB,MAAM,EAAE6C,eAAe,CACpBhB,MAAM,CAAEmB,EAAE,IAAK;QACd,MAAM;UAAEC,KAAK;UAAEC;QAAgB,CAAC,GAAGlD,MAAM,CAACgD,EAAE,CAAC,IAAI,CAAC,CAAC;QAEnD,OAAOE,eAAe,IAAI,CAACD,KAAK;MAClC,CAAC,CAAC,CACDE,GAAG,CAAEH,EAAE,IAAK;QACX,MAAM;UACJI,WAAW;UACXC,gBAAgB,EAAEC,UAAU;UAC5BC,eAAe;UACfC,WAAW;UACXN,eAAe,EAAEO,QAAQ;UACzBC,aAAa,EAAEC,cAAc;UAC7BC,IAAI,EAAEC,KAAK;UACXC,MAAM;UACNC,kBAAkB,EAAEC,sBAAsB;UAC1CC,QAAQ;UACRC,QAAQ;UACRC,QAAQ;UACRC,UAAU;UACVC,OAAO;UACPC,KAAK,EAAEC,KAAK;UACZC,iBAAiB,EAAEC,YAAY;UAC/BC,eAAe,EAAEC,WAAW;UAC5BC,gBAAgB,EAAEC,WAAW;UAC7BC,QAAQ;UACRC,gBAAgB,EAAEC;QACpB,CAAC,GAAGhF,MAAM,CAACgD,EAAE,CAAC,IAAI,CAAC,CAAC;QAEpB,MAAMiC,IAAI,GAAGH,QAAQ,MAAAvC,MAAA,CAAMuC,QAAQ,QAAAvC,MAAA,CAAKiB,WAAW,IAAKA,WAAW;QACnE,MAAM0B,SAAS,GAAGnF,qBAAU,CAACqD,WAAW,CAAC;QACzC,MAAM+B,IAAI,GAAGd,OAAO,GAAG3E,IAAI,GAAGyE,QAAQ,GAAG1E,KAAK,GAAG2E,UAAU,GAAGzE,IAAI,GAAGsE,QAAQ,GAAGzE,KAAK,GAAGyB,SAAS;QACjG,MAAMmE,MAAM,GAAG,CAAC5F,KAAK,EAAEC,KAAK,CAAC,CAAC4F,QAAQ,CAACF,IAAI,CAAC,GACxCD,SAAS,KAAKrF,KAAK,GACjBI,MAAM,GACNiF,SAAS,KAAKpF,KAAK,GACnBI,QAAQ,GACRD,MAAM,GAAGC,QAAQ,GACnBqD,eAAe;QAEnB,MAAM;UAAE+B,SAAS,EAAE,CAACC,QAAQ,CAAC,GAAG,EAAE;UAAExD,KAAK,EAAE;YAAErB,KAAK,EAAE8E,SAAS;YAAEC,SAAS,EAAE/E;UAAM,CAAC,GAAG,CAAC;QAAE,CAAC,GACtF+D,YAAY,CAACiB,IAAI,CAACC,KAAA;UAAA,IAAC;YAAEC;UAAO,CAAC,GAAAD,KAAA;UAAA,OAAKC,MAAM,KAAKR,MAAM;QAAA,EAAC,IAAIX,YAAY,CAAC,CAAC,CAAC;QACzE,MAAM;UAAEoB,OAAO;UAAE9D,KAAK,EAAE;YAAErB,KAAK,EAAEoF;UAAc,CAAC,GAAG,CAAC;QAAE,CAAC,GAAGP,QAAQ,IAAI,CAAC,CAAC;QAExE,MAAMQ,QAAQ,GAAG,SAAAA,CAAA;UAAA,IAACC,IAAI,GAAAjF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;UAAA,OAC5BS,MAAM,CAACyE,WAAW,CAChBC,KAAK,CAACC,IAAI,CAAC;YAAEnF,MAAM,EAAEoE;UAAO,CAAC,EAAE,CAACgB,CAAC,EAAEC,WAAW,KAAK,CACjDA,WAAW,GAAG,CAAC,EACf7E,MAAM,CAACyE,WAAW,CAChBC,KAAK,CAACC,IAAI,CAAC;YAAEnF,MAAM,EAAE8C;UAAO,CAAC,EAAE,CAACsC,CAAC,EAAEE,WAAW,KAAK;YACjD,MAAMlB,MAAM,GAAGiB,WAAW,GAAG,CAAC;YAC9B,MAAMvC,MAAM,GAAGwC,WAAW,GAAG,CAAC;YAC9B,MAAM;cAAEvE,KAAK,EAAE;gBAAErB,KAAK;gBAAE+E,SAAS;gBAAEc,YAAY,EAAEf;cAAU,CAAC,GAAG,CAAC;YAAE,CAAC,GACjEf,YAAY,CAACiB,IAAI,CAACc,KAAA;cAAA,IAAC;gBAAEZ;cAAO,CAAC,GAAAY,KAAA;cAAA,OAAKZ,MAAM,KAAKR,MAAM;YAAA,EAAC,IAAIX,YAAY,CAAC,CAAC,CAAC;YACzE,MAAMO,KAAK,GAAGS,SAAS,GAAGD,SAAS;YAEnC,MAAMiB,SAAS,GAAI1E,KAAK,IACtB,IAAA2E,iBAAQ,EAAC;cACPrG,QAAQ;cACRE,aAAa,EAAEyF,IAAI,GAAG3F,QAAQ,GAAGE,aAAa;cAC9CoG,SAAS,EAAE,KAAK;cAChBjG,KAAK,EAAEyE,IAAI,KAAK1F,KAAK,GAAIyE,QAAQ,GAAGkB,MAAM,GAAGtB,MAAM,GAAG/B,KAAK,GAAGqD,MAAM,GAAGrD,KAAK,GAAIA;YAClF,CAAC,CAAC;YAEJ,OAAO,CACL+B,MAAM,EACN;cAAE0B,SAAS,EAAEiB,SAAS,CAACjB,SAAS,CAAC;cAAE9E,KAAK,EAAE+F,SAAS,CAAC/F,KAAK,CAAC;cAAEsE,KAAK,EAAEyB,SAAS,CAACzB,KAAK;YAAE,CAAC,CACtF;UACH,CAAC,CACH,CAAC,CACF,CACH,CAAC;QAAA;QAEH,OAAO;UACLhB,sBAAsB;UACtBoB,MAAM;UACNwB,SAAS,EAAEb,QAAQ,CAAC,IAAI,CAAC;UACzBzC,UAAU,EAAEA,UAAU,GAAGA,UAAU,GAAGrC,SAAS;UAC/CsE,QAAQ,EAAEA,QAAQ,IAAI;YAAEO,aAAa;YAAED;UAAQ,CAAC;UAChDgB,SAAS,EAAE3C,QAAQ,GAAG4C,oBAAS,CAACC,OAAO,GAAGD,oBAAS,CAACE,IAAI;UACxDrD,cAAc;UACduB,SAAS;UACTlC,EAAE;UACFuB,KAAK;UACLd,QAAQ;UACRoB,WAAW;UACXF,WAAW;UACXb,MAAM;UACNkB,KAAK,EAAEtE,KAAK,KAAK8E,SAAS,GAAGR,KAAK,GAAG/D,SAAS;UAC9CgE,IAAI,EAAEA,IAAI,GAAGA,IAAI,GAAGhE,SAAS;UAC7B4C,KAAK;UACLsB,IAAI;UACJpD,KAAK,EAAEgE,QAAQ,CAAC;QAClB,CAAC;MACH,CAAC,CAAC,CACDlE,MAAM,CAAC;QAAA,IAAC;UAAEuD;QAAO,CAAC,GAAArE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKqE,MAAM,GAAG,CAAC;MAAA;IAC3C,CAAC,CAAC;EACJ,CAAC,CAAC;AAAA;AAAC6B,OAAA,CAAAjH,MAAA,GAAAA,MAAA"}
1
+ {"version":3,"file":"extras.js","names":["_dataSources","require","_services","_constants","_helpers","GUEST","RANGE","ROOM","UNIT","EXTRA_TYPE","ADULT","CHILD","GUEST_TYPE","extras","adults","children","clubDiscount","applyClubDiscount","currency","userCurrency","hotelCurrency","locale","offersAppliedBySelectedRoom","price","rooms","session","authorization","others","arguments","length","undefined","Promise","resolve","reject","language","split","params","Object","entries","accessClubToken","lang","getLanguage","totalPrice","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","concat","URLSearchParams","headers","catch","error","result","sortedExtrasIds","ServiceCurrency","exchange","id","draft","includedInOffer","map","ageCategory","conditionDetails","conditions","defaultQuantity","description","included","guestsPresent","guestThreshold","name","title","nights","occupationsPresent","accommodationThreshold","perGuest","perNight","perRange","perReserve","perRoom","photo","image","priceOptionValues","priceOptions","showApplyNights","inputNights","showApplyPersons","inputGuests","subtitle","taxesInformation","taxes","text","guestType","type","amount","includes","discounts","discount","basePrice","withTaxes","find","_ref2","option","percent","originalPrice","getValue","base","fromEntries","Array","from","_","indexAmount","indexNights","withoutTaxes","_ref3","getAmount","getPrice","normalize","baseValue","frequency","FREQUENCY","NIGHTLY","ONCE","exports"],"sources":["../../../src/services/Rates/extras.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\n\nimport { EXTRA_TYPE, FREQUENCY, GUEST_TYPE } from './constants';\nimport { getLanguage, getPrice } from './helpers';\n\nconst { GUEST, RANGE, ROOM, UNIT } = EXTRA_TYPE;\nconst { ADULT, CHILD } = GUEST_TYPE;\n\nexport const extras = ({\n adults,\n children,\n clubDiscount: applyClubDiscount,\n currency: userCurrency,\n hotelCurrency = userCurrency,\n locale,\n offersAppliedBySelectedRoom,\n price,\n rooms,\n session: { authorization } = {},\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n if (!userCurrency || !locale) return reject();\n\n const language = locale?.split('-')[0];\n const params = Object.entries({\n applyClubDiscount,\n currency: userCurrency,\n ...others,\n accessClubToken: authorization,\n lang: getLanguage(language),\n rooms,\n offersAppliedBySelectedRoom,\n totalPrice: price,\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_extras_v2.json?${new URLSearchParams(params)}`,\n //TODO: back have to change the endpoint for don`t have remove this headers\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch((error) => {\n reject(error);\n });\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const { extras = {}, sortedExtrasIds = [] } = response;\n const currency = userCurrency || hotelCurrency;\n if (userCurrency !== hotelCurrency) await ServiceCurrency.exchange(currency);\n\n resolve({\n extras: sortedExtrasIds\n .filter((id) => {\n const { draft, includedInOffer } = extras[id] || {};\n\n return includedInOffer || !draft;\n })\n .map((id) => {\n const {\n ageCategory,\n conditionDetails: conditions,\n defaultQuantity,\n description,\n includedInOffer: included,\n guestsPresent: guestThreshold,\n name: title,\n nights,\n occupationsPresent: accommodationThreshold,\n perGuest,\n perNight,\n perRange,\n perReserve,\n perRoom,\n photo: image,\n priceOptionValues: priceOptions,\n showApplyNights: inputNights,\n showApplyPersons: inputGuests,\n subtitle,\n taxesInformation: taxes,\n } = extras[id] || {};\n\n const text = subtitle ? `${subtitle}. ${description}` : description;\n const guestType = GUEST_TYPE[ageCategory];\n const type = perRoom ? ROOM : perRange ? RANGE : perReserve ? UNIT : perGuest ? GUEST : undefined;\n const amount = [GUEST, RANGE].includes(type)\n ? guestType === ADULT\n ? adults\n : guestType === CHILD\n ? children\n : adults + children\n : defaultQuantity;\n\n const { discounts: [discount] = [], value: { price: basePrice, withTaxes: price } = {} } =\n priceOptions.find(({ option }) => option === amount) || priceOptions[0];\n const { percent, value: { price: originalPrice } = {} } = discount || {};\n\n const getValue = (base = false) =>\n Object.fromEntries(\n Array.from({ length: amount }, (_, indexAmount) => [\n indexAmount + 1,\n Object.fromEntries(\n Array.from({ length: nights }, (_, indexNights) => {\n const amount = indexAmount + 1;\n const nights = indexNights + 1;\n const { value: { price, withTaxes, withoutTaxes: basePrice } = {} } =\n priceOptions.find(({ option }) => option === amount) || priceOptions[0];\n const taxes = withTaxes - basePrice;\n\n const getAmount = (value) =>\n getPrice({\n currency,\n hotelCurrency: base ? currency : hotelCurrency,\n normalize: false,\n price: type !== RANGE ? (perNight ? amount * nights * value : amount * value) : value,\n });\n\n return [\n nights,\n { basePrice: getAmount(basePrice), price: getAmount(price), taxes: getAmount(taxes) },\n ];\n }),\n ),\n ]),\n );\n\n return {\n accommodationThreshold,\n amount,\n baseValue: getValue(true),\n conditions: conditions ? conditions : undefined,\n discount: discount && { originalPrice, percent },\n frequency: perNight ? FREQUENCY.NIGHTLY : FREQUENCY.ONCE,\n guestThreshold,\n guestType,\n id,\n image,\n included,\n inputGuests,\n inputNights,\n nights,\n taxes: price !== basePrice ? taxes : undefined,\n text: text ? text : undefined,\n title,\n type,\n value: getValue(),\n };\n })\n .filter(({ amount } = {}) => amount > 0),\n });\n });\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getLanguage = void 0;
7
+ const getLanguage = value => value === 'nb' ? 'no' : value;
8
+ exports.getLanguage = getLanguage;
9
+ //# sourceMappingURL=getLanguage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLanguage.js","names":["getLanguage","value","exports"],"sources":["../../../../src/services/Rates/helpers/getLanguage.js"],"sourcesContent":["export const getLanguage = (value) => (value === 'nb' ? 'no' : value);\n"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAIC,KAAK,IAAMA,KAAK,KAAK,IAAI,GAAG,IAAI,GAAGA,KAAM;AAACC,OAAA,CAAAF,WAAA,GAAAA,WAAA"}
@@ -14,6 +14,17 @@ Object.keys(_getItems).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
+ var _getLanguage = require("./getLanguage");
18
+ Object.keys(_getLanguage).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _getLanguage[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _getLanguage[key];
25
+ }
26
+ });
27
+ });
17
28
  var _getPrice = require("./getPrice");
18
29
  Object.keys(_getPrice).forEach(function (key) {
19
30
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_getItems","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getPrice","_getTaxesType","_normalizePrice","_parseAmenities","_parseDiscount","_parseExternalToken","_parseHotelDiscount","_parseItem","_parseTracking","_parseUnavailability"],"sources":["../../../../src/services/Rates/helpers/index.js"],"sourcesContent":["export * from './getItems';\nexport * from './getPrice';\nexport * from './getTaxesType';\nexport * from './normalizePrice';\nexport * from './parseAmenities';\nexport * from './parseDiscount';\nexport * from './parseExternalToken';\nexport * from './parseHotelDiscount';\nexport * from './parseItem';\nexport * from './parseTracking';\nexport * from './parseUnavailability';\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_getItems","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getLanguage","_getPrice","_getTaxesType","_normalizePrice","_parseAmenities","_parseDiscount","_parseExternalToken","_parseHotelDiscount","_parseItem","_parseTracking","_parseUnavailability"],"sources":["../../../../src/services/Rates/helpers/index.js"],"sourcesContent":["export * from './getItems';\nexport * from './getLanguage';\nexport * from './getPrice';\nexport * from './getTaxesType';\nexport * from './normalizePrice';\nexport * from './parseAmenities';\nexport * from './parseDiscount';\nexport * from './parseExternalToken';\nexport * from './parseHotelDiscount';\nexport * from './parseItem';\nexport * from './parseTracking';\nexport * from './parseUnavailability';\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,YAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,SAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,SAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,SAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,SAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,aAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,aAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,aAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,aAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,eAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,eAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,eAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,eAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,eAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,eAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,eAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,eAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,cAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,cAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAU,cAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAM,cAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,mBAAA,GAAAf,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAa,mBAAA,EAAAZ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAW,mBAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAO,mBAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;AACA,IAAAY,mBAAA,GAAAhB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAc,mBAAA,EAAAb,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAY,mBAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAQ,mBAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA;AACA,IAAAa,UAAA,GAAAjB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAe,UAAA,EAAAd,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAa,UAAA,CAAAb,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAS,UAAA,CAAAb,GAAA;IAAA;EAAA;AAAA;AACA,IAAAc,cAAA,GAAAlB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAgB,cAAA,EAAAf,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAc,cAAA,CAAAd,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAU,cAAA,CAAAd,GAAA;IAAA;EAAA;AAAA;AACA,IAAAe,oBAAA,GAAAnB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAiB,oBAAA,EAAAhB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAe,oBAAA,CAAAf,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAW,oBAAA,CAAAf,GAAA;IAAA;EAAA;AAAA"}
@@ -33,7 +33,7 @@ const hotels = function () {
33
33
  hotel_ids: hotelIds,
34
34
  id_chain: idchain || id,
35
35
  ...rest,
36
- lang: language
36
+ lang: (0, _helpers.getLanguage)(language)
37
37
  }).filter(_ref => {
38
38
  let [, value] = _ref;
39
39
  return value !== undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"hotels.js","names":["_dataSources","require","_services","_helpers","hotels","session","authorization","id","locale","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_response$hotelInfoBA","hotelIds","idchain","rest","language","split","params","Object","entries","currency","hotel_ids","id_chain","lang","filter","_ref","value","response","request","hostname","process","env","SERVICE_CURRENCY","endpoint","concat","URLSearchParams","headers","Authorization","btoa","catch","hotelInfoBAR","result","calendar","rawHotels","nights","all","map","bestAvailableRate","averagePrice","internalOriginal","basePrice","internalWithTaxes","price","discountPricesBefore","discounts","category","numStars","stars","currencyCode","hotelCurrency","hotelName","name","idTokenProvider","locality","photos","images","province","url","ServiceCurrency","exchange","taxes","totalPrice","parsedDiscounts","parseHotelDiscount","clientCodeTotal","promoCode","clubTotal","club","offerTotal","deal","originalPrice","Math","max","withTaxes","original","percentage","discountPercentage","breakdown","parseDiscount","features","location","hasDiscountClub","some","type","getPrice","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/hotels.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\n\nimport { getPrice, parseDiscount, parseHotelDiscount, parseTracking } from './helpers';\n\nexport const hotels = ({ session: { authorization } = {}, id, locale, userCurrency, ...others } = {}) =>\n new Promise(async (resolve, reject) => {\n const { hotelIds, idchain, ...rest } = others || {};\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n authorization,\n currency: userCurrency,\n hotel_ids: hotelIds,\n id_chain: idchain || id,\n ...rest,\n lang: language,\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_CURRENCY,\n endpoint: `/chain_result?${new URLSearchParams(params)}`,\n headers: {\n 'Accept-Language': language,\n Authorization: `Basic ${btoa('anonimous:anonimous')}`,\n 'X-Requested-With': undefined,\n },\n }).catch(reject);\n\n if (!response || response.hotelInfoBAR?.length < 1 || response.result === 'EXCEPTION') {\n return reject({ calendar: true });\n }\n\n const { hotelInfoBAR: rawHotels = [] } = response;\n const { nights } = rest || {};\n\n resolve({\n hotels: await Promise.all(\n rawHotels.map(\n async ({\n bestAvailableRate: {\n averagePrice: { internalOriginal: basePrice, internalWithTaxes: price } = {},\n discountPricesBefore: discounts = {},\n } = {},\n category: { numStars: stars } = {},\n currency: { currencyCode: hotelCurrency } = {},\n hotelName: name,\n idTokenProvider: id,\n locality = '',\n photos: images,\n province = '',\n url,\n } = {}) => {\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n const taxes = basePrice === price;\n const totalPrice = (taxes ? price : basePrice) * nights;\n const parsedDiscounts = parseHotelDiscount(discounts);\n const { clientCodeTotal: promoCode, clubTotal: club, offerTotal: deal } = parsedDiscounts;\n\n const originalPrice =\n (taxes\n ? Math.max(deal?.withTaxes || 0, club?.withTaxes || 0, promoCode?.withTaxes || 0)\n : Math.max(deal?.original || 0, club?.original || 0, promoCode?.original || 0)) || totalPrice;\n\n const { percentage: discountPercentage, breakdown = [] } = parseDiscount({\n currency,\n hotelCurrency,\n ...{ ...discounts, ...parsedDiscounts },\n originalPrice,\n taxes,\n totalPrice,\n });\n\n return {\n discountPercentage,\n features: { location: `${locality}, ${province}`, url },\n hasDiscountClub: breakdown.some(({ type } = {}) => type === 0),\n id,\n images,\n name,\n price: getPrice({ currency, hotelCurrency, price: totalPrice }),\n stars,\n taxes,\n };\n },\n ),\n ),\n tracking: parseTracking(response, false),\n });\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"hotels.js","names":["_dataSources","require","_services","_helpers","hotels","session","authorization","id","locale","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_response$hotelInfoBA","hotelIds","idchain","rest","language","split","params","Object","entries","currency","hotel_ids","id_chain","lang","getLanguage","filter","_ref","value","response","request","hostname","process","env","SERVICE_CURRENCY","endpoint","concat","URLSearchParams","headers","Authorization","btoa","catch","hotelInfoBAR","result","calendar","rawHotels","nights","all","map","bestAvailableRate","averagePrice","internalOriginal","basePrice","internalWithTaxes","price","discountPricesBefore","discounts","category","numStars","stars","currencyCode","hotelCurrency","hotelName","name","idTokenProvider","locality","photos","images","province","url","ServiceCurrency","exchange","taxes","totalPrice","parsedDiscounts","parseHotelDiscount","clientCodeTotal","promoCode","clubTotal","club","offerTotal","deal","originalPrice","Math","max","withTaxes","original","percentage","discountPercentage","breakdown","parseDiscount","features","location","hasDiscountClub","some","type","getPrice","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/hotels.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\n\nimport { getLanguage, getPrice, parseDiscount, parseHotelDiscount, parseTracking } from './helpers';\n\nexport const hotels = ({ session: { authorization } = {}, id, locale, userCurrency, ...others } = {}) =>\n new Promise(async (resolve, reject) => {\n const { hotelIds, idchain, ...rest } = others || {};\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n authorization,\n currency: userCurrency,\n hotel_ids: hotelIds,\n id_chain: idchain || id,\n ...rest,\n lang: getLanguage(language),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_CURRENCY,\n endpoint: `/chain_result?${new URLSearchParams(params)}`,\n headers: {\n 'Accept-Language': language,\n Authorization: `Basic ${btoa('anonimous:anonimous')}`,\n 'X-Requested-With': undefined,\n },\n }).catch(reject);\n\n if (!response || response.hotelInfoBAR?.length < 1 || response.result === 'EXCEPTION') {\n return reject({ calendar: true });\n }\n\n const { hotelInfoBAR: rawHotels = [] } = response;\n const { nights } = rest || {};\n\n resolve({\n hotels: await Promise.all(\n rawHotels.map(\n async ({\n bestAvailableRate: {\n averagePrice: { internalOriginal: basePrice, internalWithTaxes: price } = {},\n discountPricesBefore: discounts = {},\n } = {},\n category: { numStars: stars } = {},\n currency: { currencyCode: hotelCurrency } = {},\n hotelName: name,\n idTokenProvider: id,\n locality = '',\n photos: images,\n province = '',\n url,\n } = {}) => {\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n const taxes = basePrice === price;\n const totalPrice = (taxes ? price : basePrice) * nights;\n const parsedDiscounts = parseHotelDiscount(discounts);\n const { clientCodeTotal: promoCode, clubTotal: club, offerTotal: deal } = parsedDiscounts;\n\n const originalPrice =\n (taxes\n ? Math.max(deal?.withTaxes || 0, club?.withTaxes || 0, promoCode?.withTaxes || 0)\n : Math.max(deal?.original || 0, club?.original || 0, promoCode?.original || 0)) || totalPrice;\n\n const { percentage: discountPercentage, breakdown = [] } = parseDiscount({\n currency,\n hotelCurrency,\n ...{ ...discounts, ...parsedDiscounts },\n originalPrice,\n taxes,\n totalPrice,\n });\n\n return {\n discountPercentage,\n features: { location: `${locality}, ${province}`, url },\n hasDiscountClub: breakdown.some(({ type } = {}) => type === 0),\n id,\n images,\n name,\n price: getPrice({ currency, hotelCurrency, price: totalPrice }),\n stars,\n taxes,\n };\n },\n ),\n ),\n tracking: parseTracking(response, false),\n });\n });\n"],"mappings":"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"}
@@ -54,7 +54,7 @@ const rates = function () {
54
54
  nights,
55
55
  ...rest,
56
56
  accessClubToken: authorization,
57
- lang: language,
57
+ lang: (0, _helpers.getLanguage)(language),
58
58
  ...(0, _helpers.parseExternalToken)(rest),
59
59
  cid: (0, _jsSha.default)("".concat(_constants.KEY_HASH, "-").concat(id, "-").concat(checkin, "-").concat(nights))
60
60
  }).filter(_ref => {
@@ -1 +1 @@
1
- {"version":3,"file":"rates.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","FEATURE","PESTANA","rates","clubDiscount","locale","occupation","session","authorization","strictSearch","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_club$clubLogin","checkin","club","authentication","type","idoffers","idtokenprovider","id","nights","roomTypeId","rest","language","split","params","Object","entries","applyClubDiscount","clientCodeStrictSearch","currency","accessClubToken","lang","parseExternalToken","cid","sha1","concat","KEY_HASH","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","unavailability","parseUnavailability","checkIn","currencyCode","hotelCurrency","firstChildInterval","hotelverse","messages","availabilityMessage","increments","showLocalTaxes","fees","userCountry","country","vatIncluded","taxes","ServiceCurrency","exchange","infantAge","lowerBound","items","getItems","boards","hasFees","hasTaxes","clubConditions","ServiceFeatures","get","EXTERNAL","URL","DEFAULT_LANGUAGE","externalSignout","TYPE","clubLogin","status","VALID","taxesType","getTaxesType","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/rates.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency, ServiceFeatures } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, VALID } from './constants';\nimport { getItems, getTaxesType, parseExternalToken, parseTracking, parseUnavailability } from './helpers';\n\nconst FEATURE = { PESTANA: 'pestana' };\n\nexport const rates = ({\n clubDiscount,\n locale,\n occupation,\n session: { authorization } = {},\n strictSearch = true,\n userCurrency,\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n const {\n checkin,\n club: { authentication: { type } = {} } = {},\n idoffers,\n idtokenprovider: id,\n nights,\n roomTypeId,\n ...rest\n } = others || {};\n\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n applyClubDiscount: clubDiscount,\n checkin,\n clientCodeStrictSearch: strictSearch,\n currency: userCurrency,\n idtokenprovider: id,\n idoffers: strictSearch ? idoffers : undefined,\n roomTypeId: strictSearch ? roomTypeId : undefined,\n nights,\n ...rest,\n accessClubToken: authorization,\n lang: language,\n ...parseExternalToken(rest),\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const unavailability = parseUnavailability({ ...response, checkIn: checkin, nights, occupation, ...others });\n if (unavailability) return reject(unavailability);\n\n const {\n club,\n currencyCode: hotelCurrency,\n firstChildInterval = {},\n hotelverse,\n messages: { availabilityMessage: { increments } = {} } = {},\n showLocalTaxes: fees,\n userCountry: country,\n vatIncluded: taxes,\n } = response;\n\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n const infantAge = firstChildInterval?.lowerBound;\n const items = getItems({ ...response, currency, ...others });\n\n const [{ boards: [{ fees: hasFees, taxes: hasTaxes } = {}] = [] } = {}] = items || [];\n\n resolve({\n clubConditions: ServiceFeatures.get(FEATURE.PESTANA, id)\n ? EXTERNAL.URL[language] || EXTERNAL.URL[DEFAULT_LANGUAGE]\n : undefined,\n country,\n currency: hotelCurrency,\n externalSignout: authorization && type === EXTERNAL.TYPE && club?.clubLogin?.status !== VALID,\n hotelverse,\n increments: increments || undefined,\n infantAge: infantAge !== null ? infantAge : undefined,\n items,\n taxesType: getTaxesType({ fees, hasFees, hasTaxes, taxes }),\n tracking: parseTracking({ ...response, userCurrency }),\n });\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"rates.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","FEATURE","PESTANA","rates","clubDiscount","locale","occupation","session","authorization","strictSearch","userCurrency","others","arguments","length","undefined","Promise","resolve","reject","_club$clubLogin","checkin","club","authentication","type","idoffers","idtokenprovider","id","nights","roomTypeId","rest","language","split","params","Object","entries","applyClubDiscount","clientCodeStrictSearch","currency","accessClubToken","lang","getLanguage","parseExternalToken","cid","sha1","concat","KEY_HASH","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","unavailability","parseUnavailability","checkIn","currencyCode","hotelCurrency","firstChildInterval","hotelverse","messages","availabilityMessage","increments","showLocalTaxes","fees","userCountry","country","vatIncluded","taxes","ServiceCurrency","exchange","infantAge","lowerBound","items","getItems","boards","hasFees","hasTaxes","clubConditions","ServiceFeatures","get","EXTERNAL","URL","DEFAULT_LANGUAGE","externalSignout","TYPE","clubLogin","status","VALID","taxesType","getTaxesType","tracking","parseTracking","exports"],"sources":["../../../src/services/Rates/rates.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency, ServiceFeatures } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, VALID } from './constants';\nimport { getItems, getLanguage, getTaxesType, parseExternalToken, parseTracking, parseUnavailability } from './helpers';\n\nconst FEATURE = { PESTANA: 'pestana' };\n\nexport const rates = ({\n clubDiscount,\n locale,\n occupation,\n session: { authorization } = {},\n strictSearch = true,\n userCurrency,\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n const {\n checkin,\n club: { authentication: { type } = {} } = {},\n idoffers,\n idtokenprovider: id,\n nights,\n roomTypeId,\n ...rest\n } = others || {};\n\n const language = locale?.split('-')[0];\n\n const params = Object.entries({\n applyClubDiscount: clubDiscount,\n checkin,\n clientCodeStrictSearch: strictSearch,\n currency: userCurrency,\n idtokenprovider: id,\n idoffers: strictSearch ? idoffers : undefined,\n roomTypeId: strictSearch ? roomTypeId : undefined,\n nights,\n ...rest,\n accessClubToken: authorization,\n lang: getLanguage(language),\n ...parseExternalToken(rest),\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const unavailability = parseUnavailability({ ...response, checkIn: checkin, nights, occupation, ...others });\n if (unavailability) return reject(unavailability);\n\n const {\n club,\n currencyCode: hotelCurrency,\n firstChildInterval = {},\n hotelverse,\n messages: { availabilityMessage: { increments } = {} } = {},\n showLocalTaxes: fees,\n userCountry: country,\n vatIncluded: taxes,\n } = response;\n\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n const infantAge = firstChildInterval?.lowerBound;\n const items = getItems({ ...response, currency, ...others });\n\n const [{ boards: [{ fees: hasFees, taxes: hasTaxes } = {}] = [] } = {}] = items || [];\n\n resolve({\n clubConditions: ServiceFeatures.get(FEATURE.PESTANA, id)\n ? EXTERNAL.URL[language] || EXTERNAL.URL[DEFAULT_LANGUAGE]\n : undefined,\n country,\n currency: hotelCurrency,\n externalSignout: authorization && type === EXTERNAL.TYPE && club?.clubLogin?.status !== VALID,\n hotelverse,\n increments: increments || undefined,\n infantAge: infantAge !== null ? infantAge : undefined,\n items,\n taxesType: getTaxesType({ fees, hasFees, hasTaxes, taxes }),\n tracking: parseTracking({ ...response, userCurrency }),\n });\n });\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.252",
3
+ "version": "0.3.253",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",