@snowplow/react-native-tracker
Version:
React Native tracker for Snowplow
82 lines (81 loc) • 2.36 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.newSubject = newSubject;
function newSubject(core, configuration) {
var domainUserId;
var networkUserId;
var addSubjectToPayload = function addSubjectToPayload(payload) {
payload.add('duid', domainUserId);
payload.add('nuid', networkUserId);
};
var setScreenResolution = function setScreenResolution(screenSize) {
return core.setScreenResolution(String(screenSize[0]), String(screenSize[1]));
};
var setNetworkUserId = function setNetworkUserId(userId) {
networkUserId = userId;
};
var setDomainUserId = function setDomainUserId(userId) {
domainUserId = userId;
};
var setColorDepth = function setColorDepth(colorDepth) {
core.setColorDepth(String(colorDepth));
};
var setScreenViewport = function setScreenViewport(screenSize) {
core.setViewport(String(screenSize[0]), String(screenSize[1]));
};
var setSubjectData = function setSubjectData(data) {
setNetworkUserId(data.networkUserId);
setDomainUserId(data.domainUserId);
if (data.userId) {
core.setUserId(data.userId);
}
if (data.useragent) {
core.setUseragent(data.useragent);
}
if (data.ipAddress) {
core.setIpAddress(data.ipAddress);
}
if (data.timezone) {
core.setTimezone(data.timezone);
}
if (data.language) {
core.setLang(data.language);
}
if (data.screenResolution) {
setScreenResolution(data.screenResolution);
}
if (data.colorDepth) {
setColorDepth(data.colorDepth);
}
if (data.screenViewport) {
setScreenViewport(data.screenViewport);
}
};
if (configuration) {
setSubjectData(configuration);
}
var subjectPlugin = {
plugin: {
beforeTrack: addSubjectToPayload
}
};
return {
subjectPlugin: subjectPlugin,
properties: {
setUserId: core.setUserId,
setIpAddress: core.setIpAddress,
setUseragent: core.setUseragent,
setTimezone: core.setTimezone,
setLanguage: core.setLang,
setScreenResolution: setScreenResolution,
setNetworkUserId: setNetworkUserId,
setDomainUserId: setDomainUserId,
setSubjectData: setSubjectData,
setColorDepth: setColorDepth,
setScreenViewport: setScreenViewport
}
};
}
//# sourceMappingURL=subject.js.map
;