@searchspring/snap-tracker 0.26.0 → 0.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,13 @@
1
+ import * as Types from './types';
1
2
  import { BeaconPayload } from './types';
2
- export declare class BeaconEvent implements BeaconPayload {
3
+ export declare class BeaconEvent {
3
4
  type: any;
4
5
  category: any;
5
- context: any;
6
- event: any;
7
- meta: any;
8
- id: any;
9
- pid?: any;
6
+ context?: Types.BeaconContext;
7
+ meta?: Types.BeaconMeta;
8
+ event?: Types.ProductViewEvent | Types.CartViewEvent | Types.OrderTransactionEvent | Types.RecommendationsEvent | Types.ProductClickEvent | Types.CustomBeaconEvent | Record<string, never>;
9
+ id?: string;
10
+ pid?: string | null;
10
11
  constructor(payload: BeaconPayload);
11
12
  }
12
13
  //# sourceMappingURL=BeaconEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BeaconEvent.d.ts","sourceRoot":"","sources":["../../src/BeaconEvent.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,WAAY,YAAW,aAAa;IAChD,IAAI,MAAC;IACL,QAAQ,MAAC;IACT,OAAO,MAAC;IACR,KAAK,MAAC;IACN,IAAI,MAAC;IACL,EAAE,MAAC;IACH,GAAG,CAAC,MAAC;gBAEO,OAAO,EAAE,aAAa;CAYlC"}
1
+ {"version":3,"file":"BeaconEvent.d.ts","sourceRoot":"","sources":["../../src/BeaconEvent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,WAAW;IACvB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EACH,KAAK,CAAC,gBAAgB,GACtB,KAAK,CAAC,aAAa,GACnB,KAAK,CAAC,qBAAqB,GAC3B,KAAK,CAAC,oBAAoB,GAC1B,KAAK,CAAC,iBAAiB,GACvB,KAAK,CAAC,iBAAiB,GACvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAER,OAAO,EAAE,aAAa;CAiBlC"}
@@ -5,10 +5,13 @@ var uuid_1 = require("uuid");
5
5
  var snap_toolbox_1 = require("@searchspring/snap-toolbox");
6
6
  var BeaconEvent = /** @class */ (function () {
7
7
  function BeaconEvent(payload) {
8
- var _this = this;
9
- Object.keys(payload).forEach(function (key) {
10
- _this[key] = payload[key];
11
- });
8
+ this.type = payload.type;
9
+ this.category = payload.category;
10
+ this.context = payload.context;
11
+ this.meta = payload.meta;
12
+ this.event = payload.event;
13
+ this.id = payload.id;
14
+ this.pid = payload.pid;
12
15
  this.meta = {
13
16
  initiator: {
14
17
  lib: 'searchspring/snap',
@@ -2,8 +2,8 @@ import { ProductViewEvent, OrderTransactionEvent, BeaconPayload, CartViewEvent }
2
2
  export declare class PixelEvent {
3
3
  endpoint: string;
4
4
  src: string;
5
- img: HTMLImageElement;
6
- event: ProductViewEvent | CartViewEvent | OrderTransactionEvent;
5
+ img: HTMLImageElement | undefined;
6
+ event: ProductViewEvent | CartViewEvent | OrderTransactionEvent | undefined;
7
7
  constructor(payload: BeaconPayload);
8
8
  }
9
9
  //# sourceMappingURL=PixelEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PixelEvent.d.ts","sourceRoot":"","sources":["../../src/PixelEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAEhH,qBAAa,UAAU;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,gBAAgB,CAAC;IACtB,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,qBAAqB,CAAC;gBAEpD,OAAO,EAAE,aAAa;CAkDlC"}
1
+ {"version":3,"file":"PixelEvent.d.ts","sourceRoot":"","sources":["../../src/PixelEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAEhH,qBAAa,UAAU;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,qBAAqB,GAAG,SAAS,CAAC;gBAEhE,OAAO,EAAE,aAAa;CAkDlC"}
@@ -6,11 +6,12 @@ var types_1 = require("./types");
6
6
  var PixelEvent = /** @class */ (function () {
7
7
  function PixelEvent(payload) {
8
8
  var _this = this;
9
+ var _a, _b, _c;
9
10
  this.endpoint = "https://d3cgm8py10hi0z.cloudfront.net/is.gif";
10
11
  this.src =
11
12
  this.endpoint +
12
- "?s=".concat(encodeURIComponent(payload.context.website.trackingCode)) +
13
- "&u=".concat(encodeURIComponent(payload.context.userId)) +
13
+ "?s=".concat(encodeURIComponent(((_b = (_a = payload === null || payload === void 0 ? void 0 : payload.context) === null || _a === void 0 ? void 0 : _a.website) === null || _b === void 0 ? void 0 : _b.trackingCode) || '')) +
14
+ "&u=".concat(encodeURIComponent(((_c = payload === null || payload === void 0 ? void 0 : payload.context) === null || _c === void 0 ? void 0 : _c.userId) || '')) +
14
15
  "&ce=".concat(snap_toolbox_1.featureFlags.cookies ? '1' : '0') +
15
16
  "&pt=".concat(encodeURIComponent(document.title)) +
16
17
  "&v=1" + // version always '1'? or set to snap package version?
@@ -34,7 +35,7 @@ var PixelEvent = /** @class */ (function () {
34
35
  });
35
36
  break;
36
37
  case types_1.BeaconCategory.ORDERVIEW:
37
- var _a = (this.event = payload.event), orderId = _a.orderId, total = _a.total, city = _a.city, state = _a.state, country = _a.country, items = _a.items;
38
+ var _d = (this.event = payload.event), orderId = _d.orderId, total = _d.total, city = _d.city, state = _d.state, country = _d.country, items = _d.items;
38
39
  this.src += "&a=sale";
39
40
  if (orderId)
40
41
  this.src += "&orderId=".concat(encodeURIComponent(orderId));
@@ -19,7 +19,7 @@ var TrackEvent = /** @class */ (function () {
19
19
  this.endpoint +
20
20
  "?d=".concat(encodeURIComponent(this.intellisuggestData)) +
21
21
  "&s=".concat(encodeURIComponent(this.intellisuggestSignature)) +
22
- "&u=".concat(encodeURIComponent(this.href));
22
+ "&u=".concat(encodeURIComponent(this.href || ''));
23
23
  if (window.document.referrer) {
24
24
  this.src += "&r=".concat(encodeURIComponent(window.document.referrer));
25
25
  }
@@ -5,15 +5,15 @@ export declare class Tracker {
5
5
  globals: TrackerGlobals;
6
6
  localStorage: StorageStore;
7
7
  context: BeaconContext;
8
- isSending: number;
8
+ isSending: number | undefined;
9
9
  private config;
10
10
  private targeters;
11
11
  constructor(globals: TrackerGlobals, config?: TrackerConfig);
12
12
  retarget(): void;
13
13
  track: TrackMethods;
14
- getUserId: () => string;
15
- getSessionId: () => string;
16
- getShopperId: () => string;
14
+ getUserId: () => string | undefined | null;
15
+ getSessionId: () => string | undefined;
16
+ getShopperId: () => string | undefined;
17
17
  sendPreflight: () => void;
18
18
  cookies: {
19
19
  cart: {
@@ -1 +1 @@
1
- {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAOb,aAAa,EAEb,MAAM,SAAS,CAAC;AAmBjB,qBAAa,OAAO;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IAyIpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAkQjB;IAEF,SAAS,QAAO,MAAM,CAiBpB;IAEF,YAAY,QAAO,MAAM,CAoBvB;IAEF,YAAY,QAAO,MAAM,CAOvB;IAEF,aAAa,QAAO,IAAI,CAuCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,kBAAmB,WAAW,EAAE,KAAG,IAAI,CAmB/C;CACF"}
1
+ {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAOb,aAAa,EAEb,MAAM,SAAS,CAAC;AAmBjB,qBAAa,OAAO;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IA2IpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAkQjB;IAEF,SAAS,QAAO,MAAM,GAAG,SAAS,GAAG,IAAI,CAiBvC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAoBnC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAOnC;IAEF,aAAa,QAAO,IAAI,CAuCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,kBAAmB,WAAW,EAAE,KAAG,IAAI,CAmB/C;CACF"}
@@ -285,7 +285,8 @@ var Tracker = /** @class */ (function () {
285
285
  this.getUserId = function () {
286
286
  var userId;
287
287
  try {
288
- userId = (0, snap_toolbox_1.getFlags)().storage() && window.localStorage.getItem(USERID_COOKIE_NAME);
288
+ if ((0, snap_toolbox_1.getFlags)().storage())
289
+ userId = window.localStorage.getItem(USERID_COOKIE_NAME);
289
290
  if ((0, snap_toolbox_1.getFlags)().cookies()) {
290
291
  userId = userId || snap_toolbox_1.cookies.get(USERID_COOKIE_NAME) || (0, uuid_1.v4)();
291
292
  snap_toolbox_1.cookies.set(USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION);
@@ -336,7 +337,7 @@ var Tracker = /** @class */ (function () {
336
337
  var shopper = _this.getShopperId();
337
338
  var cart = _this.cookies.cart.get();
338
339
  var lastViewed = _this.cookies.viewed.get();
339
- if (userId && siteId && (shopper || cart.length || lastViewed.length)) {
340
+ if (userId && typeof userId == 'string' && siteId && (shopper || cart.length || lastViewed.length)) {
340
341
  var preflightParams = {
341
342
  userId: userId,
342
343
  siteId: siteId,
@@ -457,7 +458,7 @@ var Tracker = /** @class */ (function () {
457
458
  key: "ss-".concat(this.config.id, "-").concat(this.globals.siteId, "-local"),
458
459
  });
459
460
  this.context = {
460
- userId: this.getUserId(),
461
+ userId: this.getUserId() || '',
461
462
  sessionId: this.getSessionId(),
462
463
  shopperId: this.getShopperId(),
463
464
  pageLoadId: (0, uuid_1.v4)(),
@@ -517,12 +518,13 @@ var Tracker = /** @class */ (function () {
517
518
  ];
518
519
  var attributes = {};
519
520
  var levels = 0;
520
- var elem = event && event.target;
521
- while (Object.keys(attributes).length == 0 && elem && levels <= MAX_PARENT_LEVELS) {
521
+ var elem = null;
522
+ elem = event && event.target;
523
+ while (Object.keys(attributes).length == 0 && elem !== null && levels <= MAX_PARENT_LEVELS) {
522
524
  Object.values(elem.attributes).forEach(function (attr) {
523
525
  var attrName = attr.nodeName;
524
526
  if (attributeList.indexOf(attrName) != -1) {
525
- attributes[attrName] = elem.getAttribute(attrName);
527
+ attributes[attrName] = elem && elem.getAttribute(attrName);
526
528
  }
527
529
  });
528
530
  elem = elem.parentElement;
@@ -5,7 +5,7 @@ export declare type TrackerGlobals = {
5
5
  export declare type TrackerConfig = {
6
6
  id: string;
7
7
  };
8
- export interface BeaconPayload {
8
+ export declare type BeaconPayload = {
9
9
  type: BeaconType;
10
10
  category: BeaconCategory;
11
11
  context?: BeaconContext;
@@ -13,7 +13,7 @@ export interface BeaconPayload {
13
13
  event: ProductViewEvent | CartViewEvent | OrderTransactionEvent | RecommendationsEvent | ProductClickEvent | CustomBeaconEvent | Record<string, never>;
14
14
  id?: string;
15
15
  pid?: string | null;
16
- }
16
+ };
17
17
  export declare enum BeaconType {
18
18
  PRODUCT = "product",
19
19
  CART = "cart",
@@ -130,17 +130,17 @@ export declare type PreflightRequestModel = {
130
130
  export interface TrackMethods {
131
131
  event: (payload: BeaconPayload) => BeaconEvent;
132
132
  shopper: {
133
- login: (data: ShopperLoginEvent, siteId?: string) => BeaconEvent;
133
+ login: (data: ShopperLoginEvent, siteId?: string) => BeaconEvent | undefined;
134
134
  };
135
135
  product: {
136
- view: (data: ProductViewEvent, siteId?: string) => BeaconEvent;
137
- click: (data: ProductClickEvent, siteId?: string) => BeaconEvent;
136
+ view: (data: ProductViewEvent, siteId?: string) => BeaconEvent | undefined;
137
+ click: (data: ProductClickEvent, siteId?: string) => BeaconEvent | undefined;
138
138
  };
139
139
  cart: {
140
- view: (data: CartViewEvent, siteId?: string) => BeaconEvent;
140
+ view: (data: CartViewEvent, siteId?: string) => BeaconEvent | undefined;
141
141
  };
142
142
  order: {
143
- transaction: (data: OrderTransactionData, siteId?: string) => BeaconEvent;
143
+ transaction: (data: OrderTransactionData, siteId?: string) => BeaconEvent | undefined;
144
144
  };
145
145
  }
146
146
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,oBAAY,cAAc,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,EACF,gBAAgB,GAChB,aAAa,GACb,qBAAqB,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF,oBAAY,UAAU;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,gBAAgB;IACrB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IAEjB,mCAAmC;IACnC,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,aAAa,kBAAkB;IAE/B,gDAAgD;IAChD,sBAAsB,2BAA2B;IACjD,0BAA0B,+BAA+B;IACzD,qBAAqB,0BAA0B;CAC/C;AAED,oBAAY,cAAc;IACzB,QAAQ,2BAA2B;IACnC,QAAQ,2BAA2B;IACnC,SAAS,kCAAkC;IAC3C,eAAe,iCAAiC;IAChD,eAAe,mDAAmD;IAClE,WAAW,mCAAmC;IAC9C,MAAM,WAAW;CACjB;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;CACF;AAED,MAAM,WAAW,UAAU;IAC1B,SAAS,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,CAAC;KACtB,CAAC;CACF;AAED,MAAM,WAAW,iBAAiB;IACjC,EAAE,EAAE,MAAM,CAAC;CACX;AACD,MAAM,WAAW,gBAAgB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,OAAQ,SAAQ,gBAAgB;IAChD,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACrC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACpC,KAAK,CAAC,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC;KAC1B,CAAC;IACF,OAAO,CAAC,EAAE;QACT,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE;YACV,IAAI,CAAC,EAAE;gBACN,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,IAAI,CAAC,EAAE,MAAM,CAAC;aACd,CAAC;SACF,CAAC;QACF,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC;KAC1B,CAAC;IACF,OAAO,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACF;AACD,MAAM,WAAW,iBAAiB;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACnB;AAED,oBAAY,qBAAqB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,WAAW,CAAC;IAC/C,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;KAC7E,CAAC;IACF,OAAO,EAAE;QACR,IAAI,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;QAC3E,KAAK,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;KAC7E,CAAC;IACF,IAAI,EAAE;QACL,IAAI,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;KACxE,CAAC;IACF,KAAK,EAAE;QACN,WAAW,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;KACtF,CAAC;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,YAAY,CAAC,EAAE,GAAG,CAAC;KACnB;CACD"}
@@ -1,12 +1,13 @@
1
+ import * as Types from './types';
1
2
  import { BeaconPayload } from './types';
2
- export declare class BeaconEvent implements BeaconPayload {
3
+ export declare class BeaconEvent {
3
4
  type: any;
4
5
  category: any;
5
- context: any;
6
- event: any;
7
- meta: any;
8
- id: any;
9
- pid?: any;
6
+ context?: Types.BeaconContext;
7
+ meta?: Types.BeaconMeta;
8
+ event?: Types.ProductViewEvent | Types.CartViewEvent | Types.OrderTransactionEvent | Types.RecommendationsEvent | Types.ProductClickEvent | Types.CustomBeaconEvent | Record<string, never>;
9
+ id?: string;
10
+ pid?: string | null;
10
11
  constructor(payload: BeaconPayload);
11
12
  }
12
13
  //# sourceMappingURL=BeaconEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BeaconEvent.d.ts","sourceRoot":"","sources":["../../src/BeaconEvent.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,WAAY,YAAW,aAAa;IAChD,IAAI,MAAC;IACL,QAAQ,MAAC;IACT,OAAO,MAAC;IACR,KAAK,MAAC;IACN,IAAI,MAAC;IACL,EAAE,MAAC;IACH,GAAG,CAAC,MAAC;gBAEO,OAAO,EAAE,aAAa;CAYlC"}
1
+ {"version":3,"file":"BeaconEvent.d.ts","sourceRoot":"","sources":["../../src/BeaconEvent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,WAAW;IACvB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EACH,KAAK,CAAC,gBAAgB,GACtB,KAAK,CAAC,aAAa,GACnB,KAAK,CAAC,qBAAqB,GAC3B,KAAK,CAAC,oBAAoB,GAC1B,KAAK,CAAC,iBAAiB,GACvB,KAAK,CAAC,iBAAiB,GACvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAER,OAAO,EAAE,aAAa;CAiBlC"}
@@ -2,9 +2,13 @@ import { v4 as uuidv4 } from 'uuid';
2
2
  import { version } from '@searchspring/snap-toolbox';
3
3
  export class BeaconEvent {
4
4
  constructor(payload) {
5
- Object.keys(payload).forEach((key) => {
6
- this[key] = payload[key];
7
- });
5
+ this.type = payload.type;
6
+ this.category = payload.category;
7
+ this.context = payload.context;
8
+ this.meta = payload.meta;
9
+ this.event = payload.event;
10
+ this.id = payload.id;
11
+ this.pid = payload.pid;
8
12
  this.meta = {
9
13
  initiator: {
10
14
  lib: 'searchspring/snap',
@@ -2,8 +2,8 @@ import { ProductViewEvent, OrderTransactionEvent, BeaconPayload, CartViewEvent }
2
2
  export declare class PixelEvent {
3
3
  endpoint: string;
4
4
  src: string;
5
- img: HTMLImageElement;
6
- event: ProductViewEvent | CartViewEvent | OrderTransactionEvent;
5
+ img: HTMLImageElement | undefined;
6
+ event: ProductViewEvent | CartViewEvent | OrderTransactionEvent | undefined;
7
7
  constructor(payload: BeaconPayload);
8
8
  }
9
9
  //# sourceMappingURL=PixelEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PixelEvent.d.ts","sourceRoot":"","sources":["../../src/PixelEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAEhH,qBAAa,UAAU;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,gBAAgB,CAAC;IACtB,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,qBAAqB,CAAC;gBAEpD,OAAO,EAAE,aAAa;CAkDlC"}
1
+ {"version":3,"file":"PixelEvent.d.ts","sourceRoot":"","sources":["../../src/PixelEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAEhH,qBAAa,UAAU;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,qBAAqB,GAAG,SAAS,CAAC;gBAEhE,OAAO,EAAE,aAAa;CAkDlC"}
@@ -5,8 +5,8 @@ export class PixelEvent {
5
5
  this.endpoint = `https://d3cgm8py10hi0z.cloudfront.net/is.gif`;
6
6
  this.src =
7
7
  this.endpoint +
8
- `?s=${encodeURIComponent(payload.context.website.trackingCode)}` +
9
- `&u=${encodeURIComponent(payload.context.userId)}` +
8
+ `?s=${encodeURIComponent(payload?.context?.website?.trackingCode || '')}` +
9
+ `&u=${encodeURIComponent(payload?.context?.userId || '')}` +
10
10
  `&ce=${featureFlags.cookies ? '1' : '0'}` +
11
11
  `&pt=${encodeURIComponent(document.title)}` +
12
12
  `&v=1` + // version always '1'? or set to snap package version?
@@ -15,7 +15,7 @@ export class TrackEvent {
15
15
  this.endpoint +
16
16
  `?d=${encodeURIComponent(this.intellisuggestData)}` +
17
17
  `&s=${encodeURIComponent(this.intellisuggestSignature)}` +
18
- `&u=${encodeURIComponent(this.href)}`;
18
+ `&u=${encodeURIComponent(this.href || '')}`;
19
19
  if (window.document.referrer) {
20
20
  this.src += `&r=${encodeURIComponent(window.document.referrer)}`;
21
21
  }
@@ -5,15 +5,15 @@ export declare class Tracker {
5
5
  globals: TrackerGlobals;
6
6
  localStorage: StorageStore;
7
7
  context: BeaconContext;
8
- isSending: number;
8
+ isSending: number | undefined;
9
9
  private config;
10
10
  private targeters;
11
11
  constructor(globals: TrackerGlobals, config?: TrackerConfig);
12
12
  retarget(): void;
13
13
  track: TrackMethods;
14
- getUserId: () => string;
15
- getSessionId: () => string;
16
- getShopperId: () => string;
14
+ getUserId: () => string | undefined | null;
15
+ getSessionId: () => string | undefined;
16
+ getShopperId: () => string | undefined;
17
17
  sendPreflight: () => void;
18
18
  cookies: {
19
19
  cart: {
@@ -27,6 +27,6 @@ export declare class Tracker {
27
27
  get: () => string[];
28
28
  };
29
29
  };
30
- sendEvents: (eventsToSend?: BeaconEvent[]) => void;
30
+ sendEvents: (eventsToSend?: BeaconEvent[] | undefined) => void;
31
31
  }
32
32
  //# sourceMappingURL=Tracker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAOb,aAAa,EAEb,MAAM,SAAS,CAAC;AAmBjB,qBAAa,OAAO;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IAyIpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAkQjB;IAEF,SAAS,QAAO,MAAM,CAiBpB;IAEF,YAAY,QAAO,MAAM,CAoBvB;IAEF,YAAY,QAAO,MAAM,CAOvB;IAEF,aAAa,QAAO,IAAI,CAuCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,kBAAmB,WAAW,EAAE,KAAG,IAAI,CAmB/C;CACF"}
1
+ {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAOb,aAAa,EAEb,MAAM,SAAS,CAAC;AAmBjB,qBAAa,OAAO;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IA2IpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAkQjB;IAEF,SAAS,QAAO,MAAM,GAAG,SAAS,GAAG,IAAI,CAiBvC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAoBnC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAOnC;IAEF,aAAa,QAAO,IAAI,CAuCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,gDAAmC,IAAI,CAmB/C;CACF"}
@@ -259,7 +259,8 @@ export class Tracker {
259
259
  this.getUserId = () => {
260
260
  let userId;
261
261
  try {
262
- userId = getFlags().storage() && window.localStorage.getItem(USERID_COOKIE_NAME);
262
+ if (getFlags().storage())
263
+ userId = window.localStorage.getItem(USERID_COOKIE_NAME);
263
264
  if (getFlags().cookies()) {
264
265
  userId = userId || cookies.get(USERID_COOKIE_NAME) || uuidv4();
265
266
  cookies.set(USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION);
@@ -310,7 +311,7 @@ export class Tracker {
310
311
  const shopper = this.getShopperId();
311
312
  const cart = this.cookies.cart.get();
312
313
  const lastViewed = this.cookies.viewed.get();
313
- if (userId && siteId && (shopper || cart.length || lastViewed.length)) {
314
+ if (userId && typeof userId == 'string' && siteId && (shopper || cart.length || lastViewed.length)) {
314
315
  const preflightParams = {
315
316
  userId,
316
317
  siteId,
@@ -431,7 +432,7 @@ export class Tracker {
431
432
  key: `ss-${this.config.id}-${this.globals.siteId}-local`,
432
433
  });
433
434
  this.context = {
434
- userId: this.getUserId(),
435
+ userId: this.getUserId() || '',
435
436
  sessionId: this.getSessionId(),
436
437
  shopperId: this.getShopperId(),
437
438
  pageLoadId: uuidv4(),
@@ -490,12 +491,13 @@ export class Tracker {
490
491
  ];
491
492
  const attributes = {};
492
493
  let levels = 0;
493
- let elem = event && event.target;
494
- while (Object.keys(attributes).length == 0 && elem && levels <= MAX_PARENT_LEVELS) {
494
+ let elem = null;
495
+ elem = event && event.target;
496
+ while (Object.keys(attributes).length == 0 && elem !== null && levels <= MAX_PARENT_LEVELS) {
495
497
  Object.values(elem.attributes).forEach((attr) => {
496
498
  var attrName = attr.nodeName;
497
499
  if (attributeList.indexOf(attrName) != -1) {
498
- attributes[attrName] = elem.getAttribute(attrName);
500
+ attributes[attrName] = elem && elem.getAttribute(attrName);
499
501
  }
500
502
  });
501
503
  elem = elem.parentElement;
@@ -5,7 +5,7 @@ export declare type TrackerGlobals = {
5
5
  export declare type TrackerConfig = {
6
6
  id: string;
7
7
  };
8
- export interface BeaconPayload {
8
+ export declare type BeaconPayload = {
9
9
  type: BeaconType;
10
10
  category: BeaconCategory;
11
11
  context?: BeaconContext;
@@ -13,7 +13,7 @@ export interface BeaconPayload {
13
13
  event: ProductViewEvent | CartViewEvent | OrderTransactionEvent | RecommendationsEvent | ProductClickEvent | CustomBeaconEvent | Record<string, never>;
14
14
  id?: string;
15
15
  pid?: string | null;
16
- }
16
+ };
17
17
  export declare enum BeaconType {
18
18
  PRODUCT = "product",
19
19
  CART = "cart",
@@ -130,17 +130,17 @@ export declare type PreflightRequestModel = {
130
130
  export interface TrackMethods {
131
131
  event: (payload: BeaconPayload) => BeaconEvent;
132
132
  shopper: {
133
- login: (data: ShopperLoginEvent, siteId?: string) => BeaconEvent;
133
+ login: (data: ShopperLoginEvent, siteId?: string) => BeaconEvent | undefined;
134
134
  };
135
135
  product: {
136
- view: (data: ProductViewEvent, siteId?: string) => BeaconEvent;
137
- click: (data: ProductClickEvent, siteId?: string) => BeaconEvent;
136
+ view: (data: ProductViewEvent, siteId?: string) => BeaconEvent | undefined;
137
+ click: (data: ProductClickEvent, siteId?: string) => BeaconEvent | undefined;
138
138
  };
139
139
  cart: {
140
- view: (data: CartViewEvent, siteId?: string) => BeaconEvent;
140
+ view: (data: CartViewEvent, siteId?: string) => BeaconEvent | undefined;
141
141
  };
142
142
  order: {
143
- transaction: (data: OrderTransactionData, siteId?: string) => BeaconEvent;
143
+ transaction: (data: OrderTransactionData, siteId?: string) => BeaconEvent | undefined;
144
144
  };
145
145
  }
146
146
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-tracker",
3
- "version": "0.26.0",
3
+ "version": "0.27.1",
4
4
  "description": "Snap Tracker",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -20,8 +20,9 @@
20
20
  "test:watch": "jest --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@searchspring/snap-store-mobx": "^0.26.0",
24
- "@searchspring/snap-toolbox": "^0.26.0",
23
+ "@searchspring/snap-store-mobx": "^0.27.1",
24
+ "@searchspring/snap-toolbox": "^0.27.1",
25
+ "@types/uuid": "^8.3.4",
25
26
  "deepmerge": "^4.2.2",
26
27
  "uuid": "^8.3.2"
27
28
  },
@@ -29,5 +30,5 @@
29
30
  "files": [
30
31
  "dist/**/*"
31
32
  ],
32
- "gitHead": "e2a217f1492486b497e6fe4be8102d3fb06c573c"
33
+ "gitHead": "232e8cf53b39fcc44611f9ab362892b90eda8660"
33
34
  }