@mirai/core 0.1.16 → 0.1.17

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.
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TYPE = exports.ACCOMODATION_TYPE = void 0;
7
+ const ACCOMODATION_TYPE = {
8
+ DEFAULT: 0,
9
+ // "ACCOMODATION"
10
+ ROOM: 1,
11
+ // "ROOM"
12
+ APARTMENT: 2,
13
+ // "APARTMENT"
14
+ VILLA: 3,
15
+ // "VILLA"
16
+ PITCH: 4 // "PITCH"
17
+ };
18
+ exports.ACCOMODATION_TYPE = ACCOMODATION_TYPE;
19
+ const TYPE = {
20
+ CHAIN: 'chain',
21
+ HOTEL: 'hotel'
22
+ };
23
+ exports.TYPE = TYPE;
24
+ //# sourceMappingURL=Core.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Core.constants.js","names":["ACCOMODATION_TYPE","DEFAULT","ROOM","APARTMENT","VILLA","PITCH","TYPE","CHAIN","HOTEL"],"sources":["../src/Core.constants.js"],"sourcesContent":["const ACCOMODATION_TYPE = {\n DEFAULT: 0, // \"ACCOMODATION\"\n ROOM: 1, // \"ROOM\"\n APARTMENT: 2, // \"APARTMENT\"\n VILLA: 3, // \"VILLA\"\n PITCH: 4, // \"PITCH\"\n};\n\nconst TYPE = {\n CHAIN: 'chain',\n HOTEL: 'hotel',\n};\n\nexport { ACCOMODATION_TYPE, TYPE };\n"],"mappings":";;;;;;AAAA,MAAMA,iBAAiB,GAAG;EACxBC,OAAO,EAAE,CAAC;EAAE;EACZC,IAAI,EAAE,CAAC;EAAE;EACTC,SAAS,EAAE,CAAC;EAAE;EACdC,KAAK,EAAE,CAAC;EAAE;EACVC,KAAK,EAAE,CAAC,CAAE;AACZ,CAAC;AAAC;AAEF,MAAMC,IAAI,GAAG;EACXC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE;AACT,CAAC;AAAC"}
@@ -8,7 +8,8 @@ var _dataSources = require("@mirai/data-sources");
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _Core = require("./Core");
11
- var _Core2 = require("./Core.definition");
11
+ var _Core2 = require("./Core.constants");
12
+ var _Core3 = require("./Core.definition");
12
13
  var _helpers = require("./helpers");
