@scaleway/use-analytics
Version:
A small hook to handle events analytics
34 lines (33 loc) • 1.3 kB
JavaScript
;
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;