wisetrack 2.0.0
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 +5 -0
- package/README.md +128 -0
- package/dist/cdn/constants/constants.d.ts +20 -0
- package/dist/cdn/constants/endpoints.d.ts +11 -0
- package/dist/cdn/constants/environments.d.ts +25 -0
- package/dist/cdn/core/caching/queue-data.d.ts +25 -0
- package/dist/cdn/core/caching/request-queue-manager.d.ts +54 -0
- package/dist/cdn/core/fields/event-fields-builder.d.ts +8 -0
- package/dist/cdn/core/fields/fields-builder.d.ts +9 -0
- package/dist/cdn/core/network/api-client.d.ts +9 -0
- package/dist/cdn/core/network/network-error.d.ts +17 -0
- package/dist/cdn/core/network/network-manager.d.ts +22 -0
- package/dist/cdn/core/network/retry-policy.d.ts +8 -0
- package/dist/cdn/core/storage/storage-manager.d.ts +52 -0
- package/dist/cdn/core/wisetrack.d.ts +125 -0
- package/dist/cdn/core/wt-tracker.d.ts +25 -0
- package/dist/cdn/index.d.ts +4 -0
- package/dist/cdn/sdk.bundle.js +3604 -0
- package/dist/cdn/sdk.bundle.js.map +1 -0
- package/dist/cdn/sdk.bundle.min.js +1 -0
- package/dist/cdn/types/config/initial-config.d.ts +43 -0
- package/dist/cdn/types/config/wt-app-settings.d.ts +15 -0
- package/dist/cdn/types/config/wt-config.d.ts +18 -0
- package/dist/cdn/types/event/revenue-currency.d.ts +39 -0
- package/dist/cdn/types/event/wt-event.d.ts +94 -0
- package/dist/cdn/utils/activity-ticker.d.ts +12 -0
- package/dist/cdn/utils/country-finder.d.ts +9 -0
- package/dist/cdn/utils/crypto-helper.d.ts +4 -0
- package/dist/cdn/utils/device-detector.d.ts +41 -0
- package/dist/cdn/utils/logger.d.ts +36 -0
- package/dist/cdn/utils/storage-support.d.ts +16 -0
- package/dist/cdn/utils/utils.d.ts +5 -0
- package/dist/cdn/utils/webgl-fingerprint.d.ts +7 -0
- package/dist/cjs/constants/constants.d.ts +20 -0
- package/dist/cjs/constants/endpoints.d.ts +11 -0
- package/dist/cjs/constants/environments.d.ts +25 -0
- package/dist/cjs/core/caching/queue-data.d.ts +25 -0
- package/dist/cjs/core/caching/request-queue-manager.d.ts +54 -0
- package/dist/cjs/core/fields/event-fields-builder.d.ts +8 -0
- package/dist/cjs/core/fields/fields-builder.d.ts +9 -0
- package/dist/cjs/core/network/api-client.d.ts +9 -0
- package/dist/cjs/core/network/network-error.d.ts +17 -0
- package/dist/cjs/core/network/network-manager.d.ts +22 -0
- package/dist/cjs/core/network/retry-policy.d.ts +8 -0
- package/dist/cjs/core/storage/storage-manager.d.ts +52 -0
- package/dist/cjs/core/wisetrack.d.ts +125 -0
- package/dist/cjs/core/wt-tracker.d.ts +25 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +3599 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types/config/initial-config.d.ts +43 -0
- package/dist/cjs/types/config/wt-app-settings.d.ts +15 -0
- package/dist/cjs/types/config/wt-config.d.ts +18 -0
- package/dist/cjs/types/event/revenue-currency.d.ts +39 -0
- package/dist/cjs/types/event/wt-event.d.ts +94 -0
- package/dist/cjs/utils/activity-ticker.d.ts +12 -0
- package/dist/cjs/utils/country-finder.d.ts +9 -0
- package/dist/cjs/utils/crypto-helper.d.ts +4 -0
- package/dist/cjs/utils/device-detector.d.ts +41 -0
- package/dist/cjs/utils/logger.d.ts +36 -0
- package/dist/cjs/utils/storage-support.d.ts +16 -0
- package/dist/cjs/utils/utils.d.ts +5 -0
- package/dist/cjs/utils/webgl-fingerprint.d.ts +7 -0
- package/dist/constants/constants.d.ts +20 -0
- package/dist/constants/constants.js +19 -0
- package/dist/constants/constants.js.map +1 -0
- package/dist/constants/endpoints.d.ts +11 -0
- package/dist/constants/endpoints.js +10 -0
- package/dist/constants/endpoints.js.map +1 -0
- package/dist/constants/environments.d.ts +25 -0
- package/dist/constants/environments.js +37 -0
- package/dist/constants/environments.js.map +1 -0
- package/dist/core/caching/queue-data.d.ts +25 -0
- package/dist/core/caching/queue-data.js +50 -0
- package/dist/core/caching/queue-data.js.map +1 -0
- package/dist/core/caching/request-queue-manager.d.ts +54 -0
- package/dist/core/caching/request-queue-manager.js +333 -0
- package/dist/core/caching/request-queue-manager.js.map +1 -0
- package/dist/core/fields/event-fields-builder.d.ts +8 -0
- package/dist/core/fields/event-fields-builder.js +29 -0
- package/dist/core/fields/event-fields-builder.js.map +1 -0
- package/dist/core/fields/fields-builder.d.ts +9 -0
- package/dist/core/fields/fields-builder.js +120 -0
- package/dist/core/fields/fields-builder.js.map +1 -0
- package/dist/core/network/api-client.d.ts +9 -0
- package/dist/core/network/api-client.js +88 -0
- package/dist/core/network/api-client.js.map +1 -0
- package/dist/core/network/network-error.d.ts +17 -0
- package/dist/core/network/network-error.js +35 -0
- package/dist/core/network/network-error.js.map +1 -0
- package/dist/core/network/network-manager.d.ts +22 -0
- package/dist/core/network/network-manager.js +72 -0
- package/dist/core/network/network-manager.js.map +1 -0
- package/dist/core/network/retry-policy.d.ts +8 -0
- package/dist/core/network/retry-policy.js +26 -0
- package/dist/core/network/retry-policy.js.map +1 -0
- package/dist/core/storage/storage-manager.d.ts +52 -0
- package/dist/core/storage/storage-manager.js +221 -0
- package/dist/core/storage/storage-manager.js.map +1 -0
- package/dist/core/wisetrack.d.ts +125 -0
- package/dist/core/wisetrack.js +277 -0
- package/dist/core/wisetrack.js.map +1 -0
- package/dist/core/wt-tracker.d.ts +25 -0
- package/dist/core/wt-tracker.js +239 -0
- package/dist/core/wt-tracker.js.map +1 -0
- package/dist/esm/constants/constants.d.ts +20 -0
- package/dist/esm/constants/endpoints.d.ts +11 -0
- package/dist/esm/constants/environments.d.ts +25 -0
- package/dist/esm/core/caching/queue-data.d.ts +25 -0
- package/dist/esm/core/caching/request-queue-manager.d.ts +54 -0
- package/dist/esm/core/fields/event-fields-builder.d.ts +8 -0
- package/dist/esm/core/fields/fields-builder.d.ts +9 -0
- package/dist/esm/core/network/api-client.d.ts +9 -0
- package/dist/esm/core/network/network-error.d.ts +17 -0
- package/dist/esm/core/network/network-manager.d.ts +22 -0
- package/dist/esm/core/network/retry-policy.d.ts +8 -0
- package/dist/esm/core/storage/storage-manager.d.ts +52 -0
- package/dist/esm/core/wisetrack.d.ts +125 -0
- package/dist/esm/core/wt-tracker.d.ts +25 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +3594 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types/config/initial-config.d.ts +43 -0
- package/dist/esm/types/config/wt-app-settings.d.ts +15 -0
- package/dist/esm/types/config/wt-config.d.ts +18 -0
- package/dist/esm/types/event/revenue-currency.d.ts +39 -0
- package/dist/esm/types/event/wt-event.d.ts +94 -0
- package/dist/esm/utils/activity-ticker.d.ts +12 -0
- package/dist/esm/utils/country-finder.d.ts +9 -0
- package/dist/esm/utils/crypto-helper.d.ts +4 -0
- package/dist/esm/utils/device-detector.d.ts +41 -0
- package/dist/esm/utils/logger.d.ts +36 -0
- package/dist/esm/utils/storage-support.d.ts +16 -0
- package/dist/esm/utils/utils.d.ts +5 -0
- package/dist/esm/utils/webgl-fingerprint.d.ts +7 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/types/config/initial-config.d.ts +43 -0
- package/dist/types/config/initial-config.js +2 -0
- package/dist/types/config/initial-config.js.map +1 -0
- package/dist/types/config/wt-app-settings.d.ts +15 -0
- package/dist/types/config/wt-app-settings.js +25 -0
- package/dist/types/config/wt-app-settings.js.map +1 -0
- package/dist/types/config/wt-config.d.ts +18 -0
- package/dist/types/config/wt-config.js +28 -0
- package/dist/types/config/wt-config.js.map +1 -0
- package/dist/types/event/revenue-currency.d.ts +39 -0
- package/dist/types/event/revenue-currency.js +39 -0
- package/dist/types/event/revenue-currency.js.map +1 -0
- package/dist/types/event/wt-event.d.ts +94 -0
- package/dist/types/event/wt-event.js +93 -0
- package/dist/types/event/wt-event.js.map +1 -0
- package/dist/utils/activity-ticker.d.ts +12 -0
- package/dist/utils/activity-ticker.js +37 -0
- package/dist/utils/activity-ticker.js.map +1 -0
- package/dist/utils/country-finder.d.ts +9 -0
- package/dist/utils/country-finder.js +71 -0
- package/dist/utils/country-finder.js.map +1 -0
- package/dist/utils/crypto-helper.d.ts +4 -0
- package/dist/utils/crypto-helper.js +7 -0
- package/dist/utils/crypto-helper.js.map +1 -0
- package/dist/utils/device-detector.d.ts +41 -0
- package/dist/utils/device-detector.js +101 -0
- package/dist/utils/device-detector.js.map +1 -0
- package/dist/utils/logger.d.ts +36 -0
- package/dist/utils/logger.js +84 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/storage-support.d.ts +16 -0
- package/dist/utils/storage-support.js +86 -0
- package/dist/utils/storage-support.js.map +1 -0
- package/dist/utils/utils.d.ts +5 -0
- package/dist/utils/utils.js +95 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist/utils/webgl-fingerprint.d.ts +7 -0
- package/dist/utils/webgl-fingerprint.js +100 -0
- package/dist/utils/webgl-fingerprint.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { RevenueCurrency } from "./revenue-currency";
|
|
2
|
+
type WTEventType = "default" | "revenue";
|
|
3
|
+
type EventParam = string | number | boolean;
|
|
4
|
+
export declare namespace WTEvent {
|
|
5
|
+
/**
|
|
6
|
+
* Represents a generic custom event.
|
|
7
|
+
*
|
|
8
|
+
* Use this class to log custom actions performed by the user.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* const event = new WTEvent.Default("signup");
|
|
13
|
+
* event.addParam("method", "Google");
|
|
14
|
+
* WiseTrack.instance.trackEvent(event);
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
class Default {
|
|
18
|
+
/**
|
|
19
|
+
* The type of event.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
readonly type: WTEventType;
|
|
23
|
+
/**
|
|
24
|
+
* Optional custom key-value parameters for the event.
|
|
25
|
+
*/
|
|
26
|
+
params?: Record<string, EventParam>;
|
|
27
|
+
/**
|
|
28
|
+
* The name of the event.
|
|
29
|
+
*/
|
|
30
|
+
name: string;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a new custom event.
|
|
33
|
+
* @param name - The name of the event.
|
|
34
|
+
*/
|
|
35
|
+
constructor(name: string);
|
|
36
|
+
/**
|
|
37
|
+
* Adds a parameter to the event.
|
|
38
|
+
*
|
|
39
|
+
* @param key - The parameter key.
|
|
40
|
+
* @param value - The parameter value.
|
|
41
|
+
*/
|
|
42
|
+
addParam(key: string, value: EventParam): void;
|
|
43
|
+
/** @internal */
|
|
44
|
+
toJSON(): {
|
|
45
|
+
event_type: WTEventType;
|
|
46
|
+
event_name: string;
|
|
47
|
+
partner_params: Record<string, EventParam> | undefined;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Represents a revenue event with an amount and currency.
|
|
52
|
+
*
|
|
53
|
+
* Use this class to log purchases or monetary transactions.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* const purchase = new WTEvent.Revenue("order_complete", 49.99, RevenueCurrency.USD);
|
|
58
|
+
* purchase.addParam("item_count", "3");
|
|
59
|
+
* WiseTrack.instance.trackEvent(purchase);
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
class Revenue extends Default {
|
|
63
|
+
/**
|
|
64
|
+
* The type of event.
|
|
65
|
+
* @internal
|
|
66
|
+
*/
|
|
67
|
+
readonly type: WTEventType;
|
|
68
|
+
/**
|
|
69
|
+
* The revenue amount.
|
|
70
|
+
*/
|
|
71
|
+
amount: number;
|
|
72
|
+
/**
|
|
73
|
+
* The currency of the revenue.
|
|
74
|
+
*/
|
|
75
|
+
currency: RevenueCurrency;
|
|
76
|
+
/**
|
|
77
|
+
* Creates a new revenue event.
|
|
78
|
+
*
|
|
79
|
+
* @param name - The name of the revenue event.
|
|
80
|
+
* @param amount - The amount of revenue.
|
|
81
|
+
* @param currency - The currency of the revenue.
|
|
82
|
+
*/
|
|
83
|
+
constructor(name: string, amount: number, currency: RevenueCurrency);
|
|
84
|
+
/** @internal */
|
|
85
|
+
toJSON(): {
|
|
86
|
+
event_type: WTEventType;
|
|
87
|
+
event_name: string;
|
|
88
|
+
revenue: number;
|
|
89
|
+
currency: RevenueCurrency;
|
|
90
|
+
partner_params: Record<string, EventParam> | undefined;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
export {};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export var WTEvent;
|
|
2
|
+
(function (WTEvent) {
|
|
3
|
+
/**
|
|
4
|
+
* Represents a generic custom event.
|
|
5
|
+
*
|
|
6
|
+
* Use this class to log custom actions performed by the user.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* const event = new WTEvent.Default("signup");
|
|
11
|
+
* event.addParam("method", "Google");
|
|
12
|
+
* WiseTrack.instance.trackEvent(event);
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
class Default {
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new custom event.
|
|
18
|
+
* @param name - The name of the event.
|
|
19
|
+
*/
|
|
20
|
+
constructor(name) {
|
|
21
|
+
/**
|
|
22
|
+
* The type of event.
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
this.type = "default";
|
|
26
|
+
this.name = name;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Adds a parameter to the event.
|
|
30
|
+
*
|
|
31
|
+
* @param key - The parameter key.
|
|
32
|
+
* @param value - The parameter value.
|
|
33
|
+
*/
|
|
34
|
+
addParam(key, value) {
|
|
35
|
+
var _a;
|
|
36
|
+
let _params = (_a = this.params) !== null && _a !== void 0 ? _a : {};
|
|
37
|
+
_params[key] = value;
|
|
38
|
+
this.params = _params;
|
|
39
|
+
}
|
|
40
|
+
/** @internal */
|
|
41
|
+
toJSON() {
|
|
42
|
+
return {
|
|
43
|
+
event_type: this.type,
|
|
44
|
+
event_name: this.name,
|
|
45
|
+
partner_params: this.params,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
WTEvent.Default = Default;
|
|
50
|
+
/**
|
|
51
|
+
* Represents a revenue event with an amount and currency.
|
|
52
|
+
*
|
|
53
|
+
* Use this class to log purchases or monetary transactions.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* const purchase = new WTEvent.Revenue("order_complete", 49.99, RevenueCurrency.USD);
|
|
58
|
+
* purchase.addParam("item_count", "3");
|
|
59
|
+
* WiseTrack.instance.trackEvent(purchase);
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
class Revenue extends Default {
|
|
63
|
+
/**
|
|
64
|
+
* Creates a new revenue event.
|
|
65
|
+
*
|
|
66
|
+
* @param name - The name of the revenue event.
|
|
67
|
+
* @param amount - The amount of revenue.
|
|
68
|
+
* @param currency - The currency of the revenue.
|
|
69
|
+
*/
|
|
70
|
+
constructor(name, amount, currency) {
|
|
71
|
+
super(name);
|
|
72
|
+
/**
|
|
73
|
+
* The type of event.
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
76
|
+
this.type = "revenue";
|
|
77
|
+
this.amount = amount;
|
|
78
|
+
this.currency = currency;
|
|
79
|
+
}
|
|
80
|
+
/** @internal */
|
|
81
|
+
toJSON() {
|
|
82
|
+
return {
|
|
83
|
+
event_type: this.type,
|
|
84
|
+
event_name: this.name,
|
|
85
|
+
revenue: this.amount,
|
|
86
|
+
currency: this.currency,
|
|
87
|
+
partner_params: this.params,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
WTEvent.Revenue = Revenue;
|
|
92
|
+
})(WTEvent || (WTEvent = {}));
|
|
93
|
+
//# sourceMappingURL=wt-event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wt-event.js","sourceRoot":"","sources":["../../../src/types/event/wt-event.ts"],"names":[],"mappings":"AAMA,MAAM,KAAW,OAAO,CAiHvB;AAjHD,WAAiB,OAAO;IACtB;;;;;;;;;;;OAWG;IACH,MAAa,OAAO;QAiBlB;;;WAGG;QACH,YAAY,IAAY;YApBxB;;;eAGG;YACM,SAAI,GAAgB,SAAS,CAAC;YAiBrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QAED;;;;;WAKG;QACH,QAAQ,CAAC,GAAW,EAAE,KAAiB;;YACrC,IAAI,OAAO,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACxB,CAAC;QAED,gBAAgB;QAChB,MAAM;YACJ,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,cAAc,EAAE,IAAI,CAAC,MAAM;aAC5B,CAAC;QACJ,CAAC;KACF;IA7CY,eAAO,UA6CnB,CAAA;IAED;;;;;;;;;;;OAWG;IACH,MAAa,OAAQ,SAAQ,OAAO;QAiBlC;;;;;;WAMG;QACH,YAAY,IAAY,EAAE,MAAc,EAAE,QAAyB;YACjE,KAAK,CAAC,IAAI,CAAC,CAAC;YAxBd;;;eAGG;YACe,SAAI,GAAgB,SAAS,CAAC;YAqB9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC;QAED,gBAAgB;QACP,MAAM;YACb,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,cAAc,EAAE,IAAI,CAAC,MAAM;aAC5B,CAAC;QACJ,CAAC;KACF;IAxCY,eAAO,UAwCnB,CAAA;AACH,CAAC,EAjHgB,OAAO,KAAP,OAAO,QAiHvB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
declare class ActivityTicker {
|
|
2
|
+
private tickerDelay;
|
|
3
|
+
private isPaused;
|
|
4
|
+
private tickerJob?;
|
|
5
|
+
start(): void;
|
|
6
|
+
stop(): void;
|
|
7
|
+
pause(): void;
|
|
8
|
+
resume(): void;
|
|
9
|
+
}
|
|
10
|
+
/** @internal */
|
|
11
|
+
export declare const activityTicker: ActivityTicker;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { storageManager } from "../core/storage/storage-manager";
|
|
2
|
+
// import { WTLogger } from "./logger";
|
|
3
|
+
class ActivityTicker {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.tickerDelay = 1000;
|
|
6
|
+
this.isPaused = false;
|
|
7
|
+
}
|
|
8
|
+
start() {
|
|
9
|
+
if (this.tickerJob) {
|
|
10
|
+
clearInterval(this.tickerJob);
|
|
11
|
+
}
|
|
12
|
+
this.tickerJob = setInterval(() => {
|
|
13
|
+
if (this.isPaused)
|
|
14
|
+
return;
|
|
15
|
+
if (document.hidden)
|
|
16
|
+
return;
|
|
17
|
+
if (!document.hasFocus())
|
|
18
|
+
return;
|
|
19
|
+
console.log(`ActivityTicker: active duration= ${storageManager.activeDuration / 1000}s, inactive duration= ${storageManager.inactiveDuration / 1000}s`);
|
|
20
|
+
storageManager.activeTime = Date.now();
|
|
21
|
+
storageManager.activeDuration += this.tickerDelay;
|
|
22
|
+
}, this.tickerDelay);
|
|
23
|
+
}
|
|
24
|
+
stop() {
|
|
25
|
+
clearInterval(this.tickerJob);
|
|
26
|
+
this.tickerJob = undefined;
|
|
27
|
+
}
|
|
28
|
+
pause() {
|
|
29
|
+
this.isPaused = true;
|
|
30
|
+
}
|
|
31
|
+
resume() {
|
|
32
|
+
this.isPaused = false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/** @internal */
|
|
36
|
+
export const activityTicker = new ActivityTicker();
|
|
37
|
+
//# sourceMappingURL=activity-ticker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-ticker.js","sourceRoot":"","sources":["../../src/utils/activity-ticker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,uCAAuC;AAEvC,MAAM,cAAc;IAApB;QACU,gBAAW,GAAG,IAAI,CAAC;QACnB,aAAQ,GAAG,KAAK,CAAC;IAkC3B,CAAC;IA/BC,KAAK;QACH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,IAAI,QAAQ,CAAC,MAAM;gBAAE,OAAO;YAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBAAE,OAAO;YAEjC,OAAO,CAAC,GAAG,CACT,oCACE,cAAc,CAAC,cAAc,GAAG,IAClC,yBAAyB,cAAc,CAAC,gBAAgB,GAAG,IAAI,GAAG,CACnE,CAAC;YACF,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvC,cAAc,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC;QACpD,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;IAED,IAAI;QACF,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;CACF;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
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 CountryFinder {
|
|
12
|
+
constructor() {
|
|
13
|
+
this._country = null;
|
|
14
|
+
}
|
|
15
|
+
getCountryCode() {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
if (!this._country) {
|
|
18
|
+
this._country = yield this.tryAllEndpoints();
|
|
19
|
+
}
|
|
20
|
+
return this._country;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
tryAllEndpoints() {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const endpoints = [
|
|
26
|
+
() => __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const res = yield this.fetchWithTimeout("https://api.country.is");
|
|
28
|
+
if (!res.ok)
|
|
29
|
+
throw new Error("country.is failed");
|
|
30
|
+
const json = yield res.json();
|
|
31
|
+
return json.country || null;
|
|
32
|
+
}),
|
|
33
|
+
() => __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
const res = yield this.fetchWithTimeout("https://free.freeipapi.com/api/json");
|
|
35
|
+
if (!res.ok)
|
|
36
|
+
throw new Error("country.is failed");
|
|
37
|
+
const json = yield res.json();
|
|
38
|
+
return json.countryCode || null;
|
|
39
|
+
}),
|
|
40
|
+
() => __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const res = yield this.fetchWithTimeout("https://ipwho.is/");
|
|
42
|
+
if (!res.ok)
|
|
43
|
+
throw new Error("ipwho.is failed");
|
|
44
|
+
const json = yield res.json();
|
|
45
|
+
return json.country_code || null;
|
|
46
|
+
}),
|
|
47
|
+
];
|
|
48
|
+
for (const tryFetch of endpoints) {
|
|
49
|
+
try {
|
|
50
|
+
const countryCode = yield tryFetch();
|
|
51
|
+
if (countryCode)
|
|
52
|
+
return countryCode;
|
|
53
|
+
}
|
|
54
|
+
catch (_) {
|
|
55
|
+
// Try next API
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
fetchWithTimeout(url_1) {
|
|
62
|
+
return __awaiter(this, arguments, void 0, function* (url, timeout = 2000) {
|
|
63
|
+
const controller = new AbortController();
|
|
64
|
+
const id = setTimeout(() => controller.abort(), timeout);
|
|
65
|
+
return fetch(url, { signal: controller.signal }).finally(() => clearTimeout(id));
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/** @internal */
|
|
70
|
+
export const countryFinder = new CountryFinder();
|
|
71
|
+
//# sourceMappingURL=country-finder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"country-finder.js","sourceRoot":"","sources":["../../src/utils/country-finder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gBAAgB;AAChB,MAAM,OAAO,aAAa;IAA1B;QACU,aAAQ,GAAkB,IAAI,CAAC;IAuDzC,CAAC;IArDO,cAAc;;YAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/C,CAAC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;KAAA;IAEa,eAAe;;YAC3B,MAAM,SAAS,GAAG;gBAChB,GAAS,EAAE;oBACT,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;oBAClE,IAAI,CAAC,GAAG,CAAC,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;oBAClD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;gBAC9B,CAAC,CAAA;gBACD,GAAS,EAAE;oBACT,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACrC,qCAAqC,CACtC,CAAC;oBACF,IAAI,CAAC,GAAG,CAAC,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;oBAClD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;gBAClC,CAAC,CAAA;gBACD,GAAS,EAAE;oBACT,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;oBAC7D,IAAI,CAAC,GAAG,CAAC,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBAChD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;gBACnC,CAAC,CAAA;aACF,CAAC;YAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,QAAQ,EAAE,CAAC;oBACrC,IAAI,WAAW;wBAAE,OAAO,WAAW,CAAC;gBACtC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,eAAe;gBACjB,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEa,gBAAgB;6DAC5B,GAAW,EACX,OAAO,GAAG,IAAI;YAEd,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAC5D,YAAY,CAAC,EAAE,CAAC,CACjB,CAAC;QACJ,CAAC;KAAA;CACF;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto-helper.js","sourceRoot":"","sources":["../../src/utils/crypto-helper.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,kBAAkB;QACd,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;CACJ,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/** @internal */
|
|
2
|
+
export interface DeviceInfo {
|
|
3
|
+
browser: {
|
|
4
|
+
name?: string;
|
|
5
|
+
version?: string;
|
|
6
|
+
};
|
|
7
|
+
os: {
|
|
8
|
+
name?: string;
|
|
9
|
+
version?: string;
|
|
10
|
+
};
|
|
11
|
+
device: {
|
|
12
|
+
type?: string;
|
|
13
|
+
model?: string;
|
|
14
|
+
vendor?: string;
|
|
15
|
+
};
|
|
16
|
+
cpu: {
|
|
17
|
+
architecture?: string;
|
|
18
|
+
};
|
|
19
|
+
engine: {
|
|
20
|
+
name?: string;
|
|
21
|
+
version?: string;
|
|
22
|
+
};
|
|
23
|
+
ua: string;
|
|
24
|
+
}
|
|
25
|
+
type ScreenType = "touch" | "pointer";
|
|
26
|
+
type ScreenDensity = "high" | "low" | "medium";
|
|
27
|
+
type ScreenFormat = "long" | "normal" | "undefined";
|
|
28
|
+
type ScreenSize = "small" | "normal" | "large" | "xlarge";
|
|
29
|
+
declare class DeviceDetector {
|
|
30
|
+
getDeviceInfo(): DeviceInfo;
|
|
31
|
+
get screenDensity(): ScreenDensity;
|
|
32
|
+
get screenFormat(): ScreenFormat;
|
|
33
|
+
get screenSize(): ScreenSize;
|
|
34
|
+
get uiMode(): number;
|
|
35
|
+
get uiStyle(): string;
|
|
36
|
+
get displaySize(): string;
|
|
37
|
+
get screenType(): ScreenType;
|
|
38
|
+
}
|
|
39
|
+
/** @internal */
|
|
40
|
+
export declare const deviceDetector: DeviceDetector;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,101 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-detector.js","sourceRoot":"","sources":["../../src/utils/device-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
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 {};
|