@xylabs/pixel 1.3.3 → 1.3.7

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.
Files changed (179) hide show
  1. package/dist/Api/Api.d.ts +2 -3
  2. package/dist/Api/Api.js +10 -18
  3. package/dist/Api/Api.js.map +1 -1
  4. package/dist/Api/UserEvent.d.ts +2 -3
  5. package/dist/Api/UserEventSystem.d.ts +1 -2
  6. package/dist/Api/index.d.ts +3 -5
  7. package/dist/Api/index.js +3 -2
  8. package/dist/Api/index.js.map +1 -1
  9. package/dist/CommonFields.d.ts +1 -2
  10. package/dist/ExIds.d.ts +1 -2
  11. package/dist/FunnelStartedFields.d.ts +2 -3
  12. package/dist/Pixel.d.ts +1 -1
  13. package/dist/Pixel.js +70 -105
  14. package/dist/Pixel.js.map +1 -1
  15. package/dist/Referrer.d.ts +1 -2
  16. package/dist/Referrer.js +12 -14
  17. package/dist/Referrer.js.map +1 -1
  18. package/dist/TestStartedFields.d.ts +2 -3
  19. package/dist/UniqueUserId.d.ts +1 -2
  20. package/dist/UniqueUserId.js +8 -10
  21. package/dist/UniqueUserId.js.map +1 -1
  22. package/dist/UserClickFields.d.ts +2 -3
  23. package/dist/UserEventHandler.d.ts +5 -6
  24. package/dist/UserEventHandler.js +2 -6
  25. package/dist/UserEventHandler.js.map +1 -1
  26. package/dist/UtmFields.d.ts +1 -2
  27. package/dist/UtmFields.js +16 -19
  28. package/dist/UtmFields.js.map +1 -1
  29. package/dist/ViewContentFields.d.ts +2 -3
  30. package/dist/XyUserEventHandler.d.ts +6 -7
  31. package/dist/XyUserEventHandler.js +22 -45
  32. package/dist/XyUserEventHandler.js.map +1 -1
  33. package/dist/cjs5/Api/Api.d.ts +6 -0
  34. package/dist/cjs5/Api/UserEvent.d.ts +17 -0
  35. package/dist/cjs5/Api/UserEventSystem.d.ts +2 -0
  36. package/dist/cjs5/Api/index.d.ts +3 -0
  37. package/dist/cjs5/CommonFields.d.ts +4 -0
  38. package/dist/cjs5/ExIds.d.ts +9 -0
  39. package/dist/cjs5/FunnelStartedFields.d.ts +4 -0
  40. package/dist/cjs5/Pixel.d.ts +23 -0
  41. package/dist/cjs5/Referrer.d.ts +12 -0
  42. package/dist/cjs5/TestStartedFields.d.ts +4 -0
  43. package/dist/cjs5/UniqueUserId.d.ts +7 -0
  44. package/dist/cjs5/UserClickFields.d.ts +5 -0
  45. package/dist/cjs5/UserEventHandler.d.ts +10 -0
  46. package/dist/cjs5/UtmFields.d.ts +8 -0
  47. package/dist/cjs5/ViewContentFields.d.ts +5 -0
  48. package/dist/cjs5/XyLabsTrackingEventJson.d.ts +19 -0
  49. package/dist/cjs5/XyUserEventHandler.d.ts +12 -0
  50. package/dist/cjs5/getSystemInfo.d.ts +1 -0
  51. package/dist/cjs5/index.d.ts +12 -0
  52. package/dist/cjs5/index.js +298 -0
  53. package/dist/cjs5/index.js.map +1 -0
  54. package/dist/esm2015/Api/Api.d.ts +6 -0
  55. package/dist/esm2015/Api/UserEvent.d.ts +17 -0
  56. package/dist/esm2015/Api/UserEventSystem.d.ts +2 -0
  57. package/dist/esm2015/Api/index.d.ts +3 -0
  58. package/dist/esm2015/CommonFields.d.ts +4 -0
  59. package/dist/esm2015/ExIds.d.ts +9 -0
  60. package/dist/esm2015/FunnelStartedFields.d.ts +4 -0
  61. package/dist/esm2015/Pixel.d.ts +23 -0
  62. package/dist/esm2015/Referrer.d.ts +12 -0
  63. package/dist/esm2015/TestStartedFields.d.ts +4 -0
  64. package/dist/esm2015/UniqueUserId.d.ts +7 -0
  65. package/dist/esm2015/UserClickFields.d.ts +5 -0
  66. package/dist/esm2015/UserEventHandler.d.ts +10 -0
  67. package/dist/esm2015/UtmFields.d.ts +8 -0
  68. package/dist/esm2015/ViewContentFields.d.ts +5 -0
  69. package/dist/esm2015/XyLabsTrackingEventJson.d.ts +19 -0
  70. package/dist/esm2015/XyUserEventHandler.d.ts +12 -0
  71. package/dist/esm2015/getSystemInfo.d.ts +1 -0
  72. package/dist/esm2015/index.d.ts +12 -0
  73. package/dist/esm2015/index.js +280 -0
  74. package/dist/esm2015/index.js.map +1 -0
  75. package/dist/esm2017/Api/Api.d.ts +2 -3
  76. package/dist/esm2017/Api/UserEvent.d.ts +2 -3
  77. package/dist/esm2017/Api/UserEventSystem.d.ts +1 -2
  78. package/dist/esm2017/Api/index.d.ts +3 -5
  79. package/dist/esm2017/CommonFields.d.ts +1 -2
  80. package/dist/esm2017/ExIds.d.ts +1 -2
  81. package/dist/esm2017/FunnelStartedFields.d.ts +2 -3
  82. package/dist/esm2017/Pixel.d.ts +1 -1
  83. package/dist/esm2017/Referrer.d.ts +1 -2
  84. package/dist/esm2017/TestStartedFields.d.ts +2 -3
  85. package/dist/esm2017/UniqueUserId.d.ts +1 -2
  86. package/dist/esm2017/UserClickFields.d.ts +2 -3
  87. package/dist/esm2017/UserEventHandler.d.ts +5 -6
  88. package/dist/esm2017/UtmFields.d.ts +1 -2
  89. package/dist/esm2017/ViewContentFields.d.ts +2 -3
  90. package/dist/esm2017/XyUserEventHandler.d.ts +6 -7
  91. package/dist/esm2017/getSystemInfo.d.ts +1 -2
  92. package/dist/esm2017/index.d.ts +9 -11
  93. package/dist/esm2017/index.js +177 -318
  94. package/dist/esm2017/index.js.map +1 -1
  95. package/dist/esm5/Api/Api.d.ts +2 -3
  96. package/dist/esm5/Api/UserEvent.d.ts +2 -3
  97. package/dist/esm5/Api/UserEventSystem.d.ts +1 -2
  98. package/dist/esm5/Api/index.d.ts +3 -5
  99. package/dist/esm5/CommonFields.d.ts +1 -2
  100. package/dist/esm5/ExIds.d.ts +1 -2
  101. package/dist/esm5/FunnelStartedFields.d.ts +2 -3
  102. package/dist/esm5/Pixel.d.ts +1 -1
  103. package/dist/esm5/Referrer.d.ts +1 -2
  104. package/dist/esm5/TestStartedFields.d.ts +2 -3
  105. package/dist/esm5/UniqueUserId.d.ts +1 -2
  106. package/dist/esm5/UserClickFields.d.ts +2 -3
  107. package/dist/esm5/UserEventHandler.d.ts +5 -6
  108. package/dist/esm5/UtmFields.d.ts +1 -2
  109. package/dist/esm5/ViewContentFields.d.ts +2 -3
  110. package/dist/esm5/XyUserEventHandler.d.ts +6 -7
  111. package/dist/esm5/getSystemInfo.d.ts +1 -2
  112. package/dist/esm5/index.d.ts +9 -11
  113. package/dist/esm5/index.js +177 -318
  114. package/dist/esm5/index.js.map +1 -1
  115. package/dist/getSystemInfo.d.ts +1 -2
  116. package/dist/getSystemInfo.js +3 -4
  117. package/dist/getSystemInfo.js.map +1 -1
  118. package/dist/index.d.ts +9 -11
  119. package/dist/index.js +9 -6
  120. package/dist/index.js.map +1 -1
  121. package/dist/node/Api/Api.d.ts +2 -3
  122. package/dist/node/Api/UserEvent.d.ts +2 -3
  123. package/dist/node/Api/UserEventSystem.d.ts +1 -2
  124. package/dist/node/Api/index.d.ts +3 -5
  125. package/dist/node/CommonFields.d.ts +1 -2
  126. package/dist/node/ExIds.d.ts +1 -2
  127. package/dist/node/FunnelStartedFields.d.ts +2 -3
  128. package/dist/node/Pixel.d.ts +1 -1
  129. package/dist/node/Referrer.d.ts +1 -2
  130. package/dist/node/TestStartedFields.d.ts +2 -3
  131. package/dist/node/UniqueUserId.d.ts +1 -2
  132. package/dist/node/UserClickFields.d.ts +2 -3
  133. package/dist/node/UserEventHandler.d.ts +5 -6
  134. package/dist/node/UtmFields.d.ts +1 -2
  135. package/dist/node/ViewContentFields.d.ts +2 -3
  136. package/dist/node/XyUserEventHandler.d.ts +6 -7
  137. package/dist/node/getSystemInfo.d.ts +1 -2
  138. package/dist/node/index.d.ts +9 -11
  139. package/dist/node/index.js +180 -321
  140. package/dist/node/index.js.map +1 -1
  141. package/dist/node-esm/Api/Api.d.ts +2 -3
  142. package/dist/node-esm/Api/UserEvent.d.ts +2 -3
  143. package/dist/node-esm/Api/UserEventSystem.d.ts +1 -2
  144. package/dist/node-esm/Api/index.d.ts +3 -5
  145. package/dist/node-esm/CommonFields.d.ts +1 -2
  146. package/dist/node-esm/ExIds.d.ts +1 -2
  147. package/dist/node-esm/FunnelStartedFields.d.ts +2 -3
  148. package/dist/node-esm/Pixel.d.ts +1 -1
  149. package/dist/node-esm/Referrer.d.ts +1 -2
  150. package/dist/node-esm/TestStartedFields.d.ts +2 -3
  151. package/dist/node-esm/UniqueUserId.d.ts +1 -2
  152. package/dist/node-esm/UserClickFields.d.ts +2 -3
  153. package/dist/node-esm/UserEventHandler.d.ts +5 -6
  154. package/dist/node-esm/UtmFields.d.ts +1 -2
  155. package/dist/node-esm/ViewContentFields.d.ts +2 -3
  156. package/dist/node-esm/XyUserEventHandler.d.ts +6 -7
  157. package/dist/node-esm/getSystemInfo.d.ts +1 -2
  158. package/dist/node-esm/index.d.ts +9 -11
  159. package/dist/node-esm/index.js +177 -318
  160. package/dist/node-esm/index.js.map +1 -1
  161. package/package.json +20 -20
  162. package/src/Api/Api.ts +2 -4
  163. package/src/Api/UserEvent.ts +2 -4
  164. package/src/Api/UserEventSystem.ts +1 -3
  165. package/src/Api/index.ts +3 -6
  166. package/src/CommonFields.ts +1 -3
  167. package/src/ExIds.ts +1 -3
  168. package/src/FunnelStartedFields.ts +2 -4
  169. package/src/Pixel.ts +5 -6
  170. package/src/Referrer.ts +1 -3
  171. package/src/TestStartedFields.ts +2 -4
  172. package/src/UniqueUserId.ts +1 -3
  173. package/src/UserClickFields.ts +2 -4
  174. package/src/UserEventHandler.ts +5 -7
  175. package/src/UtmFields.ts +1 -3
  176. package/src/ViewContentFields.ts +2 -4
  177. package/src/XyUserEventHandler.ts +6 -8
  178. package/src/getSystemInfo.ts +1 -3
  179. package/src/index.ts +9 -13
