@cloudcare/browser-core 3.0.29 → 3.1.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/cjs/browser/addEventListener.js +3 -8
- package/cjs/browser/addEventListener.js.map +1 -0
- package/cjs/browser/cookie.js +3 -14
- package/cjs/browser/cookie.js.map +1 -0
- package/cjs/browser/fetchObservable.js +4 -21
- package/cjs/browser/fetchObservable.js.map +1 -0
- package/cjs/browser/htmlDomUtils.js +3 -9
- package/cjs/browser/htmlDomUtils.js.map +1 -0
- package/cjs/browser/pageExitObservable.js +3 -9
- package/cjs/browser/pageExitObservable.js.map +1 -0
- package/cjs/browser/runOnReadyState.js +2 -4
- package/cjs/browser/runOnReadyState.js.map +1 -0
- package/cjs/browser/scroll.js +32 -0
- package/cjs/browser/scroll.js.map +1 -0
- package/cjs/browser/xhrObservable.js +2 -21
- package/cjs/browser/xhrObservable.js.map +1 -0
- package/cjs/configuration/configuration.js +9 -20
- package/cjs/configuration/configuration.js.map +1 -0
- package/cjs/configuration/transportConfiguration.js +6 -20
- package/cjs/configuration/transportConfiguration.js.map +1 -0
- package/cjs/console/consoleObservable.js +3 -21
- package/cjs/console/consoleObservable.js.map +1 -0
- package/cjs/dataMap.js +24 -10
- package/cjs/dataMap.js.map +1 -0
- package/cjs/error/trackRuntimeError.js +3 -7
- package/cjs/error/trackRuntimeError.js.map +1 -0
- package/cjs/helper/boundedBuffer.js +2 -6
- package/cjs/helper/boundedBuffer.js.map +1 -0
- package/cjs/helper/byteUtils.js +6 -16
- package/cjs/helper/byteUtils.js.map +1 -0
- package/cjs/helper/catchUserErrors.js +2 -4
- package/cjs/helper/catchUserErrors.js.map +1 -0
- package/cjs/helper/contextHistory.js +21 -37
- package/cjs/helper/contextHistory.js.map +1 -0
- package/cjs/helper/createEventRateLimiter.js +2 -10
- package/cjs/helper/createEventRateLimiter.js.map +1 -0
- package/cjs/helper/deviceInfo.js +10 -64
- package/cjs/helper/deviceInfo.js.map +1 -0
- package/cjs/helper/display.js +2 -5
- package/cjs/helper/display.js.map +1 -0
- package/cjs/helper/enums.js +8 -2
- package/cjs/helper/enums.js.map +1 -0
- package/cjs/helper/errorTools.js +32 -38
- package/cjs/helper/errorTools.js.map +1 -0
- package/cjs/helper/eventEmitter.js +2 -6
- package/cjs/helper/eventEmitter.js.map +1 -0
- package/cjs/helper/getZoneJsOriginalValue.js +2 -5
- package/cjs/helper/getZoneJsOriginalValue.js.map +1 -0
- package/cjs/helper/instrumentMethod.js +10 -22
- package/cjs/helper/instrumentMethod.js.map +1 -0
- package/cjs/helper/lifeCycle.js +2 -9
- package/cjs/helper/lifeCycle.js.map +1 -0
- package/cjs/helper/limitModification.js +4 -22
- package/cjs/helper/limitModification.js.map +1 -0
- package/cjs/helper/mobileUtil.js +2 -20
- package/cjs/helper/mobileUtil.js.map +1 -0
- package/cjs/helper/monitor.js +2 -11
- package/cjs/helper/monitor.js.map +1 -0
- package/cjs/helper/observable.js +2 -9
- package/cjs/helper/observable.js.map +1 -0
- package/cjs/helper/readBytesFromStream.js +4 -14
- package/cjs/helper/readBytesFromStream.js.map +1 -0
- package/cjs/helper/sanitize.js +38 -61
- package/cjs/helper/sanitize.js.map +1 -0
- package/cjs/helper/serialisation/contextManager.js +5 -15
- package/cjs/helper/serialisation/contextManager.js.map +1 -0
- package/cjs/helper/serialisation/heavyCustomerDataWarning.js +2 -7
- package/cjs/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
- package/cjs/helper/serialisation/jsonStringify.js +6 -12
- package/cjs/helper/serialisation/jsonStringify.js.map +1 -0
- package/cjs/helper/serialisation/rowData.js +3 -10
- package/cjs/helper/serialisation/rowData.js.map +1 -0
- package/cjs/helper/timer.js +2 -8
- package/cjs/helper/timer.js.map +1 -0
- package/cjs/helper/tools.js +57 -444
- package/cjs/helper/tools.js.map +1 -0
- package/cjs/helper/urlPolyfill.js +5 -18
- package/cjs/helper/urlPolyfill.js.map +1 -0
- package/cjs/index.js +24 -95
- package/cjs/index.js.map +1 -0
- package/cjs/init.js +14 -20
- package/cjs/init.js.map +1 -0
- package/cjs/report/reportObservable.js +5 -24
- package/cjs/report/reportObservable.js.map +1 -0
- package/cjs/session/sessionConstants.js +2 -3
- package/cjs/session/sessionConstants.js.map +1 -0
- package/cjs/session/sessionCookieStore.js +11 -46
- package/cjs/session/sessionCookieStore.js.map +1 -0
- package/cjs/session/sessionManagement.js +2 -19
- package/cjs/session/sessionManagement.js.map +1 -0
- package/cjs/session/sessionStore.js +3 -28
- package/cjs/session/sessionStore.js.map +1 -0
- package/cjs/synthetics/syntheticsWorkerValues.js +2 -6
- package/cjs/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/cjs/synthetics/usr.js +2 -8
- package/cjs/synthetics/usr.js.map +1 -0
- package/cjs/telemetry/telemetry.js +125 -0
- package/cjs/telemetry/telemetry.js.map +1 -0
- package/cjs/telemetry/types.js +17 -0
- package/cjs/telemetry/types.js.map +1 -0
- package/cjs/tracekit/computeStackTrace.js +4 -34
- package/cjs/tracekit/computeStackTrace.js.map +1 -0
- package/cjs/tracekit/index.js +2 -3
- package/cjs/tracekit/index.js.map +1 -0
- package/cjs/tracekit/tracekit.js +3 -18
- package/cjs/tracekit/tracekit.js.map +1 -0
- package/cjs/transport/batch.js +5 -54
- package/cjs/transport/batch.js.map +1 -0
- package/cjs/transport/eventBridge.js +2 -7
- package/cjs/transport/eventBridge.js.map +1 -0
- package/cjs/transport/flushController.js +8 -21
- package/cjs/transport/flushController.js.map +1 -0
- package/cjs/transport/httpRequest.js +4 -18
- package/cjs/transport/httpRequest.js.map +1 -0
- package/cjs/transport/index.js +2 -6
- package/cjs/transport/index.js.map +1 -0
- package/cjs/transport/sendWithRetryStrategy.js +3 -27
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
- package/cjs/transport/startBatchWithReplica.js +2 -7
- package/cjs/transport/startBatchWithReplica.js.map +1 -0
- package/cjs/user/index.js +2 -3
- package/cjs/user/index.js.map +1 -0
- package/cjs/user/user.js +3 -8
- package/cjs/user/user.js.map +1 -0
- package/cjs/worker.js +2 -2
- package/cjs/worker.js.map +1 -0
- package/esm/browser/addEventListener.js +3 -3
- package/esm/browser/addEventListener.js.map +1 -0
- package/esm/browser/cookie.js +3 -6
- package/esm/browser/cookie.js.map +1 -0
- package/esm/browser/fetchObservable.js +4 -14
- package/esm/browser/fetchObservable.js.map +1 -0
- package/esm/browser/htmlDomUtils.js +3 -2
- package/esm/browser/htmlDomUtils.js.map +1 -0
- package/esm/browser/pageExitObservable.js +3 -2
- package/esm/browser/pageExitObservable.js.map +1 -0
- package/esm/browser/runOnReadyState.js +2 -1
- package/esm/browser/runOnReadyState.js.map +1 -0
- package/esm/browser/scroll.js +25 -0
- package/esm/browser/scroll.js.map +1 -0
- package/esm/browser/xhrObservable.js +2 -14
- package/esm/browser/xhrObservable.js.map +1 -0
- package/esm/configuration/configuration.js +9 -9
- package/esm/configuration/configuration.js.map +1 -0
- package/esm/configuration/transportConfiguration.js +6 -17
- package/esm/configuration/transportConfiguration.js.map +1 -0
- package/esm/console/consoleObservable.js +3 -11
- package/esm/console/consoleObservable.js.map +1 -0
- package/esm/dataMap.js +24 -8
- package/esm/dataMap.js.map +1 -0
- package/esm/error/trackRuntimeError.js +4 -3
- package/esm/error/trackRuntimeError.js.map +1 -0
- package/esm/helper/boundedBuffer.js +2 -4
- package/esm/helper/boundedBuffer.js.map +1 -0
- package/esm/helper/byteUtils.js +6 -13
- package/esm/helper/byteUtils.js.map +1 -0
- package/esm/helper/catchUserErrors.js +2 -2
- package/esm/helper/catchUserErrors.js.map +1 -0
- package/esm/helper/contextHistory.js +21 -33
- package/esm/helper/contextHistory.js.map +1 -0
- package/esm/helper/createEventRateLimiter.js +2 -6
- package/esm/helper/createEventRateLimiter.js.map +1 -0
- package/esm/helper/deviceInfo.js +10 -62
- package/esm/helper/deviceInfo.js.map +1 -0
- package/esm/helper/display.js +2 -3
- package/esm/helper/display.js.map +1 -0
- package/esm/helper/enums.js +6 -1
- package/esm/helper/enums.js.map +1 -0
- package/esm/helper/errorTools.js +30 -25
- package/esm/helper/errorTools.js.map +1 -0
- package/esm/helper/eventEmitter.js +2 -5
- package/esm/helper/eventEmitter.js.map +1 -0
- package/esm/helper/getZoneJsOriginalValue.js +2 -4
- package/esm/helper/getZoneJsOriginalValue.js.map +1 -0
- package/esm/helper/instrumentMethod.js +10 -16
- package/esm/helper/instrumentMethod.js.map +1 -0
- package/esm/helper/lifeCycle.js +2 -5
- package/esm/helper/lifeCycle.js.map +1 -0
- package/esm/helper/limitModification.js +5 -20
- package/esm/helper/limitModification.js.map +1 -0
- package/esm/helper/mobileUtil.js +2 -16
- package/esm/helper/mobileUtil.js.map +1 -0
- package/esm/helper/monitor.js +2 -3
- package/esm/helper/monitor.js.map +1 -0
- package/esm/helper/observable.js +2 -7
- package/esm/helper/observable.js.map +1 -0
- package/esm/helper/readBytesFromStream.js +4 -12
- package/esm/helper/readBytesFromStream.js.map +1 -0
- package/esm/helper/sanitize.js +40 -57
- package/esm/helper/sanitize.js.map +1 -0
- package/esm/helper/serialisation/contextManager.js +5 -9
- package/esm/helper/serialisation/contextManager.js.map +1 -0
- package/esm/helper/serialisation/heavyCustomerDataWarning.js +5 -4
- package/esm/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
- package/esm/helper/serialisation/jsonStringify.js +7 -10
- package/esm/helper/serialisation/jsonStringify.js.map +1 -0
- package/esm/helper/serialisation/rowData.js +3 -4
- package/esm/helper/serialisation/rowData.js.map +1 -0
- package/esm/helper/timer.js +2 -1
- package/esm/helper/timer.js.map +1 -0
- package/esm/helper/tools.js +57 -256
- package/esm/helper/tools.js.map +1 -0
- package/esm/helper/urlPolyfill.js +5 -9
- package/esm/helper/urlPolyfill.js.map +1 -0
- package/esm/index.js +4 -1
- package/esm/index.js.map +1 -0
- package/esm/init.js +14 -14
- package/esm/init.js.map +1 -0
- package/esm/report/reportObservable.js +5 -16
- package/esm/report/reportObservable.js.map +1 -0
- package/esm/session/sessionConstants.js +2 -1
- package/esm/session/sessionConstants.js.map +1 -0
- package/esm/session/sessionCookieStore.js +11 -38
- package/esm/session/sessionCookieStore.js.map +1 -0
- package/esm/session/sessionManagement.js +2 -8
- package/esm/session/sessionManagement.js.map +1 -0
- package/esm/session/sessionStore.js +4 -22
- package/esm/session/sessionStore.js.map +1 -0
- package/esm/synthetics/syntheticsWorkerValues.js +2 -1
- package/esm/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/esm/synthetics/usr.js +2 -3
- package/esm/synthetics/usr.js.map +1 -0
- package/esm/telemetry/telemetry.js +111 -0
- package/esm/telemetry/telemetry.js.map +1 -0
- package/esm/telemetry/types.js +9 -0
- package/esm/telemetry/types.js.map +1 -0
- package/esm/tracekit/computeStackTrace.js +4 -31
- package/esm/tracekit/computeStackTrace.js.map +1 -0
- package/esm/tracekit/index.js +2 -1
- package/esm/tracekit/index.js.map +1 -0
- package/esm/tracekit/tracekit.js +5 -14
- package/esm/tracekit/tracekit.js.map +1 -0
- package/esm/transport/batch.js +7 -45
- package/esm/transport/batch.js.map +1 -0
- package/esm/transport/eventBridge.js +2 -5
- package/esm/transport/eventBridge.js.map +1 -0
- package/esm/transport/flushController.js +11 -20
- package/esm/transport/flushController.js.map +1 -0
- package/esm/transport/httpRequest.js +4 -15
- package/esm/transport/httpRequest.js.map +1 -0
- package/esm/transport/index.js +2 -1
- package/esm/transport/index.js.map +1 -0
- package/esm/transport/sendWithRetryStrategy.js +3 -21
- package/esm/transport/sendWithRetryStrategy.js.map +1 -0
- package/esm/transport/startBatchWithReplica.js +2 -3
- package/esm/transport/startBatchWithReplica.js.map +1 -0
- package/esm/user/index.js.map +1 -0
- package/esm/user/user.js +4 -5
- package/esm/user/user.js.map +1 -0
- package/esm/worker.js.map +1 -0
- package/package.json +2 -2
- package/src/browser/scroll.js +25 -0
- package/src/configuration/configuration.js +16 -0
- package/src/configuration/transportConfiguration.js +2 -2
- package/src/dataMap.js +17 -3
- package/src/error/trackRuntimeError.js +2 -2
- package/src/helper/contextHistory.js +3 -3
- package/src/helper/enums.js +4 -0
- package/src/helper/errorTools.js +49 -19
- package/src/helper/tools.js +1 -0
- package/src/index.js +3 -0
- package/src/report/reportObservable.js +3 -3
- package/src/telemetry/telemetry.js +165 -0
- package/src/telemetry/types.js +9 -0
- package/src/transport/sendWithRetryStrategy.js +1 -5
package/cjs/helper/errorTools.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.ErrorSource = void 0;
|
|
6
|
+
exports.NO_ERROR_STACK_PRESENT_MESSAGE = exports.ErrorSource = void 0;
|
|
7
7
|
exports.computeRawError = computeRawError;
|
|
8
8
|
exports.createHandlingStack = createHandlingStack;
|
|
9
9
|
exports.flattenErrorCauses = flattenErrorCauses;
|
|
@@ -11,15 +11,12 @@ exports.formatErrorMessage = formatErrorMessage;
|
|
|
11
11
|
exports.formatUnknownError = formatUnknownError;
|
|
12
12
|
exports.getFileFromStackTraceString = getFileFromStackTraceString;
|
|
13
13
|
exports.toStackTraceString = toStackTraceString;
|
|
14
|
-
|
|
15
14
|
var _tools = require("./tools");
|
|
16
|
-
|
|
17
15
|
var _jsonStringify = require("../helper/serialisation/jsonStringify");
|
|
18
|
-
|
|
19
16
|
var _tracekit = require("../tracekit");
|
|
20
|
-
|
|
21
17
|
var _monitor = require("../helper/monitor");
|
|
22
|
-
|
|
18
|
+
var NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error';
|
|
19
|
+
exports.NO_ERROR_STACK_PRESENT_MESSAGE = NO_ERROR_STACK_PRESENT_MESSAGE;
|
|
23
20
|
var ErrorSource = {
|
|
24
21
|
AGENT: 'agent',
|
|
25
22
|
CONSOLE: 'console',
|
|
@@ -29,7 +26,6 @@ var ErrorSource = {
|
|
|
29
26
|
CUSTOM: 'custom'
|
|
30
27
|
};
|
|
31
28
|
exports.ErrorSource = ErrorSource;
|
|
32
|
-
|
|
33
29
|
function computeRawError(data) {
|
|
34
30
|
var stackTrace = data.stackTrace;
|
|
35
31
|
var originalError = data.originalError;
|
|
@@ -38,33 +34,39 @@ function computeRawError(data) {
|
|
|
38
34
|
var nonErrorPrefix = data.nonErrorPrefix;
|
|
39
35
|
var source = data.source;
|
|
40
36
|
var handling = data.handling;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
handling: handling,
|
|
47
|
-
originalError: originalError,
|
|
48
|
-
message: nonErrorPrefix + ' ' + (0, _jsonStringify.jsonStringify)(originalError),
|
|
49
|
-
stack: 'No stack, consider using an instance of Error',
|
|
50
|
-
handlingStack: handlingStack,
|
|
51
|
-
type: stackTrace && stackTrace.name
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
37
|
+
var isErrorInstance = originalError instanceof Error;
|
|
38
|
+
var message = computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError);
|
|
39
|
+
var stack = hasUsableStack(isErrorInstance, stackTrace) ? toStackTraceString(stackTrace) : NO_ERROR_STACK_PRESENT_MESSAGE;
|
|
40
|
+
var causes = isErrorInstance ? flattenErrorCauses(originalError, source) : undefined;
|
|
41
|
+
var type = stackTrace && stackTrace.name;
|
|
55
42
|
return {
|
|
56
43
|
startClocks: startClocks,
|
|
57
44
|
source: source,
|
|
58
45
|
handling: handling,
|
|
59
46
|
originalError: originalError,
|
|
60
|
-
message:
|
|
61
|
-
stack:
|
|
47
|
+
message: message,
|
|
48
|
+
stack: stack,
|
|
62
49
|
handlingStack: handlingStack,
|
|
63
|
-
type:
|
|
64
|
-
causes:
|
|
50
|
+
type: type,
|
|
51
|
+
causes: causes
|
|
65
52
|
};
|
|
66
53
|
}
|
|
67
|
-
|
|
54
|
+
function computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError) {
|
|
55
|
+
// Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)
|
|
56
|
+
// TODO rework tracekit integration to avoid scattering error building logic
|
|
57
|
+
return stackTrace && stackTrace.message && stackTrace && stackTrace.name ? stackTrace.message : !isErrorInstance ? nonErrorPrefix + ' ' + (0, _jsonStringify.jsonStringify)(sanitize(originalError)) : 'Empty message';
|
|
58
|
+
}
|
|
59
|
+
function hasUsableStack(isErrorInstance, stackTrace) {
|
|
60
|
+
if (stackTrace === undefined) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
if (isErrorInstance) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
// handle cases where tracekit return stack = [] or stack = [{url: undefined, line: undefined, column: undefined}]
|
|
67
|
+
// TODO rework tracekit integration to avoid generating those unusable stack
|
|
68
|
+
return stackTrace.stack.length > 0 && (stackTrace.stack.length > 1 || stackTrace.stack[0].url !== undefined);
|
|
69
|
+
}
|
|
68
70
|
function formatUnknownError(stackTrace, errorObject, nonErrorPrefix, handlingStack) {
|
|
69
71
|
if (!stackTrace || stackTrace.message === undefined && !(errorObject instanceof Error)) {
|
|
70
72
|
return {
|
|
@@ -74,7 +76,6 @@ function formatUnknownError(stackTrace, errorObject, nonErrorPrefix, handlingSta
|
|
|
74
76
|
type: stackTrace && stackTrace.name
|
|
75
77
|
};
|
|
76
78
|
}
|
|
77
|
-
|
|
78
79
|
return {
|
|
79
80
|
message: stackTrace.message || 'Empty message',
|
|
80
81
|
stack: toStackTraceString(stackTrace),
|
|
@@ -89,8 +90,6 @@ function formatUnknownError(stackTrace, errorObject, nonErrorPrefix, handlingSta
|
|
|
89
90
|
- Has to be called at the utmost position of the call stack.
|
|
90
91
|
- No internal monitoring should encapsulate the function, that is why we need to use callMonitored inside of it.
|
|
91
92
|
*/
|
|
92
|
-
|
|
93
|
-
|
|
94
93
|
function createHandlingStack() {
|
|
95
94
|
/**
|
|
96
95
|
* Skip the two internal frames:
|
|
@@ -100,8 +99,9 @@ function createHandlingStack() {
|
|
|
100
99
|
*/
|
|
101
100
|
var internalFramesToSkip = 2;
|
|
102
101
|
var error = new Error();
|
|
103
|
-
var formattedStack;
|
|
102
|
+
var formattedStack;
|
|
104
103
|
|
|
104
|
+
// IE needs to throw the error to fill in the stack trace
|
|
105
105
|
if (!error.stack) {
|
|
106
106
|
try {
|
|
107
107
|
throw error;
|
|
@@ -109,7 +109,6 @@ function createHandlingStack() {
|
|
|
109
109
|
(0, _tools.noop)();
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
|
|
113
112
|
(0, _monitor.callMonitored)(function () {
|
|
114
113
|
var stackTrace = (0, _tracekit.computeStackTrace)(error);
|
|
115
114
|
stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);
|
|
@@ -117,7 +116,6 @@ function createHandlingStack() {
|
|
|
117
116
|
});
|
|
118
117
|
return formattedStack;
|
|
119
118
|
}
|
|
120
|
-
|
|
121
119
|
function toStackTraceString(stack) {
|
|
122
120
|
var result = formatErrorMessage(stack);
|
|
123
121
|
(0, _tools.each)(stack.stack, function (frame) {
|
|
@@ -129,20 +127,16 @@ function toStackTraceString(stack) {
|
|
|
129
127
|
});
|
|
130
128
|
return result;
|
|
131
129
|
}
|
|
132
|
-
|
|
133
130
|
function formatErrorMessage(stack) {
|
|
134
131
|
return (stack.name || 'Error') + ': ' + stack.message;
|
|
135
132
|
}
|
|
136
|
-
|
|
137
133
|
function getFileFromStackTraceString(stack) {
|
|
138
134
|
var execResult = /@ (.+)/.exec(stack);
|
|
139
135
|
return execResult && execResult[1];
|
|
140
136
|
}
|
|
141
|
-
|
|
142
137
|
function flattenErrorCauses(error, parentSource) {
|
|
143
138
|
var currentError = error;
|
|
144
139
|
var causes = [];
|
|
145
|
-
|
|
146
140
|
while (currentError && currentError.cause instanceof Error && causes.length < 10) {
|
|
147
141
|
var stackTrace = (0, _tracekit.computeStackTrace)(currentError.cause);
|
|
148
142
|
causes.push({
|
|
@@ -153,6 +147,6 @@ function flattenErrorCauses(error, parentSource) {
|
|
|
153
147
|
});
|
|
154
148
|
currentError = currentError.cause;
|
|
155
149
|
}
|
|
156
|
-
|
|
157
150
|
return causes.length ? causes : undefined;
|
|
158
|
-
}
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=errorTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorTools.js","names":["_tools","require","_jsonStringify","_tracekit","_monitor","NO_ERROR_STACK_PRESENT_MESSAGE","exports","ErrorSource","AGENT","CONSOLE","NETWORK","SOURCE","LOGGER","CUSTOM","computeRawError","data","stackTrace","originalError","handlingStack","startClocks","nonErrorPrefix","source","handling","isErrorInstance","Error","message","computeMessage","stack","hasUsableStack","toStackTraceString","causes","flattenErrorCauses","undefined","type","name","jsonStringify","sanitize","length","url","formatUnknownError","errorObject","createHandlingStack","internalFramesToSkip","error","formattedStack","e","noop","callMonitored","computeStackTrace","slice","result","formatErrorMessage","each","frame","func","args","join","line","column","getFileFromStackTraceString","execResult","exec","parentSource","currentError","cause","push"],"sources":["../../src/helper/errorTools.js"],"sourcesContent":["import { each, noop } from './tools'\nimport { jsonStringify } from '../helper/serialisation/jsonStringify'\nimport { computeStackTrace } from '../tracekit'\nimport { callMonitored } from '../helper/monitor'\nexport var NO_ERROR_STACK_PRESENT_MESSAGE =\n 'No stack, consider using an instance of Error'\nexport var ErrorSource = {\n AGENT: 'agent',\n CONSOLE: 'console',\n NETWORK: 'network',\n SOURCE: 'source',\n LOGGER: 'logger',\n CUSTOM: 'custom'\n}\n\nexport function computeRawError(data) {\n var stackTrace = data.stackTrace\n var originalError = data.originalError\n var handlingStack = data.handlingStack\n var startClocks = data.startClocks\n var nonErrorPrefix = data.nonErrorPrefix\n var source = data.source\n var handling = data.handling\n var isErrorInstance = originalError instanceof Error\n var message = computeMessage(\n stackTrace,\n isErrorInstance,\n nonErrorPrefix,\n originalError\n )\n var stack = hasUsableStack(isErrorInstance, stackTrace)\n ? toStackTraceString(stackTrace)\n : NO_ERROR_STACK_PRESENT_MESSAGE\n var causes = isErrorInstance\n ? flattenErrorCauses(originalError, source)\n : undefined\n var type = stackTrace && stackTrace.name\n\n return {\n startClocks: startClocks,\n source: source,\n handling: handling,\n originalError: originalError,\n message: message,\n stack: stack,\n handlingStack: handlingStack,\n type: type,\n causes: causes\n }\n}\nfunction computeMessage(\n stackTrace,\n isErrorInstance,\n nonErrorPrefix,\n originalError\n) {\n // Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)\n // TODO rework tracekit integration to avoid scattering error building logic\n return stackTrace && stackTrace.message && stackTrace && stackTrace.name\n ? stackTrace.message\n : !isErrorInstance\n ? nonErrorPrefix + ' ' + jsonStringify(sanitize(originalError))\n : 'Empty message'\n}\nfunction hasUsableStack(isErrorInstance, stackTrace) {\n if (stackTrace === undefined) {\n return false\n }\n if (isErrorInstance) {\n return true\n }\n // handle cases where tracekit return stack = [] or stack = [{url: undefined, line: undefined, column: undefined}]\n // TODO rework tracekit integration to avoid generating those unusable stack\n return (\n stackTrace.stack.length > 0 &&\n (stackTrace.stack.length > 1 || stackTrace.stack[0].url !== undefined)\n )\n}\n\nexport function formatUnknownError(\n stackTrace,\n errorObject,\n nonErrorPrefix,\n handlingStack\n) {\n if (\n !stackTrace ||\n (stackTrace.message === undefined && !(errorObject instanceof Error))\n ) {\n return {\n message: nonErrorPrefix + '' + jsonStringify(errorObject),\n stack: 'No stack, consider using an instance of Error',\n handlingStack: handlingStack,\n type: stackTrace && stackTrace.name\n }\n }\n return {\n message: stackTrace.message || 'Empty message',\n stack: toStackTraceString(stackTrace),\n handlingStack: handlingStack,\n type: stackTrace.name\n }\n}\n/**\n Creates a stacktrace without SDK internal frames.\n \n Constraints:\n - Has to be called at the utmost position of the call stack.\n - No internal monitoring should encapsulate the function, that is why we need to use callMonitored inside of it.\n */\nexport function createHandlingStack() {\n /**\n * Skip the two internal frames:\n * - SDK API (console.error, ...)\n * - this function\n * in order to keep only the user calls\n */\n var internalFramesToSkip = 2\n var error = new Error()\n var formattedStack\n\n // IE needs to throw the error to fill in the stack trace\n if (!error.stack) {\n try {\n throw error\n } catch (e) {\n noop()\n }\n }\n callMonitored(function () {\n var stackTrace = computeStackTrace(error)\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip)\n formattedStack = toStackTraceString(stackTrace)\n })\n\n return formattedStack\n}\nexport function toStackTraceString(stack) {\n var result = formatErrorMessage(stack)\n each(stack.stack, function (frame) {\n var func = frame.func === '?' ? '<anonymous>' : frame.func\n var args =\n frame.args && frame.args.length > 0\n ? '(' + frame.args.join(', ') + ')'\n : ''\n var line = frame.line ? ':' + frame.line : ''\n var column = frame.line && frame.column ? ':' + frame.column : ''\n result += '\\n at ' + func + args + ' @ ' + frame.url + line + column\n })\n return result\n}\nexport function formatErrorMessage(stack) {\n return (stack.name || 'Error') + ': ' + stack.message\n}\nexport function getFileFromStackTraceString(stack) {\n var execResult = /@ (.+)/.exec(stack)\n return execResult && execResult[1]\n}\nexport function flattenErrorCauses(error, parentSource) {\n var currentError = error\n var causes = []\n while (\n currentError &&\n currentError.cause instanceof Error &&\n causes.length < 10\n ) {\n var stackTrace = computeStackTrace(currentError.cause)\n causes.push({\n message: currentError.cause.message,\n source: parentSource,\n type: stackTrace && stackTrace.name,\n stack: stackTrace && toStackTraceString(stackTrace)\n })\n currentError = currentError.cause\n }\n return causes.length ? causes : undefined\n}\n"],"mappings":"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"}
|
|
@@ -4,14 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.eventEmitter = void 0;
|
|
7
|
-
|
|
8
7
|
var _tools = require("./tools");
|
|
9
|
-
|
|
10
8
|
var EventEmitter = function EventEmitter() {
|
|
11
9
|
this._events = [];
|
|
12
10
|
this.pendingEvents = [];
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
EventEmitter.prototype = {
|
|
16
13
|
emit: function emit(type) {
|
|
17
14
|
var args = [].slice.call(arguments, 1);
|
|
@@ -19,7 +16,6 @@ EventEmitter.prototype = {
|
|
|
19
16
|
if (val.type !== type) {
|
|
20
17
|
return false;
|
|
21
18
|
}
|
|
22
|
-
|
|
23
19
|
val.callback.apply(val.context, args);
|
|
24
20
|
});
|
|
25
21
|
},
|
|
@@ -27,7 +23,6 @@ EventEmitter.prototype = {
|
|
|
27
23
|
if (typeof callback !== 'function') {
|
|
28
24
|
return;
|
|
29
25
|
}
|
|
30
|
-
|
|
31
26
|
this._events.push({
|
|
32
27
|
type: event,
|
|
33
28
|
callback: callback,
|
|
@@ -36,4 +31,5 @@ EventEmitter.prototype = {
|
|
|
36
31
|
}
|
|
37
32
|
};
|
|
38
33
|
var eventEmitter = new EventEmitter();
|
|
39
|
-
exports.eventEmitter = eventEmitter;
|
|
34
|
+
exports.eventEmitter = eventEmitter;
|
|
35
|
+
//# sourceMappingURL=eventEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventEmitter.js","names":["_tools","require","EventEmitter","_events","pendingEvents","prototype","emit","type","args","slice","call","arguments","each","val","callback","apply","context","on","event","push","eventEmitter","exports"],"sources":["../../src/helper/eventEmitter.js"],"sourcesContent":["import { each } from './tools'\nvar EventEmitter = function () {\n this._events = []\n this.pendingEvents = []\n}\n\nEventEmitter.prototype = {\n emit: function (type) {\n var args = [].slice.call(arguments, 1)\n each(this._events, function (val) {\n if (val.type !== type) {\n return false\n }\n val.callback.apply(val.context, args)\n })\n },\n on: function (event, callback, context) {\n if (typeof callback !== 'function') {\n return\n }\n this._events.push({\n type: event,\n callback: callback,\n context: context || this\n })\n }\n}\nexport var eventEmitter = new EventEmitter()\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAIC,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAe;EAC7B,IAAI,CAACC,OAAO,GAAG,EAAE;EACjB,IAAI,CAACC,aAAa,GAAG,EAAE;AACzB,CAAC;AAEDF,YAAY,CAACG,SAAS,GAAG;EACvBC,IAAI,EAAE,SAAAA,KAAUC,IAAI,EAAE;IACpB,IAAIC,IAAI,GAAG,EAAE,CAACC,KAAK,CAACC,IAAI,CAACC,SAAS,EAAE,CAAC,CAAC;IACtC,IAAAC,WAAI,EAAC,IAAI,CAACT,OAAO,EAAE,UAAUU,GAAG,EAAE;MAChC,IAAIA,GAAG,CAACN,IAAI,KAAKA,IAAI,EAAE;QACrB,OAAO,KAAK;MACd;MACAM,GAAG,CAACC,QAAQ,CAACC,KAAK,CAACF,GAAG,CAACG,OAAO,EAAER,IAAI,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC;EACDS,EAAE,EAAE,SAAAA,GAAUC,KAAK,EAAEJ,QAAQ,EAAEE,OAAO,EAAE;IACtC,IAAI,OAAOF,QAAQ,KAAK,UAAU,EAAE;MAClC;IACF;IACA,IAAI,CAACX,OAAO,CAACgB,IAAI,CAAC;MAChBZ,IAAI,EAAEW,KAAK;MACXJ,QAAQ,EAAEA,QAAQ;MAClBE,OAAO,EAAEA,OAAO,IAAI;IACtB,CAAC,CAAC;EACJ;AACF,CAAC;AACM,IAAII,YAAY,GAAG,IAAIlB,YAAY,CAAC,CAAC;AAAAmB,OAAA,CAAAD,YAAA,GAAAA,YAAA"}
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getZoneJsOriginalValue = getZoneJsOriginalValue;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Gets the original value for a DOM API that was potentially patched by Zone.js.
|
|
10
9
|
*
|
|
@@ -21,14 +20,12 @@ exports.getZoneJsOriginalValue = getZoneJsOriginalValue;
|
|
|
21
20
|
function getZoneJsOriginalValue(target, name) {
|
|
22
21
|
var browserWindow = window;
|
|
23
22
|
var original;
|
|
24
|
-
|
|
25
23
|
if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === 'function') {
|
|
26
24
|
original = target[browserWindow.Zone.__symbol__(name)];
|
|
27
25
|
}
|
|
28
|
-
|
|
29
26
|
if (!original) {
|
|
30
27
|
original = target[name];
|
|
31
28
|
}
|
|
32
|
-
|
|
33
29
|
return original;
|
|
34
|
-
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=getZoneJsOriginalValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getZoneJsOriginalValue.js","names":["getZoneJsOriginalValue","target","name","browserWindow","window","original","Zone","__symbol__"],"sources":["../../src/helper/getZoneJsOriginalValue.js"],"sourcesContent":["/**\n * Gets the original value for a DOM API that was potentially patched by Zone.js.\n *\n * Zone.js[1] is a library that patches a bunch of JS and DOM APIs. It usually stores the original\n * value of the patched functions/constructors/methods in a hidden property prefixed by\n * __zone_symbol__.\n *\n * In multiple occasions, we observed that Zone.js is the culprit of important issues leading to\n * browser resource exhaustion (memory leak, high CPU usage). This method is used as a workaround to\n * use the original DOM API instead of the one patched by Zone.js.\n *\n * [1]: https://github.com/angular/angular/tree/main/packages/zone.js\n */\nexport function getZoneJsOriginalValue(target, name) {\n var browserWindow = window\n var original\n if (\n browserWindow.Zone &&\n typeof browserWindow.Zone.__symbol__ === 'function'\n ) {\n original = target[browserWindow.Zone.__symbol__(name)]\n }\n if (!original) {\n original = target[name]\n }\n return original\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,sBAAsBA,CAACC,MAAM,EAAEC,IAAI,EAAE;EACnD,IAAIC,aAAa,GAAGC,MAAM;EAC1B,IAAIC,QAAQ;EACZ,IACEF,aAAa,CAACG,IAAI,IAClB,OAAOH,aAAa,CAACG,IAAI,CAACC,UAAU,KAAK,UAAU,EACnD;IACAF,QAAQ,GAAGJ,MAAM,CAACE,aAAa,CAACG,IAAI,CAACC,UAAU,CAACL,IAAI,CAAC,CAAC;EACxD;EACA,IAAI,CAACG,QAAQ,EAAE;IACbA,QAAQ,GAAGJ,MAAM,CAACC,IAAI,CAAC;EACzB;EACA,OAAOG,QAAQ;AACjB"}
|
|
@@ -6,26 +6,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.instrumentMethod = instrumentMethod;
|
|
7
7
|
exports.instrumentMethodAndCallOriginal = instrumentMethodAndCallOriginal;
|
|
8
8
|
exports.instrumentSetter = instrumentSetter;
|
|
9
|
-
|
|
10
9
|
var _tools = require("./tools");
|
|
11
|
-
|
|
12
10
|
var _timer = require("./timer");
|
|
13
|
-
|
|
14
11
|
var _monitor = require("./monitor");
|
|
15
|
-
|
|
16
12
|
function instrumentMethod(object, method, instrumentationFactory) {
|
|
17
13
|
var original = object[method];
|
|
18
14
|
var instrumentation = instrumentationFactory(original);
|
|
19
|
-
|
|
20
15
|
var instrumentationWrapper = function instrumentationWrapper() {
|
|
21
16
|
if (typeof instrumentation !== 'function') {
|
|
22
17
|
return undefined;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
}
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
26
20
|
return instrumentation.apply(this, arguments);
|
|
27
21
|
};
|
|
28
|
-
|
|
29
22
|
object[method] = instrumentationWrapper;
|
|
30
23
|
return {
|
|
31
24
|
stop: function stop() {
|
|
@@ -37,53 +30,47 @@ function instrumentMethod(object, method, instrumentationFactory) {
|
|
|
37
30
|
}
|
|
38
31
|
};
|
|
39
32
|
}
|
|
40
|
-
|
|
41
33
|
function instrumentMethodAndCallOriginal(object, method, aliasOption) {
|
|
42
34
|
return instrumentMethod(object, method, function (original) {
|
|
43
35
|
return function () {
|
|
44
36
|
var result;
|
|
45
|
-
|
|
46
37
|
if (aliasOption && aliasOption.before) {
|
|
47
|
-
(0, _monitor.callMonitored)(aliasOption.before, this, arguments);
|
|
38
|
+
(0, _monitor.callMonitored)(aliasOption.before, this, arguments);
|
|
39
|
+
// aliasOption.before.apply(this, arguments)
|
|
48
40
|
}
|
|
49
41
|
|
|
50
42
|
if (typeof original === 'function') {
|
|
51
43
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
52
44
|
result = original.apply(this, arguments);
|
|
53
45
|
}
|
|
54
|
-
|
|
55
46
|
if (aliasOption && aliasOption.after) {
|
|
56
|
-
(0, _monitor.callMonitored)(aliasOption.after, this, arguments);
|
|
47
|
+
(0, _monitor.callMonitored)(aliasOption.after, this, arguments);
|
|
48
|
+
// aliasOption.after.apply(this, arguments)
|
|
57
49
|
}
|
|
58
50
|
|
|
59
51
|
return result;
|
|
60
52
|
};
|
|
61
53
|
});
|
|
62
54
|
}
|
|
63
|
-
|
|
64
55
|
function instrumentSetter(object, property, after) {
|
|
65
56
|
var originalDescriptor = Object.getOwnPropertyDescriptor(object, property);
|
|
66
|
-
|
|
67
57
|
if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {
|
|
68
58
|
return {
|
|
69
59
|
stop: _tools.noop
|
|
70
60
|
};
|
|
71
|
-
}
|
|
61
|
+
}
|
|
62
|
+
// Using the patched `setTimeout` from Zone.js triggers a rendering loop in some Angular
|
|
72
63
|
// component, see issue RUMF-1443
|
|
73
|
-
|
|
74
|
-
|
|
75
64
|
var instrumentation = function instrumentation(thisObject, value) {
|
|
76
65
|
// put hooked setter into event loop to avoid of set latency
|
|
77
66
|
(0, _timer.setTimeout)(function () {
|
|
78
67
|
after(thisObject, value);
|
|
79
68
|
}, 0);
|
|
80
69
|
};
|
|
81
|
-
|
|
82
70
|
var instrumentationWrapper = function instrumentationWrapper(value) {
|
|
83
71
|
originalDescriptor.set.call(this, value);
|
|
84
72
|
instrumentation(this, value);
|
|
85
73
|
};
|
|
86
|
-
|
|
87
74
|
Object.defineProperty(object, property, {
|
|
88
75
|
set: instrumentationWrapper
|
|
89
76
|
});
|
|
@@ -96,4 +83,5 @@ function instrumentSetter(object, property, after) {
|
|
|
96
83
|
}
|
|
97
84
|
}
|
|
98
85
|
};
|
|
99
|
-
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=instrumentMethod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrumentMethod.js","names":["_tools","require","_timer","_monitor","instrumentMethod","object","method","instrumentationFactory","original","instrumentation","instrumentationWrapper","undefined","apply","arguments","stop","instrumentMethodAndCallOriginal","aliasOption","result","before","callMonitored","after","instrumentSetter","property","originalDescriptor","Object","getOwnPropertyDescriptor","set","configurable","noop","thisObject","value","setTimeout","call","defineProperty"],"sources":["../../src/helper/instrumentMethod.js"],"sourcesContent":["import { noop } from './tools'\nimport { setTimeout } from './timer'\nimport { callMonitored } from './monitor'\nexport function instrumentMethod(object, method, instrumentationFactory) {\n var original = object[method]\n\n var instrumentation = instrumentationFactory(original)\n\n var instrumentationWrapper = function () {\n if (typeof instrumentation !== 'function') {\n return undefined\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return instrumentation.apply(this, arguments)\n }\n object[method] = instrumentationWrapper\n return {\n stop: function () {\n if (object[method] === instrumentationWrapper) {\n object[method] = original\n } else {\n instrumentation = original\n }\n }\n }\n}\n\nexport function instrumentMethodAndCallOriginal(object, method, aliasOption) {\n return instrumentMethod(object, method, function (original) {\n return function () {\n var result\n if (aliasOption && aliasOption.before) {\n callMonitored(aliasOption.before, this, arguments)\n // aliasOption.before.apply(this, arguments)\n }\n if (typeof original === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n result = original.apply(this, arguments)\n }\n if (aliasOption && aliasOption.after) {\n callMonitored(aliasOption.after, this, arguments)\n // aliasOption.after.apply(this, arguments)\n }\n return result\n }\n })\n}\n\nexport function instrumentSetter(object, property, after) {\n var originalDescriptor = Object.getOwnPropertyDescriptor(object, property)\n if (\n !originalDescriptor ||\n !originalDescriptor.set ||\n !originalDescriptor.configurable\n ) {\n return { stop: noop }\n }\n // Using the patched `setTimeout` from Zone.js triggers a rendering loop in some Angular\n // component, see issue RUMF-1443\n var instrumentation = function (thisObject, value) {\n // put hooked setter into event loop to avoid of set latency\n setTimeout(function () {\n after(thisObject, value)\n }, 0)\n }\n\n var instrumentationWrapper = function (value) {\n originalDescriptor.set.call(this, value)\n instrumentation(this, value)\n }\n\n Object.defineProperty(object, property, {\n set: instrumentationWrapper\n })\n\n return {\n stop: function () {\n if (\n Object.getOwnPropertyDescriptor(object, property) &&\n Object.getOwnPropertyDescriptor(object, property).set ===\n instrumentationWrapper\n ) {\n Object.defineProperty(object, property, originalDescriptor)\n } else {\n instrumentation = noop\n }\n }\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACO,SAASG,gBAAgBA,CAACC,MAAM,EAAEC,MAAM,EAAEC,sBAAsB,EAAE;EACvE,IAAIC,QAAQ,GAAGH,MAAM,CAACC,MAAM,CAAC;EAE7B,IAAIG,eAAe,GAAGF,sBAAsB,CAACC,QAAQ,CAAC;EAEtD,IAAIE,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA,EAAe;IACvC,IAAI,OAAOD,eAAe,KAAK,UAAU,EAAE;MACzC,OAAOE,SAAS;IAClB;IACA;IACA,OAAOF,eAAe,CAACG,KAAK,CAAC,IAAI,EAAEC,SAAS,CAAC;EAC/C,CAAC;EACDR,MAAM,CAACC,MAAM,CAAC,GAAGI,sBAAsB;EACvC,OAAO;IACLI,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChB,IAAIT,MAAM,CAACC,MAAM,CAAC,KAAKI,sBAAsB,EAAE;QAC7CL,MAAM,CAACC,MAAM,CAAC,GAAGE,QAAQ;MAC3B,CAAC,MAAM;QACLC,eAAe,GAAGD,QAAQ;MAC5B;IACF;EACF,CAAC;AACH;AAEO,SAASO,+BAA+BA,CAACV,MAAM,EAAEC,MAAM,EAAEU,WAAW,EAAE;EAC3E,OAAOZ,gBAAgB,CAACC,MAAM,EAAEC,MAAM,EAAE,UAAUE,QAAQ,EAAE;IAC1D,OAAO,YAAY;MACjB,IAAIS,MAAM;MACV,IAAID,WAAW,IAAIA,WAAW,CAACE,MAAM,EAAE;QACrC,IAAAC,sBAAa,EAACH,WAAW,CAACE,MAAM,EAAE,IAAI,EAAEL,SAAS,CAAC;QAClD;MACF;;MACA,IAAI,OAAOL,QAAQ,KAAK,UAAU,EAAE;QAClC;QACAS,MAAM,GAAGT,QAAQ,CAACI,KAAK,CAAC,IAAI,EAAEC,SAAS,CAAC;MAC1C;MACA,IAAIG,WAAW,IAAIA,WAAW,CAACI,KAAK,EAAE;QACpC,IAAAD,sBAAa,EAACH,WAAW,CAACI,KAAK,EAAE,IAAI,EAAEP,SAAS,CAAC;QACjD;MACF;;MACA,OAAOI,MAAM;IACf,CAAC;EACH,CAAC,CAAC;AACJ;AAEO,SAASI,gBAAgBA,CAAChB,MAAM,EAAEiB,QAAQ,EAAEF,KAAK,EAAE;EACxD,IAAIG,kBAAkB,GAAGC,MAAM,CAACC,wBAAwB,CAACpB,MAAM,EAAEiB,QAAQ,CAAC;EAC1E,IACE,CAACC,kBAAkB,IACnB,CAACA,kBAAkB,CAACG,GAAG,IACvB,CAACH,kBAAkB,CAACI,YAAY,EAChC;IACA,OAAO;MAAEb,IAAI,EAAEc;IAAK,CAAC;EACvB;EACA;EACA;EACA,IAAInB,eAAe,GAAG,SAAAA,gBAAUoB,UAAU,EAAEC,KAAK,EAAE;IACjD;IACA,IAAAC,iBAAU,EAAC,YAAY;MACrBX,KAAK,CAACS,UAAU,EAAEC,KAAK,CAAC;IAC1B,CAAC,EAAE,CAAC,CAAC;EACP,CAAC;EAED,IAAIpB,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAaoB,KAAK,EAAE;IAC5CP,kBAAkB,CAACG,GAAG,CAACM,IAAI,CAAC,IAAI,EAAEF,KAAK,CAAC;IACxCrB,eAAe,CAAC,IAAI,EAAEqB,KAAK,CAAC;EAC9B,CAAC;EAEDN,MAAM,CAACS,cAAc,CAAC5B,MAAM,EAAEiB,QAAQ,EAAE;IACtCI,GAAG,EAAEhB;EACP,CAAC,CAAC;EAEF,OAAO;IACLI,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChB,IACEU,MAAM,CAACC,wBAAwB,CAACpB,MAAM,EAAEiB,QAAQ,CAAC,IACjDE,MAAM,CAACC,wBAAwB,CAACpB,MAAM,EAAEiB,QAAQ,CAAC,CAACI,GAAG,KACnDhB,sBAAsB,EACxB;QACAc,MAAM,CAACS,cAAc,CAAC5B,MAAM,EAAEiB,QAAQ,EAAEC,kBAAkB,CAAC;MAC7D,CAAC,MAAM;QACLd,eAAe,GAAGmB,WAAI;MACxB;IACF;EACF,CAAC;AACH"}
|
package/cjs/helper/lifeCycle.js
CHANGED
|
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.LifeCycle = LifeCycle;
|
|
7
7
|
exports.LifeCycleEventType = void 0;
|
|
8
|
-
|
|
9
8
|
var _tools = require("./tools");
|
|
10
|
-
|
|
11
9
|
var LifeCycleEventType = {
|
|
12
10
|
PERFORMANCE_ENTRIES_COLLECTED: 'PERFORMANCE_ENTRIES_COLLECTED',
|
|
13
11
|
AUTO_ACTION_COMPLETED: 'AUTO_ACTION_COMPLETED',
|
|
@@ -26,15 +24,12 @@ var LifeCycleEventType = {
|
|
|
26
24
|
LOG_COLLECTED: 'LOG_COLLECTED'
|
|
27
25
|
};
|
|
28
26
|
exports.LifeCycleEventType = LifeCycleEventType;
|
|
29
|
-
|
|
30
27
|
function LifeCycle() {
|
|
31
28
|
this.callbacks = {};
|
|
32
29
|
}
|
|
33
|
-
|
|
34
30
|
LifeCycle.prototype = {
|
|
35
31
|
notify: function notify(eventType, data) {
|
|
36
32
|
var eventCallbacks = this.callbacks[eventType];
|
|
37
|
-
|
|
38
33
|
if (eventCallbacks) {
|
|
39
34
|
(0, _tools.each)(eventCallbacks, function (callback) {
|
|
40
35
|
callback(data);
|
|
@@ -45,11 +40,8 @@ LifeCycle.prototype = {
|
|
|
45
40
|
if (!this.callbacks[eventType]) {
|
|
46
41
|
this.callbacks[eventType] = [];
|
|
47
42
|
}
|
|
48
|
-
|
|
49
43
|
this.callbacks[eventType].push(callback);
|
|
50
|
-
|
|
51
44
|
var _this = this;
|
|
52
|
-
|
|
53
45
|
return {
|
|
54
46
|
unsubscribe: function unsubscribe() {
|
|
55
47
|
_this.callbacks[eventType] = (0, _tools.filter)(_this.callbacks[eventType], function (other) {
|
|
@@ -58,4 +50,5 @@ LifeCycle.prototype = {
|
|
|
58
50
|
}
|
|
59
51
|
};
|
|
60
52
|
}
|
|
61
|
-
};
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=lifeCycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifeCycle.js","names":["_tools","require","LifeCycleEventType","PERFORMANCE_ENTRIES_COLLECTED","AUTO_ACTION_COMPLETED","VIEW_CREATED","VIEW_UPDATED","VIEW_ENDED","SESSION_RENEWED","SESSION_EXPIRED","PAGE_EXITED","REQUEST_STARTED","REQUEST_COMPLETED","RAW_RUM_EVENT_COLLECTED","RUM_EVENT_COLLECTED","RAW_ERROR_COLLECTED","RAW_LOG_COLLECTED","LOG_COLLECTED","exports","LifeCycle","callbacks","prototype","notify","eventType","data","eventCallbacks","each","callback","subscribe","push","_this","unsubscribe","filter","other"],"sources":["../../src/helper/lifeCycle.js"],"sourcesContent":["import { each, filter } from './tools'\nexport var LifeCycleEventType = {\n PERFORMANCE_ENTRIES_COLLECTED: 'PERFORMANCE_ENTRIES_COLLECTED',\n AUTO_ACTION_COMPLETED: 'AUTO_ACTION_COMPLETED',\n VIEW_CREATED: 'VIEW_CREATED',\n VIEW_UPDATED: 'VIEW_UPDATED',\n VIEW_ENDED: 'VIEW_ENDED',\n SESSION_RENEWED: 'SESSION_RENEWED',\n SESSION_EXPIRED: 'SESSION_EXPIRED',\n PAGE_EXITED: 'PAGE_EXITED',\n REQUEST_STARTED: 'REQUEST_STARTED',\n REQUEST_COMPLETED: 'REQUEST_COMPLETED',\n RAW_RUM_EVENT_COLLECTED: 'RAW_RUM_EVENT_COLLECTED',\n RUM_EVENT_COLLECTED: 'RUM_EVENT_COLLECTED',\n RAW_ERROR_COLLECTED: 'RAW_ERROR_COLLECTED',\n RAW_LOG_COLLECTED: 'RAW_LOG_COLLECTED',\n LOG_COLLECTED: 'LOG_COLLECTED'\n}\nexport function LifeCycle() {\n this.callbacks = {}\n}\nLifeCycle.prototype = {\n notify: function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType]\n if (eventCallbacks) {\n each(eventCallbacks, function (callback) {\n callback(data)\n })\n }\n },\n subscribe: function (eventType, callback) {\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = []\n }\n this.callbacks[eventType].push(callback)\n var _this = this\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = filter(\n _this.callbacks[eventType],\n function (other) {\n return other !== callback\n }\n )\n }\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACO,IAAIC,kBAAkB,GAAG;EAC9BC,6BAA6B,EAAE,+BAA+B;EAC9DC,qBAAqB,EAAE,uBAAuB;EAC9CC,YAAY,EAAE,cAAc;EAC5BC,YAAY,EAAE,cAAc;EAC5BC,UAAU,EAAE,YAAY;EACxBC,eAAe,EAAE,iBAAiB;EAClCC,eAAe,EAAE,iBAAiB;EAClCC,WAAW,EAAE,aAAa;EAC1BC,eAAe,EAAE,iBAAiB;EAClCC,iBAAiB,EAAE,mBAAmB;EACtCC,uBAAuB,EAAE,yBAAyB;EAClDC,mBAAmB,EAAE,qBAAqB;EAC1CC,mBAAmB,EAAE,qBAAqB;EAC1CC,iBAAiB,EAAE,mBAAmB;EACtCC,aAAa,EAAE;AACjB,CAAC;AAAAC,OAAA,CAAAhB,kBAAA,GAAAA,kBAAA;AACM,SAASiB,SAASA,CAAA,EAAG;EAC1B,IAAI,CAACC,SAAS,GAAG,CAAC,CAAC;AACrB;AACAD,SAAS,CAACE,SAAS,GAAG;EACpBC,MAAM,EAAE,SAAAA,OAAUC,SAAS,EAAEC,IAAI,EAAE;IACjC,IAAIC,cAAc,GAAG,IAAI,CAACL,SAAS,CAACG,SAAS,CAAC;IAC9C,IAAIE,cAAc,EAAE;MAClB,IAAAC,WAAI,EAACD,cAAc,EAAE,UAAUE,QAAQ,EAAE;QACvCA,QAAQ,CAACH,IAAI,CAAC;MAChB,CAAC,CAAC;IACJ;EACF,CAAC;EACDI,SAAS,EAAE,SAAAA,UAAUL,SAAS,EAAEI,QAAQ,EAAE;IACxC,IAAI,CAAC,IAAI,CAACP,SAAS,CAACG,SAAS,CAAC,EAAE;MAC9B,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,GAAG,EAAE;IAChC;IACA,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,CAACM,IAAI,CAACF,QAAQ,CAAC;IACxC,IAAIG,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAAA,YAAA,EAAY;QACvBD,KAAK,CAACV,SAAS,CAACG,SAAS,CAAC,GAAG,IAAAS,aAAM,EACjCF,KAAK,CAACV,SAAS,CAACG,SAAS,CAAC,EAC1B,UAAUU,KAAK,EAAE;UACf,OAAOA,KAAK,KAAKN,QAAQ;QAC3B,CACF,CAAC;MACH;IACF,CAAC;EACH;AACF,CAAC"}
|
|
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.limitModification = limitModification;
|
|
7
|
-
|
|
8
7
|
var _tools = require("./tools");
|
|
9
|
-
|
|
10
8
|
var _sanitize = require("./sanitize");
|
|
11
|
-
|
|
12
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
13
|
-
|
|
9
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
14
10
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
15
|
-
|
|
16
11
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
17
|
-
|
|
18
12
|
/**
|
|
19
13
|
* Current limitation:
|
|
20
14
|
* - field path do not support array, 'a.b.c' only
|
|
@@ -27,7 +21,6 @@ function limitModification(object, modifiableFieldPaths, modifier) {
|
|
|
27
21
|
var fieldType = filedPaths[1];
|
|
28
22
|
var newValue = get(clone, fieldPath);
|
|
29
23
|
var newType = (0, _tools.getType)(newValue);
|
|
30
|
-
|
|
31
24
|
if (newType === fieldType) {
|
|
32
25
|
set(object, fieldPath, (0, _sanitize.sanitize)(newValue));
|
|
33
26
|
} else if (fieldType === 'object' && (newType === 'undefined' || newType === 'null')) {
|
|
@@ -36,21 +29,16 @@ function limitModification(object, modifiableFieldPaths, modifier) {
|
|
|
36
29
|
});
|
|
37
30
|
return result;
|
|
38
31
|
}
|
|
39
|
-
|
|
40
32
|
function get(object, path) {
|
|
41
33
|
var current = object;
|
|
42
|
-
|
|
43
34
|
var _iterator = _createForOfIteratorHelper(path.split('.')),
|
|
44
|
-
|
|
45
|
-
|
|
35
|
+
_step;
|
|
46
36
|
try {
|
|
47
37
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
48
38
|
var field = _step.value;
|
|
49
|
-
|
|
50
39
|
if (!isValidObjectContaining(current, field)) {
|
|
51
40
|
return;
|
|
52
41
|
}
|
|
53
|
-
|
|
54
42
|
current = current[field];
|
|
55
43
|
}
|
|
56
44
|
} catch (err) {
|
|
@@ -58,21 +46,16 @@ function get(object, path) {
|
|
|
58
46
|
} finally {
|
|
59
47
|
_iterator.f();
|
|
60
48
|
}
|
|
61
|
-
|
|
62
49
|
return current;
|
|
63
50
|
}
|
|
64
|
-
|
|
65
51
|
function set(object, path, value) {
|
|
66
52
|
var current = object;
|
|
67
53
|
var fields = path.split('.');
|
|
68
|
-
|
|
69
54
|
for (var i = 0; i < fields.length; i += 1) {
|
|
70
55
|
var field = fields[i];
|
|
71
|
-
|
|
72
56
|
if (!isValidObject(current)) {
|
|
73
57
|
return;
|
|
74
58
|
}
|
|
75
|
-
|
|
76
59
|
if (i !== fields.length - 1) {
|
|
77
60
|
current = current[field];
|
|
78
61
|
} else {
|
|
@@ -80,11 +63,10 @@ function set(object, path, value) {
|
|
|
80
63
|
}
|
|
81
64
|
}
|
|
82
65
|
}
|
|
83
|
-
|
|
84
66
|
function isValidObject(object) {
|
|
85
67
|
return (0, _tools.getType)(object) === 'object';
|
|
86
68
|
}
|
|
87
|
-
|
|
88
69
|
function isValidObjectContaining(object, field) {
|
|
89
70
|
return isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field);
|
|
90
|
-
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=limitModification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limitModification.js","names":["_tools","require","_sanitize","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","limitModification","object","modifiableFieldPaths","modifier","clone","deepClone","result","each","objectEntries","filedPaths","fieldPath","fieldType","newValue","get","newType","getType","set","sanitize","path","current","_iterator","split","_step","field","isValidObjectContaining","fields","isValidObject","hasOwnProperty"],"sources":["../../src/helper/limitModification.js"],"sourcesContent":["import { extend2Lev, each, objectEntries, getType, deepClone } from './tools'\nimport { sanitize } from './sanitize'\n\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nexport function limitModification(object, modifiableFieldPaths, modifier) {\n var clone = deepClone(object)\n var result = modifier(clone)\n each(objectEntries(modifiableFieldPaths), function (filedPaths) {\n var fieldPath = filedPaths[0]\n var fieldType = filedPaths[1]\n var newValue = get(clone, fieldPath)\n var newType = getType(newValue)\n if (newType === fieldType) {\n set(object, fieldPath, sanitize(newValue))\n } else if (\n fieldType === 'object' &&\n (newType === 'undefined' || newType === 'null')\n ) {\n set(object, fieldPath, {})\n }\n })\n\n return result\n}\n\nfunction get(object, path) {\n var current = object\n for (var field of path.split('.')) {\n if (!isValidObjectContaining(current, field)) {\n return\n }\n current = current[field]\n }\n return current\n}\n\nfunction set(object, path, value) {\n var current = object\n var fields = path.split('.')\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i]\n if (!isValidObject(current)) {\n return\n }\n if (i !== fields.length - 1) {\n current = current[field]\n } else {\n current[field] = value\n }\n }\n}\n\nfunction isValidObject(object) {\n return getType(object) === 'object'\n}\n\nfunction isValidObjectContaining(object, field) {\n return (\n isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field)\n )\n}\n"],"mappings":"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"}
|
package/cjs/helper/mobileUtil.js
CHANGED
|
@@ -6,34 +6,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.userAgent = exports.isIos = exports.isAndroid = exports.JsBirdge = void 0;
|
|
7
7
|
var userAgent = navigator.userAgent.toLowerCase();
|
|
8
8
|
exports.userAgent = userAgent;
|
|
9
|
-
|
|
10
9
|
var isAndroid = function isAndroid() {
|
|
11
10
|
return /android/.test(userAgent);
|
|
12
11
|
};
|
|
13
|
-
|
|
14
12
|
exports.isAndroid = isAndroid;
|
|
15
|
-
|
|
16
13
|
var isIos = function isIos() {
|
|
17
14
|
return /iphone os/.test(userAgent);
|
|
18
15
|
};
|
|
19
|
-
|
|
20
16
|
exports.isIos = isIos;
|
|
21
|
-
|
|
22
17
|
var JsBirdge = function JsBirdge() {
|
|
23
18
|
this.bridge = window['FTWebViewJavascriptBridge'];
|
|
24
19
|
this.tagMaps = {};
|
|
25
20
|
window.mapWebViewCallBack = {};
|
|
26
|
-
|
|
27
21
|
try {
|
|
28
22
|
this.initBridge();
|
|
29
23
|
} catch (err) {}
|
|
30
24
|
};
|
|
31
|
-
|
|
32
25
|
exports.JsBirdge = JsBirdge;
|
|
33
26
|
JsBirdge.prototype = {
|
|
34
27
|
initBridge: function initBridge() {
|
|
35
28
|
var _this = this;
|
|
36
|
-
|
|
37
29
|
if (isIos()) {
|
|
38
30
|
if (!_this.bridge) {
|
|
39
31
|
if (window.WVJBCallbacks) {
|
|
@@ -61,20 +53,14 @@ JsBirdge.prototype = {
|
|
|
61
53
|
if (typeof params === 'undefined') {
|
|
62
54
|
params = {};
|
|
63
55
|
}
|
|
64
|
-
|
|
65
56
|
var _this = this;
|
|
66
|
-
|
|
67
57
|
var tag = 'Unique id:' + new Date().getTime();
|
|
68
|
-
|
|
69
58
|
if (params.name) {
|
|
70
59
|
_this.tagMaps[params.name] = tag;
|
|
71
|
-
|
|
72
60
|
window.mapWebViewCallBack[tag] = function (ret, err) {
|
|
73
61
|
return Promise.resolve(ret, err);
|
|
74
62
|
};
|
|
75
|
-
|
|
76
63
|
params['_tag'] = tag;
|
|
77
|
-
|
|
78
64
|
try {
|
|
79
65
|
if (isIos()) {
|
|
80
66
|
_this.bridge.callHandler('sendEvent', JSON.stringify(params), 'mapWebViewCallBack');
|
|
@@ -90,19 +76,14 @@ JsBirdge.prototype = {
|
|
|
90
76
|
},
|
|
91
77
|
addEventListener: function addEventListener(params, callback) {
|
|
92
78
|
var tag = 'Unique id:' + new Date().getTime();
|
|
93
|
-
|
|
94
79
|
var _this = this;
|
|
95
|
-
|
|
96
80
|
if (params.name) {
|
|
97
81
|
_this.tagMaps[params.name] = tag;
|
|
98
|
-
|
|
99
82
|
window.mapWebViewCallBack[tag] = function (ret, err) {
|
|
100
83
|
callback(ret, err);
|
|
101
84
|
return;
|
|
102
85
|
};
|
|
103
|
-
|
|
104
86
|
params['_tag'] = tag;
|
|
105
|
-
|
|
106
87
|
try {
|
|
107
88
|
if (isIos()) {
|
|
108
89
|
_this.bridge.callHandler('addEventListener', JSON.stringify(params), 'mapWebViewCallBack');
|
|
@@ -118,4 +99,5 @@ JsBirdge.prototype = {
|
|
|
118
99
|
}
|
|
119
100
|
};
|
|
120
101
|
var JsBirdge = JsBirdge;
|
|
121
|
-
exports.JsBirdge = JsBirdge;
|
|
102
|
+
exports.JsBirdge = JsBirdge;
|
|
103
|
+
//# sourceMappingURL=mobileUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobileUtil.js","names":["userAgent","navigator","toLowerCase","exports","isAndroid","test","isIos","JsBirdge","bridge","window","tagMaps","mapWebViewCallBack","initBridge","err","prototype","_this","WVJBCallbacks","push","WVJBIframe","document","createElement","style","display","src","documentElement","appendChild","setTimeout","removeChild","sendEvent","params","callback","tag","Date","getTime","name","ret","Promise","resolve","callHandler","JSON","stringify","error","addEventListener"],"sources":["../../src/helper/mobileUtil.js"],"sourcesContent":["export var userAgent = navigator.userAgent.toLowerCase()\nexport var isAndroid = function () {\n return /android/.test(userAgent)\n}\nexport var isIos = function () {\n return /iphone os/.test(userAgent)\n}\n\nvar JsBirdge = function () {\n this.bridge = window['FTWebViewJavascriptBridge']\n this.tagMaps = {}\n window.mapWebViewCallBack = {}\n try {\n this.initBridge()\n } catch (err) {}\n}\nJsBirdge.prototype = {\n initBridge: function () {\n var _this = this\n if (isIos()) {\n if (!_this.bridge) {\n if (window.WVJBCallbacks) {\n window.WVJBCallbacks.push(function (bridge) {\n _this.bridge = bridge\n })\n return\n } else {\n window.WVJBCallbacks = [\n function (bridge) {\n _this.bridge = bridge\n return\n }\n ]\n var WVJBIframe = document.createElement('iframe')\n WVJBIframe.style.display = 'none'\n WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__'\n document.documentElement.appendChild(WVJBIframe)\n setTimeout(function () {\n document.documentElement.removeChild(WVJBIframe)\n }, 0)\n }\n }\n }\n },\n sendEvent: function (params, callback) {\n if (typeof params === 'undefined') {\n params = {}\n }\n var _this = this\n var tag = 'Unique id:' + new Date().getTime()\n if (params.name) {\n _this.tagMaps[params.name] = tag\n window.mapWebViewCallBack[tag] = function (ret, err) {\n return Promise.resolve(ret, err)\n }\n params['_tag'] = tag\n try {\n if (isIos()) {\n _this.bridge.callHandler(\n 'sendEvent',\n JSON.stringify(params),\n 'mapWebViewCallBack'\n )\n } else {\n _this.bridge.sendEvent(JSON.stringify(params), 'mapWebViewCallBack')\n }\n } catch (err) {}\n } else {\n callback({ error: '请传入发送事件的名称!!' })\n }\n },\n addEventListener: function (params, callback) {\n var tag = 'Unique id:' + new Date().getTime()\n var _this = this\n if (params.name) {\n _this.tagMaps[params.name] = tag\n window.mapWebViewCallBack[tag] = function (ret, err) {\n callback(ret, err)\n return\n }\n params['_tag'] = tag\n try {\n if (isIos()) {\n _this.bridge.callHandler(\n 'addEventListener',\n JSON.stringify(params),\n 'mapWebViewCallBack'\n )\n } else {\n _this.bridge.addEventListener(\n JSON.stringify(params),\n 'mapWebViewCallBack'\n )\n }\n } catch (err) {}\n } else {\n callback({ error: '请传入监听事件的名称!!' })\n }\n }\n}\n\nexport var JsBirdge = JsBirdge\n"],"mappings":"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"}
|