UNPKG

@scaleway/use-analytics

Version:

A small hook to handle events analytics

34 lines (33 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const normalizeId = require("../normalizeId.cjs"); const SEGMENT_COOKIES_KEY = { ANONYMOUS_ID: "ajs_anonymous_id", GROUP_ID: "ajs_group_id", USER_ID: "ajs_user_id" }; const userMigrationsTraits = (rudderAnalytics) => { const segmentAnonymousId = localStorage.getItem( SEGMENT_COOKIES_KEY.ANONYMOUS_ID ); const segmentUserId = localStorage.getItem(SEGMENT_COOKIES_KEY.USER_ID); const segmentGroupId = localStorage.getItem(SEGMENT_COOKIES_KEY.GROUP_ID); const rudderUserId = rudderAnalytics.getUserId(); const rudderGroupId = rudderAnalytics.getGroupId(); if (segmentAnonymousId) { rudderAnalytics.setAnonymousId(normalizeId.normalizeId(segmentAnonymousId)); } if (segmentUserId && (!rudderUserId || rudderUserId !== segmentUserId)) { const normalizedUserId = normalizeId.normalizeId(segmentUserId); if (normalizedUserId) { rudderAnalytics.identify(normalizedUserId); } } if (segmentGroupId && (!rudderGroupId || rudderGroupId !== segmentGroupId)) { const normalizedGroupId = normalizeId.normalizeId(segmentGroupId); if (normalizedGroupId) { rudderAnalytics.group(normalizedGroupId); } } }; exports.userMigrationsTraits = userMigrationsTraits;