@@ -2,192 +2,140 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var randomBytes = require('randombytes');
6
- var isEqual = require('lodash/isEqual');
5
+ var axios = require('axios');
7
6
  var sdkJs = require('@xylabs/sdk-js');
8
7
  var asyncMutex = require('async-mutex');
9
8
  var Cookies = require('js-cookie');
10
9
  var md5 = require('md5');
11
- var axios = require('axios');
12
10
  var bowser = require('bowser');
11
+ var randomBytes = require('randombytes');
12
+ var isEqual = require('lodash/isEqual');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
15
 
16
- var randomBytes__default = /*#__PURE__*/_interopDefaultLegacy(randomBytes);
17
- var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
16
+ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
18
17
  var Cookies__default = /*#__PURE__*/_interopDefaultLegacy(Cookies);
19
18
  var md5__default = /*#__PURE__*/_interopDefaultLegacy(md5);
20
- var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
19
+ var randomBytes__default = /*#__PURE__*/_interopDefaultLegacy(randomBytes);
20
+ var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
21
21
 
22
- var Referrer = /** @class */ (function () {
23
- function Referrer() {
22
+ /*! *****************************************************************************
23
+ Copyright (c) Microsoft Corporation.
24
+
25
+ Permission to use, copy, modify, and/or distribute this software for any
26
+ purpose with or without fee is hereby granted.
27
+
28
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
29
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
30
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
31
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
32
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
33
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
34
+ PERFORMANCE OF THIS SOFTWARE.
35
+ ***************************************************************************** */
36
+
37
+ function __awaiter(thisArg, _arguments, P, generator) {
38
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
39
+ return new (P || (P = Promise))(function (resolve, reject) {
40
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
41
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
42
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
43
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
44
+ });
45
+ }
46
+
47
+ const apiBaseUri = {
48
+ beta: 'https://pixel.xylabs.com',
49
+ local: 'http://localhost:3030',
50
+ prod: 'https://pixel.xylabs.com',
51
+ };
52
+ class PixelApi {
53
+ /* baseUri can either be a preset (prod, beta, local), or a specific uri */
54
+ constructor(baseUri = 'prod') {
55
+ this.endPoint = apiBaseUri[baseUri] ? `${apiBaseUri[baseUri]}/t/event/queue` : baseUri;
56
+ }
57
+ trackEvents(events) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ return (yield axios__default["default"].post(this.endPoint, events)).data;
60
+ });
61
+ }
62
+ }
63
+
64
+ let systemInfo = undefined;
65
+ const getSystemInfo = () => {
66
+ try {
67
+ systemInfo = systemInfo || bowser.parse(window.navigator.userAgent);
68
+ }
69
+ catch (ex) {
70
+ console.log(`getSystemInfo Error: ${ex}`);
71
+ }
72
+ return systemInfo;
73
+ };
74
+
75
+ class Referrer {
76
+ constructor() {
24
77
  var _a, _b;
25
78
  this.session = (_a = this.getFromSession()) !== null && _a !== void 0 ? _a : document.referrer;
26
79
  sessionStorage.setItem(Referrer.storageId, this.session);
27
80
  this.local = (_b = this.getFromLocal()) !== null && _b !== void 0 ? _b : document.referrer;
28
81
  window.localStorage.setItem(Referrer.storageId, this.local);
29
82
  }
30
- Referrer.prototype.getFromLocal = function () {
31
- var value = window.localStorage.getItem(Referrer.storageId);
83
+ getFromLocal() {
84
+ const value = window.localStorage.getItem(Referrer.storageId);
32
85
  if (value && value.length > 0) {
33
86
  return value;
34
87
  }
35
- };
36
- Referrer.prototype.getFromSession = function () {
37
- var value = sessionStorage.getItem(Referrer.storageId);
88
+ }
89
+ getFromSession() {
90
+ const value = sessionStorage.getItem(Referrer.storageId);
38
91
  if (value && value.length > 0) {
39
92
  return value;
40
93
  }
41
- };
42
- Referrer.prototype.toJson = function () {
94
+ }
95
+ toJson() {
43
96
  if ((this.local && this.local.length > 0) || (this.session && this.session.length > 0)) {
44
97
  return {
45
98
  local: this.local,
46
99
  session: this.session,
47
100
  };
48
101
  }
49
- };
50
- Referrer.storageId = '_coin_referrer';
51
- return Referrer;
52
- }());
102
+ }
103
+ }
104
+ Referrer.storageId = '_coin_referrer';
53
105
 
