@mirai/core 0.4.14 → 0.4.15

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.
@@ -164,6 +164,7 @@ const PerformanceManager = () => {
164
164
  device,
165
165
  store
166
166
  });
167
+ if (!response) return;
167
168
  const label = "\u26A1\uFE0F ".concat((0, _helpers.getPerformanceLabel)(provider), " ").concat(event);
168
169
  // eslint-disable-next-line no-console
169
170
  response.then ? response.then(value => console.log(label, value)) : console.log(label, response);
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_helpers2","_Core","_helpers3","memoizedEvents","memoizedPendingEvents","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","DEFAULT_PERFORMANCE","store","useStore","consentMode","setConsentMode","useState","getConsentMode","ready","setReady","types","setTypes","hotel","finder","place","id","instanceId","locale","session","type","useEffect","metrics","ServiceFeatures","get","bannedMetrics","Object","entries","filter","_ref","map","_ref2","key","handleMetrics","_ref3","props","window","IS_PLAYWRIGHT","location","host","event","toUpperCase","trim","metric","split","includes","KPI_EVENTS","method","hotelId","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","nextConsentMode","undefined","loadScripts","nextMemoizedPendingEvents","forEach","CONSENT_MODE_ANSWERED","parseInt","provider","executeEvent","push","clearInterval","handleEvent","EVENT","CORE_READY","config","isHotel","getPerformance","_ref4","currentConsentMode","availableProviders","arguments","length","CONSENT_MODE_REQUIRED","EVENTS","_ref5","callback","keys","find","_ref6","response","label","concat","getPerformanceLabel","then","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","some","item","index","domain","Promise","all","loadScript","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport {\n CONSENT_MODE_ANSWERED,\n CONSENT_MODE_REQUIRED,\n DEFAULT_PERFORMANCE,\n KPI_EVENTS,\n} from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { EVENT } from '../../Core.constants';\nimport { getPerformance, loadScript } from '../../helpers';\n\nlet memoizedEvents = [];\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, performance = DEFAULT_PERFORMANCE || [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [ready, setReady] = useState(false);\n const [types, setTypes] = useState([]);\n\n const { hotel, finder: { place } = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const metrics = ServiceFeatures.get('metrics', hotel.id) || {};\n const bannedMetrics = Object.entries(metrics)\n .filter(([, value]) => value === false)\n .map(([key]) => key);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n const event = id.toUpperCase().trim();\n const [metric] = event.split(':');\n\n if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n const nextConsentMode = getConsentMode();\n if (nextConsentMode === undefined) return;\n\n await loadScripts(performance, nextConsentMode);\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event) => {\n if (nextConsentMode || (!nextConsentMode && CONSENT_MODE_ANSWERED.includes(parseInt(event.provider))))\n executeEvent(event);\n else nextMemoizedPendingEvents.push(event);\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n\n setConsentMode(nextConsentMode);\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const handleEvent = () => loadScripts(performance);\n\n Event.subscribe(EVENT.CORE_READY, handleEvent);\n\n return () => Event.unsubscribe(EVENT.CORE_READY, handleEvent);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [performance]);\n\n useEffect(() => {\n const {\n config,\n finder: { place: { id: [hotelId] = [], isHotel } = {} },\n } = store;\n\n if (place && ready) loadScripts(getPerformance(config, isHotel ? hotelId : undefined));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n if (!ready) return;\n\n memoizedEvents.forEach((event) => executeEvent(event));\n memoizedEvents = [];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ready]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n const currentConsentMode = getConsentMode();\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(currentConsentMode === undefined && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([provider, callback = () => {}]) => {\n const props = { callback, event, provider, value };\n\n if (\n !availableProviders.includes(parseInt(provider)) ||\n (types.length > 0 && !types.includes(parseInt(provider)))\n )\n memoizedPendingEvents.push(props);\n else if (ready) executeEvent(props);\n else memoizedEvents.push(props);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [device, ready, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}) => {\n const config = performance.find(({ type }) => type === parseInt(provider));\n const response = callback({ ...value, ...config, device, store });\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [] } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, loadedComponents }),\n type,\n })),\n );\n }\n });\n\n setReady(false);\n await Promise.all(scripts.map((config) => loadScript(config)));\n setTypes(scripts.map(({ type } = {}) => type));\n setReady(true);\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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"}
1
+ {"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_helpers2","_Core","_helpers3","memoizedEvents","memoizedPendingEvents","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","DEFAULT_PERFORMANCE","store","useStore","consentMode","setConsentMode","useState","getConsentMode","ready","setReady","types","setTypes","hotel","finder","place","id","instanceId","locale","session","type","useEffect","metrics","ServiceFeatures","get","bannedMetrics","Object","entries","filter","_ref","map","_ref2","key","handleMetrics","_ref3","props","window","IS_PLAYWRIGHT","location","host","event","toUpperCase","trim","metric","split","includes","KPI_EVENTS","method","hotelId","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","nextConsentMode","undefined","loadScripts","nextMemoizedPendingEvents","forEach","CONSENT_MODE_ANSWERED","parseInt","provider","executeEvent","push","clearInterval","handleEvent","EVENT","CORE_READY","config","isHotel","getPerformance","_ref4","currentConsentMode","availableProviders","arguments","length","CONSENT_MODE_REQUIRED","EVENTS","_ref5","callback","keys","find","_ref6","response","label","concat","getPerformanceLabel","then","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","some","item","index","domain","Promise","all","loadScript","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport {\n CONSENT_MODE_ANSWERED,\n CONSENT_MODE_REQUIRED,\n DEFAULT_PERFORMANCE,\n KPI_EVENTS,\n} from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { EVENT } from '../../Core.constants';\nimport { getPerformance, loadScript } from '../../helpers';\n\nlet memoizedEvents = [];\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, performance = DEFAULT_PERFORMANCE || [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [ready, setReady] = useState(false);\n const [types, setTypes] = useState([]);\n\n const { hotel, finder: { place } = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const metrics = ServiceFeatures.get('metrics', hotel.id) || {};\n const bannedMetrics = Object.entries(metrics)\n .filter(([, value]) => value === false)\n .map(([key]) => key);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n const event = id.toUpperCase().trim();\n const [metric] = event.split(':');\n\n if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n const nextConsentMode = getConsentMode();\n if (nextConsentMode === undefined) return;\n\n await loadScripts(performance, nextConsentMode);\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event) => {\n if (nextConsentMode || (!nextConsentMode && CONSENT_MODE_ANSWERED.includes(parseInt(event.provider))))\n executeEvent(event);\n else nextMemoizedPendingEvents.push(event);\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n\n setConsentMode(nextConsentMode);\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const handleEvent = () => loadScripts(performance);\n\n Event.subscribe(EVENT.CORE_READY, handleEvent);\n\n return () => Event.unsubscribe(EVENT.CORE_READY, handleEvent);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [performance]);\n\n useEffect(() => {\n const {\n config,\n finder: { place: { id: [hotelId] = [], isHotel } = {} },\n } = store;\n\n if (place && ready) loadScripts(getPerformance(config, isHotel ? hotelId : undefined));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n if (!ready) return;\n\n memoizedEvents.forEach((event) => executeEvent(event));\n memoizedEvents = [];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ready]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n const currentConsentMode = getConsentMode();\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(currentConsentMode === undefined && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([provider, callback = () => {}]) => {\n const props = { callback, event, provider, value };\n\n if (\n !availableProviders.includes(parseInt(provider)) ||\n (types.length > 0 && !types.includes(parseInt(provider)))\n )\n memoizedPendingEvents.push(props);\n else if (ready) executeEvent(props);\n else memoizedEvents.push(props);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [device, ready, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}) => {\n const config = performance.find(({ type }) => type === parseInt(provider));\n const response = callback({ ...value, ...config, device, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [] } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, loadedComponents }),\n type,\n })),\n );\n }\n });\n\n setReady(false);\n await Promise.all(scripts.map((config) => loadScript(config)));\n setTypes(scripts.map(({ type } = {}) => type));\n setReady(true);\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.14",
3
+ "version": "0.4.15",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",