@tracelog/lib 0.0.1
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 +21 -0
- package/README.md +217 -0
- package/dist/browser/tracelog.js +4040 -0
- package/dist/browser/web-vitals-CCnqwnC8.mjs +198 -0
- package/dist/cjs/api.d.ts +46 -0
- package/dist/cjs/api.js +224 -0
- package/dist/cjs/app.constants.d.ts +1 -0
- package/dist/cjs/app.constants.js +5 -0
- package/dist/cjs/app.d.ts +59 -0
- package/dist/cjs/app.js +272 -0
- package/dist/cjs/app.types.d.ts +6 -0
- package/dist/cjs/app.types.js +22 -0
- package/dist/cjs/constants/api.constants.d.ts +4 -0
- package/dist/cjs/constants/api.constants.js +18 -0
- package/dist/cjs/constants/browser.constants.d.ts +3 -0
- package/dist/cjs/constants/browser.constants.js +41 -0
- package/dist/cjs/constants/index.d.ts +8 -0
- package/dist/cjs/constants/index.js +24 -0
- package/dist/cjs/constants/initialization.constants.d.ts +40 -0
- package/dist/cjs/constants/initialization.constants.js +48 -0
- package/dist/cjs/constants/limits.constants.d.ts +25 -0
- package/dist/cjs/constants/limits.constants.js +40 -0
- package/dist/cjs/constants/security.constants.d.ts +1 -0
- package/dist/cjs/constants/security.constants.js +12 -0
- package/dist/cjs/constants/storage.constants.d.ts +9 -0
- package/dist/cjs/constants/storage.constants.js +22 -0
- package/dist/cjs/constants/timing.constants.d.ts +22 -0
- package/dist/cjs/constants/timing.constants.js +34 -0
- package/dist/cjs/constants/validation.constants.d.ts +13 -0
- package/dist/cjs/constants/validation.constants.js +31 -0
- package/dist/cjs/handlers/click.handler.d.ts +17 -0
- package/dist/cjs/handlers/click.handler.js +199 -0
- package/dist/cjs/handlers/error.handler.d.ts +15 -0
- package/dist/cjs/handlers/error.handler.js +97 -0
- package/dist/cjs/handlers/network.handler.d.ts +16 -0
- package/dist/cjs/handlers/network.handler.js +136 -0
- package/dist/cjs/handlers/page-view.handler.d.ts +15 -0
- package/dist/cjs/handlers/page-view.handler.js +83 -0
- package/dist/cjs/handlers/performance.handler.d.ts +19 -0
- package/dist/cjs/handlers/performance.handler.js +255 -0
- package/dist/cjs/handlers/scroll.handler.d.ts +16 -0
- package/dist/cjs/handlers/scroll.handler.js +138 -0
- package/dist/cjs/handlers/session.handler.d.ts +29 -0
- package/dist/cjs/handlers/session.handler.js +357 -0
- package/dist/cjs/integrations/google-analytics.integration.d.ts +18 -0
- package/dist/cjs/integrations/google-analytics.integration.js +159 -0
- package/dist/cjs/listeners/activity-listener-manager.d.ts +8 -0
- package/dist/cjs/listeners/activity-listener-manager.js +32 -0
- package/dist/cjs/listeners/index.d.ts +6 -0
- package/dist/cjs/listeners/index.js +14 -0
- package/dist/cjs/listeners/input-listener-managers.d.ts +15 -0
- package/dist/cjs/listeners/input-listener-managers.js +58 -0
- package/dist/cjs/listeners/listeners.types.d.ts +4 -0
- package/dist/cjs/listeners/listeners.types.js +2 -0
- package/dist/cjs/listeners/touch-listener-manager.d.ts +10 -0
- package/dist/cjs/listeners/touch-listener-manager.js +56 -0
- package/dist/cjs/listeners/unload-listener-manager.d.ts +8 -0
- package/dist/cjs/listeners/unload-listener-manager.js +30 -0
- package/dist/cjs/listeners/visibility-listener-manager.d.ts +12 -0
- package/dist/cjs/listeners/visibility-listener-manager.js +83 -0
- package/dist/cjs/managers/api.manager.d.ts +3 -0
- package/dist/cjs/managers/api.manager.js +14 -0
- package/dist/cjs/managers/config.manager.d.ts +7 -0
- package/dist/cjs/managers/config.manager.js +94 -0
- package/dist/cjs/managers/cross-tab-session.manager.d.ts +170 -0
- package/dist/cjs/managers/cross-tab-session.manager.js +730 -0
- package/dist/cjs/managers/event.manager.d.ts +61 -0
- package/dist/cjs/managers/event.manager.js +508 -0
- package/dist/cjs/managers/sampling.manager.d.ts +8 -0
- package/dist/cjs/managers/sampling.manager.js +53 -0
- package/dist/cjs/managers/sender.manager.d.ts +46 -0
- package/dist/cjs/managers/sender.manager.js +304 -0
- package/dist/cjs/managers/session-recovery.manager.d.ts +65 -0
- package/dist/cjs/managers/session-recovery.manager.js +237 -0
- package/dist/cjs/managers/session.manager.d.ts +72 -0
- package/dist/cjs/managers/session.manager.js +587 -0
- package/dist/cjs/managers/state.manager.d.ts +5 -0
- package/dist/cjs/managers/state.manager.js +23 -0
- package/dist/cjs/managers/storage.manager.d.ts +10 -0
- package/dist/cjs/managers/storage.manager.js +81 -0
- package/dist/cjs/managers/tags.manager.d.ts +12 -0
- package/dist/cjs/managers/tags.manager.js +289 -0
- package/dist/cjs/managers/user.manager.d.ts +7 -0
- package/dist/cjs/managers/user.manager.js +22 -0
- package/dist/cjs/public-api.d.ts +1 -0
- package/dist/cjs/public-api.js +37 -0
- package/dist/cjs/types/api.types.d.ts +21 -0
- package/dist/cjs/types/api.types.js +25 -0
- package/dist/cjs/types/common.types.d.ts +1 -0
- package/dist/cjs/types/common.types.js +2 -0
- package/dist/cjs/types/config.types.d.ts +104 -0
- package/dist/cjs/types/config.types.js +2 -0
- package/dist/cjs/types/device.types.d.ts +6 -0
- package/dist/cjs/types/device.types.js +10 -0
- package/dist/cjs/types/event.types.d.ts +104 -0
- package/dist/cjs/types/event.types.js +25 -0
- package/dist/cjs/types/index.d.ts +13 -0
- package/dist/cjs/types/index.js +29 -0
- package/dist/cjs/types/log.types.d.ts +4 -0
- package/dist/cjs/types/log.types.js +2 -0
- package/dist/cjs/types/mode.types.d.ts +7 -0
- package/dist/cjs/types/mode.types.js +11 -0
- package/dist/cjs/types/queue.types.d.ts +23 -0
- package/dist/cjs/types/queue.types.js +2 -0
- package/dist/cjs/types/session.types.d.ts +65 -0
- package/dist/cjs/types/session.types.js +2 -0
- package/dist/cjs/types/state.types.d.ts +12 -0
- package/dist/cjs/types/state.types.js +2 -0
- package/dist/cjs/types/tag.types.d.ts +43 -0
- package/dist/cjs/types/tag.types.js +31 -0
- package/dist/cjs/types/validation-error.types.d.ts +42 -0
- package/dist/cjs/types/validation-error.types.js +68 -0
- package/dist/cjs/types/web-vitals.types.d.ts +6 -0
- package/dist/cjs/types/web-vitals.types.js +2 -0
- package/dist/cjs/types/window.types.d.ts +17 -0
- package/dist/cjs/types/window.types.js +2 -0
- package/dist/cjs/utils/browser/device-detector.utils.d.ts +6 -0
- package/dist/cjs/utils/browser/device-detector.utils.js +71 -0
- package/dist/cjs/utils/browser/index.d.ts +2 -0
- package/dist/cjs/utils/browser/index.js +18 -0
- package/dist/cjs/utils/browser/utm-params.utils.d.ts +6 -0
- package/dist/cjs/utils/browser/utm-params.utils.js +37 -0
- package/dist/cjs/utils/data/index.d.ts +1 -0
- package/dist/cjs/utils/data/index.js +17 -0
- package/dist/cjs/utils/data/uuid.utils.d.ts +5 -0
- package/dist/cjs/utils/data/uuid.utils.js +18 -0
- package/dist/cjs/utils/index.d.ts +6 -0
- package/dist/cjs/utils/index.js +22 -0
- package/dist/cjs/utils/logging/debug-logger.utils.d.ts +56 -0
- package/dist/cjs/utils/logging/debug-logger.utils.js +139 -0
- package/dist/cjs/utils/logging/index.d.ts +1 -0
- package/dist/cjs/utils/logging/index.js +5 -0
- package/dist/cjs/utils/network/index.d.ts +1 -0
- package/dist/cjs/utils/network/index.js +17 -0
- package/dist/cjs/utils/network/url.utils.d.ts +20 -0
- package/dist/cjs/utils/network/url.utils.js +172 -0
- package/dist/cjs/utils/security/index.d.ts +1 -0
- package/dist/cjs/utils/security/index.js +17 -0
- package/dist/cjs/utils/security/sanitize.utils.d.ts +32 -0
- package/dist/cjs/utils/security/sanitize.utils.js +319 -0
- package/dist/cjs/utils/validations/config-validations.utils.d.ts +42 -0
- package/dist/cjs/utils/validations/config-validations.utils.js +297 -0
- package/dist/cjs/utils/validations/event-validations.utils.d.ts +12 -0
- package/dist/cjs/utils/validations/event-validations.utils.js +30 -0
- package/dist/cjs/utils/validations/index.d.ts +5 -0
- package/dist/cjs/utils/validations/index.js +21 -0
- package/dist/cjs/utils/validations/metadata-validations.utils.d.ts +22 -0
- package/dist/cjs/utils/validations/metadata-validations.utils.js +115 -0
- package/dist/cjs/utils/validations/type-guards.utils.d.ts +6 -0
- package/dist/cjs/utils/validations/type-guards.utils.js +31 -0
- package/dist/cjs/utils/validations/url-validations.utils.d.ts +15 -0
- package/dist/cjs/utils/validations/url-validations.utils.js +47 -0
- package/dist/esm/api.d.ts +46 -0
- package/dist/esm/api.js +183 -0
- package/dist/esm/app.constants.d.ts +1 -0
- package/dist/esm/app.constants.js +1 -0
- package/dist/esm/app.d.ts +59 -0
- package/dist/esm/app.js +268 -0
- package/dist/esm/app.types.d.ts +6 -0
- package/dist/esm/app.types.js +6 -0
- package/dist/esm/constants/api.constants.d.ts +4 -0
- package/dist/esm/constants/api.constants.js +14 -0
- package/dist/esm/constants/browser.constants.d.ts +3 -0
- package/dist/esm/constants/browser.constants.js +38 -0
- package/dist/esm/constants/index.d.ts +8 -0
- package/dist/esm/constants/index.js +8 -0
- package/dist/esm/constants/initialization.constants.d.ts +40 -0
- package/dist/esm/constants/initialization.constants.js +45 -0
- package/dist/esm/constants/limits.constants.d.ts +25 -0
- package/dist/esm/constants/limits.constants.js +37 -0
- package/dist/esm/constants/security.constants.d.ts +1 -0
- package/dist/esm/constants/security.constants.js +9 -0
- package/dist/esm/constants/storage.constants.d.ts +9 -0
- package/dist/esm/constants/storage.constants.js +11 -0
- package/dist/esm/constants/timing.constants.d.ts +22 -0
- package/dist/esm/constants/timing.constants.js +31 -0
- package/dist/esm/constants/validation.constants.d.ts +13 -0
- package/dist/esm/constants/validation.constants.js +28 -0
- package/dist/esm/handlers/click.handler.d.ts +17 -0
- package/dist/esm/handlers/click.handler.js +195 -0
- package/dist/esm/handlers/error.handler.d.ts +15 -0
- package/dist/esm/handlers/error.handler.js +93 -0
- package/dist/esm/handlers/network.handler.d.ts +16 -0
- package/dist/esm/handlers/network.handler.js +132 -0
- package/dist/esm/handlers/page-view.handler.d.ts +15 -0
- package/dist/esm/handlers/page-view.handler.js +79 -0
- package/dist/esm/handlers/performance.handler.d.ts +19 -0
- package/dist/esm/handlers/performance.handler.js +218 -0
- package/dist/esm/handlers/scroll.handler.d.ts +16 -0
- package/dist/esm/handlers/scroll.handler.js +134 -0
- package/dist/esm/handlers/session.handler.d.ts +29 -0
- package/dist/esm/handlers/session.handler.js +353 -0
- package/dist/esm/integrations/google-analytics.integration.d.ts +18 -0
- package/dist/esm/integrations/google-analytics.integration.js +155 -0
- package/dist/esm/listeners/activity-listener-manager.d.ts +8 -0
- package/dist/esm/listeners/activity-listener-manager.js +28 -0
- package/dist/esm/listeners/index.d.ts +6 -0
- package/dist/esm/listeners/index.js +5 -0
- package/dist/esm/listeners/input-listener-managers.d.ts +15 -0
- package/dist/esm/listeners/input-listener-managers.js +53 -0
- package/dist/esm/listeners/listeners.types.d.ts +4 -0
- package/dist/esm/listeners/listeners.types.js +1 -0
- package/dist/esm/listeners/touch-listener-manager.d.ts +10 -0
- package/dist/esm/listeners/touch-listener-manager.js +52 -0
- package/dist/esm/listeners/unload-listener-manager.d.ts +8 -0
- package/dist/esm/listeners/unload-listener-manager.js +26 -0
- package/dist/esm/listeners/visibility-listener-manager.d.ts +12 -0
- package/dist/esm/listeners/visibility-listener-manager.js +79 -0
- package/dist/esm/managers/api.manager.d.ts +3 -0
- package/dist/esm/managers/api.manager.js +10 -0
- package/dist/esm/managers/config.manager.d.ts +7 -0
- package/dist/esm/managers/config.manager.js +90 -0
- package/dist/esm/managers/cross-tab-session.manager.d.ts +170 -0
- package/dist/esm/managers/cross-tab-session.manager.js +726 -0
- package/dist/esm/managers/event.manager.d.ts +61 -0
- package/dist/esm/managers/event.manager.js +504 -0
- package/dist/esm/managers/sampling.manager.d.ts +8 -0
- package/dist/esm/managers/sampling.manager.js +49 -0
- package/dist/esm/managers/sender.manager.d.ts +46 -0
- package/dist/esm/managers/sender.manager.js +300 -0
- package/dist/esm/managers/session-recovery.manager.d.ts +65 -0
- package/dist/esm/managers/session-recovery.manager.js +233 -0
- package/dist/esm/managers/session.manager.d.ts +72 -0
- package/dist/esm/managers/session.manager.js +583 -0
- package/dist/esm/managers/state.manager.d.ts +5 -0
- package/dist/esm/managers/state.manager.js +19 -0
- package/dist/esm/managers/storage.manager.d.ts +10 -0
- package/dist/esm/managers/storage.manager.js +77 -0
- package/dist/esm/managers/tags.manager.d.ts +12 -0
- package/dist/esm/managers/tags.manager.js +285 -0
- package/dist/esm/managers/user.manager.d.ts +7 -0
- package/dist/esm/managers/user.manager.js +18 -0
- package/dist/esm/public-api.d.ts +1 -0
- package/dist/esm/public-api.js +1 -0
- package/dist/esm/types/api.types.d.ts +21 -0
- package/dist/esm/types/api.types.js +22 -0
- package/dist/esm/types/common.types.d.ts +1 -0
- package/dist/esm/types/common.types.js +1 -0
- package/dist/esm/types/config.types.d.ts +104 -0
- package/dist/esm/types/config.types.js +1 -0
- package/dist/esm/types/device.types.d.ts +6 -0
- package/dist/esm/types/device.types.js +7 -0
- package/dist/esm/types/event.types.d.ts +104 -0
- package/dist/esm/types/event.types.js +22 -0
- package/dist/esm/types/index.d.ts +13 -0
- package/dist/esm/types/index.js +13 -0
- package/dist/esm/types/log.types.d.ts +4 -0
- package/dist/esm/types/log.types.js +1 -0
- package/dist/esm/types/mode.types.d.ts +7 -0
- package/dist/esm/types/mode.types.js +8 -0
- package/dist/esm/types/queue.types.d.ts +23 -0
- package/dist/esm/types/queue.types.js +1 -0
- package/dist/esm/types/session.types.d.ts +65 -0
- package/dist/esm/types/session.types.js +1 -0
- package/dist/esm/types/state.types.d.ts +12 -0
- package/dist/esm/types/state.types.js +1 -0
- package/dist/esm/types/tag.types.d.ts +43 -0
- package/dist/esm/types/tag.types.js +28 -0
- package/dist/esm/types/validation-error.types.d.ts +42 -0
- package/dist/esm/types/validation-error.types.js +59 -0
- package/dist/esm/types/web-vitals.types.d.ts +6 -0
- package/dist/esm/types/web-vitals.types.js +1 -0
- package/dist/esm/types/window.types.d.ts +17 -0
- package/dist/esm/types/window.types.js +1 -0
- package/dist/esm/utils/browser/device-detector.utils.d.ts +6 -0
- package/dist/esm/utils/browser/device-detector.utils.js +67 -0
- package/dist/esm/utils/browser/index.d.ts +2 -0
- package/dist/esm/utils/browser/index.js +2 -0
- package/dist/esm/utils/browser/utm-params.utils.d.ts +6 -0
- package/dist/esm/utils/browser/utm-params.utils.js +33 -0
- package/dist/esm/utils/data/index.d.ts +1 -0
- package/dist/esm/utils/data/index.js +1 -0
- package/dist/esm/utils/data/uuid.utils.d.ts +5 -0
- package/dist/esm/utils/data/uuid.utils.js +14 -0
- package/dist/esm/utils/index.d.ts +6 -0
- package/dist/esm/utils/index.js +6 -0
- package/dist/esm/utils/logging/debug-logger.utils.d.ts +56 -0
- package/dist/esm/utils/logging/debug-logger.utils.js +136 -0
- package/dist/esm/utils/logging/index.d.ts +1 -0
- package/dist/esm/utils/logging/index.js +1 -0
- package/dist/esm/utils/network/index.d.ts +1 -0
- package/dist/esm/utils/network/index.js +1 -0
- package/dist/esm/utils/network/url.utils.d.ts +20 -0
- package/dist/esm/utils/network/url.utils.js +166 -0
- package/dist/esm/utils/security/index.d.ts +1 -0
- package/dist/esm/utils/security/index.js +1 -0
- package/dist/esm/utils/security/sanitize.utils.d.ts +32 -0
- package/dist/esm/utils/security/sanitize.utils.js +311 -0
- package/dist/esm/utils/validations/config-validations.utils.d.ts +42 -0
- package/dist/esm/utils/validations/config-validations.utils.js +289 -0
- package/dist/esm/utils/validations/event-validations.utils.d.ts +12 -0
- package/dist/esm/utils/validations/event-validations.utils.js +26 -0
- package/dist/esm/utils/validations/index.d.ts +5 -0
- package/dist/esm/utils/validations/index.js +5 -0
- package/dist/esm/utils/validations/metadata-validations.utils.d.ts +22 -0
- package/dist/esm/utils/validations/metadata-validations.utils.js +110 -0
- package/dist/esm/utils/validations/type-guards.utils.d.ts +6 -0
- package/dist/esm/utils/validations/type-guards.utils.js +27 -0
- package/dist/esm/utils/validations/url-validations.utils.d.ts +15 -0
- package/dist/esm/utils/validations/url-validations.utils.js +42 -0
- package/package.json +80 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUTMParameters = void 0;
|
|
4
|
+
const constants_1 = require("../../constants");
|
|
5
|
+
const logging_1 = require("../logging");
|
|
6
|
+
/**
|
|
7
|
+
* Extracts UTM parameters from the current URL
|
|
8
|
+
* @returns UTM parameters object or undefined if none found
|
|
9
|
+
*/
|
|
10
|
+
const getUTMParameters = () => {
|
|
11
|
+
logging_1.debugLog.debug('UTMParams', 'Extracting UTM parameters from URL', {
|
|
12
|
+
url: window.location.href,
|
|
13
|
+
search: window.location.search,
|
|
14
|
+
});
|
|
15
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
16
|
+
const utmParams = {};
|
|
17
|
+
constants_1.UTM_PARAMS.forEach((param) => {
|
|
18
|
+
const value = urlParams.get(param);
|
|
19
|
+
if (value) {
|
|
20
|
+
const key = param.split('utm_')[1];
|
|
21
|
+
utmParams[key] = value;
|
|
22
|
+
logging_1.debugLog.debug('UTMParams', 'Found UTM parameter', { param, key, value });
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const result = Object.keys(utmParams).length ? utmParams : undefined;
|
|
26
|
+
if (result) {
|
|
27
|
+
logging_1.debugLog.debug('UTMParams', 'UTM parameters extracted successfully', {
|
|
28
|
+
parameterCount: Object.keys(result).length,
|
|
29
|
+
parameters: Object.keys(result),
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
logging_1.debugLog.debug('UTMParams', 'No UTM parameters found in URL');
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
exports.getUTMParameters = getUTMParameters;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './uuid.utils';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./uuid.utils"), exports);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateUUID = void 0;
|
|
4
|
+
const logging_1 = require("../logging");
|
|
5
|
+
/**
|
|
6
|
+
* Generates a RFC4122 compliant UUID v4
|
|
7
|
+
* @returns A UUID string
|
|
8
|
+
*/
|
|
9
|
+
const generateUUID = () => {
|
|
10
|
+
const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
11
|
+
const r = (Math.random() * 16) | 0;
|
|
12
|
+
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
13
|
+
return v.toString(16);
|
|
14
|
+
});
|
|
15
|
+
logging_1.debugLog.verbose('UUIDUtils', 'Generated new UUID', { uuid });
|
|
16
|
+
return uuid;
|
|
17
|
+
};
|
|
18
|
+
exports.generateUUID = generateUUID;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./browser"), exports);
|
|
18
|
+
__exportStar(require("./data"), exports);
|
|
19
|
+
__exportStar(require("./logging"), exports);
|
|
20
|
+
__exportStar(require("./network"), exports);
|
|
21
|
+
__exportStar(require("./security"), exports);
|
|
22
|
+
__exportStar(require("./validations"), exports);
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { StateManager } from '../../managers/state.manager';
|
|
2
|
+
/**
|
|
3
|
+
* Debug logger class that extends StateManager for clean access to global state
|
|
4
|
+
*/
|
|
5
|
+
declare class DebugLogger extends StateManager {
|
|
6
|
+
/**
|
|
7
|
+
* Client-facing error - Configuration/usage errors by the client
|
|
8
|
+
* Console: qa and debug modes | Events: NODE_ENV=dev
|
|
9
|
+
*/
|
|
10
|
+
clientError(namespace: string, message: string, data?: unknown): void;
|
|
11
|
+
/**
|
|
12
|
+
* Client-facing warning - Configuration/usage warnings by the client
|
|
13
|
+
* Console: qa and debug modes | Events: NODE_ENV=dev
|
|
14
|
+
*/
|
|
15
|
+
clientWarn(namespace: string, message: string, data?: unknown): void;
|
|
16
|
+
/**
|
|
17
|
+
* General operational information
|
|
18
|
+
* Console: qa and debug modes | Events: NODE_ENV=dev
|
|
19
|
+
*/
|
|
20
|
+
info(namespace: string, message: string, data?: unknown): void;
|
|
21
|
+
/**
|
|
22
|
+
* Internal library errors
|
|
23
|
+
* Console: debug mode only | Events: NODE_ENV=dev
|
|
24
|
+
*/
|
|
25
|
+
error(namespace: string, message: string, data?: unknown): void;
|
|
26
|
+
/**
|
|
27
|
+
* Internal library warnings
|
|
28
|
+
* Console: debug mode only | Events: NODE_ENV=dev
|
|
29
|
+
*/
|
|
30
|
+
warn(namespace: string, message: string, data?: unknown): void;
|
|
31
|
+
/**
|
|
32
|
+
* Strategic debug information
|
|
33
|
+
* Console: debug mode only | Events: NODE_ENV=dev
|
|
34
|
+
*/
|
|
35
|
+
debug(namespace: string, message: string, data?: unknown): void;
|
|
36
|
+
/**
|
|
37
|
+
* Detailed trace information
|
|
38
|
+
* Console: debug mode only | Events: NODE_ENV=dev
|
|
39
|
+
*/
|
|
40
|
+
verbose(namespace: string, message: string, data?: unknown): void;
|
|
41
|
+
private getCurrentMode;
|
|
42
|
+
private shouldShowLog;
|
|
43
|
+
private formatMessage;
|
|
44
|
+
private getConsoleMethod;
|
|
45
|
+
private logMessage;
|
|
46
|
+
/**
|
|
47
|
+
* Dispatches tracelog:log events for E2E testing and development debugging
|
|
48
|
+
*/
|
|
49
|
+
private dispatchEvent;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Singleton debug logger instance
|
|
53
|
+
* Provides the same API as before: debugLog.clientError(), debugLog.info(), etc.
|
|
54
|
+
*/
|
|
55
|
+
export declare const debugLog: DebugLogger;
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.debugLog = void 0;
|
|
4
|
+
const state_manager_1 = require("../../managers/state.manager");
|
|
5
|
+
/**
|
|
6
|
+
* Debug logger class that extends StateManager for clean access to global state
|
|
7
|
+
*/
|
|
8
|
+
class DebugLogger extends state_manager_1.StateManager {
|
|
9
|
+
/**
|
|
10
|
+
* Client-facing error - Configuration/usage errors by the client
|
|
11
|
+
* Console: qa and debug modes | Events: NODE_ENV=dev
|
|
12
|
+
*/
|
|
13
|
+
clientError(namespace, message, data) {
|
|
14
|
+
this.logMessage('CLIENT_ERROR', namespace, message, data);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Client-facing warning - Configuration/usage warnings by the client
|
|
18
|
+
* Console: qa and debug modes | Events: NODE_ENV=dev
|
|
19
|
+
*/
|
|
20
|
+
clientWarn(namespace, message, data) {
|
|
21
|
+
this.logMessage('CLIENT_WARN', namespace, message, data);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* General operational information
|
|
25
|
+
* Console: qa and debug modes | Events: NODE_ENV=dev
|
|
26
|
+
*/
|
|
27
|
+
info(namespace, message, data) {
|
|
28
|
+
this.logMessage('INFO', namespace, message, data);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Internal library errors
|
|
32
|
+
* Console: debug mode only | Events: NODE_ENV=dev
|
|
33
|
+
*/
|
|
34
|
+
error(namespace, message, data) {
|
|
35
|
+
this.logMessage('ERROR', namespace, message, data);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Internal library warnings
|
|
39
|
+
* Console: debug mode only | Events: NODE_ENV=dev
|
|
40
|
+
*/
|
|
41
|
+
warn(namespace, message, data) {
|
|
42
|
+
this.logMessage('WARN', namespace, message, data);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Strategic debug information
|
|
46
|
+
* Console: debug mode only | Events: NODE_ENV=dev
|
|
47
|
+
*/
|
|
48
|
+
debug(namespace, message, data) {
|
|
49
|
+
this.logMessage('DEBUG', namespace, message, data);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Detailed trace information
|
|
53
|
+
* Console: debug mode only | Events: NODE_ENV=dev
|
|
54
|
+
*/
|
|
55
|
+
verbose(namespace, message, data) {
|
|
56
|
+
this.logMessage('VERBOSE', namespace, message, data);
|
|
57
|
+
}
|
|
58
|
+
getCurrentMode() {
|
|
59
|
+
try {
|
|
60
|
+
return this.get('config')?.mode;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
shouldShowLog(level) {
|
|
67
|
+
const mode = this.getCurrentMode();
|
|
68
|
+
switch (mode) {
|
|
69
|
+
case 'qa':
|
|
70
|
+
return ['INFO', 'CLIENT_ERROR', 'CLIENT_WARN'].includes(level);
|
|
71
|
+
case 'debug':
|
|
72
|
+
return true;
|
|
73
|
+
default:
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
formatMessage(namespace, message) {
|
|
78
|
+
return `[TraceLog:${namespace}] ${message}`;
|
|
79
|
+
}
|
|
80
|
+
getConsoleMethod(level) {
|
|
81
|
+
switch (level) {
|
|
82
|
+
case 'CLIENT_ERROR':
|
|
83
|
+
case 'ERROR':
|
|
84
|
+
return 'error';
|
|
85
|
+
case 'CLIENT_WARN':
|
|
86
|
+
case 'WARN':
|
|
87
|
+
return 'warn';
|
|
88
|
+
case 'INFO':
|
|
89
|
+
case 'DEBUG':
|
|
90
|
+
case 'VERBOSE':
|
|
91
|
+
default:
|
|
92
|
+
return 'log';
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
logMessage(level, namespace, message, data) {
|
|
96
|
+
if (!this.shouldShowLog(level)) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const formattedMessage = this.formatMessage(namespace, message);
|
|
100
|
+
const consoleMethod = this.getConsoleMethod(level);
|
|
101
|
+
if (data !== undefined) {
|
|
102
|
+
console[consoleMethod](formattedMessage, data);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
console[consoleMethod](formattedMessage);
|
|
106
|
+
}
|
|
107
|
+
if (process.env.NODE_ENV === 'dev') {
|
|
108
|
+
this.dispatchEvent(level, namespace, message, data);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Dispatches tracelog:log events for E2E testing and development debugging
|
|
113
|
+
*/
|
|
114
|
+
dispatchEvent(level, namespace, message, data) {
|
|
115
|
+
if (typeof window === 'undefined' || typeof CustomEvent === 'undefined') {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
const event = new CustomEvent('tracelog:log', {
|
|
120
|
+
detail: {
|
|
121
|
+
timestamp: new Date().toISOString(),
|
|
122
|
+
level,
|
|
123
|
+
namespace,
|
|
124
|
+
message,
|
|
125
|
+
data,
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
window.dispatchEvent(event);
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
console.log(`[TraceLog:${namespace}] ${message}`, data);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Singleton debug logger instance
|
|
137
|
+
* Provides the same API as before: debugLog.clientError(), debugLog.info(), etc.
|
|
138
|
+
*/
|
|
139
|
+
exports.debugLog = new DebugLogger();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { debugLog } from './debug-logger.utils';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.debugLog = void 0;
|
|
4
|
+
var debug_logger_utils_1 = require("./debug-logger.utils");
|
|
5
|
+
Object.defineProperty(exports, "debugLog", { enumerable: true, get: function () { return debug_logger_utils_1.debugLog; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './url.utils';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./url.utils"), exports);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates an API URL based on project ID and current domain
|
|
3
|
+
* @param id - The project ID
|
|
4
|
+
* @returns The generated API URL
|
|
5
|
+
*/
|
|
6
|
+
export declare const getApiUrl: (id: string, allowHttp?: boolean) => string;
|
|
7
|
+
/**
|
|
8
|
+
* Normalizes a URL by removing sensitive query parameters
|
|
9
|
+
* @param url - The URL to normalize
|
|
10
|
+
* @param sensitiveQueryParams - Array of parameter names to remove
|
|
11
|
+
* @returns The normalized URL
|
|
12
|
+
*/
|
|
13
|
+
export declare const normalizeUrl: (url: string, sensitiveQueryParams?: string[]) => string;
|
|
14
|
+
/**
|
|
15
|
+
* Checks if a URL path should be excluded from tracking
|
|
16
|
+
* @param url - The URL to check
|
|
17
|
+
* @param excludedPaths - Array of patterns to match against
|
|
18
|
+
* @returns True if the URL should be excluded
|
|
19
|
+
*/
|
|
20
|
+
export declare const isUrlPathExcluded: (url: string, excludedPaths?: string[]) => boolean;
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isUrlPathExcluded = exports.normalizeUrl = exports.getApiUrl = void 0;
|
|
4
|
+
const validations_1 = require("../validations");
|
|
5
|
+
const logging_1 = require("../logging");
|
|
6
|
+
/**
|
|
7
|
+
* Generates an API URL based on project ID and current domain
|
|
8
|
+
* @param id - The project ID
|
|
9
|
+
* @returns The generated API URL
|
|
10
|
+
*/
|
|
11
|
+
const getApiUrl = (id, allowHttp = false) => {
|
|
12
|
+
logging_1.debugLog.debug('URLUtils', 'Generating API URL', { projectId: id, allowHttp });
|
|
13
|
+
const url = new URL(window.location.href);
|
|
14
|
+
const host = url.hostname;
|
|
15
|
+
const parts = host.split('.');
|
|
16
|
+
if (parts.length === 0) {
|
|
17
|
+
logging_1.debugLog.clientError('URLUtils', 'Invalid hostname - no domain parts found', { hostname: host });
|
|
18
|
+
throw new Error('Invalid URL');
|
|
19
|
+
}
|
|
20
|
+
const cleanDomain = parts.slice(-2).join('.');
|
|
21
|
+
const protocol = allowHttp && url.protocol === 'http:' ? 'http' : 'https';
|
|
22
|
+
const apiUrl = `${protocol}://${id}.${cleanDomain}`;
|
|
23
|
+
logging_1.debugLog.debug('URLUtils', 'Generated API URL', {
|
|
24
|
+
originalUrl: window.location.href,
|
|
25
|
+
hostname: host,
|
|
26
|
+
domainParts: parts.length,
|
|
27
|
+
cleanDomain,
|
|
28
|
+
protocol,
|
|
29
|
+
generatedUrl: apiUrl,
|
|
30
|
+
});
|
|
31
|
+
const isValid = (0, validations_1.isValidUrl)(apiUrl, allowHttp);
|
|
32
|
+
if (!isValid) {
|
|
33
|
+
logging_1.debugLog.clientError('URLUtils', 'Generated API URL failed validation', {
|
|
34
|
+
apiUrl,
|
|
35
|
+
allowHttp,
|
|
36
|
+
});
|
|
37
|
+
throw new Error('Invalid URL');
|
|
38
|
+
}
|
|
39
|
+
logging_1.debugLog.debug('URLUtils', 'API URL generation completed successfully', { apiUrl });
|
|
40
|
+
return apiUrl;
|
|
41
|
+
};
|
|
42
|
+
exports.getApiUrl = getApiUrl;
|
|
43
|
+
/**
|
|
44
|
+
* Normalizes a URL by removing sensitive query parameters
|
|
45
|
+
* @param url - The URL to normalize
|
|
46
|
+
* @param sensitiveQueryParams - Array of parameter names to remove
|
|
47
|
+
* @returns The normalized URL
|
|
48
|
+
*/
|
|
49
|
+
const normalizeUrl = (url, sensitiveQueryParams = []) => {
|
|
50
|
+
logging_1.debugLog.debug('URLUtils', 'Normalizing URL', {
|
|
51
|
+
urlLength: url.length,
|
|
52
|
+
sensitiveParamsCount: sensitiveQueryParams.length,
|
|
53
|
+
});
|
|
54
|
+
try {
|
|
55
|
+
const urlObject = new URL(url);
|
|
56
|
+
const searchParams = urlObject.searchParams;
|
|
57
|
+
const originalParamCount = Array.from(searchParams.keys()).length;
|
|
58
|
+
let hasChanged = false;
|
|
59
|
+
const removedParams = [];
|
|
60
|
+
sensitiveQueryParams.forEach((param) => {
|
|
61
|
+
if (searchParams.has(param)) {
|
|
62
|
+
searchParams.delete(param);
|
|
63
|
+
hasChanged = true;
|
|
64
|
+
removedParams.push(param);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
if (hasChanged) {
|
|
68
|
+
logging_1.debugLog.debug('URLUtils', 'Sensitive parameters removed from URL', {
|
|
69
|
+
removedParams,
|
|
70
|
+
originalParamCount,
|
|
71
|
+
finalParamCount: Array.from(searchParams.keys()).length,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
if (!hasChanged && url.includes('?')) {
|
|
75
|
+
logging_1.debugLog.debug('URLUtils', 'URL normalization - no changes needed');
|
|
76
|
+
return url;
|
|
77
|
+
}
|
|
78
|
+
urlObject.search = searchParams.toString();
|
|
79
|
+
const result = urlObject.toString();
|
|
80
|
+
logging_1.debugLog.debug('URLUtils', 'URL normalization completed', {
|
|
81
|
+
hasChanged,
|
|
82
|
+
originalLength: url.length,
|
|
83
|
+
normalizedLength: result.length,
|
|
84
|
+
});
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
logging_1.debugLog.warn('URLUtils', 'URL normalization failed, returning original', {
|
|
89
|
+
url: url.slice(0, 100),
|
|
90
|
+
error: error instanceof Error ? error.message : error,
|
|
91
|
+
});
|
|
92
|
+
return url;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
exports.normalizeUrl = normalizeUrl;
|
|
96
|
+
/**
|
|
97
|
+
* Checks if a URL path should be excluded from tracking
|
|
98
|
+
* @param url - The URL to check
|
|
99
|
+
* @param excludedPaths - Array of patterns to match against
|
|
100
|
+
* @returns True if the URL should be excluded
|
|
101
|
+
*/
|
|
102
|
+
const isUrlPathExcluded = (url, excludedPaths = []) => {
|
|
103
|
+
logging_1.debugLog.debug('URLUtils', 'Checking if URL path is excluded', {
|
|
104
|
+
urlLength: url.length,
|
|
105
|
+
excludedPathsCount: excludedPaths.length,
|
|
106
|
+
});
|
|
107
|
+
if (excludedPaths.length === 0) {
|
|
108
|
+
logging_1.debugLog.debug('URLUtils', 'No excluded paths configured');
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
let path;
|
|
112
|
+
try {
|
|
113
|
+
path = new URL(url, window.location.origin).pathname;
|
|
114
|
+
logging_1.debugLog.debug('URLUtils', 'Extracted path from URL', { path });
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
logging_1.debugLog.warn('URLUtils', 'Failed to parse URL for path exclusion check', {
|
|
118
|
+
url: url.slice(0, 100),
|
|
119
|
+
error: error instanceof Error ? error.message : error,
|
|
120
|
+
});
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
const isRegularExpression = (value) => typeof value === 'object' && value !== undefined && typeof value.test === 'function';
|
|
124
|
+
const escapeRegexString = (string_) => string_.replaceAll(/[$()*+.?[\\\]^{|}]/g, '\\$&');
|
|
125
|
+
const wildcardToRegex = (string_) => new RegExp('^' +
|
|
126
|
+
string_
|
|
127
|
+
.split('*')
|
|
128
|
+
.map((element) => escapeRegexString(element))
|
|
129
|
+
.join('.+') +
|
|
130
|
+
'$');
|
|
131
|
+
const matchedPattern = excludedPaths.find((pattern) => {
|
|
132
|
+
try {
|
|
133
|
+
if (isRegularExpression(pattern)) {
|
|
134
|
+
const matches = pattern.test(path);
|
|
135
|
+
if (matches) {
|
|
136
|
+
logging_1.debugLog.debug('URLUtils', 'Path matched regex pattern', { path, pattern: pattern.toString() });
|
|
137
|
+
}
|
|
138
|
+
return matches;
|
|
139
|
+
}
|
|
140
|
+
if (pattern.includes('*')) {
|
|
141
|
+
const regex = wildcardToRegex(pattern);
|
|
142
|
+
const matches = regex.test(path);
|
|
143
|
+
if (matches) {
|
|
144
|
+
logging_1.debugLog.debug('URLUtils', 'Path matched wildcard pattern', { path, pattern, regex: regex.toString() });
|
|
145
|
+
}
|
|
146
|
+
return matches;
|
|
147
|
+
}
|
|
148
|
+
const matches = pattern === path;
|
|
149
|
+
if (matches) {
|
|
150
|
+
logging_1.debugLog.debug('URLUtils', 'Path matched exact pattern', { path, pattern });
|
|
151
|
+
}
|
|
152
|
+
return matches;
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
logging_1.debugLog.warn('URLUtils', 'Error testing exclusion pattern', {
|
|
156
|
+
pattern,
|
|
157
|
+
path,
|
|
158
|
+
error: error instanceof Error ? error.message : error,
|
|
159
|
+
});
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
const isExcluded = !!matchedPattern;
|
|
164
|
+
logging_1.debugLog.debug('URLUtils', 'URL path exclusion check completed', {
|
|
165
|
+
path,
|
|
166
|
+
isExcluded,
|
|
167
|
+
matchedPattern: matchedPattern ?? null,
|
|
168
|
+
totalPatternsChecked: excludedPaths.length,
|
|
169
|
+
});
|
|
170
|
+
return isExcluded;
|
|
171
|
+
};
|
|
172
|
+
exports.isUrlPathExcluded = isUrlPathExcluded;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sanitize.utils';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./sanitize.utils"), exports);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MetadataType } from '../../types/common.types';
|
|
2
|
+
import { ApiConfig } from '../../types/config.types';
|
|
3
|
+
/**
|
|
4
|
+
* Sanitizes a string value to prevent XSS attacks
|
|
5
|
+
* @param value - The string to sanitize
|
|
6
|
+
* @returns The sanitized string
|
|
7
|
+
*/
|
|
8
|
+
export declare const sanitizeString: (value: string) => string;
|
|
9
|
+
/**
|
|
10
|
+
* Sanitizes a path string for route exclusion checks
|
|
11
|
+
* @param value - The path string to sanitize
|
|
12
|
+
* @returns The sanitized path string
|
|
13
|
+
*/
|
|
14
|
+
export declare const sanitizePathString: (value: string) => string;
|
|
15
|
+
/**
|
|
16
|
+
* Sanitizes API configuration data with strict validation
|
|
17
|
+
* @param data - The API config data to sanitize
|
|
18
|
+
* @returns The sanitized API config
|
|
19
|
+
*/
|
|
20
|
+
export declare const sanitizeApiConfig: (data: unknown) => ApiConfig;
|
|
21
|
+
/**
|
|
22
|
+
* Sanitizes user metadata for custom events
|
|
23
|
+
* @param metadata - The metadata to sanitize
|
|
24
|
+
* @returns The sanitized metadata
|
|
25
|
+
*/
|
|
26
|
+
export declare const sanitizeMetadata: (metadata: unknown) => Record<string, MetadataType>;
|
|
27
|
+
/**
|
|
28
|
+
* Sanitizes URL strings for tracking
|
|
29
|
+
* @param url - The URL to sanitize
|
|
30
|
+
* @returns The sanitized URL
|
|
31
|
+
*/
|
|
32
|
+
export declare const sanitizeUrl: (url: string) => string;
|