wisetrack 2.0.0 → 2.0.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/LICENSE +18 -2
- package/README.md +200 -40
- package/dist/cdn/sdk.bundle.min.js +1 -1
- package/dist/cjs/index.js +1 -3599
- package/dist/esm/index.js +1 -3594
- package/package.json +5 -3
- package/dist/cdn/constants/constants.d.ts +0 -20
- package/dist/cdn/constants/endpoints.d.ts +0 -11
- package/dist/cdn/constants/environments.d.ts +0 -25
- package/dist/cdn/core/caching/queue-data.d.ts +0 -25
- package/dist/cdn/core/caching/request-queue-manager.d.ts +0 -54
- package/dist/cdn/core/fields/event-fields-builder.d.ts +0 -8
- package/dist/cdn/core/fields/fields-builder.d.ts +0 -9
- package/dist/cdn/core/network/api-client.d.ts +0 -9
- package/dist/cdn/core/network/network-error.d.ts +0 -17
- package/dist/cdn/core/network/network-manager.d.ts +0 -22
- package/dist/cdn/core/network/retry-policy.d.ts +0 -8
- package/dist/cdn/core/storage/storage-manager.d.ts +0 -52
- package/dist/cdn/core/wisetrack.d.ts +0 -125
- package/dist/cdn/core/wt-tracker.d.ts +0 -25
- package/dist/cdn/index.d.ts +0 -4
- package/dist/cdn/sdk.bundle.js +0 -3604
- package/dist/cdn/sdk.bundle.js.map +0 -1
- package/dist/cdn/types/config/initial-config.d.ts +0 -43
- package/dist/cdn/types/config/wt-app-settings.d.ts +0 -15
- package/dist/cdn/types/config/wt-config.d.ts +0 -18
- package/dist/cdn/types/event/revenue-currency.d.ts +0 -39
- package/dist/cdn/types/event/wt-event.d.ts +0 -94
- package/dist/cdn/utils/activity-ticker.d.ts +0 -12
- package/dist/cdn/utils/country-finder.d.ts +0 -9
- package/dist/cdn/utils/crypto-helper.d.ts +0 -4
- package/dist/cdn/utils/device-detector.d.ts +0 -41
- package/dist/cdn/utils/logger.d.ts +0 -36
- package/dist/cdn/utils/storage-support.d.ts +0 -16
- package/dist/cdn/utils/utils.d.ts +0 -5
- package/dist/cdn/utils/webgl-fingerprint.d.ts +0 -7
- package/dist/cjs/index.js.map +0 -1
- package/dist/constants/constants.d.ts +0 -20
- package/dist/constants/constants.js +0 -19
- package/dist/constants/constants.js.map +0 -1
- package/dist/constants/endpoints.d.ts +0 -11
- package/dist/constants/endpoints.js +0 -10
- package/dist/constants/endpoints.js.map +0 -1
- package/dist/constants/environments.d.ts +0 -25
- package/dist/constants/environments.js +0 -37
- package/dist/constants/environments.js.map +0 -1
- package/dist/core/caching/queue-data.d.ts +0 -25
- package/dist/core/caching/queue-data.js +0 -50
- package/dist/core/caching/queue-data.js.map +0 -1
- package/dist/core/caching/request-queue-manager.d.ts +0 -54
- package/dist/core/caching/request-queue-manager.js +0 -333
- package/dist/core/caching/request-queue-manager.js.map +0 -1
- package/dist/core/fields/event-fields-builder.d.ts +0 -8
- package/dist/core/fields/event-fields-builder.js +0 -29
- package/dist/core/fields/event-fields-builder.js.map +0 -1
- package/dist/core/fields/fields-builder.d.ts +0 -9
- package/dist/core/fields/fields-builder.js +0 -120
- package/dist/core/fields/fields-builder.js.map +0 -1
- package/dist/core/network/api-client.d.ts +0 -9
- package/dist/core/network/api-client.js +0 -88
- package/dist/core/network/api-client.js.map +0 -1
- package/dist/core/network/network-error.d.ts +0 -17
- package/dist/core/network/network-error.js +0 -35
- package/dist/core/network/network-error.js.map +0 -1
- package/dist/core/network/network-manager.d.ts +0 -22
- package/dist/core/network/network-manager.js +0 -72
- package/dist/core/network/network-manager.js.map +0 -1
- package/dist/core/network/retry-policy.d.ts +0 -8
- package/dist/core/network/retry-policy.js +0 -26
- package/dist/core/network/retry-policy.js.map +0 -1
- package/dist/core/storage/storage-manager.d.ts +0 -52
- package/dist/core/storage/storage-manager.js +0 -221
- package/dist/core/storage/storage-manager.js.map +0 -1
- package/dist/core/wisetrack.d.ts +0 -125
- package/dist/core/wisetrack.js +0 -277
- package/dist/core/wisetrack.js.map +0 -1
- package/dist/core/wt-tracker.d.ts +0 -25
- package/dist/core/wt-tracker.js +0 -239
- package/dist/core/wt-tracker.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.js +0 -4
- package/dist/index.js.map +0 -1
- package/dist/types/config/initial-config.d.ts +0 -43
- package/dist/types/config/initial-config.js +0 -2
- package/dist/types/config/initial-config.js.map +0 -1
- package/dist/types/config/wt-app-settings.d.ts +0 -15
- package/dist/types/config/wt-app-settings.js +0 -25
- package/dist/types/config/wt-app-settings.js.map +0 -1
- package/dist/types/config/wt-config.d.ts +0 -18
- package/dist/types/config/wt-config.js +0 -28
- package/dist/types/config/wt-config.js.map +0 -1
- package/dist/types/event/revenue-currency.d.ts +0 -39
- package/dist/types/event/revenue-currency.js +0 -39
- package/dist/types/event/revenue-currency.js.map +0 -1
- package/dist/types/event/wt-event.d.ts +0 -94
- package/dist/types/event/wt-event.js +0 -93
- package/dist/types/event/wt-event.js.map +0 -1
- package/dist/utils/activity-ticker.d.ts +0 -12
- package/dist/utils/activity-ticker.js +0 -37
- package/dist/utils/activity-ticker.js.map +0 -1
- package/dist/utils/country-finder.d.ts +0 -9
- package/dist/utils/country-finder.js +0 -71
- package/dist/utils/country-finder.js.map +0 -1
- package/dist/utils/crypto-helper.d.ts +0 -4
- package/dist/utils/crypto-helper.js +0 -7
- package/dist/utils/crypto-helper.js.map +0 -1
- package/dist/utils/device-detector.d.ts +0 -41
- package/dist/utils/device-detector.js +0 -101
- package/dist/utils/device-detector.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -36
- package/dist/utils/logger.js +0 -84
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/storage-support.d.ts +0 -16
- package/dist/utils/storage-support.js +0 -86
- package/dist/utils/storage-support.js.map +0 -1
- package/dist/utils/utils.d.ts +0 -5
- package/dist/utils/utils.js +0 -95
- package/dist/utils/utils.js.map +0 -1
- package/dist/utils/webgl-fingerprint.d.ts +0 -7
- package/dist/utils/webgl-fingerprint.js +0 -100
- package/dist/utils/webgl-fingerprint.js.map +0 -1
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { UAParser } from "ua-parser-js";
|
|
2
|
-
class DeviceDetector {
|
|
3
|
-
getDeviceInfo() {
|
|
4
|
-
const parser = new UAParser();
|
|
5
|
-
const result = parser.getResult();
|
|
6
|
-
return {
|
|
7
|
-
browser: result.browser,
|
|
8
|
-
os: result.os,
|
|
9
|
-
device: result.device,
|
|
10
|
-
engine: result.engine,
|
|
11
|
-
cpu: result.cpu,
|
|
12
|
-
ua: result.ua,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
get screenDensity() {
|
|
16
|
-
if (window.devicePixelRatio >= 3)
|
|
17
|
-
return "high";
|
|
18
|
-
if (window.devicePixelRatio >= 2)
|
|
19
|
-
return "medium";
|
|
20
|
-
return "low";
|
|
21
|
-
}
|
|
22
|
-
get screenFormat() {
|
|
23
|
-
return window.innerHeight > window.innerWidth ? "long" : "normal";
|
|
24
|
-
}
|
|
25
|
-
get screenSize() {
|
|
26
|
-
const width = window.innerWidth;
|
|
27
|
-
if (width < 480)
|
|
28
|
-
return "small";
|
|
29
|
-
else if (width < 768)
|
|
30
|
-
return "normal";
|
|
31
|
-
else if (width < 1440)
|
|
32
|
-
return "large";
|
|
33
|
-
else
|
|
34
|
-
return "xlarge";
|
|
35
|
-
}
|
|
36
|
-
get uiMode() {
|
|
37
|
-
var _a, _b, _c;
|
|
38
|
-
const deviceInfo = this.getDeviceInfo();
|
|
39
|
-
const deviceType = ((_a = deviceInfo.device) === null || _a === void 0 ? void 0 : _a.type) || ""; // 'mobile', 'tablet', 'smarttv', 'console', 'wearable', 'embedded'
|
|
40
|
-
const model = ((_c = (_b = deviceInfo.device) === null || _b === void 0 ? void 0 : _b.model) === null || _c === void 0 ? void 0 : _c.toLowerCase()) || "";
|
|
41
|
-
const ua = deviceInfo.ua.toLowerCase();
|
|
42
|
-
if (deviceType === "wearable" || model.includes("watch")) {
|
|
43
|
-
return 6; // UI_MODE_TYPE_WATCH
|
|
44
|
-
}
|
|
45
|
-
if (deviceType === "smarttv" ||
|
|
46
|
-
ua.includes("smart-tv") ||
|
|
47
|
-
ua.includes("hbbtv") ||
|
|
48
|
-
ua.includes("netcast") ||
|
|
49
|
-
ua.includes("googletv") ||
|
|
50
|
-
ua.includes("appletv")) {
|
|
51
|
-
return 4; // UI_MODE_TYPE_TELEVISION
|
|
52
|
-
}
|
|
53
|
-
if (deviceType === "console" ||
|
|
54
|
-
ua.includes("playstation") ||
|
|
55
|
-
ua.includes("xbox") ||
|
|
56
|
-
ua.includes("nintendo")) {
|
|
57
|
-
return 5; // UI_MODE_TYPE_APPLIANCE
|
|
58
|
-
}
|
|
59
|
-
if (ua.includes("car") ||
|
|
60
|
-
ua.includes("android auto") ||
|
|
61
|
-
ua.includes("carplay")) {
|
|
62
|
-
return 3; // UI_MODE_TYPE_CAR
|
|
63
|
-
}
|
|
64
|
-
if (ua.includes("oculus") ||
|
|
65
|
-
ua.includes("vive") ||
|
|
66
|
-
ua.includes("vr") ||
|
|
67
|
-
deviceType === "embedded") {
|
|
68
|
-
return 7; // UI_MODE_TYPE_VR_HEADSET
|
|
69
|
-
}
|
|
70
|
-
if (deviceType === "mobile" || deviceType === "tablet") {
|
|
71
|
-
return 1; // UI_MODE_TYPE_NORMAL
|
|
72
|
-
}
|
|
73
|
-
if (deviceType === "" || deviceType === "desktop") {
|
|
74
|
-
return 2; // UI_MODE_TYPE_DESK
|
|
75
|
-
}
|
|
76
|
-
return 0; // UI_MODE_TYPE_UNDEFINED
|
|
77
|
-
}
|
|
78
|
-
get uiStyle() {
|
|
79
|
-
const isDarkMode = window.matchMedia &&
|
|
80
|
-
window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
81
|
-
return isDarkMode ? "1" : "0";
|
|
82
|
-
}
|
|
83
|
-
get displaySize() {
|
|
84
|
-
const dpr = window.devicePixelRatio || 1;
|
|
85
|
-
const pixelWidth = screen.width * dpr;
|
|
86
|
-
const pixelHeight = screen.height * dpr;
|
|
87
|
-
const assumedDPI = 160;
|
|
88
|
-
const widthInInches = pixelWidth / assumedDPI;
|
|
89
|
-
const heightInInches = pixelHeight / assumedDPI;
|
|
90
|
-
const diagonal = Math.sqrt(Math.pow(widthInInches, 2) + Math.pow(heightInInches, 2));
|
|
91
|
-
return diagonal.toFixed(2);
|
|
92
|
-
}
|
|
93
|
-
get screenType() {
|
|
94
|
-
return "ontouchstart" in window || navigator.maxTouchPoints > 0
|
|
95
|
-
? "touch"
|
|
96
|
-
: "pointer";
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/** @internal */
|
|
100
|
-
export const deviceDetector = new DeviceDetector();
|
|
101
|
-
//# sourceMappingURL=device-detector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"device-detector.js","sourceRoot":"","sources":["../../src/utils/device-detector.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/logger.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/** @internal */
|
|
2
|
-
export declare abstract class WTLogEngine {
|
|
3
|
-
abstract log(level: string, prefix: string, ...args: any[]): void;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Defines the available log levels for the SDK.
|
|
7
|
-
*
|
|
8
|
-
* - `DEBUG`: Logs everything, including debug info.
|
|
9
|
-
* - `INFO`: Logs general information.
|
|
10
|
-
* - `WARN`: Logs warnings.
|
|
11
|
-
* - `ERROR`: Logs errors only.
|
|
12
|
-
* - `NONE`: Disables logging.
|
|
13
|
-
*/
|
|
14
|
-
export declare const WTLogLevel: {
|
|
15
|
-
readonly DEBUG: "debug";
|
|
16
|
-
readonly INFO: "info";
|
|
17
|
-
readonly WARN: "warn";
|
|
18
|
-
readonly ERROR: "error";
|
|
19
|
-
readonly NONE: "none";
|
|
20
|
-
};
|
|
21
|
-
export type WTLogLevel = (typeof WTLogLevel)[keyof typeof WTLogLevel];
|
|
22
|
-
/** @internal */
|
|
23
|
-
export declare class WTLogger {
|
|
24
|
-
private static level;
|
|
25
|
-
private static prefix;
|
|
26
|
-
private static outputEngines;
|
|
27
|
-
static setLevel(level: WTLogLevel): void;
|
|
28
|
-
static setPrefix(prefix: string): void;
|
|
29
|
-
static addOutputEngine(engine: WTLogEngine): void;
|
|
30
|
-
private static shouldLog;
|
|
31
|
-
private static log;
|
|
32
|
-
static debug(...args: any[]): void;
|
|
33
|
-
static info(...args: any[]): void;
|
|
34
|
-
static warn(...args: any[]): void;
|
|
35
|
-
static error(...args: any[]): void;
|
|
36
|
-
}
|
package/dist/utils/logger.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { WTConstants } from "../constants/constants";
|
|
2
|
-
/** @internal */
|
|
3
|
-
export class WTLogEngine {
|
|
4
|
-
}
|
|
5
|
-
/** @internal */
|
|
6
|
-
class ConsoleLogEngine extends WTLogEngine {
|
|
7
|
-
log(level, prefix, ...args) {
|
|
8
|
-
switch (level) {
|
|
9
|
-
case "debug":
|
|
10
|
-
console.debug(prefix, ...args);
|
|
11
|
-
break;
|
|
12
|
-
case "info":
|
|
13
|
-
console.info(prefix, ...args);
|
|
14
|
-
break;
|
|
15
|
-
case "warn":
|
|
16
|
-
console.warn(prefix, ...args);
|
|
17
|
-
break;
|
|
18
|
-
case "error":
|
|
19
|
-
console.error(prefix, ...args);
|
|
20
|
-
break;
|
|
21
|
-
default:
|
|
22
|
-
console.log(prefix, ...args);
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Defines the available log levels for the SDK.
|
|
29
|
-
*
|
|
30
|
-
* - `DEBUG`: Logs everything, including debug info.
|
|
31
|
-
* - `INFO`: Logs general information.
|
|
32
|
-
* - `WARN`: Logs warnings.
|
|
33
|
-
* - `ERROR`: Logs errors only.
|
|
34
|
-
* - `NONE`: Disables logging.
|
|
35
|
-
*/
|
|
36
|
-
export const WTLogLevel = {
|
|
37
|
-
DEBUG: "debug",
|
|
38
|
-
INFO: "info",
|
|
39
|
-
WARN: "warn",
|
|
40
|
-
ERROR: "error",
|
|
41
|
-
NONE: "none",
|
|
42
|
-
};
|
|
43
|
-
/** @internal */
|
|
44
|
-
export class WTLogger {
|
|
45
|
-
static setLevel(level) {
|
|
46
|
-
this.level = level;
|
|
47
|
-
}
|
|
48
|
-
static setPrefix(prefix) {
|
|
49
|
-
this.prefix = prefix;
|
|
50
|
-
}
|
|
51
|
-
static addOutputEngine(engine) {
|
|
52
|
-
this.outputEngines.push(engine);
|
|
53
|
-
}
|
|
54
|
-
static shouldLog(type) {
|
|
55
|
-
const levels = ["debug", "info", "warn", "error"];
|
|
56
|
-
const currentIndex = levels.indexOf(this.level);
|
|
57
|
-
const typeIndex = levels.indexOf(type);
|
|
58
|
-
return typeIndex >= currentIndex;
|
|
59
|
-
}
|
|
60
|
-
static log(level, ...args) {
|
|
61
|
-
if (!this.shouldLog(level))
|
|
62
|
-
return;
|
|
63
|
-
const prefix = `[${this.prefix}-${level.toUpperCase()}]`;
|
|
64
|
-
for (const output of this.outputEngines) {
|
|
65
|
-
output.log(level, prefix, ...args);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
static debug(...args) {
|
|
69
|
-
this.log("debug", ...args);
|
|
70
|
-
}
|
|
71
|
-
static info(...args) {
|
|
72
|
-
this.log("info", ...args);
|
|
73
|
-
}
|
|
74
|
-
static warn(...args) {
|
|
75
|
-
this.log("warn", ...args);
|
|
76
|
-
}
|
|
77
|
-
static error(...args) {
|
|
78
|
-
this.log("error", ...args);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
WTLogger.level = WTConstants.DEFAULTS.LOG_LEVEL;
|
|
82
|
-
WTLogger.prefix = "WT";
|
|
83
|
-
WTLogger.outputEngines = [new ConsoleLogEngine()];
|
|
84
|
-
//# sourceMappingURL=logger.js.map
|
package/dist/utils/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
type StorageSupportResult = {
|
|
2
|
-
localStorage: boolean;
|
|
3
|
-
sessionStorage: boolean;
|
|
4
|
-
indexedDB: boolean;
|
|
5
|
-
};
|
|
6
|
-
declare class StorageSupport {
|
|
7
|
-
private supportResults;
|
|
8
|
-
getSupportResult(): Promise<StorageSupportResult>;
|
|
9
|
-
getStorageSizeBytes(storage: Storage): number;
|
|
10
|
-
private isLocalStorageSupported;
|
|
11
|
-
private isSessionStorageSupported;
|
|
12
|
-
private isIndexedDBSupported;
|
|
13
|
-
}
|
|
14
|
-
/** @internal */
|
|
15
|
-
export declare const storageSupport: StorageSupport;
|
|
16
|
-
export {};
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
class StorageSupport {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.supportResults = null;
|
|
13
|
-
}
|
|
14
|
-
getSupportResult() {
|
|
15
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
if (this.supportResults)
|
|
17
|
-
return this.supportResults;
|
|
18
|
-
const localStorageSupported = this.isLocalStorageSupported();
|
|
19
|
-
const sessionStorageSupported = this.isSessionStorageSupported();
|
|
20
|
-
const indexedDBSupported = yield this.isIndexedDBSupported();
|
|
21
|
-
this.supportResults = {
|
|
22
|
-
localStorage: localStorageSupported,
|
|
23
|
-
sessionStorage: sessionStorageSupported,
|
|
24
|
-
indexedDB: indexedDBSupported,
|
|
25
|
-
};
|
|
26
|
-
return this.supportResults;
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
getStorageSizeBytes(storage) {
|
|
30
|
-
let total = 0;
|
|
31
|
-
for (let i = 0; i < storage.length; i++) {
|
|
32
|
-
const key = storage.key(i);
|
|
33
|
-
if (!key)
|
|
34
|
-
continue;
|
|
35
|
-
const value = storage.getItem(key);
|
|
36
|
-
if (value == null)
|
|
37
|
-
continue;
|
|
38
|
-
total += key.length * 2;
|
|
39
|
-
total += value.length * 2;
|
|
40
|
-
}
|
|
41
|
-
return total;
|
|
42
|
-
}
|
|
43
|
-
isLocalStorageSupported() {
|
|
44
|
-
try {
|
|
45
|
-
const testKey = "__test__";
|
|
46
|
-
localStorage.setItem(testKey, "1");
|
|
47
|
-
localStorage.removeItem(testKey);
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
catch (e) {
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
isSessionStorageSupported() {
|
|
55
|
-
try {
|
|
56
|
-
const testKey = "__test__";
|
|
57
|
-
sessionStorage.setItem(testKey, "1");
|
|
58
|
-
sessionStorage.removeItem(testKey);
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
catch (e) {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
isIndexedDBSupported() {
|
|
66
|
-
if (!("indexedDB" in window))
|
|
67
|
-
return Promise.resolve(false);
|
|
68
|
-
return new Promise((resolve) => {
|
|
69
|
-
try {
|
|
70
|
-
const request = indexedDB.open("__test__check__");
|
|
71
|
-
request.onerror = () => resolve(false);
|
|
72
|
-
request.onsuccess = () => {
|
|
73
|
-
request.result.close();
|
|
74
|
-
indexedDB.deleteDatabase("__test__check__");
|
|
75
|
-
resolve(true);
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
catch (_a) {
|
|
79
|
-
resolve(false);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
/** @internal */
|
|
85
|
-
export const storageSupport = new StorageSupport();
|
|
86
|
-
//# sourceMappingURL=storage-support.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage-support.js","sourceRoot":"","sources":["../../src/utils/storage-support.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/utils.d.ts
DELETED
package/dist/utils/utils.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/** @internal */
|
|
2
|
-
export class Utils {
|
|
3
|
-
static getUTMParamsString() {
|
|
4
|
-
const params = new URLSearchParams(window.location.search);
|
|
5
|
-
const utmParams = {};
|
|
6
|
-
for (const [key, value] of params.entries()) {
|
|
7
|
-
if (key.startsWith("utm_") && value) {
|
|
8
|
-
utmParams[key] = value;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
if (!utmParams["utm_source"]) {
|
|
12
|
-
const referrer = document.referrer;
|
|
13
|
-
utmParams["utm_source"] = referrer ? new URL(referrer).hostname : "other";
|
|
14
|
-
}
|
|
15
|
-
if (!utmParams["utm_medium"]) {
|
|
16
|
-
utmParams["utm_medium"] = "organic";
|
|
17
|
-
}
|
|
18
|
-
return Object.entries(utmParams)
|
|
19
|
-
.map(([key, value]) => `${key}=${encodeURIComponent(value)}`)
|
|
20
|
-
.join("&");
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
Utils.detectWebFramework = () => {
|
|
24
|
-
// Next.js (React)
|
|
25
|
-
if (!!document.querySelector("script[id=__NEXT_DATA__]") ||
|
|
26
|
-
[...document.scripts].some((s) => s.src.includes("/_next/")))
|
|
27
|
-
return "Next.js";
|
|
28
|
-
// React (if next.js dosn't exists)
|
|
29
|
-
if (!!window.React ||
|
|
30
|
-
!!document.querySelector("[data-reactroot], [data-reactid]") ||
|
|
31
|
-
Array.from(document.querySelectorAll("*")).some((e) => e._reactRootContainer !== undefined ||
|
|
32
|
-
Object.keys(e).some((k) => k.startsWith("__reactContainer"))) ||
|
|
33
|
-
window.__REACT_DEVTOOLS_GLOBAL_HOOK__)
|
|
34
|
-
return "React";
|
|
35
|
-
// Vue / Nuxt.js
|
|
36
|
-
if ([...document.scripts].some((s) => s.src.includes("/_nuxt/")))
|
|
37
|
-
return "Nuxt.js";
|
|
38
|
-
if (window.__VUE__ ||
|
|
39
|
-
window.Vue ||
|
|
40
|
-
document.querySelector("[data-v-app], [data-v-]"))
|
|
41
|
-
return "Vue.js";
|
|
42
|
-
// Gatsby.js
|
|
43
|
-
if (!!document.querySelector("[id=___gatsby]"))
|
|
44
|
-
return "Gatsby.js";
|
|
45
|
-
// Angular
|
|
46
|
-
if (!!window ||
|
|
47
|
-
!!document.querySelector(".ng-binding, [ng-app], [data-ng-app], [ng-controller], [data-ng-controller], [ng-repeat], [data-ng-repeat]") ||
|
|
48
|
-
!!document.querySelector('script[src*="angular.js"], script[src*="angular.min.js"]') ||
|
|
49
|
-
window.ng ||
|
|
50
|
-
document.querySelector("[ng-version]"))
|
|
51
|
-
return "Angular";
|
|
52
|
-
// Svelte
|
|
53
|
-
if ([...document.scripts].some((s) => { var _a; return s.src.includes("svelte") || ((_a = s.textContent) === null || _a === void 0 ? void 0 : _a.includes("svelte")); }))
|
|
54
|
-
return "Svelte";
|
|
55
|
-
// Alpine.js
|
|
56
|
-
if (document.querySelector("[x-data], [x-init], [x-bind]"))
|
|
57
|
-
return "Alpine.js";
|
|
58
|
-
// jQuery
|
|
59
|
-
if (window.jQuery)
|
|
60
|
-
return "jQuery";
|
|
61
|
-
// Backbone
|
|
62
|
-
if (!!window.Backbone)
|
|
63
|
-
return "Backbone.js";
|
|
64
|
-
// Meteor
|
|
65
|
-
if (!!window.Meteor)
|
|
66
|
-
return "Meteor.js";
|
|
67
|
-
// Zepto
|
|
68
|
-
if (!!window.Zepto)
|
|
69
|
-
return "Zepto.js";
|
|
70
|
-
// WordPress (CMS)
|
|
71
|
-
if (document.querySelector('meta[name="generator"][content*="WordPress"]') ||
|
|
72
|
-
[...document.scripts].some((s) => s.src.includes("wp-content") || s.src.includes("wp-includes")))
|
|
73
|
-
return "WordPress";
|
|
74
|
-
// Laravel
|
|
75
|
-
if ([...document.scripts].some((s) => s.src.includes("/js/app.js") || s.src.includes("mix-manifest.json")))
|
|
76
|
-
return "Laravel";
|
|
77
|
-
// Drupal (CMS)
|
|
78
|
-
if (document.querySelector('meta[name="generator"][content*="Drupal"]') ||
|
|
79
|
-
document.documentElement.innerHTML.includes("drupal-settings-json"))
|
|
80
|
-
return "Drupal";
|
|
81
|
-
// Shopify
|
|
82
|
-
if (document.documentElement.innerHTML.includes("cdn.shopify.com"))
|
|
83
|
-
return "Shopify";
|
|
84
|
-
// Squarespace
|
|
85
|
-
if ([...document.scripts].some((s) => s.src.includes("static.squarespace.com")))
|
|
86
|
-
return "Squarespace";
|
|
87
|
-
// Wix
|
|
88
|
-
if ([...document.scripts].some((s) => s.src.includes("wix.com")))
|
|
89
|
-
return "Wix";
|
|
90
|
-
// Ghost CMS
|
|
91
|
-
if (document.querySelector('meta[name="generator"][content*="Ghost"]'))
|
|
92
|
-
return "Ghost CMS";
|
|
93
|
-
return undefined;
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/utils/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
/** @internal */
|
|
11
|
-
export class DeviceFingerprint {
|
|
12
|
-
static isWebGLSupported() {
|
|
13
|
-
try {
|
|
14
|
-
const canvas = document.createElement("canvas");
|
|
15
|
-
return !!(canvas.getContext("webgl") || canvas.getContext("experimental-webgl"));
|
|
16
|
-
}
|
|
17
|
-
catch (e) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
static getWebGLFingerprint() {
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
const canvas = document.createElement("canvas");
|
|
24
|
-
const gl = (canvas.getContext("webgl") ||
|
|
25
|
-
canvas.getContext("experimental-webgl"));
|
|
26
|
-
if (!gl)
|
|
27
|
-
return undefined;
|
|
28
|
-
const info = {
|
|
29
|
-
version: gl.getParameter(gl.VERSION),
|
|
30
|
-
shadingLangVersion: gl.getParameter(gl.SHADING_LANGUAGE_VERSION),
|
|
31
|
-
maxTextureSize: gl.getParameter(gl.MAX_TEXTURE_SIZE),
|
|
32
|
-
maxRenderBufferSize: gl.getParameter(gl.MAX_RENDERBUFFER_SIZE),
|
|
33
|
-
supportedExtensions: gl.getSupportedExtensions(),
|
|
34
|
-
};
|
|
35
|
-
try {
|
|
36
|
-
const debugInfo = gl.getExtension("WEBGL_debug_renderer_info");
|
|
37
|
-
info.vendor = debugInfo
|
|
38
|
-
? gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL)
|
|
39
|
-
: gl.getParameter(gl.VENDOR);
|
|
40
|
-
}
|
|
41
|
-
catch (_) {
|
|
42
|
-
info.vendor = gl.getParameter(gl.VENDOR);
|
|
43
|
-
}
|
|
44
|
-
try {
|
|
45
|
-
const debugInfo = gl.getExtension("WEBGL_debug_renderer_info");
|
|
46
|
-
info.renderer = debugInfo
|
|
47
|
-
? gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL)
|
|
48
|
-
: gl.getParameter(gl.RENDERER);
|
|
49
|
-
}
|
|
50
|
-
catch (_) {
|
|
51
|
-
info.renderer = gl.getParameter(gl.RENDERER);
|
|
52
|
-
}
|
|
53
|
-
return yield this.hashData(JSON.stringify(info));
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
static getCanvasFingerprint() {
|
|
57
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
const canvas = document.createElement("canvas");
|
|
59
|
-
canvas.width = 200;
|
|
60
|
-
canvas.height = 50;
|
|
61
|
-
const ctx = canvas.getContext("2d");
|
|
62
|
-
if (!ctx)
|
|
63
|
-
return undefined;
|
|
64
|
-
ctx.textBaseline = "top";
|
|
65
|
-
ctx.font = "14px 'Arial'";
|
|
66
|
-
ctx.fillStyle = "#f60";
|
|
67
|
-
ctx.fillRect(0, 0, 200, 50);
|
|
68
|
-
ctx.fillStyle = "#069";
|
|
69
|
-
ctx.fillText("WiseTrack WebGL Fingerprint!", 2, 2);
|
|
70
|
-
return yield this.hashData(canvas.toDataURL());
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
// static async generateFingerprint(): Promise<string> {
|
|
74
|
-
// const webglData = this.getWebGLFingerprint();
|
|
75
|
-
// const canvasData = this.getCanvasFingerprint();
|
|
76
|
-
// const combined = webglData + "|" + canvasData;
|
|
77
|
-
// const encoder = new TextEncoder();
|
|
78
|
-
// const data = encoder.encode(combined);
|
|
79
|
-
// const hashBuffer = await crypto.subtle.digest("SHA-256", data);
|
|
80
|
-
// const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
81
|
-
// const hashHex = hashArray
|
|
82
|
-
// .map((b) => b.toString(16).padStart(2, "0"))
|
|
83
|
-
// .join("");
|
|
84
|
-
// return hashHex;
|
|
85
|
-
// }
|
|
86
|
-
static hashData(input) {
|
|
87
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
-
const str = typeof input === "string" ? input : JSON.stringify(input);
|
|
89
|
-
const encoder = new TextEncoder();
|
|
90
|
-
const data = encoder.encode(str);
|
|
91
|
-
const hashBuffer = yield crypto.subtle.digest("SHA-256", data);
|
|
92
|
-
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
93
|
-
const hashHex = hashArray
|
|
94
|
-
.map((b) => b.toString(16).padStart(2, "0"))
|
|
95
|
-
.join("");
|
|
96
|
-
return hashHex;
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=webgl-fingerprint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webgl-fingerprint.js","sourceRoot":"","sources":["../../src/utils/webgl-fingerprint.ts"],"names":[],"mappings":"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"}
|