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.
Files changed (122) hide show
  1. package/LICENSE +18 -2
  2. package/README.md +200 -40
  3. package/dist/cdn/sdk.bundle.min.js +1 -1
  4. package/dist/cjs/index.js +1 -3599
  5. package/dist/esm/index.js +1 -3594
  6. package/package.json +5 -3
  7. package/dist/cdn/constants/constants.d.ts +0 -20
  8. package/dist/cdn/constants/endpoints.d.ts +0 -11
  9. package/dist/cdn/constants/environments.d.ts +0 -25
  10. package/dist/cdn/core/caching/queue-data.d.ts +0 -25
  11. package/dist/cdn/core/caching/request-queue-manager.d.ts +0 -54
  12. package/dist/cdn/core/fields/event-fields-builder.d.ts +0 -8
  13. package/dist/cdn/core/fields/fields-builder.d.ts +0 -9
  14. package/dist/cdn/core/network/api-client.d.ts +0 -9
  15. package/dist/cdn/core/network/network-error.d.ts +0 -17
  16. package/dist/cdn/core/network/network-manager.d.ts +0 -22
  17. package/dist/cdn/core/network/retry-policy.d.ts +0 -8
  18. package/dist/cdn/core/storage/storage-manager.d.ts +0 -52
  19. package/dist/cdn/core/wisetrack.d.ts +0 -125
  20. package/dist/cdn/core/wt-tracker.d.ts +0 -25
  21. package/dist/cdn/index.d.ts +0 -4
  22. package/dist/cdn/sdk.bundle.js +0 -3604
  23. package/dist/cdn/sdk.bundle.js.map +0 -1
  24. package/dist/cdn/types/config/initial-config.d.ts +0 -43
  25. package/dist/cdn/types/config/wt-app-settings.d.ts +0 -15
  26. package/dist/cdn/types/config/wt-config.d.ts +0 -18
  27. package/dist/cdn/types/event/revenue-currency.d.ts +0 -39
  28. package/dist/cdn/types/event/wt-event.d.ts +0 -94
  29. package/dist/cdn/utils/activity-ticker.d.ts +0 -12
  30. package/dist/cdn/utils/country-finder.d.ts +0 -9
  31. package/dist/cdn/utils/crypto-helper.d.ts +0 -4
  32. package/dist/cdn/utils/device-detector.d.ts +0 -41
  33. package/dist/cdn/utils/logger.d.ts +0 -36
  34. package/dist/cdn/utils/storage-support.d.ts +0 -16
  35. package/dist/cdn/utils/utils.d.ts +0 -5
  36. package/dist/cdn/utils/webgl-fingerprint.d.ts +0 -7
  37. package/dist/cjs/index.js.map +0 -1
  38. package/dist/constants/constants.d.ts +0 -20
  39. package/dist/constants/constants.js +0 -19
  40. package/dist/constants/constants.js.map +0 -1
  41. package/dist/constants/endpoints.d.ts +0 -11
  42. package/dist/constants/endpoints.js +0 -10
  43. package/dist/constants/endpoints.js.map +0 -1
  44. package/dist/constants/environments.d.ts +0 -25
  45. package/dist/constants/environments.js +0 -37
  46. package/dist/constants/environments.js.map +0 -1
  47. package/dist/core/caching/queue-data.d.ts +0 -25
  48. package/dist/core/caching/queue-data.js +0 -50
  49. package/dist/core/caching/queue-data.js.map +0 -1
  50. package/dist/core/caching/request-queue-manager.d.ts +0 -54
  51. package/dist/core/caching/request-queue-manager.js +0 -333
  52. package/dist/core/caching/request-queue-manager.js.map +0 -1
  53. package/dist/core/fields/event-fields-builder.d.ts +0 -8
  54. package/dist/core/fields/event-fields-builder.js +0 -29
  55. package/dist/core/fields/event-fields-builder.js.map +0 -1
  56. package/dist/core/fields/fields-builder.d.ts +0 -9
  57. package/dist/core/fields/fields-builder.js +0 -120
  58. package/dist/core/fields/fields-builder.js.map +0 -1
  59. package/dist/core/network/api-client.d.ts +0 -9
  60. package/dist/core/network/api-client.js +0 -88
  61. package/dist/core/network/api-client.js.map +0 -1
  62. package/dist/core/network/network-error.d.ts +0 -17
  63. package/dist/core/network/network-error.js +0 -35
  64. package/dist/core/network/network-error.js.map +0 -1
  65. package/dist/core/network/network-manager.d.ts +0 -22
  66. package/dist/core/network/network-manager.js +0 -72
  67. package/dist/core/network/network-manager.js.map +0 -1
  68. package/dist/core/network/retry-policy.d.ts +0 -8
  69. package/dist/core/network/retry-policy.js +0 -26
  70. package/dist/core/network/retry-policy.js.map +0 -1
  71. package/dist/core/storage/storage-manager.d.ts +0 -52
  72. package/dist/core/storage/storage-manager.js +0 -221
  73. package/dist/core/storage/storage-manager.js.map +0 -1
  74. package/dist/core/wisetrack.d.ts +0 -125
  75. package/dist/core/wisetrack.js +0 -277
  76. package/dist/core/wisetrack.js.map +0 -1
  77. package/dist/core/wt-tracker.d.ts +0 -25
  78. package/dist/core/wt-tracker.js +0 -239
  79. package/dist/core/wt-tracker.js.map +0 -1
  80. package/dist/esm/index.js.map +0 -1
  81. package/dist/index.d.ts +0 -4
  82. package/dist/index.js +0 -4
  83. package/dist/index.js.map +0 -1
  84. package/dist/types/config/initial-config.d.ts +0 -43
  85. package/dist/types/config/initial-config.js +0 -2
  86. package/dist/types/config/initial-config.js.map +0 -1
  87. package/dist/types/config/wt-app-settings.d.ts +0 -15
  88. package/dist/types/config/wt-app-settings.js +0 -25
  89. package/dist/types/config/wt-app-settings.js.map +0 -1
  90. package/dist/types/config/wt-config.d.ts +0 -18
  91. package/dist/types/config/wt-config.js +0 -28
  92. package/dist/types/config/wt-config.js.map +0 -1
  93. package/dist/types/event/revenue-currency.d.ts +0 -39
  94. package/dist/types/event/revenue-currency.js +0 -39
  95. package/dist/types/event/revenue-currency.js.map +0 -1
  96. package/dist/types/event/wt-event.d.ts +0 -94
  97. package/dist/types/event/wt-event.js +0 -93
  98. package/dist/types/event/wt-event.js.map +0 -1
  99. package/dist/utils/activity-ticker.d.ts +0 -12
  100. package/dist/utils/activity-ticker.js +0 -37
  101. package/dist/utils/activity-ticker.js.map +0 -1
  102. package/dist/utils/country-finder.d.ts +0 -9
  103. package/dist/utils/country-finder.js +0 -71
  104. package/dist/utils/country-finder.js.map +0 -1
  105. package/dist/utils/crypto-helper.d.ts +0 -4
  106. package/dist/utils/crypto-helper.js +0 -7
  107. package/dist/utils/crypto-helper.js.map +0 -1
  108. package/dist/utils/device-detector.d.ts +0 -41
  109. package/dist/utils/device-detector.js +0 -101
  110. package/dist/utils/device-detector.js.map +0 -1
  111. package/dist/utils/logger.d.ts +0 -36
  112. package/dist/utils/logger.js +0 -84
  113. package/dist/utils/logger.js.map +0 -1
  114. package/dist/utils/storage-support.d.ts +0 -16
  115. package/dist/utils/storage-support.js +0 -86
  116. package/dist/utils/storage-support.js.map +0 -1
  117. package/dist/utils/utils.d.ts +0 -5
  118. package/dist/utils/utils.js +0 -95
  119. package/dist/utils/utils.js.map +0 -1
  120. package/dist/utils/webgl-fingerprint.d.ts +0 -7
  121. package/dist/utils/webgl-fingerprint.js +0 -100
  122. 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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"}
@@ -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
- }
@@ -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
@@ -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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"}
@@ -1,5 +0,0 @@
1
- /** @internal */
2
- export declare class Utils {
3
- static detectWebFramework: () => string | undefined;
4
- static getUTMParamsString(): string;
5
- }
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /** @internal */
2
- export declare class DeviceFingerprint {
3
- static isWebGLSupported(): boolean;
4
- static getWebGLFingerprint(): Promise<string | undefined>;
5
- static getCanvasFingerprint(): Promise<string | undefined>;
6
- private static hashData;
7
- }
@@ -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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"}