@snowplow/react-native-tracker
Version:
React Native tracker for Snowplow
147 lines (146 loc) • 4.43 kB
JavaScript
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
;