54
- var UniqueUserId = /** @class */ (function () {
55
- function UniqueUserId() {
106
+ class UniqueUserId {
107
+ constructor() {
56
108
  var _a;
57
109
  this.id = (_a = window.localStorage.getItem(UniqueUserId.localStorageId)) !== null && _a !== void 0 ? _a : this.generateId();
58
110
  window.localStorage.setItem(UniqueUserId.localStorageId, this.id);
59
111
  }
60
- UniqueUserId.prototype.generateId = function () {
112
+ generateId() {
61
113
  return randomBytes__default["default"](16).toString('base64');
62
- };
63
- UniqueUserId.prototype.toString = function () {
114
+ }
115
+ toString() {
64
116
  return this.id;
65
- };
66
- UniqueUserId.localStorageId = '_coin_cid';
67
- return UniqueUserId;
68
- }());
69
-
70
- var UserEventHandler = /** @class */ (function () {
71
- function UserEventHandler() {
72
117
  }
73
- return UserEventHandler;
74
- }());
75
-
76
- /*! *****************************************************************************
77
- Copyright (c) Microsoft Corporation.
78
-
79
- Permission to use, copy, modify, and/or distribute this software for any
80
- purpose with or without fee is hereby granted.
81
-
82
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
83
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
84
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
85
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
86
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
87
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
88
- PERFORMANCE OF THIS SOFTWARE.
89
- ***************************************************************************** */
90
- /* global Reflect, Promise */
91
-
92
- var extendStatics = function(d, b) {
93
- extendStatics = Object.setPrototypeOf ||
94
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
95
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
96
- return extendStatics(d, b);
97
- };
98
-
99
- function __extends(d, b) {
100
- if (typeof b !== "function" && b !== null)
101
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
102
- extendStatics(d, b);
103
- function __() { this.constructor = d; }
104
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
105
- }
106
-
107
- var __assign = function() {
108
- __assign = Object.assign || function __assign(t) {
109
- for (var s, i = 1, n = arguments.length; i < n; i++) {
110
- s = arguments[i];
111
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
112
- }
113
- return t;
114
- };
115
- return __assign.apply(this, arguments);
116
- };
117
-
118
- function __awaiter(thisArg, _arguments, P, generator) {
119
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
120
- return new (P || (P = Promise))(function (resolve, reject) {
121
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
122
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
123
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
124
- step((generator = generator.apply(thisArg, _arguments || [])).next());
125
- });
126
- }
127
-
128
- function __generator(thisArg, body) {
129
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
130
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
131
- function verb(n) { return function (v) { return step([n, v]); }; }
132
- function step(op) {
133
- if (f) throw new TypeError("Generator is already executing.");
134
- while (_) try {
135
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
136
- if (y = 0, t) op = [op[0] & 2, t.value];
137
- switch (op[0]) {
138
- case 0: case 1: t = op; break;
139
- case 4: _.label++; return { value: op[1], done: false };
140
- case 5: _.label++; y = op[1]; op = [0]; continue;
141
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
142
- default:
143
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
144
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
145
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
146
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
147
- if (t[2]) _.ops.pop();
148
- _.trys.pop(); continue;
149
- }
150
- op = body.call(thisArg, _);
151
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
152
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
153
- }
154
- }
155
-
156
- function __read(o, n) {
157
- var m = typeof Symbol === "function" && o[Symbol.iterator];
158
- if (!m) return o;
159
- var i = m.call(o), r, ar = [], e;
160
- try {
161
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
162
- }
163
- catch (error) { e = { error: error }; }
164
- finally {
165
- try {
166
- if (r && !r.done && (m = i["return"])) m.call(i);
167
- }
168
- finally { if (e) throw e.error; }
169
- }
170
- return ar;
171
118
  }
119
+ UniqueUserId.localStorageId = '_coin_cid';
172
120
 
173
- var UtmFields = /** @class */ (function () {
174
- function UtmFields() {
121
+ class UtmFields {
122
+ constructor() {
175
123
  var _a;
176
124
  this.fields = [];
177
- this.getUtmRecord = function () {
125
+ this.getUtmRecord = () => {
178
126
  var _a, _b;
179
- var record = {};
180
- var parsedQueryString = (_b = (_a = document.location.search.split('?')[1]) === null || _a === void 0 ? void 0 : _a.split('&')) !== null && _b !== void 0 ? _b : [];
181
- parsedQueryString.map(function (item) {
182
- var _a = __read(item.split('='), 2), fullKey = _a[0], value = _a[1];
183
- var _b = __read(fullKey.split('_'), 2), keyCategory = _b[0], keyName = _b[1];
127
+ const record = {};
128
+ const parsedQueryString = (_b = (_a = document.location.search.split('?')[1]) === null || _a === void 0 ? void 0 : _a.split('&')) !== null && _b !== void 0 ? _b : [];
129
+ parsedQueryString.map((item) => {
130
+ const [fullKey, value] = item.split('=');
131
+ const [keyCategory, keyName] = fullKey.split('_');
184
132
  if (keyCategory === 'utm') {
185
133
  record[keyName] = value;
186
134
  }
187
135
  });
188
136
  return Object.keys(record).length > 0 ? record : null;
189
137
  };
190
- var storedString = (_a = window.localStorage.getItem(UtmFields.localStorageId)) !== null && _a !== void 0 ? _a : '[]';
138
+ const storedString = (_a = window.localStorage.getItem(UtmFields.localStorageId)) !== null && _a !== void 0 ? _a : '[]';
191
139
  try {
192
140
  this.fields = JSON.parse(storedString);
193
141
  }
@@ -202,77 +150,41 @@ var UtmFields = /** @class */ (function () {
202
150
  window.localStorage.setItem(UtmFields.localStorageId, JSON.stringify(this.fields));
203
151
  }
204
152
  //check the query string and if there an new/updated utm values, add them to the fields
205
- UtmFields.prototype.update = function () {
153
+ update() {
206
154
  var _a;
207
- var record = this.getUtmRecord();
155
+ const record = this.getUtmRecord();
208
156
  if (record) {
209
157
  if (!isEqual__default["default"](this.fields[this.fields.length - 1], record)) {
210
158
  this.fields.push(record);
211
159
  }
212
160
  }
213
161
  return (_a = this.fields) !== null && _a !== void 0 ? _a : undefined;
214
- };
215
- UtmFields.prototype.toString = function () {
216
- return JSON.stringify(this.fields);
217
- };
218
- UtmFields.localStorageId = '_coin_utm';
219
- return UtmFields;
220
- }());
221
-
222
- var apiBaseUri = {
223
- beta: 'https://pixel.xylabs.com',
224
- local: 'http://localhost:3030',
225
- prod: 'https://pixel.xylabs.com',
226
- };
227
- var PixelApi = /** @class */ (function () {
228
- /* baseUri can either be a preset (prod, beta, local), or a specific uri */
229
- function PixelApi(baseUri) {
230
- if (baseUri === void 0) { baseUri = 'prod'; }
231
- this.endPoint = apiBaseUri[baseUri] ? "".concat(apiBaseUri[baseUri], "/t/event/queue") : baseUri;
232
- }
233
- PixelApi.prototype.trackEvents = function (events) {
234
- return __awaiter(this, void 0, void 0, function () {
235
- return __generator(this, function (_a) {
236
- switch (_a.label) {
237
- case 0: return [4 /*yield*/, axios__default["default"].post(this.endPoint, events)];
238
- case 1: return [2 /*return*/, (_a.sent()).data];
239
- }
240
- });
241
- });
242
- };
243
- return PixelApi;
244
- }());
245
-
246
- var systemInfo = undefined;
247
- var getSystemInfo = function () {
248
- try {
249
- systemInfo = systemInfo || bowser.parse(window.navigator.userAgent);
250
162
  }
251
- catch (ex) {
252
- console.log("getSystemInfo Error: ".concat(ex));
163
+ toString() {
164
+ return JSON.stringify(this.fields);
253
165
  }
254
- return systemInfo;
255
- };
166
+ }
167
+ UtmFields.localStorageId = '_coin_utm';
256
168
 
257
- var emailHashLocalStorageName = 'xy_email_hash';
258
- var XyPixel = /** @class */ (function () {
259
- function XyPixel(pixelId) {
169
+ const emailHashLocalStorageName = 'xy_email_hash';
170
+ class XyPixel {
171
+ constructor(pixelId) {
260
172
  this.queue = [];
261
173
  this.cid = new UniqueUserId().id;
262
174
  this.queueMutex = new asyncMutex.Mutex();
263
175
  this.pixelId = pixelId;
264
176
  this.email_hash = localStorage.getItem(emailHashLocalStorageName);
265
177
  }
266
- XyPixel.prototype.identify = function (email) {
178
+ identify(email) {
267
179
  this.email = email;
268
180
  this.email_hash = email ? md5__default["default"](email) : undefined;
269
181
  if (this.email_hash) {
270
182
  localStorage.setItem(emailHashLocalStorageName, this.email_hash);
271
183
  }
272
- };
273
- XyPixel.prototype.updateFbId = function () {
184
+ }
185
+ updateFbId() {
274
186
  var _a;
275
- this.exids = __assign({
187
+ this.exids = Object.assign({
276
188
  fbc: Cookies__default["default"].get('_fbc'),
277
189
  fbp: Cookies__default["default"].get('_fbp'),
278
190
  ga: Cookies__default["default"].get('_ga'),
@@ -281,153 +193,100 @@ var XyPixel = /** @class */ (function () {
281
193
  scid: Cookies__default["default"].get('_scid'),
282
194
  tt_sessionId: (_a = sessionStorage.getItem('tt_sessionId')) !== null && _a !== void 0 ? _a : undefined,
283
195
  });
284
- };
285
- XyPixel.prototype.tryFlushQueue = function () {
286
- return __awaiter(this, void 0, void 0, function () {
287
- var _this = this;
288
- return __generator(this, function (_a) {
289
- switch (_a.label) {
290
- case 0: return [4 /*yield*/, this.queueMutex.runExclusive(function () { return __awaiter(_this, void 0, void 0, function () {
291
- var api, events, ex_1;
292
- return __generator(this, function (_a) {
293
- switch (_a.label) {
294
- case 0:
295
- if (this.queue.length === 0)
296
- return [2 /*return*/];
297
- api = XyPixel.api;
298
- if (!api) return [3 /*break*/, 4];
299
- events = this.queue;
300
- this.queue = [];
301
- _a.label = 1;
302
- case 1:
303
- _a.trys.push([1, 3, , 4]);
304
- return [4 /*yield*/, api.trackEvents(events)];
305
- case 2:
306
- _a.sent();
307
- return [3 /*break*/, 4];
308
- case 3:
309
- ex_1 = _a.sent();
310
- if (events) {
311
- //put it back since it failed
312
- this.queue = this.queue.concat(events);
313
- }
314
- console.error(ex_1);
315
- return [3 /*break*/, 4];
316
- case 4: return [2 /*return*/];
317
- }
318
- });
319
- }); })];
320
- case 1:
321
- _a.sent();
322
- return [2 /*return*/];
196
+ }
197
+ tryFlushQueue() {
198
+ return __awaiter(this, void 0, void 0, function* () {
199
+ yield this.queueMutex.runExclusive(() => __awaiter(this, void 0, void 0, function* () {
200
+ if (this.queue.length === 0)
201
+ return;
202
+ const api = XyPixel.api;
203
+ if (api) {
204
+ const events = this.queue;
205
+ this.queue = [];
206
+ try {
207
+ yield api.trackEvents(events);
208
+ }
209
+ catch (ex) {
210
+ if (events) {
211
+ //put it back since it failed
212
+ this.queue = this.queue.concat(events);
213
+ }
214
+ console.error(ex);
215
+ }
323
216
  }
324
- });
217
+ }));
325
218
  });
326
- };
327
- XyPixel.prototype.send = function (event, fields) {
219
+ }
220
+ send(event, fields) {
328
221
  var _a;
329
- return __awaiter(this, void 0, void 0, function () {
330
- var utm, referrer;
331
- return __generator(this, function (_b) {
332
- switch (_b.label) {
333
- case 0:
334
- this.updateFbId();
335
- utm = XyPixel.utmFields().update();
336
- referrer = new Referrer();
337
- this.queue.push(__assign({
338
- cid: this.cid,
339
- create_time: Date.now(),
340
- email_hash: (_a = this.email_hash) !== null && _a !== void 0 ? _a : undefined,
341
- event: event,
342
- exids: this.exids,
343
- fields: fields,
344
- host: document.location.host,
345
- pathname: document.location.pathname,
346
- pixel: this.pixelId,
347
- referrer: referrer.toJson(),
348
- system: getSystemInfo(),
349
- utm: utm,
350
- }));
351
- console.log("Queue: ".concat(JSON.stringify(this.queue, null, 2)));
352
- return [4 /*yield*/, this.tryFlushQueue()];
353
- case 1:
354
- _b.sent();
355
- return [2 /*return*/];
356
- }
357
- });
222
+ return __awaiter(this, void 0, void 0, function* () {
223
+ this.updateFbId();
224
+ const utm = XyPixel.utmFields().update();
225
+ const referrer = new Referrer();
226
+ this.queue.push(Object.assign({
227
+ cid: this.cid,
228
+ create_time: Date.now(),
229
+ email_hash: (_a = this.email_hash) !== null && _a !== void 0 ? _a : undefined,
230
+ event,
231
+ exids: this.exids,
232
+ fields,
233
+ host: document.location.host,
234
+ pathname: document.location.pathname,
235
+ pixel: this.pixelId,
236
+ referrer: referrer.toJson(),
237
+ system: getSystemInfo(),
238
+ utm,
239
+ }));
240
+ yield this.tryFlushQueue();
358
241
  });
359
- };
360
- Object.defineProperty(XyPixel, "instance", {
361
- get: function () {
362
- return sdkJs.assertEx(this._instance, 'XyPixel uninitialized');
363
- },
364
- enumerable: false,
365
- configurable: true
366
- });
367
- XyPixel.init = function (pixelId) {
242
+ }
243
+ static get instance() {
244
+ return sdkJs.assertEx(this._instance, 'XyPixel uninitialized');
245
+ }
246
+ static init(pixelId) {
368
247
  this._instance = new XyPixel(pixelId);
369
248
  return this._instance;
370
- };
371
- XyPixel.selectApi = function (api) {
249
+ }
250
+ static selectApi(api) {
372
251
  this.api = api;
373
- };
374
- XyPixel.utmFields = function () {
375
- if (XyPixel.utmFieldsObj === undefined) {
376
- XyPixel.utmFieldsObj = new UtmFields();
377
- }
378
- return XyPixel.utmFieldsObj;
379
- };
380
- XyPixel.api = new PixelApi();
381
- return XyPixel;
382
- }());
252
+ }
253
+ }
254
+ XyPixel.utmFields = () => {
255
+ if (XyPixel.utmFieldsObj === undefined) {
256
+ XyPixel.utmFieldsObj = new UtmFields();
257
+ }
258
+ return XyPixel.utmFieldsObj;
259
+ };
260
+ XyPixel.api = new PixelApi();
383
261
 
384
- var XyUserEventHandler = /** @class */ (function (_super) {
385
- __extends(XyUserEventHandler, _super);
386
- function XyUserEventHandler() {
387
- return _super.call(this) || this;
262
+ class UserEventHandler {
263
+ }
264
+
265
+ class XyUserEventHandler extends UserEventHandler {
266
+ constructor() {
267
+ super();
388
268
  }
389
- XyUserEventHandler.prototype.testStarted = function (fields) {
390
- return __awaiter(this, void 0, void 0, function () {
391
- return __generator(this, function (_a) {
392
- switch (_a.label) {
393
- case 0: return [4 /*yield*/, XyPixel.instance.send('TestStarted', fields)];
394
- case 1: return [2 /*return*/, _a.sent()];
395
- }
396
- });
269
+ testStarted(fields) {
270
+ return __awaiter(this, void 0, void 0, function* () {
271
+ return yield XyPixel.instance.send('TestStarted', fields);
397
272
  });
398
- };
399
- XyUserEventHandler.prototype.funnelStarted = function (fields) {
400
- return __awaiter(this, void 0, void 0, function () {
401
- return __generator(this, function (_a) {
402
- switch (_a.label) {
403
- case 0: return [4 /*yield*/, XyPixel.instance.send('FunnelStarted', fields)];
404
- case 1: return [2 /*return*/, _a.sent()];
405
- }
406
- });
273
+ }
274
+ funnelStarted(fields) {
275
+ return __awaiter(this, void 0, void 0, function* () {
276
+ return yield XyPixel.instance.send('FunnelStarted', fields);
407
277
  });
408
- };
409
- XyUserEventHandler.prototype.viewContent = function (fields) {
410
- return __awaiter(this, void 0, void 0, function () {
411
- return __generator(this, function (_a) {
412
- switch (_a.label) {
413
- case 0: return [4 /*yield*/, XyPixel.instance.send('ViewContent', fields)];
414
- case 1: return [2 /*return*/, _a.sent()];
415
- }
416
- });
278
+ }
279
+ viewContent(fields) {
280
+ return __awaiter(this, void 0, void 0, function* () {
281
+ return yield XyPixel.instance.send('ViewContent', fields);
417
282
  });
418
- };
419
- XyUserEventHandler.prototype.userClick = function (fields) {
420
- return __awaiter(this, void 0, void 0, function () {
421
- return __generator(this, function (_a) {
422
- switch (_a.label) {
423
- case 0: return [4 /*yield*/, XyPixel.instance.send('ViewPage', fields)];
424
- case 1: return [2 /*return*/, _a.sent()];
425
- }
426
- });
283
+ }
284
+ userClick(fields) {
285
+ return __awaiter(this, void 0, void 0, function* () {
286
+ return yield XyPixel.instance.send('ViewPage', fields);
427
287
  });
428
- };
429
- return XyUserEventHandler;
430
- }(UserEventHandler));
288
+ }
289
+ }
431
290
 
432
291
  exports.PixelApi = PixelApi;
433
292
  exports.Referrer = Referrer;