@jsenv/core 36.2.1 → 36.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/babel_helpers/AsyncGenerator/AsyncGenerator.js +45 -35
- package/dist/babel_helpers/AwaitValue/AwaitValue.js +3 -3
- package/dist/babel_helpers/applyDecoratedDescriptor/applyDecoratedDescriptor.js +13 -13
- package/dist/babel_helpers/applyDecs/applyDecs.js +227 -42
- package/dist/babel_helpers/applyDecs2203/applyDecs2203.js +559 -418
- package/dist/babel_helpers/applyDecs2203R/applyDecs2203R.js +235 -87
- package/dist/babel_helpers/applyDecs2301/applyDecs2301.js +591 -456
- package/dist/babel_helpers/applyDecs2305/applyDecs2305.js +681 -0
- package/dist/babel_helpers/arrayLikeToArray/arrayLikeToArray.js +5 -5
- package/dist/babel_helpers/arrayWithHoles/arrayWithHoles.js +3 -3
- package/dist/babel_helpers/arrayWithoutHoles/arrayWithoutHoles.js +4 -4
- package/dist/babel_helpers/assertThisInitialized/assertThisInitialized.js +4 -4
- package/dist/babel_helpers/asyncGeneratorDelegate/asyncGeneratorDelegate.js +12 -4
- package/dist/babel_helpers/asyncIterator/asyncIterator.js +13 -11
- package/dist/babel_helpers/asyncToGenerator/asyncToGenerator.js +18 -17
- package/dist/babel_helpers/awaitAsyncGenerator/awaitAsyncGenerator.js +2 -1
- package/dist/babel_helpers/checkInRHS/checkInRHS.js +8 -5
- package/dist/babel_helpers/classApplyDescriptorDestructureSet/classApplyDescriptorDestructureSet.js +7 -7
- package/dist/babel_helpers/classApplyDescriptorGet/classApplyDescriptorGet.js +3 -3
- package/dist/babel_helpers/classApplyDescriptorSet/classApplyDescriptorSet.js +4 -4
- package/dist/babel_helpers/classCallCheck/classCallCheck.js +2 -2
- package/dist/babel_helpers/classCheckPrivateStaticAccess/classCheckPrivateStaticAccess.js +2 -2
- package/dist/babel_helpers/classCheckPrivateStaticFieldDescriptor/classCheckPrivateStaticFieldDescriptor.js +2 -2
- package/dist/babel_helpers/classExtractFieldDescriptor/classExtractFieldDescriptor.js +3 -3
- package/dist/babel_helpers/classNameTDZError/classNameTDZError.js +2 -2
- package/dist/babel_helpers/classPrivateFieldDestructureSet/classPrivateFieldDestructureSet.js +6 -5
- package/dist/babel_helpers/classPrivateFieldGet/classPrivateFieldGet.js +6 -5
- package/dist/babel_helpers/classPrivateFieldLooseBase/classPrivateFieldLooseBase.js +3 -3
- package/dist/babel_helpers/classPrivateFieldLooseKey/classPrivateFieldLooseKey.js +3 -3
- package/dist/babel_helpers/classPrivateFieldSet/classPrivateFieldSet.js +7 -6
- package/dist/babel_helpers/classPrivateMethodGet/classPrivateMethodGet.js +3 -3
- package/dist/babel_helpers/classPrivateMethodSet/classPrivateMethodSet.js +2 -2
- package/dist/babel_helpers/classStaticPrivateFieldSpecGet/classStaticPrivateFieldSpecGet.js +8 -7
- package/dist/babel_helpers/classStaticPrivateFieldSpecSet/classStaticPrivateFieldSpecSet.js +15 -9
- package/dist/babel_helpers/classStaticPrivateMethodGet/classStaticPrivateMethodGet.js +5 -4
- package/dist/babel_helpers/classStaticPrivateMethodSet/classStaticPrivateMethodSet.js +2 -2
- package/dist/babel_helpers/construct/construct.js +10 -9
- package/dist/babel_helpers/createClass/createClass.js +2 -3
- package/dist/babel_helpers/createForOfIteratorHelper/createForOfIteratorHelper.js +30 -29
- package/dist/babel_helpers/createForOfIteratorHelperLoose/createForOfIteratorHelperLoose.js +18 -16
- package/dist/babel_helpers/createRawReactElement/createRawReactElement.js +23 -17
- package/dist/babel_helpers/createSuper/createSuper.js +14 -12
- package/dist/babel_helpers/decorate/decorate.js +242 -210
- package/dist/babel_helpers/defaults/defaults.js +6 -6
- package/dist/babel_helpers/defineAccessor/defineAccessor.js +1 -4
- package/dist/babel_helpers/defineEnumerableProperties/defineEnumerableProperties.js +12 -12
- package/dist/babel_helpers/defineProperty/defineProperty.js +7 -6
- package/dist/babel_helpers/extends/extends.js +5 -4
- package/dist/babel_helpers/get/get.js +2 -1
- package/dist/babel_helpers/getPrototypeOf/getPrototypeOf.js +4 -3
- package/dist/babel_helpers/inherits/inherits.js +3 -4
- package/dist/babel_helpers/inheritsLoose/inheritsLoose.js +6 -5
- package/dist/babel_helpers/initializerDefineProperty/initializerDefineProperty.js +4 -4
- package/dist/babel_helpers/initializerWarningHelper/initializerWarningHelper.js +5 -2
- package/dist/babel_helpers/instanceof/instanceof.js +3 -3
- package/dist/babel_helpers/interopRequireDefault/interopRequireDefault.js +2 -4
- package/dist/babel_helpers/interopRequireWildcard/interopRequireWildcard.js +19 -21
- package/dist/babel_helpers/isNativeFunction/isNativeFunction.js +2 -2
- package/dist/babel_helpers/isNativeReflectConstruct/isNativeReflectConstruct.js +7 -7
- package/dist/babel_helpers/iterableToArray/iterableToArray.js +6 -2
- package/dist/babel_helpers/iterableToArrayLimit/iterableToArrayLimit.js +6 -1
- package/dist/babel_helpers/iterableToArrayLimitLoose/iterableToArrayLimitLoose.js +6 -2
- package/dist/babel_helpers/jsx/jsx.js +14 -7
- package/dist/babel_helpers/maybeArrayLike/maybeArrayLike.js +6 -5
- package/dist/babel_helpers/newArrowCheck/newArrowCheck.js +2 -2
- package/dist/babel_helpers/nonIterableRest/nonIterableRest.js +5 -3
- package/dist/babel_helpers/nonIterableSpread/nonIterableSpread.js +5 -3
- package/dist/babel_helpers/objectDestructuringEmpty/objectDestructuringEmpty.js +2 -2
- package/dist/babel_helpers/objectSpread/objectSpread.js +15 -12
- package/dist/babel_helpers/objectSpread2/objectSpread2.js +7 -2
- package/dist/babel_helpers/objectWithoutProperties/objectWithoutProperties.js +15 -13
- package/dist/babel_helpers/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js +11 -11
- package/dist/babel_helpers/possibleConstructorReturn/possibleConstructorReturn.js +7 -6
- package/dist/babel_helpers/readOnlyError/readOnlyError.js +2 -2
- package/dist/babel_helpers/regeneratorRuntime/regeneratorRuntime.js +124 -73
- package/dist/babel_helpers/set/set.js +23 -20
- package/dist/babel_helpers/setPrototypeOf/setPrototypeOf.js +6 -5
- package/dist/babel_helpers/skipFirstGeneratorNext/skipFirstGeneratorNext.js +5 -5
- package/dist/babel_helpers/slicedToArray/slicedToArray.js +10 -5
- package/dist/babel_helpers/slicedToArrayLoose/slicedToArrayLoose.js +12 -6
- package/dist/babel_helpers/superPropBase/superPropBase.js +6 -5
- package/dist/babel_helpers/taggedTemplateLiteral/taggedTemplateLiteral.js +7 -7
- package/dist/babel_helpers/taggedTemplateLiteralLoose/taggedTemplateLiteralLoose.js +4 -4
- package/dist/babel_helpers/tdz/tdz.js +2 -2
- package/dist/babel_helpers/temporalRef/temporalRef.js +5 -4
- package/dist/babel_helpers/temporalUndefined/temporalUndefined.js +1 -1
- package/dist/babel_helpers/toArray/toArray.js +10 -5
- package/dist/babel_helpers/toConsumableArray/toConsumableArray.js +10 -5
- package/dist/babel_helpers/toPrimitive/toPrimitive.js +7 -7
- package/dist/babel_helpers/toPropertyKey/toPropertyKey.js +5 -4
- package/dist/babel_helpers/typeof/typeof.js +14 -5
- package/dist/babel_helpers/unsupportedIterableToArray/unsupportedIterableToArray.js +10 -8
- package/dist/babel_helpers/wrapAsyncGenerator/wrapAsyncGenerator.js +5 -4
- package/dist/babel_helpers/wrapNativeSuper/wrapNativeSuper.js +17 -15
- package/dist/babel_helpers/wrapRegExp/wrapRegExp.js +19 -8
- package/dist/babel_helpers/writeOnlyError/writeOnlyError.js +2 -2
- package/dist/js/autoreload.js +148 -133
- package/dist/js/import_meta_hot.js +19 -13
- package/dist/js/inline_content.js +1 -3
- package/dist/js/new_stylesheet.js +119 -60
- package/dist/js/regenerator_runtime.js +204 -102
- package/dist/js/ribbon.js +11 -6
- package/dist/js/server_events_client.js +122 -98
- package/dist/js/ws.js +968 -265
- package/dist/jsenv_core.js +8513 -6162
- package/package.json +9 -9
- package/src/build/build.js +497 -486
- package/src/build/version_mappings_injection.js +21 -44
- package/src/kitchen/errors.js +2 -2
- package/src/kitchen/fetched_content_compliance.js +6 -2
- package/src/kitchen/kitchen.js +285 -80
- package/src/kitchen/prepend_content.js +135 -0
- package/src/kitchen/url_graph/url_graph_visitor.js +99 -0
- package/src/kitchen/url_graph/url_info_transformations.js +140 -21
- package/src/kitchen/url_graph.js +59 -29
- package/src/plugins/autoreload/jsenv_plugin_hmr.js +1 -2
- package/src/plugins/import_meta_hot/jsenv_plugin_import_meta_hot.js +2 -2
- package/src/plugins/importmap/jsenv_plugin_importmap.js +2 -2
- package/src/plugins/inlining/jsenv_plugin_inlining_as_data_url.js +1 -1
- package/src/plugins/reference_analysis/html/jsenv_plugin_html_reference_analysis.js +44 -23
- package/src/plugins/reference_analysis/js/jsenv_plugin_js_reference_analysis.js +2 -1
- package/dist/js/global_this_js_classic.js +0 -24
- package/dist/js/global_this_js_module.js +0 -20
- package/src/build/graph_utils.js +0 -34
package/dist/js/ribbon.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
const injectRibbon = ({
|
|
2
|
-
|
|
3
|
-
}) => {
|
|
4
|
-
const css = /* css */`
|
|
1
|
+
const injectRibbon = ({ text }) => {
|
|
2
|
+
const css = /* css */ `
|
|
5
3
|
#jsenv_ribbon_container {
|
|
6
4
|
position: absolute;
|
|
7
5
|
z-index: 1001;
|
|
@@ -39,15 +37,22 @@ const injectRibbon = ({
|
|
|
39
37
|
user-select: none;
|
|
40
38
|
}
|
|
41
39
|
`;
|
|
42
|
-
|
|
40
|
+
|
|
41
|
+
const html = /* html */ `<div id="jsenv_ribbon_container">
|
|
43
42
|
<style>${css}</style>
|
|
44
43
|
<div id="jsenv_ribbon">
|
|
45
44
|
<div id="jsenv_ribbon_text">${text}</div>
|
|
46
45
|
</div>
|
|
47
46
|
</div>`;
|
|
47
|
+
|
|
48
48
|
const node = document.createElement("div");
|
|
49
49
|
node.innerHTML = html;
|
|
50
|
-
|
|
50
|
+
|
|
51
|
+
const toolbarStateInLocalStorage = localStorage.hasOwnProperty(
|
|
52
|
+
"jsenv_toolbar",
|
|
53
|
+
)
|
|
54
|
+
? JSON.parse(localStorage.getItem("jsenv_toolbar"))
|
|
55
|
+
: {};
|
|
51
56
|
if (toolbarStateInLocalStorage.ribbonDisplayed === false) {
|
|
52
57
|
node.querySelector("#jsenv_ribbon_container").style.display = "none";
|
|
53
58
|
}
|
|
@@ -2,30 +2,34 @@ const READY_STATES = {
|
|
|
2
2
|
CONNECTING: "connecting",
|
|
3
3
|
OPEN: "open",
|
|
4
4
|
CLOSING: "closing",
|
|
5
|
-
CLOSED: "closed"
|
|
5
|
+
CLOSED: "closed",
|
|
6
6
|
};
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
retryMaxAttempt,
|
|
11
|
-
|
|
12
|
-
}) => {
|
|
7
|
+
|
|
8
|
+
const createConnectionManager = (
|
|
9
|
+
attemptConnection,
|
|
10
|
+
{ retry, retryAfter, retryMaxAttempt, retryAllocatedMs },
|
|
11
|
+
) => {
|
|
13
12
|
const readyState = {
|
|
14
13
|
value: READY_STATES.CLOSED,
|
|
15
|
-
goTo: value => {
|
|
14
|
+
goTo: (value) => {
|
|
16
15
|
if (value === readyState.value) {
|
|
17
16
|
return;
|
|
18
17
|
}
|
|
19
18
|
readyState.value = value;
|
|
20
19
|
readyState.onchange();
|
|
21
20
|
},
|
|
22
|
-
onchange: () => {}
|
|
21
|
+
onchange: () => {},
|
|
23
22
|
};
|
|
23
|
+
|
|
24
24
|
let _disconnect = () => {};
|
|
25
25
|
const connect = () => {
|
|
26
|
-
if (
|
|
26
|
+
if (
|
|
27
|
+
readyState.value === READY_STATES.CONNECTING ||
|
|
28
|
+
readyState.value === READY_STATES.OPEN
|
|
29
|
+
) {
|
|
27
30
|
return;
|
|
28
31
|
}
|
|
32
|
+
|
|
29
33
|
let retryCount = 0;
|
|
30
34
|
let msSpent = 0;
|
|
31
35
|
const attempt = () => {
|
|
@@ -40,12 +44,16 @@ const createConnectionManager = (attemptConnection, {
|
|
|
40
44
|
}
|
|
41
45
|
if (retryCount > retryMaxAttempt) {
|
|
42
46
|
readyState.goTo(READY_STATES.CLOSED);
|
|
43
|
-
console.info(
|
|
47
|
+
console.info(
|
|
48
|
+
`[jsenv] could not connect to server after ${retryMaxAttempt} attempt`,
|
|
49
|
+
);
|
|
44
50
|
return;
|
|
45
51
|
}
|
|
46
52
|
if (retryAllocatedMs && msSpent > retryAllocatedMs) {
|
|
47
53
|
readyState.goTo(READY_STATES.CLOSED);
|
|
48
|
-
console.info(
|
|
54
|
+
console.info(
|
|
55
|
+
`[jsenv] could not connect to server in less than ${retryAllocatedMs}ms`,
|
|
56
|
+
);
|
|
49
57
|
return;
|
|
50
58
|
}
|
|
51
59
|
// if closed while open -> connection lost
|
|
@@ -63,9 +71,8 @@ const createConnectionManager = (attemptConnection, {
|
|
|
63
71
|
onOpen: () => {
|
|
64
72
|
readyState.goTo(READY_STATES.OPEN);
|
|
65
73
|
// console.info(`[jsenv] connected to server`)
|
|
66
|
-
}
|
|
74
|
+
},
|
|
67
75
|
});
|
|
68
|
-
|
|
69
76
|
_disconnect = () => {
|
|
70
77
|
cancelAttempt();
|
|
71
78
|
clearTimeout(timeout);
|
|
@@ -74,18 +81,29 @@ const createConnectionManager = (attemptConnection, {
|
|
|
74
81
|
};
|
|
75
82
|
attempt();
|
|
76
83
|
};
|
|
84
|
+
|
|
77
85
|
const disconnect = () => {
|
|
78
|
-
if (
|
|
79
|
-
|
|
86
|
+
if (
|
|
87
|
+
readyState.value !== READY_STATES.CONNECTING &&
|
|
88
|
+
readyState.value !== READY_STATES.OPEN
|
|
89
|
+
) {
|
|
90
|
+
console.warn(
|
|
91
|
+
`disconnect() ignored because connection is ${readyState.value}`,
|
|
92
|
+
);
|
|
80
93
|
return null;
|
|
81
94
|
}
|
|
82
95
|
return _disconnect();
|
|
83
96
|
};
|
|
97
|
+
|
|
84
98
|
const removePageUnloadListener = listenPageUnload(() => {
|
|
85
|
-
if (
|
|
99
|
+
if (
|
|
100
|
+
readyState.value === READY_STATES.CONNECTING ||
|
|
101
|
+
readyState.value === READY_STATES.OPEN
|
|
102
|
+
) {
|
|
86
103
|
_disconnect();
|
|
87
104
|
}
|
|
88
105
|
});
|
|
106
|
+
|
|
89
107
|
return {
|
|
90
108
|
readyState,
|
|
91
109
|
connect,
|
|
@@ -93,7 +111,7 @@ const createConnectionManager = (attemptConnection, {
|
|
|
93
111
|
destroy: () => {
|
|
94
112
|
removePageUnloadListener();
|
|
95
113
|
disconnect();
|
|
96
|
-
}
|
|
114
|
+
},
|
|
97
115
|
};
|
|
98
116
|
};
|
|
99
117
|
|
|
@@ -131,14 +149,19 @@ const createConnectionManager = (attemptConnection, {
|
|
|
131
149
|
// }
|
|
132
150
|
// }
|
|
133
151
|
|
|
134
|
-
const listenPageUnload = callback => {
|
|
135
|
-
const removePageHideListener = listenEvent(
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
152
|
+
const listenPageUnload = (callback) => {
|
|
153
|
+
const removePageHideListener = listenEvent(
|
|
154
|
+
window,
|
|
155
|
+
"pagehide",
|
|
156
|
+
(pageHideEvent) => {
|
|
157
|
+
if (pageHideEvent.persisted !== true) {
|
|
158
|
+
callback(pageHideEvent);
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
);
|
|
140
162
|
return removePageHideListener;
|
|
141
163
|
};
|
|
164
|
+
|
|
142
165
|
const listenEvent = (emitter, event, callback) => {
|
|
143
166
|
emitter.addEventListener(event, callback);
|
|
144
167
|
return () => {
|
|
@@ -146,14 +169,12 @@ const listenEvent = (emitter, event, callback) => {
|
|
|
146
169
|
};
|
|
147
170
|
};
|
|
148
171
|
|
|
149
|
-
const createEventsManager = ({
|
|
150
|
-
effect = () => {}
|
|
151
|
-
} = {}) => {
|
|
172
|
+
const createEventsManager = ({ effect = () => {} } = {}) => {
|
|
152
173
|
const callbacksMap = new Map();
|
|
153
174
|
let cleanup;
|
|
154
|
-
const addCallbacks = namedCallbacks => {
|
|
175
|
+
const addCallbacks = (namedCallbacks) => {
|
|
155
176
|
let callbacksMapSize = callbacksMap.size;
|
|
156
|
-
Object.keys(namedCallbacks).forEach(eventName => {
|
|
177
|
+
Object.keys(namedCallbacks).forEach((eventName) => {
|
|
157
178
|
const callback = namedCallbacks[eventName];
|
|
158
179
|
const existingCallbacks = callbacksMap.get(eventName);
|
|
159
180
|
let callbacks;
|
|
@@ -168,12 +189,13 @@ const createEventsManager = ({
|
|
|
168
189
|
if (effect && callbacksMapSize === 0 && callbacksMapSize.size > 0) {
|
|
169
190
|
cleanup = effect();
|
|
170
191
|
}
|
|
192
|
+
|
|
171
193
|
let removed = false;
|
|
172
194
|
return () => {
|
|
173
195
|
if (removed) return;
|
|
174
196
|
removed = true;
|
|
175
197
|
callbacksMapSize = callbacksMap.size;
|
|
176
|
-
Object.keys(namedCallbacks).forEach(eventName => {
|
|
198
|
+
Object.keys(namedCallbacks).forEach((eventName) => {
|
|
177
199
|
const callback = namedCallbacks[eventName];
|
|
178
200
|
const callbacks = callbacksMap.get(eventName);
|
|
179
201
|
if (callbacks) {
|
|
@@ -187,20 +209,27 @@ const createEventsManager = ({
|
|
|
187
209
|
}
|
|
188
210
|
});
|
|
189
211
|
namedCallbacks = null; // allow garbage collect
|
|
190
|
-
if (
|
|
212
|
+
if (
|
|
213
|
+
cleanup &&
|
|
214
|
+
typeof cleanup === "function" &&
|
|
215
|
+
callbacksMapSize > 0 &&
|
|
216
|
+
callbacksMapSize.size === 0
|
|
217
|
+
) {
|
|
191
218
|
cleanup();
|
|
192
219
|
cleanup = null;
|
|
193
220
|
}
|
|
194
221
|
};
|
|
195
222
|
};
|
|
196
|
-
|
|
223
|
+
|
|
224
|
+
const triggerCallbacks = (event) => {
|
|
197
225
|
const callbacks = callbacksMap.get(event.type);
|
|
198
226
|
if (callbacks) {
|
|
199
|
-
callbacks.forEach(callback => {
|
|
227
|
+
callbacks.forEach((callback) => {
|
|
200
228
|
callback(event);
|
|
201
229
|
});
|
|
202
230
|
}
|
|
203
231
|
};
|
|
232
|
+
|
|
204
233
|
const destroy = () => {
|
|
205
234
|
callbacksMap.clear();
|
|
206
235
|
if (cleanup) {
|
|
@@ -208,68 +237,67 @@ const createEventsManager = ({
|
|
|
208
237
|
cleanup = null;
|
|
209
238
|
}
|
|
210
239
|
};
|
|
240
|
+
|
|
211
241
|
return {
|
|
212
242
|
addCallbacks,
|
|
213
243
|
triggerCallbacks,
|
|
214
|
-
destroy
|
|
244
|
+
destroy,
|
|
215
245
|
};
|
|
216
246
|
};
|
|
217
247
|
|
|
218
|
-
const createWebSocketConnection = (
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
socket
|
|
248
|
+
const createWebSocketConnection = (
|
|
249
|
+
websocketUrl,
|
|
250
|
+
{
|
|
251
|
+
protocols = ["jsenv"],
|
|
252
|
+
useEventsToManageConnection = true,
|
|
253
|
+
retry = false,
|
|
254
|
+
retryAfter = 1000,
|
|
255
|
+
retryMaxAttempt = Infinity,
|
|
256
|
+
retryAllocatedMs = Infinity,
|
|
257
|
+
} = {},
|
|
258
|
+
) => {
|
|
259
|
+
const connectionManager = createConnectionManager(
|
|
260
|
+
({ onClosed, onOpen }) => {
|
|
261
|
+
let socket = new WebSocket(websocketUrl, protocols);
|
|
262
|
+
let interval;
|
|
263
|
+
const cleanup = () => {
|
|
264
|
+
if (socket) {
|
|
265
|
+
socket.onerror = null;
|
|
266
|
+
socket.onopen = null;
|
|
267
|
+
socket.onclose = null;
|
|
268
|
+
socket.onmessage = null;
|
|
269
|
+
socket = null;
|
|
270
|
+
clearInterval(interval);
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
socket.onerror = () => {
|
|
274
|
+
cleanup();
|
|
275
|
+
onClosed();
|
|
276
|
+
};
|
|
277
|
+
socket.onopen = () => {
|
|
235
278
|
socket.onopen = null;
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
socket.onerror = () => {
|
|
243
|
-
cleanup();
|
|
244
|
-
onClosed();
|
|
245
|
-
};
|
|
246
|
-
socket.onopen = () => {
|
|
247
|
-
socket.onopen = null;
|
|
248
|
-
onOpen();
|
|
249
|
-
interval = setInterval(() => {
|
|
250
|
-
socket.send('{"type":"ping"}');
|
|
251
|
-
}, 30_000);
|
|
252
|
-
};
|
|
253
|
-
socket.onclose = () => {
|
|
254
|
-
cleanup();
|
|
255
|
-
onClosed();
|
|
256
|
-
};
|
|
257
|
-
socket.onmessage = messageEvent => {
|
|
258
|
-
const event = JSON.parse(messageEvent.data);
|
|
259
|
-
eventsManager.triggerCallbacks(event);
|
|
260
|
-
};
|
|
261
|
-
return () => {
|
|
262
|
-
if (socket) {
|
|
263
|
-
socket.close();
|
|
279
|
+
onOpen();
|
|
280
|
+
interval = setInterval(() => {
|
|
281
|
+
socket.send('{"type":"ping"}');
|
|
282
|
+
}, 30_000);
|
|
283
|
+
};
|
|
284
|
+
socket.onclose = () => {
|
|
264
285
|
cleanup();
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
286
|
+
onClosed();
|
|
287
|
+
};
|
|
288
|
+
socket.onmessage = (messageEvent) => {
|
|
289
|
+
const event = JSON.parse(messageEvent.data);
|
|
290
|
+
eventsManager.triggerCallbacks(event);
|
|
291
|
+
};
|
|
292
|
+
return () => {
|
|
293
|
+
if (socket) {
|
|
294
|
+
socket.close();
|
|
295
|
+
cleanup();
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
},
|
|
299
|
+
{ retry, retryAfter, retryMaxAttempt, retryAllocatedMs },
|
|
300
|
+
);
|
|
273
301
|
const eventsManager = createEventsManager({
|
|
274
302
|
effect: () => {
|
|
275
303
|
if (useEventsToManageConnection) {
|
|
@@ -279,19 +307,20 @@ const createWebSocketConnection = (websocketUrl, {
|
|
|
279
307
|
};
|
|
280
308
|
}
|
|
281
309
|
return null;
|
|
282
|
-
}
|
|
310
|
+
},
|
|
283
311
|
});
|
|
312
|
+
|
|
284
313
|
return {
|
|
285
314
|
readyState: connectionManager.readyState,
|
|
286
315
|
connect: connectionManager.connect,
|
|
287
316
|
disconnect: connectionManager.disconnect,
|
|
288
|
-
listenEvents: namedCallbacks => {
|
|
317
|
+
listenEvents: (namedCallbacks) => {
|
|
289
318
|
return eventsManager.addCallbacks(namedCallbacks);
|
|
290
319
|
},
|
|
291
320
|
destroy: () => {
|
|
292
321
|
connectionManager.destroy();
|
|
293
322
|
eventsManager.destroy();
|
|
294
|
-
}
|
|
323
|
+
},
|
|
295
324
|
};
|
|
296
325
|
};
|
|
297
326
|
|
|
@@ -299,18 +328,13 @@ const websocketScheme = self.location.protocol === "https:" ? "wss" : "ws";
|
|
|
299
328
|
const websocketUrl = `${websocketScheme}://${self.location.host}${self.location.pathname}${self.location.search}`;
|
|
300
329
|
const websocketConnection = createWebSocketConnection(websocketUrl, {
|
|
301
330
|
retry: true,
|
|
302
|
-
retryAllocatedMs: 10_000
|
|
331
|
+
retryAllocatedMs: 10_000,
|
|
303
332
|
});
|
|
304
|
-
const {
|
|
305
|
-
readyState,
|
|
306
|
-
connect,
|
|
307
|
-
disconnect,
|
|
308
|
-
listenEvents
|
|
309
|
-
} = websocketConnection;
|
|
333
|
+
const { readyState, connect, disconnect, listenEvents } = websocketConnection;
|
|
310
334
|
window.__server_events__ = {
|
|
311
335
|
readyState,
|
|
312
336
|
connect,
|
|
313
337
|
disconnect,
|
|
314
|
-
listenEvents
|
|
338
|
+
listenEvents,
|
|
315
339
|
};
|
|
316
340
|
connect();
|