@cloudcare/browser-core 2.0.16 → 2.0.18
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/init.js +4 -4
- package/cjs/tracekit/tracekit.js +34 -24
- package/cjs/transport/eventBridge.js +35 -0
- package/cjs/transport/index.js +21 -1
- package/esm/init.js +4 -4
- package/esm/tracekit/tracekit.js +33 -24
- package/esm/transport/eventBridge.js +27 -0
- package/esm/transport/index.js +3 -2
- package/package.json +2 -2
- package/src/init.js +4 -4
- package/src/tracekit/tracekit.js +31 -30
- package/src/transport/eventBridge.js +24 -0
- package/src/transport/index.js +2 -1
package/cjs/init.js
CHANGED
|
@@ -54,19 +54,19 @@ function getGlobalObject() {
|
|
|
54
54
|
return globalThis;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
Object.defineProperty(Object.prototype, '
|
|
57
|
+
Object.defineProperty(Object.prototype, '_gc_temp_', {
|
|
58
58
|
get: function get() {
|
|
59
59
|
return this;
|
|
60
60
|
},
|
|
61
61
|
configurable: true
|
|
62
62
|
}); // @ts-ignore
|
|
63
63
|
|
|
64
|
-
var globalObject =
|
|
64
|
+
var globalObject = _gc_temp_; // @ts-ignore
|
|
65
65
|
|
|
66
|
-
delete Object.prototype.
|
|
66
|
+
delete Object.prototype._gc_temp_;
|
|
67
67
|
|
|
68
68
|
if (_typeof(globalObject) !== 'object') {
|
|
69
|
-
// on safari
|
|
69
|
+
// on safari _gc_temp_ is available on window but not globally
|
|
70
70
|
// fallback on other browser globals check
|
|
71
71
|
if ((typeof self === "undefined" ? "undefined" : _typeof(self)) === 'object') {
|
|
72
72
|
globalObject = self;
|
package/cjs/tracekit/tracekit.js
CHANGED
|
@@ -7,10 +7,12 @@ exports.startUnhandledErrorCollection = startUnhandledErrorCollection;
|
|
|
7
7
|
|
|
8
8
|
var _instrumentMethod = require("../helper/instrumentMethod");
|
|
9
9
|
|
|
10
|
+
var _tools = require("../helper/tools");
|
|
11
|
+
|
|
10
12
|
var _computeStackTrace = require("./computeStackTrace");
|
|
11
13
|
|
|
12
14
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types
|
|
13
|
-
var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(
|
|
15
|
+
var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\s\S]*)$/;
|
|
14
16
|
/**
|
|
15
17
|
* Cross-browser collection of unhandled errors
|
|
16
18
|
*
|
|
@@ -63,40 +65,48 @@ function startUnhandledErrorCollection(callback) {
|
|
|
63
65
|
|
|
64
66
|
function instrumentOnError(callback) {
|
|
65
67
|
return (0, _instrumentMethod.instrumentMethodAndCallOriginal)(window, 'onerror', {
|
|
66
|
-
before: function before(
|
|
67
|
-
var
|
|
68
|
+
before: function before(messageObj, url, line, column, errorObj) {
|
|
69
|
+
var stackTrace;
|
|
68
70
|
|
|
69
|
-
if (errorObj) {
|
|
70
|
-
|
|
71
|
-
callback(stack, errorObj);
|
|
71
|
+
if (errorObj instanceof Error) {
|
|
72
|
+
stackTrace = (0, _computeStackTrace.computeStackTrace)(errorObj);
|
|
72
73
|
} else {
|
|
73
74
|
var location = {
|
|
74
75
|
url: url,
|
|
75
|
-
column:
|
|
76
|
-
line:
|
|
76
|
+
column: column,
|
|
77
|
+
line: line
|
|
77
78
|
};
|
|
78
|
-
var
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
var groups = ERROR_TYPES_RE.exec(msg);
|
|
83
|
-
|
|
84
|
-
if (groups) {
|
|
85
|
-
name = groups[1];
|
|
86
|
-
msg = groups[2];
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
stack = {
|
|
91
|
-
name: name,
|
|
92
|
-
message: typeof msg === 'string' ? msg : undefined,
|
|
79
|
+
var parse = tryToParseMessage(messageObj);
|
|
80
|
+
stackTrace = {
|
|
81
|
+
name: parse.name,
|
|
82
|
+
message: parse.message,
|
|
93
83
|
stack: [location]
|
|
94
84
|
};
|
|
95
|
-
callback(stack, message);
|
|
96
85
|
}
|
|
86
|
+
|
|
87
|
+
callback(stackTrace, (0, _tools.isNullUndefinedDefaultValue)(errorObj, messageObj));
|
|
97
88
|
}
|
|
98
89
|
});
|
|
99
90
|
}
|
|
91
|
+
|
|
92
|
+
function tryToParseMessage(messageObj) {
|
|
93
|
+
var name;
|
|
94
|
+
var message;
|
|
95
|
+
|
|
96
|
+
if ({}.toString.call(messageObj) === '[object String]') {
|
|
97
|
+
var groups = ERROR_TYPES_RE.exec(messageObj);
|
|
98
|
+
|
|
99
|
+
if (groups) {
|
|
100
|
+
name = groups[1];
|
|
101
|
+
message = groups[2];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return {
|
|
106
|
+
name: name,
|
|
107
|
+
message: message
|
|
108
|
+
};
|
|
109
|
+
}
|
|
100
110
|
/**
|
|
101
111
|
* Install a global onunhandledrejection handler
|
|
102
112
|
*/
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.canUseEventBridge = canUseEventBridge;
|
|
7
|
+
exports.getEventBridge = getEventBridge;
|
|
8
|
+
|
|
9
|
+
var _init = require("../init");
|
|
10
|
+
|
|
11
|
+
function getEventBridgeGlobal() {
|
|
12
|
+
return (0, _init.getGlobalObject)().FTWebViewJavascriptBridge;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function getEventBridge() {
|
|
16
|
+
var eventBridgeGlobal = getEventBridgeGlobal();
|
|
17
|
+
|
|
18
|
+
if (!eventBridgeGlobal) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return {
|
|
23
|
+
send: function send(eventType, event) {
|
|
24
|
+
eventBridgeGlobal.sendEvent(JSON.stringify({
|
|
25
|
+
name: eventType,
|
|
26
|
+
data: event
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function canUseEventBridge() {
|
|
33
|
+
var bridge = getEventBridge();
|
|
34
|
+
return !!bridge;
|
|
35
|
+
}
|
package/cjs/transport/index.js
CHANGED
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "Batch", {
|
|
|
9
9
|
return _batch.Batch;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "canUseEventBridge", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _eventBridge.canUseEventBridge;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
Object.defineProperty(exports, "createFlushController", {
|
|
13
19
|
enumerable: true,
|
|
14
20
|
get: function get() {
|
|
@@ -21,6 +27,18 @@ Object.defineProperty(exports, "createHttpRequest", {
|
|
|
21
27
|
return _httpRequest.createHttpRequest;
|
|
22
28
|
}
|
|
23
29
|
});
|
|
30
|
+
Object.defineProperty(exports, "getEventBridge", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _eventBridge.getEventBridge;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "processedMessageByDataMap", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _batch.processedMessageByDataMap;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
24
42
|
Object.defineProperty(exports, "startBatchWithReplica", {
|
|
25
43
|
enumerable: true,
|
|
26
44
|
get: function get() {
|
|
@@ -34,4 +52,6 @@ var _batch = require("./batch");
|
|
|
34
52
|
|
|
35
53
|
var _startBatchWithReplica = require("./startBatchWithReplica");
|
|
36
54
|
|
|
37
|
-
var _flushController = require("./flushController");
|
|
55
|
+
var _flushController = require("./flushController");
|
|
56
|
+
|
|
57
|
+
var _eventBridge = require("./eventBridge");
|
package/esm/init.js
CHANGED
|
@@ -38,19 +38,19 @@ export function getGlobalObject() {
|
|
|
38
38
|
return globalThis;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
Object.defineProperty(Object.prototype, '
|
|
41
|
+
Object.defineProperty(Object.prototype, '_gc_temp_', {
|
|
42
42
|
get: function get() {
|
|
43
43
|
return this;
|
|
44
44
|
},
|
|
45
45
|
configurable: true
|
|
46
46
|
}); // @ts-ignore
|
|
47
47
|
|
|
48
|
-
var globalObject =
|
|
48
|
+
var globalObject = _gc_temp_; // @ts-ignore
|
|
49
49
|
|
|
50
|
-
delete Object.prototype.
|
|
50
|
+
delete Object.prototype._gc_temp_;
|
|
51
51
|
|
|
52
52
|
if (typeof globalObject !== 'object') {
|
|
53
|
-
// on safari
|
|
53
|
+
// on safari _gc_temp_ is available on window but not globally
|
|
54
54
|
// fallback on other browser globals check
|
|
55
55
|
if (typeof self === 'object') {
|
|
56
56
|
globalObject = self;
|
package/esm/tracekit/tracekit.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { instrumentMethodAndCallOriginal } from '../helper/instrumentMethod';
|
|
2
|
+
import { isNullUndefinedDefaultValue } from '../helper/tools';
|
|
2
3
|
import { computeStackTrace } from './computeStackTrace'; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types
|
|
3
4
|
|
|
4
|
-
var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(
|
|
5
|
+
var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\s\S]*)$/;
|
|
5
6
|
/**
|
|
6
7
|
* Cross-browser collection of unhandled errors
|
|
7
8
|
*
|
|
@@ -53,40 +54,48 @@ export function startUnhandledErrorCollection(callback) {
|
|
|
53
54
|
|
|
54
55
|
function instrumentOnError(callback) {
|
|
55
56
|
return instrumentMethodAndCallOriginal(window, 'onerror', {
|
|
56
|
-
before: function before(
|
|
57
|
-
var
|
|
57
|
+
before: function before(messageObj, url, line, column, errorObj) {
|
|
58
|
+
var stackTrace;
|
|
58
59
|
|
|
59
|
-
if (errorObj) {
|
|
60
|
-
|
|
61
|
-
callback(stack, errorObj);
|
|
60
|
+
if (errorObj instanceof Error) {
|
|
61
|
+
stackTrace = computeStackTrace(errorObj);
|
|
62
62
|
} else {
|
|
63
63
|
var location = {
|
|
64
64
|
url: url,
|
|
65
|
-
column:
|
|
66
|
-
line:
|
|
65
|
+
column: column,
|
|
66
|
+
line: line
|
|
67
67
|
};
|
|
68
|
-
var
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
var groups = ERROR_TYPES_RE.exec(msg);
|
|
73
|
-
|
|
74
|
-
if (groups) {
|
|
75
|
-
name = groups[1];
|
|
76
|
-
msg = groups[2];
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
stack = {
|
|
81
|
-
name: name,
|
|
82
|
-
message: typeof msg === 'string' ? msg : undefined,
|
|
68
|
+
var parse = tryToParseMessage(messageObj);
|
|
69
|
+
stackTrace = {
|
|
70
|
+
name: parse.name,
|
|
71
|
+
message: parse.message,
|
|
83
72
|
stack: [location]
|
|
84
73
|
};
|
|
85
|
-
callback(stack, message);
|
|
86
74
|
}
|
|
75
|
+
|
|
76
|
+
callback(stackTrace, isNullUndefinedDefaultValue(errorObj, messageObj));
|
|
87
77
|
}
|
|
88
78
|
});
|
|
89
79
|
}
|
|
80
|
+
|
|
81
|
+
function tryToParseMessage(messageObj) {
|
|
82
|
+
var name;
|
|
83
|
+
var message;
|
|
84
|
+
|
|
85
|
+
if ({}.toString.call(messageObj) === '[object String]') {
|
|
86
|
+
var groups = ERROR_TYPES_RE.exec(messageObj);
|
|
87
|
+
|
|
88
|
+
if (groups) {
|
|
89
|
+
name = groups[1];
|
|
90
|
+
message = groups[2];
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return {
|
|
95
|
+
name: name,
|
|
96
|
+
message: message
|
|
97
|
+
};
|
|
98
|
+
}
|
|
90
99
|
/**
|
|
91
100
|
* Install a global onunhandledrejection handler
|
|
92
101
|
*/
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getGlobalObject } from '../init';
|
|
2
|
+
|
|
3
|
+
function getEventBridgeGlobal() {
|
|
4
|
+
return getGlobalObject().FTWebViewJavascriptBridge;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export function getEventBridge() {
|
|
8
|
+
var eventBridgeGlobal = getEventBridgeGlobal();
|
|
9
|
+
|
|
10
|
+
if (!eventBridgeGlobal) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return {
|
|
15
|
+
send(eventType, event) {
|
|
16
|
+
eventBridgeGlobal.sendEvent(JSON.stringify({
|
|
17
|
+
name: eventType,
|
|
18
|
+
data: event
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function canUseEventBridge() {
|
|
25
|
+
var bridge = getEventBridge();
|
|
26
|
+
return !!bridge;
|
|
27
|
+
}
|
package/esm/transport/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { createHttpRequest } from './httpRequest';
|
|
2
|
-
export { Batch } from './batch';
|
|
2
|
+
export { Batch, processedMessageByDataMap } from './batch';
|
|
3
3
|
export { startBatchWithReplica } from './startBatchWithReplica';
|
|
4
|
-
export { createFlushController } from './flushController';
|
|
4
|
+
export { createFlushController } from './flushController';
|
|
5
|
+
export { getEventBridge, canUseEventBridge } from './eventBridge';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudcare/browser-core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.18",
|
|
4
4
|
"main": "cjs/index.js",
|
|
5
5
|
"module": "esm/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -20,5 +20,5 @@
|
|
|
20
20
|
"author": "dataflux",
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"description": "DataFlux RUM Web 端数据指标监控",
|
|
23
|
-
"gitHead": "
|
|
23
|
+
"gitHead": "95a35040844e8959ebf322eeeeb1269fc369e679"
|
|
24
24
|
}
|
package/src/init.js
CHANGED
|
@@ -39,18 +39,18 @@ export function getGlobalObject() {
|
|
|
39
39
|
if (typeof globalThis === 'object') {
|
|
40
40
|
return globalThis
|
|
41
41
|
}
|
|
42
|
-
Object.defineProperty(Object.prototype, '
|
|
42
|
+
Object.defineProperty(Object.prototype, '_gc_temp_', {
|
|
43
43
|
get: function () {
|
|
44
44
|
return this
|
|
45
45
|
},
|
|
46
46
|
configurable: true
|
|
47
47
|
})
|
|
48
48
|
// @ts-ignore
|
|
49
|
-
var globalObject =
|
|
49
|
+
var globalObject = _gc_temp_
|
|
50
50
|
// @ts-ignore
|
|
51
|
-
delete Object.prototype.
|
|
51
|
+
delete Object.prototype._gc_temp_
|
|
52
52
|
if (typeof globalObject !== 'object') {
|
|
53
|
-
// on safari
|
|
53
|
+
// on safari _gc_temp_ is available on window but not globally
|
|
54
54
|
// fallback on other browser globals check
|
|
55
55
|
if (typeof self === 'object') {
|
|
56
56
|
globalObject = self
|
package/src/tracekit/tracekit.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { instrumentMethodAndCallOriginal } from '../helper/instrumentMethod'
|
|
2
|
+
import { isNullUndefinedDefaultValue } from '../helper/tools'
|
|
2
3
|
import { computeStackTrace } from './computeStackTrace'
|
|
3
4
|
|
|
4
5
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types
|
|
5
6
|
var ERROR_TYPES_RE =
|
|
6
|
-
/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(
|
|
7
|
-
|
|
7
|
+
/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\s\S]*)$/
|
|
8
8
|
/**
|
|
9
9
|
* Cross-browser collection of unhandled errors
|
|
10
10
|
*
|
|
@@ -41,10 +41,10 @@ export function startUnhandledErrorCollection(callback) {
|
|
|
41
41
|
var _instrumentOnError = instrumentOnError(callback)
|
|
42
42
|
var _instrumentUnhandledRejection = instrumentUnhandledRejection(callback)
|
|
43
43
|
return {
|
|
44
|
-
stop: function() {
|
|
44
|
+
stop: function () {
|
|
45
45
|
_instrumentOnError.stop()
|
|
46
46
|
_instrumentUnhandledRejection.stop()
|
|
47
|
-
}
|
|
47
|
+
}
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -53,48 +53,49 @@ export function startUnhandledErrorCollection(callback) {
|
|
|
53
53
|
*/
|
|
54
54
|
function instrumentOnError(callback) {
|
|
55
55
|
return instrumentMethodAndCallOriginal(window, 'onerror', {
|
|
56
|
-
before: function(
|
|
57
|
-
var
|
|
58
|
-
if (errorObj) {
|
|
59
|
-
|
|
60
|
-
callback(stack, errorObj)
|
|
56
|
+
before: function (messageObj, url, line, column, errorObj) {
|
|
57
|
+
var stackTrace
|
|
58
|
+
if (errorObj instanceof Error) {
|
|
59
|
+
stackTrace = computeStackTrace(errorObj)
|
|
61
60
|
} else {
|
|
62
61
|
var location = {
|
|
63
62
|
url: url,
|
|
64
|
-
column:
|
|
65
|
-
line:
|
|
66
|
-
}
|
|
67
|
-
var name
|
|
68
|
-
var msg = message
|
|
69
|
-
if ({}.toString.call(message) === '[object String]') {
|
|
70
|
-
var groups = ERROR_TYPES_RE.exec(msg)
|
|
71
|
-
if (groups) {
|
|
72
|
-
name = groups[1]
|
|
73
|
-
msg = groups[2]
|
|
74
|
-
}
|
|
63
|
+
column: column,
|
|
64
|
+
line: line
|
|
75
65
|
}
|
|
66
|
+
var parse = tryToParseMessage(messageObj)
|
|
76
67
|
|
|
77
|
-
|
|
78
|
-
name: name,
|
|
79
|
-
message:
|
|
80
|
-
stack: [location]
|
|
68
|
+
stackTrace = {
|
|
69
|
+
name: parse.name,
|
|
70
|
+
message: parse.message,
|
|
71
|
+
stack: [location]
|
|
81
72
|
}
|
|
82
|
-
|
|
83
|
-
callback(stack, message)
|
|
84
73
|
}
|
|
85
|
-
|
|
74
|
+
callback(stackTrace, isNullUndefinedDefaultValue(errorObj, messageObj))
|
|
75
|
+
}
|
|
86
76
|
})
|
|
87
77
|
}
|
|
88
|
-
|
|
78
|
+
function tryToParseMessage(messageObj) {
|
|
79
|
+
let name
|
|
80
|
+
let message
|
|
81
|
+
if ({}.toString.call(messageObj) === '[object String]') {
|
|
82
|
+
var groups = ERROR_TYPES_RE.exec(messageObj)
|
|
83
|
+
if (groups) {
|
|
84
|
+
name = groups[1]
|
|
85
|
+
message = groups[2]
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return { name: name, message: message }
|
|
89
|
+
}
|
|
89
90
|
/**
|
|
90
91
|
* Install a global onunhandledrejection handler
|
|
91
92
|
*/
|
|
92
93
|
function instrumentUnhandledRejection(callback) {
|
|
93
94
|
return instrumentMethodAndCallOriginal(window, 'onunhandledrejection', {
|
|
94
|
-
before: function(e) {
|
|
95
|
+
before: function (e) {
|
|
95
96
|
var reason = e.reason || 'Empty reason'
|
|
96
97
|
var stack = computeStackTrace(reason)
|
|
97
98
|
callback(stack, reason)
|
|
98
|
-
}
|
|
99
|
+
}
|
|
99
100
|
})
|
|
100
101
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { getGlobalObject } from '../init'
|
|
2
|
+
|
|
3
|
+
function getEventBridgeGlobal() {
|
|
4
|
+
return getGlobalObject().FTWebViewJavascriptBridge
|
|
5
|
+
}
|
|
6
|
+
export function getEventBridge() {
|
|
7
|
+
var eventBridgeGlobal = getEventBridgeGlobal()
|
|
8
|
+
|
|
9
|
+
if (!eventBridgeGlobal) {
|
|
10
|
+
return
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return {
|
|
14
|
+
send(eventType, event) {
|
|
15
|
+
eventBridgeGlobal.sendEvent(
|
|
16
|
+
JSON.stringify({ name: eventType, data: event })
|
|
17
|
+
)
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function canUseEventBridge() {
|
|
22
|
+
var bridge = getEventBridge()
|
|
23
|
+
return !!bridge
|
|
24
|
+
}
|
package/src/transport/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { createHttpRequest } from './httpRequest'
|
|
2
|
-
export { Batch } from './batch'
|
|
2
|
+
export { Batch, processedMessageByDataMap } from './batch'
|
|
3
3
|
export { startBatchWithReplica } from './startBatchWithReplica'
|
|
4
4
|
export { createFlushController } from './flushController'
|
|
5
|
+
export { getEventBridge, canUseEventBridge } from './eventBridge'
|