13
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -27,7 +28,7 @@ const CoreProvider = _ref => {
27
28
  (0, _react.useLayoutEffect)(() => {
28
29
  (async () => {
29
30
  const urlParams = (0, _helpers.fetchUrlParams)(location.search.substring(1));
30
- const cookies = (0, _helpers.fetchCookies)([_Core2.COOKIE_CART, _Core2.COOKIE_VALUES]);
31
+ const cookies = (0, _helpers.fetchCookies)([_Core3.COOKIE_CART, _Core3.COOKIE_VALUES]);
31
32
  const session = (0, _helpers.fetchSession)(urlParams);
32
33
  const instance = {
33
34
  currency,
@@ -62,7 +63,7 @@ CoreProvider.propTypes = {
62
63
  id: _propTypes.default.string.isRequired,
63
64
  locale: _propTypes.default.string,
64
65
  metrics: _propTypes.default.string,
65
- type: _propTypes.default.oneOf(['hotel', 'chain']),
66
+ type: _propTypes.default.oneOf(Object.values(_Core2.TYPE)),
66
67
  value: _propTypes.default.shape({})
67
68
  };
68
69
  //# sourceMappingURL=Core.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Core.provider.js","names":["CoreProvider","children","currency","id","locale","metrics","type","value","store","setStore","useState","useLayoutEffect","urlParams","fetchUrlParams","location","search","substring","cookies","fetchCookies","COOKIE_CART","COOKIE_VALUES","session","fetchSession","instance","config","fetchConfig","consolidateStore","propTypes","PropTypes","node","isRequired","string","oneOf","shape"],"sources":["../src/Core.provider.jsx"],"sourcesContent":["import { MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport PropTypes from 'prop-types';\nimport React, { useLayoutEffect, useState } from 'react';\n\nimport { Core } from './Core';\nimport { COOKIE_CART, COOKIE_VALUES } from './Core.definition';\nimport { consolidateStore, fetchConfig, fetchCookies, fetchSession, fetchUrlParams } from './helpers';\n\nconst CoreProvider = ({ children, currency, id, locale, metrics, type, value = {} }) => {\n const [store, setStore] = useState();\n\n useLayoutEffect(() => {\n (async () => {\n const urlParams = fetchUrlParams(location.search.substring(1));\n const cookies = fetchCookies([COOKIE_CART, COOKIE_VALUES]);\n const session = fetchSession(urlParams);\n\n const instance = { currency, id, type, locale };\n const config = await fetchConfig(instance);\n\n setStore(consolidateStore({ config, cookies, instance, session, urlParams }));\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return store ? (\n <MetricsProvider token={metrics || process.env.METRICS}>\n <StoreProvider value={{ ...store, ...value }}>\n <Core>{children}</Core>\n </StoreProvider>\n </MetricsProvider>\n ) : (\n <></>\n );\n};\n\nCoreProvider.propTypes = {\n children: PropTypes.node.isRequired,\n currency: PropTypes.string,\n id: PropTypes.string.isRequired,\n locale: PropTypes.string,\n metrics: PropTypes.string,\n type: PropTypes.oneOf(['hotel', 'chain']),\n value: PropTypes.shape({}),\n};\n\nexport { CoreProvider };\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;AAAsG;AAAA;AAAA;AAEtG,MAAMA,YAAY,GAAG,QAAmE;EAAA,IAAlE;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,EAAE;IAAEC,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC,KAAK,GAAG,CAAC;EAAE,CAAC;EACjF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,GAAE;EAEpC,IAAAC,sBAAe,EAAC,MAAM;IACpB,CAAC,YAAY;MACX,MAAMC,SAAS,GAAG,IAAAC,uBAAc,EAACC,QAAQ,CAACC,MAAM,CAACC,SAAS,CAAC,CAAC,CAAC,CAAC;MAC9D,MAAMC,OAAO,GAAG,IAAAC,qBAAY,EAAC,CAACC,kBAAW,EAAEC,oBAAa,CAAC,CAAC;MAC1D,MAAMC,OAAO,GAAG,IAAAC,qBAAY,EAACV,SAAS,CAAC;MAEvC,MAAMW,QAAQ,GAAG;QAAErB,QAAQ;QAAEC,EAAE;QAAEG,IAAI;QAAEF;MAAO,CAAC;MAC/C,MAAMoB,MAAM,GAAG,MAAM,IAAAC,oBAAW,EAACF,QAAQ,CAAC;MAE1Cd,QAAQ,CAAC,IAAAiB,yBAAgB,EAAC;QAAEF,MAAM;QAAEP,OAAO;QAAEM,QAAQ;QAAEF,OAAO;QAAET;MAAU,CAAC,CAAC,CAAC;IAC/E,CAAC,GAAG;IACJ;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOJ,KAAK,gBACV,6BAAC,4BAAe;IAAC,KAAK,EAAEH,OAAO;EAAwB,gBACrD,6BAAC,0BAAa;IAAC,KAAK,EAAE;MAAE,GAAGG,KAAK;MAAE,GAAGD;IAAM;EAAE,gBAC3C,6BAAC,UAAI,QAAEN,QAAQ,CAAQ,CACT,CACA,gBAElB,2DACD;AACH,CAAC;AAAC;AAEFD,YAAY,CAAC2B,SAAS,GAAG;EACvB1B,QAAQ,EAAE2B,kBAAS,CAACC,IAAI,CAACC,UAAU;EACnC5B,QAAQ,EAAE0B,kBAAS,CAACG,MAAM;EAC1B5B,EAAE,EAAEyB,kBAAS,CAACG,MAAM,CAACD,UAAU;EAC/B1B,MAAM,EAAEwB,kBAAS,CAACG,MAAM;EACxB1B,OAAO,EAAEuB,kBAAS,CAACG,MAAM;EACzBzB,IAAI,EAAEsB,kBAAS,CAACI,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;EACzCzB,KAAK,EAAEqB,kBAAS,CAACK,KAAK,CAAC,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"Core.provider.js","names":["CoreProvider","children","currency","id","locale","metrics","type","value","store","setStore","useState","useLayoutEffect","urlParams","fetchUrlParams","location","search","substring","cookies","fetchCookies","COOKIE_CART","COOKIE_VALUES","session","fetchSession","instance","config","fetchConfig","consolidateStore","propTypes","PropTypes","node","isRequired","string","oneOf","Object","values","TYPE","shape"],"sources":["../src/Core.provider.jsx"],"sourcesContent":["import { MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport PropTypes from 'prop-types';\nimport React, { useLayoutEffect, useState } from 'react';\n\nimport { Core } from './Core';\nimport { TYPE } from './Core.constants';\nimport { COOKIE_CART, COOKIE_VALUES } from './Core.definition';\nimport { consolidateStore, fetchConfig, fetchCookies, fetchSession, fetchUrlParams } from './helpers';\n\nconst CoreProvider = ({ children, currency, id, locale, metrics, type, value = {} }) => {\n const [store, setStore] = useState();\n\n useLayoutEffect(() => {\n (async () => {\n const urlParams = fetchUrlParams(location.search.substring(1));\n const cookies = fetchCookies([COOKIE_CART, COOKIE_VALUES]);\n const session = fetchSession(urlParams);\n\n const instance = { currency, id, type, locale };\n const config = await fetchConfig(instance);\n\n setStore(consolidateStore({ config, cookies, instance, session, urlParams }));\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return store ? (\n <MetricsProvider token={metrics || process.env.METRICS}>\n <StoreProvider value={{ ...store, ...value }}>\n <Core>{children}</Core>\n </StoreProvider>\n </MetricsProvider>\n ) : (\n <></>\n );\n};\n\nCoreProvider.propTypes = {\n children: PropTypes.node.isRequired,\n currency: PropTypes.string,\n id: PropTypes.string.isRequired,\n locale: PropTypes.string,\n metrics: PropTypes.string,\n type: PropTypes.oneOf(Object.values(TYPE)),\n value: PropTypes.shape({}),\n};\n\nexport { CoreProvider };\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAsG;AAAA;AAAA;AAEtG,MAAMA,YAAY,GAAG,QAAmE;EAAA,IAAlE;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,EAAE;IAAEC,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC,KAAK,GAAG,CAAC;EAAE,CAAC;EACjF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,GAAE;EAEpC,IAAAC,sBAAe,EAAC,MAAM;IACpB,CAAC,YAAY;MACX,MAAMC,SAAS,GAAG,IAAAC,uBAAc,EAACC,QAAQ,CAACC,MAAM,CAACC,SAAS,CAAC,CAAC,CAAC,CAAC;MAC9D,MAAMC,OAAO,GAAG,IAAAC,qBAAY,EAAC,CAACC,kBAAW,EAAEC,oBAAa,CAAC,CAAC;MAC1D,MAAMC,OAAO,GAAG,IAAAC,qBAAY,EAACV,SAAS,CAAC;MAEvC,MAAMW,QAAQ,GAAG;QAAErB,QAAQ;QAAEC,EAAE;QAAEG,IAAI;QAAEF;MAAO,CAAC;MAC/C,MAAMoB,MAAM,GAAG,MAAM,IAAAC,oBAAW,EAACF,QAAQ,CAAC;MAE1Cd,QAAQ,CAAC,IAAAiB,yBAAgB,EAAC;QAAEF,MAAM;QAAEP,OAAO;QAAEM,QAAQ;QAAEF,OAAO;QAAET;MAAU,CAAC,CAAC,CAAC;IAC/E,CAAC,GAAG;IACJ;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOJ,KAAK,gBACV,6BAAC,4BAAe;IAAC,KAAK,EAAEH,OAAO;EAAwB,gBACrD,6BAAC,0BAAa;IAAC,KAAK,EAAE;MAAE,GAAGG,KAAK;MAAE,GAAGD;IAAM;EAAE,gBAC3C,6BAAC,UAAI,QAAEN,QAAQ,CAAQ,CACT,CACA,gBAElB,2DACD;AACH,CAAC;AAAC;AAEFD,YAAY,CAAC2B,SAAS,GAAG;EACvB1B,QAAQ,EAAE2B,kBAAS,CAACC,IAAI,CAACC,UAAU;EACnC5B,QAAQ,EAAE0B,kBAAS,CAACG,MAAM;EAC1B5B,EAAE,EAAEyB,kBAAS,CAACG,MAAM,CAACD,UAAU;EAC/B1B,MAAM,EAAEwB,kBAAS,CAACG,MAAM;EACxB1B,OAAO,EAAEuB,kBAAS,CAACG,MAAM;EACzBzB,IAAI,EAAEsB,kBAAS,CAACI,KAAK,CAACC,MAAM,CAACC,MAAM,CAACC,WAAI,CAAC,CAAC;EAC1C5B,KAAK,EAAEqB,kBAAS,CAACQ,KAAK,CAAC,CAAC,CAAC;AAC3B,CAAC"}
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.consolidateStore = void 0;
7
7
  var _locale = require("@mirai/locale");
8
+ var _Core = require("../Core.constants");
9
+ var _getAccomodationType = require("./getAccomodationType");
8
10
  /* eslint-disable no-unused-vars */
9
11
  const consolidateStore = function () {
10
12
  let {
@@ -12,6 +14,7 @@ const consolidateStore = function () {
12
14
  cookies = {},
13
15
  instance: {
14
16
  el,
17
+ hotel: hotelId,
15
18
  id,
16
19
  type,
17
20
  ...instance
@@ -58,7 +61,8 @@ const consolidateStore = function () {
58
61
 
59
62
  // hotel
60
63
  let hotel = {
61
- id
64
+ id: type === _Core.TYPE.CHAIN ? hotelId : id,
65
+ accomodationType: (0, _getAccomodationType.getAccomodationType)(config.lodgingDenomination, hotelId)
62
66
  };
63
67
 
64
68
  // promo
@@ -1 +1 @@
1
- {"version":3,"file":"consolidateStore.js","names":["consolidateStore","config","cookies","instance","el","id","type","session","urlParams","forceUri","navigatorLanguage","countryLanguage","window","navigator","language","split","country","locale","lang","currency","undefined","DEFAULT_CURRENCY","club","authentication","idClub","name","conditionsUrl","conditions","privacyPolicyUrl","privacy","url","hotel","promo","showPromoNav","accomodation","configPromo","promoText","placeholder","DEFAULT_LOCALE","finder","place","calendar","occupation","promocode","code","deals","signup"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { DEFAULT_CURRENCY, DEFAULT_LOCALE } from '@mirai/locale';\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = ({\n config = {},\n cookies = {},\n instance: { el, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { forceUri = false } = urlParams;\n\n // language & country\n const [navigatorLanguage, countryLanguage] = window.navigator.language?.split('-') || [];\n let [language = navigatorLanguage, country = countryLanguage] = instance.locale?.split('-') || [];\n if (urlParams.lang && urlParams.lang === navigatorLanguage) language = urlParams.lang;\n\n // currency\n const currency =\n (forceUri ? urlParams.currency : undefined) ||\n cookies.currency ||\n urlParams.currency ||\n instance.currency ||\n DEFAULT_CURRENCY;\n\n // club\n let club;\n if (config.club) {\n let {\n club: {\n club: { authentication, idClub: id, name },\n conditionsUrl: conditions,\n privacyPolicyUrl: privacy,\n },\n } = config;\n club = { authentication, id, name, url: { conditions, privacy } };\n }\n\n // hotel\n let hotel = {\n id,\n };\n\n // promo\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = { ...configPromo, placeholder };\n }\n\n return {\n config,\n cookies,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale: language && country ? `${language}-${country}` : DEFAULT_LOCALE,\n\n // entities,\n club,\n hotel,\n promo,\n session,\n\n // @mirai/finder\n finder: {\n // ! TODO: we should hydrate it\n place: undefined,\n calendar: undefined,\n occupation: undefined,\n promocode: promo?.code,\n },\n deals: undefined,\n\n // @mirai/user\n signup: undefined,\n };\n};\n"],"mappings":";;;;;;AAAA;AAEA;AACO,MAAMA,gBAAgB,GAAG,YAMrB;EAAA,IANsB;IAC/BC,MAAM,GAAG,CAAC,CAAC;IACXC,OAAO,GAAG,CAAC,CAAC;IACZC,QAAQ,EAAE;MAAEC,EAAE;MAAEC,EAAE;MAAEC,IAAI;MAAE,GAAGH;IAAS,CAAC,GAAG,CAAC,CAAC;IAC5CI,OAAO;IACPC,SAAS,GAAG,CAAC;EACf,CAAC,uEAAG,CAAC,CAAC;EACJ,MAAM;IAAEC,QAAQ,GAAG;EAAM,CAAC,GAAGD,SAAS;;EAEtC;EACA,MAAM,CAACE,iBAAiB,EAAEC,eAAe,CAAC,GAAGC,MAAM,CAACC,SAAS,CAACC,QAAQ,EAAEC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;EACxF,IAAI,CAACD,QAAQ,GAAGJ,iBAAiB,EAAEM,OAAO,GAAGL,eAAe,CAAC,GAAGR,QAAQ,CAACc,MAAM,EAAEF,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;EACjG,IAAIP,SAAS,CAACU,IAAI,IAAIV,SAAS,CAACU,IAAI,KAAKR,iBAAiB,EAAEI,QAAQ,GAAGN,SAAS,CAACU,IAAI;;EAErF;EACA,MAAMC,QAAQ,GACZ,CAACV,QAAQ,GAAGD,SAAS,CAACW,QAAQ,GAAGC,SAAS,KAC1ClB,OAAO,CAACiB,QAAQ,IAChBX,SAAS,CAACW,QAAQ,IAClBhB,QAAQ,CAACgB,QAAQ,IACjBE,wBAAgB;;EAElB;EACA,IAAIC,IAAI;EACR,IAAIrB,MAAM,CAACqB,IAAI,EAAE;IACf,IAAI;MACFA,IAAI,EAAE;QACJA,IAAI,EAAE;UAAEC,cAAc;UAAEC,MAAM,EAAEnB,EAAE;UAAEoB;QAAK,CAAC;QAC1CC,aAAa,EAAEC,UAAU;QACzBC,gBAAgB,EAAEC;MACpB;IACF,CAAC,GAAG5B,MAAM;IACVqB,IAAI,GAAG;MAAEC,cAAc;MAAElB,EAAE;MAAEoB,IAAI;MAAEK,GAAG,EAAE;QAAEH,UAAU;QAAEE;MAAQ;IAAE,CAAC;EACnE;;EAEA;EACA,IAAIE,KAAK,GAAG;IACV1B;EACF,CAAC;;EAED;EACA,IAAI2B,KAAK;EACT,IAAI/B,MAAM,CAACgC,YAAY,EAAE;IACvB,MAAM;MAAEC,YAAY,EAAE;QAAEF,KAAK,EAAEG,WAAW,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MAAEC,SAAS,EAAEC,WAAW,GAAG,CAAC;IAAE,CAAC,GAAGpC,MAAM;IAC9F+B,KAAK,GAAG;MAAE,GAAGG,WAAW;MAAEE;IAAY,CAAC;EACzC;EAEA,OAAO;IACLpC,MAAM;IACNC,OAAO;IACPM,SAAS;IACT,GAAGL,QAAQ;IACXE,EAAE;IACFC,IAAI;IAEJ;IACAa,QAAQ;IACRL,QAAQ;IACRE,OAAO;IACPC,MAAM,EAAEH,QAAQ,IAAIE,OAAO,GAAI,GAAEF,QAAS,IAAGE,OAAQ,EAAC,GAAGsB,sBAAc;IAEvE;IACAhB,IAAI;IACJS,KAAK;IACLC,KAAK;IACLzB,OAAO;IAEP;IACAgC,MAAM,EAAE;MACN;MACAC,KAAK,EAAEpB,SAAS;MAChBqB,QAAQ,EAAErB,SAAS;MACnBsB,UAAU,EAAEtB,SAAS;MACrBuB,SAAS,EAAEX,KAAK,EAAEY;IACpB,CAAC;IACDC,KAAK,EAAEzB,SAAS;IAEhB;IACA0B,MAAM,EAAE1B;EACV,CAAC;AACH,CAAC;AAAC"}
1
+ {"version":3,"file":"consolidateStore.js","names":["consolidateStore","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","forceUri","navigatorLanguage","countryLanguage","window","navigator","language","split","country","locale","lang","currency","undefined","DEFAULT_CURRENCY","club","authentication","idClub","name","conditionsUrl","conditions","privacyPolicyUrl","privacy","url","TYPE","CHAIN","accomodationType","getAccomodationType","lodgingDenomination","promo","showPromoNav","accomodation","configPromo","promoText","placeholder","DEFAULT_LOCALE","finder","place","calendar","occupation","promocode","code","deals","signup"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { DEFAULT_CURRENCY, DEFAULT_LOCALE } from '@mirai/locale';\n\nimport { TYPE } from '../Core.constants';\nimport { getAccomodationType } from './getAccomodationType';\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = ({\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { forceUri = false } = urlParams;\n\n // language & country\n const [navigatorLanguage, countryLanguage] = window.navigator.language?.split('-') || [];\n let [language = navigatorLanguage, country = countryLanguage] = instance.locale?.split('-') || [];\n if (urlParams.lang && urlParams.lang === navigatorLanguage) language = urlParams.lang;\n\n // currency\n const currency =\n (forceUri ? urlParams.currency : undefined) ||\n cookies.currency ||\n urlParams.currency ||\n instance.currency ||\n DEFAULT_CURRENCY;\n\n // club\n let club;\n if (config.club) {\n let {\n club: {\n club: { authentication, idClub: id, name },\n conditionsUrl: conditions,\n privacyPolicyUrl: privacy,\n },\n } = config;\n club = { authentication, id, name, url: { conditions, privacy } };\n }\n\n // hotel\n let hotel = {\n id: type === TYPE.CHAIN ? hotelId : id,\n accomodationType: getAccomodationType(config.lodgingDenomination, hotelId),\n };\n\n // promo\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = { ...configPromo, placeholder };\n }\n\n return {\n config,\n cookies,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale: language && country ? `${language}-${country}` : DEFAULT_LOCALE,\n\n // entities,\n club,\n hotel,\n promo,\n session,\n\n // @mirai/finder\n finder: {\n // ! TODO: we should hydrate it\n place: undefined,\n calendar: undefined,\n occupation: undefined,\n promocode: promo?.code,\n },\n deals: undefined,\n\n // @mirai/user\n signup: undefined,\n };\n};\n"],"mappings":"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"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.fetchConfig = void 0;
7
+ var _Core = require("../Core.constants");
7
8
  var _services = require("../services");
8
9
  const IS_JEST = !!process?.env?.JEST_WORKER_ID;
9
10
  const fetchConfig = async function () {
@@ -12,7 +13,7 @@ const fetchConfig = async function () {
12
13
  type = 'hotel'
13
14
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
15
  if (!id) return undefined;
15
- const club = type === 'chain' && !IS_JEST ? await _services.ServiceClub.get(id) : undefined;
16
+ const club = type === _Core.TYPE.CHAIN && !IS_JEST ? await _services.ServiceClub.get(id) : undefined;
16
17
  const config = await _services.ServiceEngine.get({
17
18
  id,
18
19
  type
@@ -1 +1 @@
1
- {"version":3,"file":"fetchConfig.js","names":["IS_JEST","process","env","JEST_WORKER_ID","fetchConfig","id","type","undefined","club","ServiceClub","get","config","ServiceEngine"],"sources":["../../src/helpers/fetchConfig.js"],"sourcesContent":["const IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\nimport { ServiceClub, ServiceEngine } from '../services';\n\nexport const fetchConfig = async ({ id, type = 'hotel' } = {}) => {\n if (!id) return undefined;\n\n const club = type === 'chain' && !IS_JEST ? await ServiceClub.get(id) : undefined;\n const config = await ServiceEngine.get({ id, type });\n\n if (config && club) config.club = club;\n\n return config;\n};\n"],"mappings":";;;;;;AAEA;AAFA,MAAMA,OAAO,GAAG,CAAC,CAACC,OAAO,EAAEC,GAAG,EAAEC,cAAc;AAIvC,MAAMC,WAAW,GAAG,kBAAuC;EAAA,IAAhC;IAAEC,EAAE;IAAEC,IAAI,GAAG;EAAQ,CAAC,uEAAG,CAAC,CAAC;EAC3D,IAAI,CAACD,EAAE,EAAE,OAAOE,SAAS;EAEzB,MAAMC,IAAI,GAAGF,IAAI,KAAK,OAAO,IAAI,CAACN,OAAO,GAAG,MAAMS,qBAAW,CAACC,GAAG,CAACL,EAAE,CAAC,GAAGE,SAAS;EACjF,MAAMI,MAAM,GAAG,MAAMC,uBAAa,CAACF,GAAG,CAAC;IAAEL,EAAE;IAAEC;EAAK,CAAC,CAAC;EAEpD,IAAIK,MAAM,IAAIH,IAAI,EAAEG,MAAM,CAACH,IAAI,GAAGA,IAAI;EAEtC,OAAOG,MAAM;AACf,CAAC;AAAC"}
1
+ {"version":3,"file":"fetchConfig.js","names":["IS_JEST","process","env","JEST_WORKER_ID","fetchConfig","id","type","undefined","club","TYPE","CHAIN","ServiceClub","get","config","ServiceEngine"],"sources":["../../src/helpers/fetchConfig.js"],"sourcesContent":["const IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\nimport { TYPE } from '../Core.constants';\nimport { ServiceClub, ServiceEngine } from '../services';\n\nexport const fetchConfig = async ({ id, type = 'hotel' } = {}) => {\n if (!id) return undefined;\n\n const club = type === TYPE.CHAIN && !IS_JEST ? await ServiceClub.get(id) : undefined;\n const config = await ServiceEngine.get({ id, type });\n\n if (config && club) config.club = club;\n\n return config;\n};\n"],"mappings":";;;;;;AAEA;AACA;AAHA,MAAMA,OAAO,GAAG,CAAC,CAACC,OAAO,EAAEC,GAAG,EAAEC,cAAc;AAKvC,MAAMC,WAAW,GAAG,kBAAuC;EAAA,IAAhC;IAAEC,EAAE;IAAEC,IAAI,GAAG;EAAQ,CAAC,uEAAG,CAAC,CAAC;EAC3D,IAAI,CAACD,EAAE,EAAE,OAAOE,SAAS;EAEzB,MAAMC,IAAI,GAAGF,IAAI,KAAKG,UAAI,CAACC,KAAK,IAAI,CAACV,OAAO,GAAG,MAAMW,qBAAW,CAACC,GAAG,CAACP,EAAE,CAAC,GAAGE,SAAS;EACpF,MAAMM,MAAM,GAAG,MAAMC,uBAAa,CAACF,GAAG,CAAC;IAAEP,EAAE;IAAEC;EAAK,CAAC,CAAC;EAEpD,IAAIO,MAAM,IAAIL,IAAI,EAAEK,MAAM,CAACL,IAAI,GAAGA,IAAI;EAEtC,OAAOK,MAAM;AACf,CAAC;AAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getAccomodationType = void 0;
7
+ var _Core = require("../Core.constants");
8
+ const getAccomodationType = (denomination, hotelId) => {
9
+ const base = typeof denomination === 'object' && hotelId ? denomination[hotelId] : denomination;
10
+ let accomodationType = _Core.ACCOMODATION_TYPE.DEFAULT;
11
+ if (base === 'ROOMS') accomodationType = _Core.ACCOMODATION_TYPE.ROOM;else if (base === 'APARTMENTS') accomodationType = _Core.ACCOMODATION_TYPE.APARTMENT;else if (base === 'VILLAS') accomodationType = _Core.ACCOMODATION_TYPE.VILLA;else if (base === 'PITCHES') accomodationType = _Core.ACCOMODATION_TYPE.PITCH;
12
+ return accomodationType;
13
+ };
14
+ exports.getAccomodationType = getAccomodationType;
15
+ //# sourceMappingURL=getAccomodationType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAccomodationType.js","names":["getAccomodationType","denomination","hotelId","base","accomodationType","ACCOMODATION_TYPE","DEFAULT","ROOM","APARTMENT","VILLA","PITCH"],"sources":["../../src/helpers/getAccomodationType.js"],"sourcesContent":["import { ACCOMODATION_TYPE } from '../Core.constants';\n\nexport const getAccomodationType = (denomination, hotelId) => {\n const base = typeof denomination === 'object' && hotelId ? denomination[hotelId] : denomination;\n let accomodationType = ACCOMODATION_TYPE.DEFAULT;\n\n if (base === 'ROOMS') accomodationType = ACCOMODATION_TYPE.ROOM;\n else if (base === 'APARTMENTS') accomodationType = ACCOMODATION_TYPE.APARTMENT;\n else if (base === 'VILLAS') accomodationType = ACCOMODATION_TYPE.VILLA;\n else if (base === 'PITCHES') accomodationType = ACCOMODATION_TYPE.PITCH;\n\n return accomodationType;\n};\n"],"mappings":";;;;;;AAAA;AAEO,MAAMA,mBAAmB,GAAG,CAACC,YAAY,EAAEC,OAAO,KAAK;EAC5D,MAAMC,IAAI,GAAG,OAAOF,YAAY,KAAK,QAAQ,IAAIC,OAAO,GAAGD,YAAY,CAACC,OAAO,CAAC,GAAGD,YAAY;EAC/F,IAAIG,gBAAgB,GAAGC,uBAAiB,CAACC,OAAO;EAEhD,IAAIH,IAAI,KAAK,OAAO,EAAEC,gBAAgB,GAAGC,uBAAiB,CAACE,IAAI,CAAC,KAC3D,IAAIJ,IAAI,KAAK,YAAY,EAAEC,gBAAgB,GAAGC,uBAAiB,CAACG,SAAS,CAAC,KAC1E,IAAIL,IAAI,KAAK,QAAQ,EAAEC,gBAAgB,GAAGC,uBAAiB,CAACI,KAAK,CAAC,KAClE,IAAIN,IAAI,KAAK,SAAS,EAAEC,gBAAgB,GAAGC,uBAAiB,CAACK,KAAK;EAEvE,OAAON,gBAAgB;AACzB,CAAC;AAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.1.16",
3
+ "version": "0.1.17",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",
package/public/index.html CHANGED
@@ -19,9 +19,10 @@
19
19
  <body>
20
20
  <noscript>You need to enable JavaScript to run this app.</noscript>
21
21
 
22
- <!-- <div data-mirai-id="500255" data-type="chain" data-locale="es-ES" hidden></div> -->
23
- <!-- <div data-mirai-id="501404" data-locale="en-GB" data-currency="GBP" hidden></div> -->
24
- <div data-mirai-id="501404" data-type="chain" data-locale="en-GB" hidden></div>
22
+ <!-- hotel example -->
23
+ <!-- <div data-mirai-id="10030559" data-locale="en-GB" data-currency="GBP" hidden></div> -->
24
+ <!-- chain example -->
25
+ <div data-mirai-id="501404" data-hotel="100376545" data-type="chain" data-locale="en-GB" hidden></div>
25
26
 
26
27
  <header>
27
28
  <h1>@mirai/core</h1>