UNPKG

@snowplow/react-native-tracker

Version:
82 lines (81 loc) 2.36 kB
"use strict"; 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