@xylabs/pixel 1.2.4 → 1.3.2
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.
- package/README.md +6 -1
- package/dist/Api/Api.js +0 -2
- package/dist/Api/Api.js.map +1 -1
- package/dist/UtmFields.js +3 -2
- package/dist/UtmFields.js.map +1 -1
- package/dist/{node-esm/src → esm2017}/Api/Api.d.ts +7 -7
- package/dist/{node-esm/src → esm2017}/Api/UserEvent.d.ts +18 -18
- package/dist/{node-esm/src → esm2017}/Api/UserEventSystem.d.ts +3 -3
- package/dist/esm2017/{src/Api → Api}/index.d.ts +5 -5
- package/dist/esm2017/{src/CommonFields.d.ts → CommonFields.d.ts} +5 -5
- package/dist/{esm5/src → esm2017}/ExIds.d.ts +10 -10
- package/dist/{node-esm/src → esm2017}/FunnelStartedFields.d.ts +5 -5
- package/dist/esm2017/{src/Pixel.d.ts → Pixel.d.ts} +23 -23
- package/dist/{node-esm/src → esm2017}/Referrer.d.ts +13 -13
- package/dist/{esm5/src → esm2017}/TestStartedFields.d.ts +5 -5
- package/dist/esm2017/{src/UniqueUserId.d.ts → UniqueUserId.d.ts} +8 -8
- package/dist/{esm5/src → esm2017}/UserClickFields.d.ts +6 -6
- package/dist/{node-esm/src → esm2017}/UserEventHandler.d.ts +11 -11
- package/dist/{node-esm/src → esm2017}/UtmFields.d.ts +9 -9
- package/dist/esm2017/{src/ViewContentFields.d.ts → ViewContentFields.d.ts} +6 -6
- package/dist/{esm5/src → esm2017}/XyLabsTrackingEventJson.d.ts +19 -19
- package/dist/esm2017/{src/XyUserEventHandler.d.ts → XyUserEventHandler.d.ts} +13 -13
- package/dist/esm2017/getSystemInfo.d.ts +2 -0
- package/dist/esm2017/index.d.ts +14 -1
- package/dist/esm2017/index.js +390 -213
- package/dist/esm2017/index.js.map +1 -1
- package/dist/{esm2017/src → esm5}/Api/Api.d.ts +7 -7
- package/dist/{node/src → esm5}/Api/UserEvent.d.ts +18 -18
- package/dist/esm5/{src/Api → Api}/UserEventSystem.d.ts +3 -3
- package/dist/{node-esm/src → esm5}/Api/index.d.ts +5 -5
- package/dist/{node-esm/src → esm5}/CommonFields.d.ts +5 -5
- package/dist/{node-esm/src → esm5}/ExIds.d.ts +10 -10
- package/dist/{node/src → esm5}/FunnelStartedFields.d.ts +5 -5
- package/dist/esm5/{src/Pixel.d.ts → Pixel.d.ts} +23 -23
- package/dist/{node/src → esm5}/Referrer.d.ts +13 -13
- package/dist/{esm2017/src → esm5}/TestStartedFields.d.ts +5 -5
- package/dist/esm5/{src/UniqueUserId.d.ts → UniqueUserId.d.ts} +8 -8
- package/dist/{node-esm/src → esm5}/UserClickFields.d.ts +6 -6
- package/dist/{node/src → esm5}/UserEventHandler.d.ts +11 -11
- package/dist/{node/src → esm5}/UtmFields.d.ts +9 -9
- package/dist/esm5/{src/ViewContentFields.d.ts → ViewContentFields.d.ts} +6 -6
- package/dist/{esm2017/src → esm5}/XyLabsTrackingEventJson.d.ts +19 -19
- package/dist/esm5/{src/XyUserEventHandler.d.ts → XyUserEventHandler.d.ts} +13 -13
- package/dist/esm5/getSystemInfo.d.ts +2 -0
- package/dist/esm5/index.d.ts +14 -1
- package/dist/esm5/index.js +311 -296
- package/dist/esm5/index.js.map +1 -1
- package/dist/getSystemInfo.d.ts +1 -2
- package/dist/getSystemInfo.js +2 -2
- package/dist/getSystemInfo.js.map +1 -1
- package/dist/node/{src/Api → Api}/Api.d.ts +7 -7
- package/dist/{esm5/src → node}/Api/UserEvent.d.ts +18 -18
- package/dist/{esm2017/src → node}/Api/UserEventSystem.d.ts +3 -3
- package/dist/node/{src/Api → Api}/index.d.ts +5 -5
- package/dist/node/{src/CommonFields.d.ts → CommonFields.d.ts} +5 -5
- package/dist/node/{src/ExIds.d.ts → ExIds.d.ts} +10 -10
- package/dist/{esm2017/src → node}/FunnelStartedFields.d.ts +5 -5
- package/dist/node/{src/Pixel.d.ts → Pixel.d.ts} +23 -23
- package/dist/{esm5/src → node}/Referrer.d.ts +13 -13
- package/dist/node/{src/TestStartedFields.d.ts → TestStartedFields.d.ts} +5 -5
- package/dist/node/{src/UniqueUserId.d.ts → UniqueUserId.d.ts} +8 -8
- package/dist/node/{src/UserClickFields.d.ts → UserClickFields.d.ts} +6 -6
- package/dist/{esm2017/src → node}/UserEventHandler.d.ts +11 -11
- package/dist/{esm5/src → node}/UtmFields.d.ts +9 -9
- package/dist/node/{src/ViewContentFields.d.ts → ViewContentFields.d.ts} +6 -6
- package/dist/node/{src/XyLabsTrackingEventJson.d.ts → XyLabsTrackingEventJson.d.ts} +19 -19
- package/dist/node/{src/XyUserEventHandler.d.ts → XyUserEventHandler.d.ts} +13 -13
- package/dist/node/getSystemInfo.d.ts +2 -0
- package/dist/node/index.d.ts +14 -1
- package/dist/node/index.js +311 -297
- package/dist/node/index.js.map +1 -1
- package/dist/{esm5/src → node-esm}/Api/Api.d.ts +7 -7
- package/dist/{esm2017/src → node-esm}/Api/UserEvent.d.ts +18 -18
- package/dist/{node/src → node-esm}/Api/UserEventSystem.d.ts +3 -3
- package/dist/{esm5/src → node-esm}/Api/index.d.ts +5 -5
- package/dist/{esm5/src → node-esm}/CommonFields.d.ts +5 -5
- package/dist/{esm2017/src → node-esm}/ExIds.d.ts +10 -10
- package/dist/{esm5/src → node-esm}/FunnelStartedFields.d.ts +5 -5
- package/dist/node-esm/{src/Pixel.d.ts → Pixel.d.ts} +23 -23
- package/dist/{esm2017/src → node-esm}/Referrer.d.ts +13 -13
- package/dist/node-esm/{src/TestStartedFields.d.ts → TestStartedFields.d.ts} +5 -5
- package/dist/node-esm/{src/UniqueUserId.d.ts → UniqueUserId.d.ts} +8 -8
- package/dist/{esm2017/src → node-esm}/UserClickFields.d.ts +6 -6
- package/dist/{esm5/src → node-esm}/UserEventHandler.d.ts +11 -11
- package/dist/{esm2017/src → node-esm}/UtmFields.d.ts +9 -9
- package/dist/node-esm/{src/ViewContentFields.d.ts → ViewContentFields.d.ts} +6 -6
- package/dist/node-esm/{src/XyLabsTrackingEventJson.d.ts → XyLabsTrackingEventJson.d.ts} +19 -19
- package/dist/node-esm/{src/XyUserEventHandler.d.ts → XyUserEventHandler.d.ts} +13 -13
- package/dist/node-esm/getSystemInfo.d.ts +2 -0
- package/dist/node-esm/index.d.ts +14 -1
- package/dist/node-esm/index.js +390 -213
- package/dist/node-esm/index.js.map +1 -1
- package/package.json +20 -27
- package/rollup.config.js +2 -120
- package/src/Api/Api.ts +0 -2
- package/src/getSystemInfo.ts +2 -2
- package/dist/esm2017/index.node.d.ts +0 -1
- package/dist/esm2017/src/Pixel.spec.d.ts +0 -1
- package/dist/esm2017/src/getSystemInfo.d.ts +0 -3
- package/dist/esm2017/src/index.d.ts +0 -14
- package/dist/esm5/index.node.d.ts +0 -1
- package/dist/esm5/src/Pixel.spec.d.ts +0 -1
- package/dist/esm5/src/getSystemInfo.d.ts +0 -3
- package/dist/esm5/src/index.d.ts +0 -14
- package/dist/node/index.node.d.ts +0 -1
- package/dist/node/src/Pixel.spec.d.ts +0 -1
- package/dist/node/src/getSystemInfo.d.ts +0 -3
- package/dist/node/src/index.d.ts +0 -14
- package/dist/node-esm/index.node.d.ts +0 -1
- package/dist/node-esm/src/Pixel.spec.d.ts +0 -1
- package/dist/node-esm/src/getSystemInfo.d.ts +0 -3
- package/dist/node-esm/src/index.d.ts +0 -14
- package/index.node.ts +0 -1
- package/index.ts +0 -1
package/dist/node/index.js
CHANGED
|
@@ -9,7 +9,7 @@ var asyncMutex = require('async-mutex');
|
|
|
9
9
|
var Cookies = require('js-cookie');
|
|
10
10
|
var md5 = require('md5');
|
|
11
11
|
var axios = require('axios');
|
|
12
|
-
var
|
|
12
|
+
var bowser = require('bowser');
|
|
13
13
|
|
|
14
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
15
|
|
|
@@ -18,109 +18,59 @@ var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
|
|
|
18
18
|
var Cookies__default = /*#__PURE__*/_interopDefaultLegacy(Cookies);
|
|
19
19
|
var md5__default = /*#__PURE__*/_interopDefaultLegacy(md5);
|
|
20
20
|
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
21
|
-
var Bowser__default = /*#__PURE__*/_interopDefaultLegacy(Bowser);
|
|
22
21
|
|
|
23
|
-
var Referrer = /** @class */ (function () {
|
|
24
|
-
function Referrer() {
|
|
25
|
-
var _a, _b;
|
|
26
|
-
this.session = (_a = this.getFromSession()) !== null && _a !== void 0 ? _a : document.referrer;
|
|
27
|
-
sessionStorage.setItem(Referrer.storageId, this.session);
|
|
28
|
-
this.local = (_b = this.getFromLocal()) !== null && _b !== void 0 ? _b : document.referrer;
|
|
29
|
-
window.localStorage.setItem(Referrer.storageId, this.local);
|
|
30
|
-
}
|
|
31
|
-
Referrer.prototype.getFromLocal = function () {
|
|
32
|
-
var value = window.localStorage.getItem(Referrer.storageId);
|
|
33
|
-
if (value && value.length > 0) {
|
|
34
|
-
return value;
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
Referrer.prototype.getFromSession = function () {
|
|
38
|
-
var value = sessionStorage.getItem(Referrer.storageId);
|
|
39
|
-
if (value && value.length > 0) {
|
|
40
|
-
return value;
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
Referrer.prototype.toJson = function () {
|
|
44
|
-
if ((this.local && this.local.length > 0) || (this.session && this.session.length > 0)) {
|
|
45
|
-
return {
|
|
46
|
-
local: this.local,
|
|
47
|
-
session: this.session,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
Referrer.storageId = '_coin_referrer';
|
|
52
|
-
return Referrer;
|
|
22
|
+
var Referrer = /** @class */ (function () {
|
|
23
|
+
function Referrer() {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
this.session = (_a = this.getFromSession()) !== null && _a !== void 0 ? _a : document.referrer;
|
|
26
|
+
sessionStorage.setItem(Referrer.storageId, this.session);
|
|
27
|
+
this.local = (_b = this.getFromLocal()) !== null && _b !== void 0 ? _b : document.referrer;
|
|
28
|
+
window.localStorage.setItem(Referrer.storageId, this.local);
|
|
29
|
+
}
|
|
30
|
+
Referrer.prototype.getFromLocal = function () {
|
|
31
|
+
var value = window.localStorage.getItem(Referrer.storageId);
|
|
32
|
+
if (value && value.length > 0) {
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
Referrer.prototype.getFromSession = function () {
|
|
37
|
+
var value = sessionStorage.getItem(Referrer.storageId);
|
|
38
|
+
if (value && value.length > 0) {
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
Referrer.prototype.toJson = function () {
|
|
43
|
+
if ((this.local && this.local.length > 0) || (this.session && this.session.length > 0)) {
|
|
44
|
+
return {
|
|
45
|
+
local: this.local,
|
|
46
|
+
session: this.session,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
Referrer.storageId = '_coin_referrer';
|
|
51
|
+
return Referrer;
|
|
53
52
|
}());
|
|
54
53
|
|
|
55
|
-
var UniqueUserId = /** @class */ (function () {
|
|
56
|
-
function UniqueUserId() {
|
|
57
|
-
var _a;
|
|
58
|
-
this.id = (_a = window.localStorage.getItem(UniqueUserId.localStorageId)) !== null && _a !== void 0 ? _a : this.generateId();
|
|
59
|
-
window.localStorage.setItem(UniqueUserId.localStorageId, this.id);
|
|
60
|
-
}
|
|
61
|
-
UniqueUserId.prototype.generateId = function () {
|
|
62
|
-
return randomBytes__default["default"](16).toString('base64');
|
|
63
|
-
};
|
|
64
|
-
UniqueUserId.prototype.toString = function () {
|
|
65
|
-
return this.id;
|
|
66
|
-
};
|
|
67
|
-
UniqueUserId.localStorageId = '_coin_cid';
|
|
68
|
-
return UniqueUserId;
|
|
54
|
+
var UniqueUserId = /** @class */ (function () {
|
|
55
|
+
function UniqueUserId() {
|
|
56
|
+
var _a;
|
|
57
|
+
this.id = (_a = window.localStorage.getItem(UniqueUserId.localStorageId)) !== null && _a !== void 0 ? _a : this.generateId();
|
|
58
|
+
window.localStorage.setItem(UniqueUserId.localStorageId, this.id);
|
|
59
|
+
}
|
|
60
|
+
UniqueUserId.prototype.generateId = function () {
|
|
61
|
+
return randomBytes__default["default"](16).toString('base64');
|
|
62
|
+
};
|
|
63
|
+
UniqueUserId.prototype.toString = function () {
|
|
64
|
+
return this.id;
|
|
65
|
+
};
|
|
66
|
+
UniqueUserId.localStorageId = '_coin_cid';
|
|
67
|
+
return UniqueUserId;
|
|
69
68
|
}());
|
|
70
69
|
|
|
71
|
-
var UserEventHandler = /** @class */ (function () {
|
|
72
|
-
function UserEventHandler() {
|
|
73
|
-
}
|
|
74
|
-
return UserEventHandler;
|
|
75
|
-
}());
|
|
76
|
-
|
|
77
|
-
var UtmFields = /** @class */ (function () {
|
|
78
|
-
function UtmFields() {
|
|
79
|
-
var _a;
|
|
80
|
-
this.fields = [];
|
|
81
|
-
this.getUtmRecord = function () {
|
|
82
|
-
var _a, _b;
|
|
83
|
-
var record = {};
|
|
84
|
-
var parsedQueryString = (_b = (_a = document.location.search.split('?')[1]) === null || _a === void 0 ? void 0 : _a.split('&')) !== null && _b !== void 0 ? _b : [];
|
|
85
|
-
parsedQueryString.map(function (item) {
|
|
86
|
-
var _a = item.split('='), fullKey = _a[0], value = _a[1];
|
|
87
|
-
var _b = fullKey.split('_'), keyCategory = _b[0], keyName = _b[1];
|
|
88
|
-
if (keyCategory === 'utm') {
|
|
89
|
-
record[keyName] = value;
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
return Object.keys(record).length > 0 ? record : null;
|
|
93
|
-
};
|
|
94
|
-
var storedString = (_a = window.localStorage.getItem(UtmFields.localStorageId)) !== null && _a !== void 0 ? _a : '[]';
|
|
95
|
-
try {
|
|
96
|
-
this.fields = JSON.parse(storedString);
|
|
97
|
-
}
|
|
98
|
-
catch (_b) {
|
|
99
|
-
this.fields = [];
|
|
100
|
-
}
|
|
101
|
-
//this clears the old object version if needed
|
|
102
|
-
if (!Array.isArray(this.fields)) {
|
|
103
|
-
this.fields = [];
|
|
104
|
-
}
|
|
105
|
-
this.update();
|
|
106
|
-
window.localStorage.setItem(UtmFields.localStorageId, JSON.stringify(this.fields));
|
|
107
|
-
}
|
|
108
|
-
//check the query string and if there an new/updated utm values, add them to the fields
|
|
109
|
-
UtmFields.prototype.update = function () {
|
|
110
|
-
var _a;
|
|
111
|
-
var record = this.getUtmRecord();
|
|
112
|
-
if (record) {
|
|
113
|
-
if (!isEqual__default["default"](this.fields[this.fields.length - 1], record)) {
|
|
114
|
-
this.fields.push(record);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return (_a = this.fields) !== null && _a !== void 0 ? _a : undefined;
|
|
118
|
-
};
|
|
119
|
-
UtmFields.prototype.toString = function () {
|
|
120
|
-
return JSON.stringify(this.fields);
|
|
121
|
-
};
|
|
122
|
-
UtmFields.localStorageId = '_coin_utm';
|
|
123
|
-
return UtmFields;
|
|
70
|
+
var UserEventHandler = /** @class */ (function () {
|
|
71
|
+
function UserEventHandler() {
|
|
72
|
+
}
|
|
73
|
+
return UserEventHandler;
|
|
124
74
|
}());
|
|
125
75
|
|
|
126
76
|
/*! *****************************************************************************
|
|
@@ -201,212 +151,276 @@ function __generator(thisArg, body) {
|
|
|
201
151
|
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
202
152
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
203
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;
|
|
204
171
|
}
|
|
205
172
|
|
|
206
|
-
var
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
var
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
return
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
173
|
+
var UtmFields = /** @class */ (function () {
|
|
174
|
+
function UtmFields() {
|
|
175
|
+
var _a;
|
|
176
|
+
this.fields = [];
|
|
177
|
+
this.getUtmRecord = function () {
|
|
178
|
+
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];
|
|
184
|
+
if (keyCategory === 'utm') {
|
|
185
|
+
record[keyName] = value;
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
return Object.keys(record).length > 0 ? record : null;
|
|
189
|
+
};
|
|
190
|
+
var storedString = (_a = window.localStorage.getItem(UtmFields.localStorageId)) !== null && _a !== void 0 ? _a : '[]';
|
|
191
|
+
try {
|
|
192
|
+
this.fields = JSON.parse(storedString);
|
|
193
|
+
}
|
|
194
|
+
catch (_b) {
|
|
195
|
+
this.fields = [];
|
|
196
|
+
}
|
|
197
|
+
//this clears the old object version if needed
|
|
198
|
+
if (!Array.isArray(this.fields)) {
|
|
199
|
+
this.fields = [];
|
|
200
|
+
}
|
|
201
|
+
this.update();
|
|
202
|
+
window.localStorage.setItem(UtmFields.localStorageId, JSON.stringify(this.fields));
|
|
203
|
+
}
|
|
204
|
+
//check the query string and if there an new/updated utm values, add them to the fields
|
|
205
|
+
UtmFields.prototype.update = function () {
|
|
206
|
+
var _a;
|
|
207
|
+
var record = this.getUtmRecord();
|
|
208
|
+
if (record) {
|
|
209
|
+
if (!isEqual__default["default"](this.fields[this.fields.length - 1], record)) {
|
|
210
|
+
this.fields.push(record);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
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;
|
|
230
220
|
}());
|
|
231
221
|
|
|
232
|
-
var
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
}
|
|
237
|
-
catch (ex) {
|
|
238
|
-
console.log("getSystemInfo Error: ".concat(ex));
|
|
239
|
-
}
|
|
240
|
-
return systemInfo;
|
|
222
|
+
var apiBaseUri = {
|
|
223
|
+
beta: 'https://pixel.xylabs.com',
|
|
224
|
+
local: 'http://localhost:3030',
|
|
225
|
+
prod: 'https://pixel.xylabs.com',
|
|
241
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
|
+
}());
|
|
242
245
|
|
|
243
|
-
var
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
this.
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
case
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
return [
|
|
297
|
-
case
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
};
|
|
351
|
-
XyPixel
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
246
|
+
var systemInfo = undefined;
|
|
247
|
+
var getSystemInfo = function () {
|
|
248
|
+
try {
|
|
249
|
+
systemInfo = systemInfo || bowser.parse(window.navigator.userAgent);
|
|
250
|
+
}
|
|
251
|
+
catch (ex) {
|
|
252
|
+
console.log("getSystemInfo Error: ".concat(ex));
|
|
253
|
+
}
|
|
254
|
+
return systemInfo;
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
var XyPixel = /** @class */ (function () {
|
|
258
|
+
function XyPixel(pixelId) {
|
|
259
|
+
this.queue = [];
|
|
260
|
+
this.cid = new UniqueUserId().id;
|
|
261
|
+
this.queueMutex = new asyncMutex.Mutex();
|
|
262
|
+
this.pixelId = pixelId;
|
|
263
|
+
}
|
|
264
|
+
XyPixel.prototype.identify = function (email) {
|
|
265
|
+
this.email = email;
|
|
266
|
+
this.email_hash = email ? md5__default["default"](email) : undefined;
|
|
267
|
+
};
|
|
268
|
+
XyPixel.prototype.updateFbId = function () {
|
|
269
|
+
var _a;
|
|
270
|
+
this.exids = __assign({
|
|
271
|
+
fbc: Cookies__default["default"].get('_fbc'),
|
|
272
|
+
fbp: Cookies__default["default"].get('_fbp'),
|
|
273
|
+
ga: Cookies__default["default"].get('_ga'),
|
|
274
|
+
gclid: Cookies__default["default"].get('_gclid'),
|
|
275
|
+
rdt_uid: Cookies__default["default"].get('rdt_uid'),
|
|
276
|
+
scid: Cookies__default["default"].get('_scid'),
|
|
277
|
+
tt_sessionId: (_a = sessionStorage.getItem('tt_sessionId')) !== null && _a !== void 0 ? _a : undefined,
|
|
278
|
+
});
|
|
279
|
+
};
|
|
280
|
+
XyPixel.prototype.tryFlushQueue = function () {
|
|
281
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
282
|
+
var _this = this;
|
|
283
|
+
return __generator(this, function (_a) {
|
|
284
|
+
switch (_a.label) {
|
|
285
|
+
case 0: return [4 /*yield*/, this.queueMutex.runExclusive(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
286
|
+
var api, events, ex_1;
|
|
287
|
+
return __generator(this, function (_a) {
|
|
288
|
+
switch (_a.label) {
|
|
289
|
+
case 0:
|
|
290
|
+
if (this.queue.length === 0)
|
|
291
|
+
return [2 /*return*/];
|
|
292
|
+
api = XyPixel.api;
|
|
293
|
+
if (!api) return [3 /*break*/, 4];
|
|
294
|
+
events = this.queue;
|
|
295
|
+
this.queue = [];
|
|
296
|
+
_a.label = 1;
|
|
297
|
+
case 1:
|
|
298
|
+
_a.trys.push([1, 3, , 4]);
|
|
299
|
+
return [4 /*yield*/, api.trackEvents(events)];
|
|
300
|
+
case 2:
|
|
301
|
+
_a.sent();
|
|
302
|
+
return [3 /*break*/, 4];
|
|
303
|
+
case 3:
|
|
304
|
+
ex_1 = _a.sent();
|
|
305
|
+
if (events) {
|
|
306
|
+
//put it back since it failed
|
|
307
|
+
this.queue = this.queue.concat(events);
|
|
308
|
+
}
|
|
309
|
+
console.error(ex_1);
|
|
310
|
+
return [3 /*break*/, 4];
|
|
311
|
+
case 4: return [2 /*return*/];
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
}); })];
|
|
315
|
+
case 1:
|
|
316
|
+
_a.sent();
|
|
317
|
+
return [2 /*return*/];
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
});
|
|
321
|
+
};
|
|
322
|
+
XyPixel.prototype.send = function (event, fields) {
|
|
323
|
+
var _a;
|
|
324
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
325
|
+
var utm, referrer;
|
|
326
|
+
return __generator(this, function (_b) {
|
|
327
|
+
switch (_b.label) {
|
|
328
|
+
case 0:
|
|
329
|
+
this.updateFbId();
|
|
330
|
+
utm = XyPixel.utmFields().update();
|
|
331
|
+
referrer = new Referrer();
|
|
332
|
+
this.queue.push(__assign({
|
|
333
|
+
cid: this.cid,
|
|
334
|
+
create_time: Date.now(),
|
|
335
|
+
email_hash: (_a = this.email_hash) !== null && _a !== void 0 ? _a : undefined,
|
|
336
|
+
event: event,
|
|
337
|
+
exids: this.exids,
|
|
338
|
+
fields: fields,
|
|
339
|
+
host: document.location.host,
|
|
340
|
+
pathname: document.location.pathname,
|
|
341
|
+
pixel: this.pixelId,
|
|
342
|
+
referrer: referrer.toJson(),
|
|
343
|
+
system: getSystemInfo(),
|
|
344
|
+
utm: utm,
|
|
345
|
+
}));
|
|
346
|
+
return [4 /*yield*/, this.tryFlushQueue()];
|
|
347
|
+
case 1:
|
|
348
|
+
_b.sent();
|
|
349
|
+
return [2 /*return*/];
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
});
|
|
353
|
+
};
|
|
354
|
+
Object.defineProperty(XyPixel, "instance", {
|
|
355
|
+
get: function () {
|
|
356
|
+
return sdkJs.assertEx(this._instance, 'XyPixel uninitialized');
|
|
357
|
+
},
|
|
358
|
+
enumerable: false,
|
|
359
|
+
configurable: true
|
|
360
|
+
});
|
|
361
|
+
XyPixel.init = function (pixelId) {
|
|
362
|
+
this._instance = new XyPixel(pixelId);
|
|
363
|
+
return this._instance;
|
|
364
|
+
};
|
|
365
|
+
XyPixel.selectApi = function (api) {
|
|
366
|
+
this.api = api;
|
|
367
|
+
};
|
|
368
|
+
XyPixel.utmFields = function () {
|
|
369
|
+
if (XyPixel.utmFieldsObj === undefined) {
|
|
370
|
+
XyPixel.utmFieldsObj = new UtmFields();
|
|
371
|
+
}
|
|
372
|
+
return XyPixel.utmFieldsObj;
|
|
373
|
+
};
|
|
374
|
+
XyPixel.api = new PixelApi();
|
|
375
|
+
return XyPixel;
|
|
362
376
|
}());
|
|
363
377
|
|
|
364
|
-
var XyUserEventHandler = /** @class */ (function (_super) {
|
|
365
|
-
__extends(XyUserEventHandler, _super);
|
|
366
|
-
function XyUserEventHandler() {
|
|
367
|
-
return _super.call(this) || this;
|
|
368
|
-
}
|
|
369
|
-
XyUserEventHandler.prototype.testStarted = function (fields) {
|
|
370
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
371
|
-
return __generator(this, function (_a) {
|
|
372
|
-
switch (_a.label) {
|
|
373
|
-
case 0: return [4 /*yield*/, XyPixel.instance.send('TestStarted', fields)];
|
|
374
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
375
|
-
}
|
|
376
|
-
});
|
|
377
|
-
});
|
|
378
|
-
};
|
|
379
|
-
XyUserEventHandler.prototype.funnelStarted = function (fields) {
|
|
380
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
381
|
-
return __generator(this, function (_a) {
|
|
382
|
-
switch (_a.label) {
|
|
383
|
-
case 0: return [4 /*yield*/, XyPixel.instance.send('FunnelStarted', fields)];
|
|
384
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
385
|
-
}
|
|
386
|
-
});
|
|
387
|
-
});
|
|
388
|
-
};
|
|
389
|
-
XyUserEventHandler.prototype.viewContent = 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('ViewContent', fields)];
|
|
394
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
395
|
-
}
|
|
396
|
-
});
|
|
397
|
-
});
|
|
398
|
-
};
|
|
399
|
-
XyUserEventHandler.prototype.userClick = 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('ViewPage', fields)];
|
|
404
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
405
|
-
}
|
|
406
|
-
});
|
|
407
|
-
});
|
|
408
|
-
};
|
|
409
|
-
return XyUserEventHandler;
|
|
378
|
+
var XyUserEventHandler = /** @class */ (function (_super) {
|
|
379
|
+
__extends(XyUserEventHandler, _super);
|
|
380
|
+
function XyUserEventHandler() {
|
|
381
|
+
return _super.call(this) || this;
|
|
382
|
+
}
|
|
383
|
+
XyUserEventHandler.prototype.testStarted = function (fields) {
|
|
384
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
385
|
+
return __generator(this, function (_a) {
|
|
386
|
+
switch (_a.label) {
|
|
387
|
+
case 0: return [4 /*yield*/, XyPixel.instance.send('TestStarted', fields)];
|
|
388
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
389
|
+
}
|
|
390
|
+
});
|
|
391
|
+
});
|
|
392
|
+
};
|
|
393
|
+
XyUserEventHandler.prototype.funnelStarted = function (fields) {
|
|
394
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
395
|
+
return __generator(this, function (_a) {
|
|
396
|
+
switch (_a.label) {
|
|
397
|
+
case 0: return [4 /*yield*/, XyPixel.instance.send('FunnelStarted', fields)];
|
|
398
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
399
|
+
}
|
|
400
|
+
});
|
|
401
|
+
});
|
|
402
|
+
};
|
|
403
|
+
XyUserEventHandler.prototype.viewContent = function (fields) {
|
|
404
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
405
|
+
return __generator(this, function (_a) {
|
|
406
|
+
switch (_a.label) {
|
|
407
|
+
case 0: return [4 /*yield*/, XyPixel.instance.send('ViewContent', fields)];
|
|
408
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
});
|
|
412
|
+
};
|
|
413
|
+
XyUserEventHandler.prototype.userClick = function (fields) {
|
|
414
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
415
|
+
return __generator(this, function (_a) {
|
|
416
|
+
switch (_a.label) {
|
|
417
|
+
case 0: return [4 /*yield*/, XyPixel.instance.send('ViewPage', fields)];
|
|
418
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
419
|
+
}
|
|
420
|
+
});
|
|
421
|
+
});
|
|
422
|
+
};
|
|
423
|
+
return XyUserEventHandler;
|
|
410
424
|
}(UserEventHandler));
|
|
411
425
|
|
|
412
426
|
exports.PixelApi = PixelApi;
|