@mirai/core 0.3.252 → 0.3.254
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/Rates/Rates.Unavailability.js +1 -3
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/components/Item/Item.l10n.js +3 -0
- package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.Countdown.js +14 -3
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.Countdown.js.map +1 -1
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +1 -1
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
- package/build/services/Rates/extras.js +1 -1
- package/build/services/Rates/extras.js.map +1 -1
- package/build/services/Rates/helpers/getLanguage.js +9 -0
- package/build/services/Rates/helpers/getLanguage.js.map +1 -0
- package/build/services/Rates/helpers/index.js +11 -0
- package/build/services/Rates/helpers/index.js.map +1 -1
- package/build/services/Rates/hotels.js +1 -1
- package/build/services/Rates/hotels.js.map +1 -1
- package/build/services/Rates/rates.js +1 -1
- package/build/services/Rates/rates.js.map +1 -1
- package/package.json +1 -1
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.l10n.js","names":["L10N","exports","ACTION_BED_INFO","id","ACTION_MORE_INFO","ACTION_RESERVE","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_PLAN","LABEL_BASE_PRICE","LABEL_BED_DISPOSITION","LABEL_CANCELLATION_POLICY","LABEL_CLUB_MEMBERS","LABEL_DESCRIPTION","LABEL_DESELECT","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_DOUBLE_BED_WIDTH","LABEL_EXTRAS","LABEL_FEES","LABEL_INCLUDED","LABEL_LIMITED_OFFER","LABEL_MAX_OCCUPATION","LABEL_MORE_SERVICES","LABEL_NOT_AVAILABLE","LABEL_OFFER","LABEL_ONLY_MEMBERS","LABEL_OR","LABEL_PAYMENT_TERMS","LABEL_PER_NIGHT","LABEL_PRICE_DETAILS","LABEL_REMAINING_ITEMS","LABEL_SELECT","LABEL_SELECTED_OCCUPATION","LABEL_TAXES","LABEL_TOP_AMENITIES","LABEL_TOTAL","LABEL_WHATS_INCLUDED","LABEL_YEARS_OLD"],"sources":["../../../../../src/components/Rates/components/Item/Item.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_BED_INFO: { id: 'finder.action.bed_info' },\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_PLAN: { id: 'finder.label.accommodation_plan' },\n LABEL_BASE_PRICE: { id: 'common.label.base_price' },\n LABEL_BED_DISPOSITION: { id: 'finder.label.bed_disposition' },\n LABEL_CANCELLATION_POLICY: { id: 'common.label.cancellation_policy' },\n LABEL_CLUB_MEMBERS: { id: 'finder.label.club_members' },\n LABEL_DESCRIPTION: { id: 'common.label.description' },\n LABEL_DESELECT: { id: 'common.label.deselect' },\n LABEL_DISCOUNT: { id: 'finder.label.discount' },\n LABEL_DISCOUNT_INCLUDED: { id: 'finder.label.discount_included' },\n LABEL_DISCOUNT_TYPE: {\n 0: { id: 'finder.label.discount_club' },\n 1: { id: 'finder.label.discount_deal' },\n 2: { id: 'finder.label.discount_promotion' },\n },\n LABEL_DOUBLE_BED_WIDTH: { id: 'finder.label.double_bed_width' },\n LABEL_EXTRAS: { id: 'common.label.extras' },\n LABEL_FEES: { id: 'finder.label.fees' },\n LABEL_INCLUDED: { id: 'common.label.included' },\n LABEL_LIMITED_OFFER: { id: 'finder.label.limited_offer' },\n LABEL_MAX_OCCUPATION: { id: 'common.label.max_occupation' },\n LABEL_MORE_SERVICES: { id: 'finder.label.more_services' },\n LABEL_NOT_AVAILABLE: { id: 'common.label.not_available' },\n LABEL_OFFER: { id: 'common.label.offer' },\n LABEL_ONLY_MEMBERS: { id: 'finder.label.only_members' },\n LABEL_OR: { id: 'common.label.or' },\n LABEL_PAYMENT_TERMS: { id: 'common.label.payment_terms' },\n LABEL_PER_NIGHT: { id: 'finder.label.per_night' },\n LABEL_PRICE_DETAILS: { id: 'finder.label.price_details' },\n LABEL_REMAINING_ITEMS: { id: 'finder.label.remaining_items' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_SELECTED_OCCUPATION: { id: 'common.label.selected_occupation' },\n LABEL_TAXES: { id: 'finder.label.taxes' },\n LABEL_TOP_AMENITIES: { id: 'finder.label.top_amenities' },\n LABEL_TOTAL: { id: 'common.label.total' },\n LABEL_WHATS_INCLUDED: { id: 'finder.label.whats_included' },\n LABEL_YEARS_OLD: { id: 'common.label.years_old' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,eAAe,EAAE;IAAEC,EAAE,EAAE;EAAyB,CAAC;EACjDC,gBAAgB,EAAE;IAAED,EAAE,EAAE;EAA0B,CAAC;EACnDE,cAAc,EAAE;IAAEF,EAAE,EAAE;EAAwB,CAAC;EAC/CG,gBAAgB,EAAE;IAAEH,EAAE,EAAE;EAA0B,CAAC;EAEnDI,wBAAwB,EAAE;IAAEJ,EAAE,EAAE;EAAkC,CAAC;EACnEK,gBAAgB,EAAE;IAAEL,EAAE,EAAE;EAA0B,CAAC;EACnDM,qBAAqB,EAAE;IAAEN,EAAE,EAAE;EAA+B,CAAC;EAC7DO,yBAAyB,EAAE;IAAEP,EAAE,EAAE;EAAmC,CAAC;EACrEQ,
|
|
1
|
+
{"version":3,"file":"Item.l10n.js","names":["L10N","exports","ACTION_BED_INFO","id","ACTION_MORE_INFO","ACTION_RESERVE","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_PLAN","LABEL_BASE_PRICE","LABEL_BED_DISPOSITION","LABEL_CANCELLATION_POLICY","LABEL_COUNTDOWN","LABEL_CLUB_MEMBERS","LABEL_DESCRIPTION","LABEL_DESELECT","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_DOUBLE_BED_WIDTH","LABEL_EXTRAS","LABEL_FEES","LABEL_INCLUDED","LABEL_LIMITED_OFFER","LABEL_MAX_OCCUPATION","LABEL_MORE_SERVICES","LABEL_NOT_AVAILABLE","LABEL_OFFER","LABEL_ONLY_MEMBERS","LABEL_OR","LABEL_PAYMENT_TERMS","LABEL_PER_NIGHT","LABEL_PRICE_DETAILS","LABEL_REMAINING_ITEMS","LABEL_SELECT","LABEL_SELECTED_OCCUPATION","LABEL_TAXES","LABEL_TOP_AMENITIES","LABEL_TOTAL","LABEL_WHATS_INCLUDED","LABEL_YEARS_OLD"],"sources":["../../../../../src/components/Rates/components/Item/Item.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_BED_INFO: { id: 'finder.action.bed_info' },\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_PLAN: { id: 'finder.label.accommodation_plan' },\n LABEL_BASE_PRICE: { id: 'common.label.base_price' },\n LABEL_BED_DISPOSITION: { id: 'finder.label.bed_disposition' },\n LABEL_CANCELLATION_POLICY: { id: 'common.label.cancellation_policy' },\n LABEL_COUNTDOWN: { id: 'finder.label.countdown' },\n LABEL_CLUB_MEMBERS: { id: 'finder.label.club_members' },\n LABEL_DESCRIPTION: { id: 'common.label.description' },\n LABEL_DESELECT: { id: 'common.label.deselect' },\n LABEL_DISCOUNT: { id: 'finder.label.discount' },\n LABEL_DISCOUNT_INCLUDED: { id: 'finder.label.discount_included' },\n LABEL_DISCOUNT_TYPE: {\n 0: { id: 'finder.label.discount_club' },\n 1: { id: 'finder.label.discount_deal' },\n 2: { id: 'finder.label.discount_promotion' },\n },\n LABEL_DOUBLE_BED_WIDTH: { id: 'finder.label.double_bed_width' },\n LABEL_EXTRAS: { id: 'common.label.extras' },\n LABEL_FEES: { id: 'finder.label.fees' },\n LABEL_INCLUDED: { id: 'common.label.included' },\n LABEL_LIMITED_OFFER: { id: 'finder.label.limited_offer' },\n LABEL_MAX_OCCUPATION: { id: 'common.label.max_occupation' },\n LABEL_MORE_SERVICES: { id: 'finder.label.more_services' },\n LABEL_NOT_AVAILABLE: { id: 'common.label.not_available' },\n LABEL_OFFER: { id: 'common.label.offer' },\n LABEL_ONLY_MEMBERS: { id: 'finder.label.only_members' },\n LABEL_OR: { id: 'common.label.or' },\n LABEL_PAYMENT_TERMS: { id: 'common.label.payment_terms' },\n LABEL_PER_NIGHT: { id: 'finder.label.per_night' },\n LABEL_PRICE_DETAILS: { id: 'finder.label.price_details' },\n LABEL_REMAINING_ITEMS: { id: 'finder.label.remaining_items' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_SELECTED_OCCUPATION: { id: 'common.label.selected_occupation' },\n LABEL_TAXES: { id: 'finder.label.taxes' },\n LABEL_TOP_AMENITIES: { id: 'finder.label.top_amenities' },\n LABEL_TOTAL: { id: 'common.label.total' },\n LABEL_WHATS_INCLUDED: { id: 'finder.label.whats_included' },\n LABEL_YEARS_OLD: { id: 'common.label.years_old' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,eAAe,EAAE;IAAEC,EAAE,EAAE;EAAyB,CAAC;EACjDC,gBAAgB,EAAE;IAAED,EAAE,EAAE;EAA0B,CAAC;EACnDE,cAAc,EAAE;IAAEF,EAAE,EAAE;EAAwB,CAAC;EAC/CG,gBAAgB,EAAE;IAAEH,EAAE,EAAE;EAA0B,CAAC;EAEnDI,wBAAwB,EAAE;IAAEJ,EAAE,EAAE;EAAkC,CAAC;EACnEK,gBAAgB,EAAE;IAAEL,EAAE,EAAE;EAA0B,CAAC;EACnDM,qBAAqB,EAAE;IAAEN,EAAE,EAAE;EAA+B,CAAC;EAC7DO,yBAAyB,EAAE;IAAEP,EAAE,EAAE;EAAmC,CAAC;EACrEQ,eAAe,EAAE;IAAER,EAAE,EAAE;EAAyB,CAAC;EACjDS,kBAAkB,EAAE;IAAET,EAAE,EAAE;EAA4B,CAAC;EACvDU,iBAAiB,EAAE;IAAEV,EAAE,EAAE;EAA2B,CAAC;EACrDW,cAAc,EAAE;IAAEX,EAAE,EAAE;EAAwB,CAAC;EAC/CY,cAAc,EAAE;IAAEZ,EAAE,EAAE;EAAwB,CAAC;EAC/Ca,uBAAuB,EAAE;IAAEb,EAAE,EAAE;EAAiC,CAAC;EACjEc,mBAAmB,EAAE;IACnB,CAAC,EAAE;MAAEd,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAAkC;EAC7C,CAAC;EACDe,sBAAsB,EAAE;IAAEf,EAAE,EAAE;EAAgC,CAAC;EAC/DgB,YAAY,EAAE;IAAEhB,EAAE,EAAE;EAAsB,CAAC;EAC3CiB,UAAU,EAAE;IAAEjB,EAAE,EAAE;EAAoB,CAAC;EACvCkB,cAAc,EAAE;IAAElB,EAAE,EAAE;EAAwB,CAAC;EAC/CmB,mBAAmB,EAAE;IAAEnB,EAAE,EAAE;EAA6B,CAAC;EACzDoB,oBAAoB,EAAE;IAAEpB,EAAE,EAAE;EAA8B,CAAC;EAC3DqB,mBAAmB,EAAE;IAAErB,EAAE,EAAE;EAA6B,CAAC;EACzDsB,mBAAmB,EAAE;IAAEtB,EAAE,EAAE;EAA6B,CAAC;EACzDuB,WAAW,EAAE;IAAEvB,EAAE,EAAE;EAAqB,CAAC;EACzCwB,kBAAkB,EAAE;IAAExB,EAAE,EAAE;EAA4B,CAAC;EACvDyB,QAAQ,EAAE;IAAEzB,EAAE,EAAE;EAAkB,CAAC;EACnC0B,mBAAmB,EAAE;IAAE1B,EAAE,EAAE;EAA6B,CAAC;EACzD2B,eAAe,EAAE;IAAE3B,EAAE,EAAE;EAAyB,CAAC;EACjD4B,mBAAmB,EAAE;IAAE5B,EAAE,EAAE;EAA6B,CAAC;EACzD6B,qBAAqB,EAAE;IAAE7B,EAAE,EAAE;EAA+B,CAAC;EAC7D8B,YAAY,EAAE;IAAE9B,EAAE,EAAE;EAAsB,CAAC;EAC3C+B,yBAAyB,EAAE;IAAE/B,EAAE,EAAE;EAAmC,CAAC;EACrEgC,WAAW,EAAE;IAAEhC,EAAE,EAAE;EAAqB,CAAC;EACzCiC,mBAAmB,EAAE;IAAEjC,EAAE,EAAE;EAA6B,CAAC;EACzDkC,WAAW,EAAE;IAAElC,EAAE,EAAE;EAAqB,CAAC;EACzCmC,oBAAoB,EAAE;IAAEnC,EAAE,EAAE;EAA8B,CAAC;EAC3DoC,eAAe,EAAE;IAAEpC,EAAE,EAAE;EAAyB;AAClD,CAAC"}
|
package/build/components/Rates/components/Item/components/RateDetails/RateDetails.Countdown.js
CHANGED
|
@@ -4,25 +4,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Countdown = void 0;
|
|
7
|
+
var _locale = require("@mirai/locale");
|
|
7
8
|
var _ui = require("@mirai/ui");
|
|
8
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
11
|
var style = _interopRequireWildcard(require("./RateDetails.module.css"));
|
|
11
12
|
var _helpers = require("../../../../../helpers");
|
|
13
|
+
var _Item = require("../../Item.l10n");
|
|
12
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
17
|
const Countdown = _ref => {
|
|
16
18
|
let {
|
|
17
|
-
timestamp
|
|
19
|
+
timestamp
|
|
18
20
|
} = _ref;
|
|
19
21
|
const {
|
|
20
22
|
isMobile
|
|
21
23
|
} = (0, _ui.useDevice)();
|
|
24
|
+
const {
|
|
25
|
+
translate
|
|
26
|
+
} = (0, _locale.useLocale)();
|
|
22
27
|
const [value, setValue] = (0, _react.useState)();
|
|
23
28
|
|
|
24
29
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25
|
-
(0, _react.useEffect)(() => calcTime(), []);
|
|
30
|
+
(0, _react.useEffect)(() => setValue(calcTime()), []);
|
|
26
31
|
(0, _react.useEffect)(() => {
|
|
27
32
|
const interval = setInterval(() => {
|
|
28
33
|
setValue(calcTime());
|
|
@@ -31,6 +36,7 @@ const Countdown = _ref => {
|
|
|
31
36
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32
37
|
}, [timestamp]);
|
|
33
38
|
const calcTime = () => {
|
|
39
|
+
if (!timestamp) return;
|
|
34
40
|
const currentTime = new Date().getTime();
|
|
35
41
|
const timeDifference = timestamp - currentTime;
|
|
36
42
|
return timeDifference ? {
|
|
@@ -57,7 +63,12 @@ const Countdown = _ref => {
|
|
|
57
63
|
error: true,
|
|
58
64
|
small: !isMobile,
|
|
59
65
|
tiny: isMobile
|
|
60
|
-
},
|
|
66
|
+
}, translate(_Item.L10N.LABEL_COUNTDOWN, {
|
|
67
|
+
days,
|
|
68
|
+
hours,
|
|
69
|
+
minutes,
|
|
70
|
+
seconds
|
|
71
|
+
}))) : null;
|
|
61
72
|
};
|
|
62
73
|
exports.Countdown = Countdown;
|
|
63
74
|
Countdown.displayName = 'Mirai:Core:Rates:Item.RateDetails:Countdown';
|
package/build/components/Rates/components/Item/components/RateDetails/RateDetails.Countdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RateDetails.Countdown.js","names":["
|
|
1
|
+
{"version":3,"file":"RateDetails.Countdown.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_helpers","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Countdown","_ref","timestamp","isMobile","useDevice","translate","useLocale","value","setValue","useState","useEffect","calcTime","interval","setInterval","clearInterval","currentTime","Date","getTime","timeDifference","days","Math","floor","hours","minutes","seconds","undefined","createElement","View","row","className","centered","Icon","action","error","ICON","ALARM","Text","small","tiny","L10N","LABEL_COUNTDOWN","exports","displayName","propTypes","PropTypes","number"],"sources":["../../../../../../../src/components/Rates/components/Item/components/RateDetails/RateDetails.Countdown.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './RateDetails.module.css';\nimport { ICON } from '../../../../../helpers';\nimport { L10N } from '../../Item.l10n';\n\nconst Countdown = ({ timestamp }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const [value, setValue] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => setValue(calcTime()), []);\n\n useEffect(() => {\n const interval = setInterval(() => {\n setValue(calcTime());\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [timestamp]);\n\n const calcTime = () => {\n if (!timestamp) return;\n\n const currentTime = new Date().getTime();\n const timeDifference = timestamp - currentTime;\n\n return timeDifference\n ? {\n days: Math.floor(timeDifference / (1000 * 60 * 60 * 24)),\n hours: Math.floor((timeDifference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)),\n minutes: Math.floor((timeDifference % (1000 * 60 * 60)) / (1000 * 60)),\n seconds: Math.floor((timeDifference % (1000 * 60)) / 1000),\n }\n : undefined;\n };\n\n const { days, hours, minutes, seconds } = value || {};\n\n return value ? (\n <View row className={[style.row, style.centered]}>\n <Icon action={isMobile} error value={ICON.ALARM} />\n\n <Text error small={!isMobile} tiny={isMobile}>\n {translate(L10N.LABEL_COUNTDOWN, { days, hours, minutes, seconds })}\n </Text>\n </View>\n ) : null;\n};\n\nCountdown.displayName = 'Mirai:Core:Rates:Item.RateDetails:Countdown';\n\nCountdown.propTypes = {\n timestamp: PropTypes.number,\n};\n\nexport { Countdown };\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
|
|
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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"}
|
|
@@ -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":"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"}
|
|
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 @@
|
|
|
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":";;;;;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,
|
|
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"}
|
|
@@ -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":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAJA;;AAMO,MAAMG,MAAM,GAAG,SAAAA,CAAA;EAAA,IAAC;IAAEC,OAAO,EAAE;MAAEC;IAAc,CAAC,GAAG,CAAC,CAAC;IAAEC,EAAE;IAAEC,MAAM;IAAEC,YAAY;IAAE,GAAGC;EAAO,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OAClG,IAAIG,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;IAAA,IAAAC,qBAAA;IACrC,MAAM;MAAEC,QAAQ;MAAEC,OAAO;MAAE,GAAGC;IAAK,CAAC,GAAGV,MAAM,IAAI,CAAC,CAAC;IACnD,MAAMW,QAAQ,GAAGb,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEc,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEtC,MAAMC,MAAM,GAAGC,MAAM,CAACC,OAAO,CAAC;MAC5BnB,aAAa;MACboB,QAAQ,EAAEjB,YAAY;MACtBkB,SAAS,EAAET,QAAQ;MACnBU,QAAQ,EAAET,OAAO,IAAIZ,EAAE;MACvB,GAAGa,IAAI;MACPS,IAAI,
|
|
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":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;
|
|
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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"}
|