UNPKG

@snowplow/react-native-tracker

Version:
147 lines (146 loc) 4.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.newPlugins = newPlugins; /** * Creates a fake BrowserTracker from a TrackerCore instance in order to use in browser plugins. * Most of the methods are not implemented and will throw an error if called. * However, our plugins mostly only call the `core` methods. */ function toBrowserTracker(namespace, core) { var notImplemented = function notImplemented() { throw new Error('Not implemented in React Native'); }; return { id: namespace, namespace: namespace, core: core, sharedState: { bufferFlushers: [], hasLoaded: true, registeredOnLoadHandlers: [] }, getDomainSessionIndex: function getDomainSessionIndex() { return 0; }, getPageViewId: function getPageViewId() { return ''; }, getTabId: function getTabId() { return null; }, getCookieName: function getCookieName() { return ''; }, getUserId: function getUserId() { return undefined; }, getDomainUserId: function getDomainUserId() { return ''; }, getDomainUserInfo: function getDomainUserInfo() { return ['', '', 0, 0, 0, undefined, '', '', '', undefined, 0]; }, setReferrerUrl: function setReferrerUrl() { return notImplemented; }, setCustomUrl: function setCustomUrl() { return notImplemented; }, setDocumentTitle: function setDocumentTitle() { return notImplemented; }, discardHashTag: function discardHashTag() { return notImplemented; }, discardBrace: function discardBrace() { return notImplemented; }, setCookiePath: function setCookiePath() { return notImplemented; }, setVisitorCookieTimeout: function setVisitorCookieTimeout() { return notImplemented; }, newSession: function newSession() { return notImplemented; }, crossDomainLinker: function crossDomainLinker() { return notImplemented; }, enableActivityTracking: function enableActivityTracking() { return notImplemented; }, enableActivityTrackingCallback: function enableActivityTrackingCallback() { return notImplemented; }, disableActivityTracking: function disableActivityTracking() { return notImplemented; }, disableActivityTrackingCallback: function disableActivityTrackingCallback() { return notImplemented; }, updatePageActivity: function updatePageActivity() { return notImplemented; }, setOptOutCookie: function setOptOutCookie() { return notImplemented; }, setUserId: function setUserId() { return notImplemented; }, setUserIdFromLocation: function setUserIdFromLocation() { return notImplemented; }, setUserIdFromReferrer: function setUserIdFromReferrer() { return notImplemented; }, setUserIdFromCookie: function setUserIdFromCookie() { return notImplemented; }, setCollectorUrl: function setCollectorUrl() { return notImplemented; }, setBufferSize: function setBufferSize() { return notImplemented; }, flushBuffer: function flushBuffer() { return notImplemented; }, preservePageViewId: function preservePageViewId() { return notImplemented; }, preservePageViewIdForUrl: function preservePageViewIdForUrl() { return notImplemented; }, trackPageView: function trackPageView() { return notImplemented; }, disableAnonymousTracking: function disableAnonymousTracking() { return notImplemented; }, enableAnonymousTracking: function enableAnonymousTracking() { return notImplemented; }, clearUserData: function clearUserData() { return notImplemented; }, addPlugin: function addPlugin() { return notImplemented; } }; } function newPlugins(namespace, core) { return { addPlugin: function addPlugin(plugin) { core.addPlugin(plugin); if (plugin.plugin.activateBrowserPlugin) { var _plugin$plugin$activa, _plugin$plugin; var browserTracker = toBrowserTracker(namespace, core); (_plugin$plugin$activa = (_plugin$plugin = plugin.plugin).activateBrowserPlugin) === null || _plugin$plugin$activa === void 0 || _plugin$plugin$activa.call(_plugin$plugin, browserTracker); } } }; } //# sourceMappingURL=plugins.js.map