Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 3x 3x 3x 3x | import { decorateContextWithNeededData, getDefaultProperties } from './segmentWrapper.js' const MPI_PATCH_FIELD = '__mpi_patch' function monkeyPatchAnalyticsTrack() { const {track: originalTrack} = window.analytics window.analytics.track = (...args) => { const [event, properties, contextFromArgs, fn] = args const newProperties = { ...getDefaultProperties(), ...properties } decorateContextWithNeededData(contextFromArgs).then(context => { originalTrack.call(window.analytics, event, newProperties, context, fn) }) return window.analytics } // add a flag to the patched analytics so we don't patch this twice window.analytics[MPI_PATCH_FIELD] = true } Eif (typeof window !== 'undefined') { Eif (!window.analytics) { console.warn('Segment Analytics is not loaded so patch is not applied.') } else if (!window.analytics[MPI_PATCH_FIELD]) { window.analytics.initialized ? monkeyPatchAnalyticsTrack() : window.analytics.ready(monkeyPatchAnalyticsTrack) } } |