@xylabs/pixel 1.3.4 → 1.3.5
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/dist/Api/Api.d.ts +2 -3
- package/dist/Api/Api.js +10 -18
- package/dist/Api/Api.js.map +1 -1
- package/dist/Api/UserEvent.d.ts +2 -3
- package/dist/Api/UserEventSystem.d.ts +1 -2
- package/dist/Api/index.d.ts +3 -5
- package/dist/Api/index.js +3 -2
- package/dist/Api/index.js.map +1 -1
- package/dist/CommonFields.d.ts +1 -2
- package/dist/ExIds.d.ts +1 -2
- package/dist/FunnelStartedFields.d.ts +2 -3
- package/dist/Pixel.d.ts +1 -1
- package/dist/Pixel.js +70 -104
- package/dist/Pixel.js.map +1 -1
- package/dist/Referrer.d.ts +1 -2
- package/dist/Referrer.js +12 -14
- package/dist/Referrer.js.map +1 -1
- package/dist/TestStartedFields.d.ts +2 -3
- package/dist/UniqueUserId.d.ts +1 -2
- package/dist/UniqueUserId.js +8 -10
- package/dist/UniqueUserId.js.map +1 -1
- package/dist/UserClickFields.d.ts +2 -3
- package/dist/UserEventHandler.d.ts +5 -6
- package/dist/UserEventHandler.js +2 -6
- package/dist/UserEventHandler.js.map +1 -1
- package/dist/UtmFields.d.ts +1 -2
- package/dist/UtmFields.js +16 -19
- package/dist/UtmFields.js.map +1 -1
- package/dist/ViewContentFields.d.ts +2 -3
- package/dist/XyUserEventHandler.d.ts +6 -7
- package/dist/XyUserEventHandler.js +22 -45
- package/dist/XyUserEventHandler.js.map +1 -1
- package/dist/cjs5/Api/Api.d.ts +2 -3
- package/dist/cjs5/Api/UserEvent.d.ts +2 -3
- package/dist/cjs5/Api/UserEventSystem.d.ts +1 -2
- package/dist/cjs5/Api/index.d.ts +3 -5
- package/dist/cjs5/CommonFields.d.ts +1 -2
- package/dist/cjs5/ExIds.d.ts +1 -2
- package/dist/cjs5/FunnelStartedFields.d.ts +2 -3
- package/dist/cjs5/Pixel.d.ts +1 -1
- package/dist/cjs5/Referrer.d.ts +1 -2
- package/dist/cjs5/TestStartedFields.d.ts +2 -3
- package/dist/cjs5/UniqueUserId.d.ts +1 -2
- package/dist/cjs5/UserClickFields.d.ts +2 -3
- package/dist/cjs5/UserEventHandler.d.ts +5 -6
- package/dist/cjs5/UtmFields.d.ts +1 -2
- package/dist/cjs5/ViewContentFields.d.ts +2 -3
- package/dist/cjs5/XyUserEventHandler.d.ts +6 -7
- package/dist/cjs5/getSystemInfo.d.ts +1 -2
- package/dist/cjs5/index.d.ts +9 -11
- package/dist/cjs5/index.js +180 -320
- package/dist/cjs5/index.js.map +1 -1
- package/dist/esm2015/Api/Api.d.ts +2 -3
- package/dist/esm2015/Api/UserEvent.d.ts +2 -3
- package/dist/esm2015/Api/UserEventSystem.d.ts +1 -2
- package/dist/esm2015/Api/index.d.ts +3 -5
- package/dist/esm2015/CommonFields.d.ts +1 -2
- package/dist/esm2015/ExIds.d.ts +1 -2
- package/dist/esm2015/FunnelStartedFields.d.ts +2 -3
- package/dist/esm2015/Pixel.d.ts +1 -1
- package/dist/esm2015/Referrer.d.ts +1 -2
- package/dist/esm2015/TestStartedFields.d.ts +2 -3
- package/dist/esm2015/UniqueUserId.d.ts +1 -2
- package/dist/esm2015/UserClickFields.d.ts +2 -3
- package/dist/esm2015/UserEventHandler.d.ts +5 -6
- package/dist/esm2015/UtmFields.d.ts +1 -2
- package/dist/esm2015/ViewContentFields.d.ts +2 -3
- package/dist/esm2015/XyUserEventHandler.d.ts +6 -7
- package/dist/esm2015/getSystemInfo.d.ts +1 -2
- package/dist/esm2015/index.d.ts +9 -11
- package/dist/esm2015/index.js +177 -317
- package/dist/esm2015/index.js.map +1 -1
- package/dist/esm2017/Api/Api.d.ts +2 -3
- package/dist/esm2017/Api/UserEvent.d.ts +2 -3
- package/dist/esm2017/Api/UserEventSystem.d.ts +1 -2
- package/dist/esm2017/Api/index.d.ts +3 -5
- package/dist/esm2017/CommonFields.d.ts +1 -2
- package/dist/esm2017/ExIds.d.ts +1 -2
- package/dist/esm2017/FunnelStartedFields.d.ts +2 -3
- package/dist/esm2017/Pixel.d.ts +1 -1
- package/dist/esm2017/Referrer.d.ts +1 -2
- package/dist/esm2017/TestStartedFields.d.ts +2 -3
- package/dist/esm2017/UniqueUserId.d.ts +1 -2
- package/dist/esm2017/UserClickFields.d.ts +2 -3
- package/dist/esm2017/UserEventHandler.d.ts +5 -6
- package/dist/esm2017/UtmFields.d.ts +1 -2
- package/dist/esm2017/ViewContentFields.d.ts +2 -3
- package/dist/esm2017/XyUserEventHandler.d.ts +6 -7
- package/dist/esm2017/getSystemInfo.d.ts +1 -2
- package/dist/esm2017/index.d.ts +9 -11
- package/dist/esm2017/index.js +177 -317
- package/dist/esm2017/index.js.map +1 -1
- package/dist/esm5/Api/Api.d.ts +2 -3
- package/dist/esm5/Api/UserEvent.d.ts +2 -3
- package/dist/esm5/Api/UserEventSystem.d.ts +1 -2
- package/dist/esm5/Api/index.d.ts +3 -5
- package/dist/esm5/CommonFields.d.ts +1 -2
- package/dist/esm5/ExIds.d.ts +1 -2
- package/dist/esm5/FunnelStartedFields.d.ts +2 -3
- package/dist/esm5/Pixel.d.ts +1 -1
- package/dist/esm5/Referrer.d.ts +1 -2
- package/dist/esm5/TestStartedFields.d.ts +2 -3
- package/dist/esm5/UniqueUserId.d.ts +1 -2
- package/dist/esm5/UserClickFields.d.ts +2 -3
- package/dist/esm5/UserEventHandler.d.ts +5 -6
- package/dist/esm5/UtmFields.d.ts +1 -2
- package/dist/esm5/ViewContentFields.d.ts +2 -3
- package/dist/esm5/XyUserEventHandler.d.ts +6 -7
- package/dist/esm5/getSystemInfo.d.ts +1 -2
- package/dist/esm5/index.d.ts +9 -11
- package/dist/esm5/index.js +177 -317
- package/dist/esm5/index.js.map +1 -1
- package/dist/getSystemInfo.d.ts +1 -2
- package/dist/getSystemInfo.js +3 -4
- package/dist/getSystemInfo.js.map +1 -1
- package/dist/index.d.ts +9 -11
- package/dist/index.js +9 -6
- package/dist/index.js.map +1 -1
- package/dist/node/Api/Api.d.ts +2 -3
- package/dist/node/Api/UserEvent.d.ts +2 -3
- package/dist/node/Api/UserEventSystem.d.ts +1 -2
- package/dist/node/Api/index.d.ts +3 -5
- package/dist/node/CommonFields.d.ts +1 -2
- package/dist/node/ExIds.d.ts +1 -2
- package/dist/node/FunnelStartedFields.d.ts +2 -3
- package/dist/node/Pixel.d.ts +1 -1
- package/dist/node/Referrer.d.ts +1 -2
- package/dist/node/TestStartedFields.d.ts +2 -3
- package/dist/node/UniqueUserId.d.ts +1 -2
- package/dist/node/UserClickFields.d.ts +2 -3
- package/dist/node/UserEventHandler.d.ts +5 -6
- package/dist/node/UtmFields.d.ts +1 -2
- package/dist/node/ViewContentFields.d.ts +2 -3
- package/dist/node/XyUserEventHandler.d.ts +6 -7
- package/dist/node/getSystemInfo.d.ts +1 -2
- package/dist/node/index.d.ts +9 -11
- package/dist/node/index.js +180 -320
- package/dist/node/index.js.map +1 -1
- package/dist/node-esm/Api/Api.d.ts +2 -3
- package/dist/node-esm/Api/UserEvent.d.ts +2 -3
- package/dist/node-esm/Api/UserEventSystem.d.ts +1 -2
- package/dist/node-esm/Api/index.d.ts +3 -5
- package/dist/node-esm/CommonFields.d.ts +1 -2
- package/dist/node-esm/ExIds.d.ts +1 -2
- package/dist/node-esm/FunnelStartedFields.d.ts +2 -3
- package/dist/node-esm/Pixel.d.ts +1 -1
- package/dist/node-esm/Referrer.d.ts +1 -2
- package/dist/node-esm/TestStartedFields.d.ts +2 -3
- package/dist/node-esm/UniqueUserId.d.ts +1 -2
- package/dist/node-esm/UserClickFields.d.ts +2 -3
- package/dist/node-esm/UserEventHandler.d.ts +5 -6
- package/dist/node-esm/UtmFields.d.ts +1 -2
- package/dist/node-esm/ViewContentFields.d.ts +2 -3
- package/dist/node-esm/XyUserEventHandler.d.ts +6 -7
- package/dist/node-esm/getSystemInfo.d.ts +1 -2
- package/dist/node-esm/index.d.ts +9 -11
- package/dist/node-esm/index.js +177 -317
- package/dist/node-esm/index.js.map +1 -1
- package/package.json +4 -4
- package/src/Api/Api.ts +2 -4
- package/src/Api/UserEvent.ts +2 -4
- package/src/Api/UserEventSystem.ts +1 -3
- package/src/Api/index.ts +3 -6
- package/src/CommonFields.ts +1 -3
- package/src/ExIds.ts +1 -3
- package/src/FunnelStartedFields.ts +2 -4
- package/src/Pixel.ts +5 -5
- package/src/Referrer.ts +1 -3
- package/src/TestStartedFields.ts +2 -4
- package/src/UniqueUserId.ts +1 -3
- package/src/UserClickFields.ts +2 -4
- package/src/UserEventHandler.ts +5 -7
- package/src/UtmFields.ts +1 -3
- package/src/ViewContentFields.ts +2 -4
- package/src/XyUserEventHandler.ts +6 -8
- package/src/getSystemInfo.ts +1 -3
- package/src/index.ts +9 -13
package/dist/cjs5/index.js
CHANGED
|
@@ -2,192 +2,140 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
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
|
|
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
|
|
19
|
+
var randomBytes__default = /*#__PURE__*/_interopDefaultLegacy(randomBytes);
|
|
20
|
+
var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
31
|
-
|
|
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
|
-
|
|
37
|
-
|
|
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
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
}());
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
Referrer.storageId = '_coin_referrer';
|
|
53
105
|
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
|
|
112
|
+
generateId() {
|
|
61
113
|
return randomBytes__default["default"](16).toString('base64');
|
|
62
|
-
}
|
|
63
|
-
|
|
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
|
-
|
|
174
|
-
|
|
121
|
+
class UtmFields {
|
|
122
|
+
constructor() {
|
|
175
123
|
var _a;
|
|
176
124
|
this.fields = [];
|
|
177
|
-
this.getUtmRecord =
|
|
125
|
+
this.getUtmRecord = () => {
|
|
178
126
|
var _a, _b;
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
parsedQueryString.map(
|
|
182
|
-
|
|
183
|
-
|
|
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
|
-
|
|
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
|
-
|
|
153
|
+
update() {
|
|
206
154
|
var _a;
|
|
207
|
-
|
|
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
|
-
|
|
252
|
-
|
|
163
|
+
toString() {
|
|
164
|
+
return JSON.stringify(this.fields);
|
|
253
165
|
}
|
|
254
|
-
|
|
255
|
-
|
|
166
|
+
}
|
|
167
|
+
UtmFields.localStorageId = '_coin_utm';
|
|
256
168
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
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
|
-
|
|
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
|
-
|
|
184
|
+
}
|
|
185
|
+
updateFbId() {
|
|
274
186
|
var _a;
|
|
275
|
-
this.exids =
|
|
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,152 +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
|
-
|
|
286
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
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
|
-
|
|
219
|
+
}
|
|
220
|
+
send(event, fields) {
|
|
328
221
|
var _a;
|
|
329
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
system: getSystemInfo(),
|
|
349
|
-
utm: utm,
|
|
350
|
-
}));
|
|
351
|
-
return [4 /*yield*/, this.tryFlushQueue()];
|
|
352
|
-
case 1:
|
|
353
|
-
_b.sent();
|
|
354
|
-
return [2 /*return*/];
|
|
355
|
-
}
|
|
356
|
-
});
|
|
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();
|
|
357
241
|
});
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
enumerable: false,
|
|
364
|
-
configurable: true
|
|
365
|
-
});
|
|
366
|
-
XyPixel.init = function (pixelId) {
|
|
242
|
+
}
|
|
243
|
+
static get instance() {
|
|
244
|
+
return sdkJs.assertEx(this._instance, 'XyPixel uninitialized');
|
|
245
|
+
}
|
|
246
|
+
static init(pixelId) {
|
|
367
247
|
this._instance = new XyPixel(pixelId);
|
|
368
248
|
return this._instance;
|
|
369
|
-
}
|
|
370
|
-
|
|
249
|
+
}
|
|
250
|
+
static selectApi(api) {
|
|
371
251
|
this.api = api;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
}());
|
|
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();
|
|
382
261
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
262
|
+
class UserEventHandler {
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
class XyUserEventHandler extends UserEventHandler {
|
|
266
|
+
constructor() {
|
|
267
|
+
super();
|
|
387
268
|
}
|
|
388
|
-
|
|
389
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
390
|
-
return
|
|
391
|
-
switch (_a.label) {
|
|
392
|
-
case 0: return [4 /*yield*/, XyPixel.instance.send('TestStarted', fields)];
|
|
393
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
394
|
-
}
|
|
395
|
-
});
|
|
269
|
+
testStarted(fields) {
|
|
270
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
271
|
+
return yield XyPixel.instance.send('TestStarted', fields);
|
|
396
272
|
});
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
400
|
-
return
|
|
401
|
-
switch (_a.label) {
|
|
402
|
-
case 0: return [4 /*yield*/, XyPixel.instance.send('FunnelStarted', fields)];
|
|
403
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
404
|
-
}
|
|
405
|
-
});
|
|
273
|
+
}
|
|
274
|
+
funnelStarted(fields) {
|
|
275
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
276
|
+
return yield XyPixel.instance.send('FunnelStarted', fields);
|
|
406
277
|
});
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
410
|
-
return
|
|
411
|
-
switch (_a.label) {
|
|
412
|
-
case 0: return [4 /*yield*/, XyPixel.instance.send('ViewContent', fields)];
|
|
413
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
414
|
-
}
|
|
415
|
-
});
|
|
278
|
+
}
|
|
279
|
+
viewContent(fields) {
|
|
280
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
281
|
+
return yield XyPixel.instance.send('ViewContent', fields);
|
|
416
282
|
});
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
420
|
-
return
|
|
421
|
-
switch (_a.label) {
|
|
422
|
-
case 0: return [4 /*yield*/, XyPixel.instance.send('ViewPage', fields)];
|
|
423
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
424
|
-
}
|
|
425
|
-
});
|
|
283
|
+
}
|
|
284
|
+
userClick(fields) {
|
|
285
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
286
|
+
return yield XyPixel.instance.send('ViewPage', fields);
|
|
426
287
|
});
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
}(UserEventHandler));
|
|
288
|
+
}
|
|
289
|
+
}
|
|
430
290
|
|
|
431
291
|
exports.PixelApi = PixelApi;
|
|
432
292
|
exports.Referrer = Referrer;
|