UNPKG

@ninetailed/experience.js-plugin-ssr

Version:
52 lines (45 loc) 1.81 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var Cookies = require('js-cookie'); var experience_jsShared = require('@ninetailed/experience.js-shared'); var experience_jsPluginAnalytics = require('@ninetailed/experience.js-plugin-analytics'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var Cookies__default = /*#__PURE__*/_interopDefaultLegacy(Cookies); var _a, _b; class NinetailedSsrPlugin extends experience_jsPluginAnalytics.NinetailedPlugin { constructor({ cookie } = {}) { super(); this.name = 'ninetailed:ssr'; this.initialize = ({ instance }) => { const anonymousId = Cookies__default["default"].get(experience_jsShared.NINETAILED_ANONYMOUS_ID_COOKIE); if (anonymousId) { instance.storage.setItem(experience_jsShared.ANONYMOUS_ID, anonymousId); } }; this[_a] = ({ payload }) => { if (payload.profile) { const cookieAttributes = { expires: this.cookieExpires || 365 }; if (this.cookieDomain) { cookieAttributes.domain = this.cookieDomain; } Cookies__default["default"].set(experience_jsShared.NINETAILED_ANONYMOUS_ID_COOKIE, payload.profile.id, cookieAttributes); } }; this[_b] = () => { Cookies__default["default"].remove(experience_jsShared.NINETAILED_ANONYMOUS_ID_COOKIE); }; this.cookieDomain = cookie === null || cookie === void 0 ? void 0 : cookie.domain; this.cookieExpires = cookie === null || cookie === void 0 ? void 0 : cookie.expires; } } _a = experience_jsShared.PROFILE_CHANGE, _b = experience_jsShared.PROFILE_RESET; exports.NinetailedSsrPlugin = NinetailedSsrPlugin; exports["default"] = NinetailedSsrPlugin;