@opensumi/ide-connection 2.27.3-rc-1706857131.0 → 2.27.3-rc-1708222409.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/lib/browser/ws-channel-handler.d.ts.map +1 -1
- package/lib/browser/ws-channel-handler.js +2 -6
- package/lib/browser/ws-channel-handler.js.map +1 -1
- package/lib/common/{connection → buffers}/buffers.d.ts +2 -1
- package/lib/common/buffers/buffers.d.ts.map +1 -0
- package/lib/common/{connection → buffers}/buffers.js +21 -3
- package/lib/common/buffers/buffers.js.map +1 -0
- package/lib/common/connection/drivers/base.d.ts +2 -2
- package/lib/common/connection/drivers/base.d.ts.map +1 -1
- package/lib/common/connection/drivers/base.js +0 -4
- package/lib/common/connection/drivers/base.js.map +1 -1
- package/lib/common/connection/drivers/frame-decoder.d.ts +34 -0
- package/lib/common/connection/drivers/frame-decoder.d.ts.map +1 -0
- package/lib/common/connection/drivers/frame-decoder.js +147 -0
- package/lib/common/connection/drivers/frame-decoder.js.map +1 -0
- package/lib/common/connection/drivers/{empty.d.ts → message-port.d.ts} +5 -2
- package/lib/common/connection/drivers/message-port.d.ts.map +1 -0
- package/lib/common/connection/drivers/message-port.js +41 -0
- package/lib/common/connection/drivers/message-port.js.map +1 -0
- package/lib/common/connection/drivers/node-message-port.d.ts +1 -0
- package/lib/common/connection/drivers/node-message-port.d.ts.map +1 -1
- package/lib/common/connection/drivers/node-message-port.js +3 -0
- package/lib/common/connection/drivers/node-message-port.js.map +1 -1
- package/lib/common/connection/drivers/reconnecting-websocket.d.ts +1 -0
- package/lib/common/connection/drivers/reconnecting-websocket.d.ts.map +1 -1
- package/lib/common/connection/drivers/reconnecting-websocket.js +3 -0
- package/lib/common/connection/drivers/reconnecting-websocket.js.map +1 -1
- package/lib/common/connection/drivers/simple.d.ts +17 -0
- package/lib/common/connection/drivers/simple.d.ts.map +1 -0
- package/lib/common/connection/drivers/simple.js +32 -0
- package/lib/common/connection/drivers/simple.js.map +1 -0
- package/lib/common/connection/drivers/socket.d.ts +4 -2
- package/lib/common/connection/drivers/socket.d.ts.map +1 -1
- package/lib/common/connection/drivers/socket.js +10 -7
- package/lib/common/connection/drivers/socket.js.map +1 -1
- package/lib/common/connection/drivers/ws-websocket.d.ts +2 -0
- package/lib/common/connection/drivers/ws-websocket.d.ts.map +1 -1
- package/lib/common/connection/drivers/ws-websocket.js +6 -0
- package/lib/common/connection/drivers/ws-websocket.js.map +1 -1
- package/lib/common/connection/types.d.ts +1 -1
- package/lib/common/connection/types.d.ts.map +1 -1
- package/lib/common/ext-rpc-protocol.d.ts +7 -21
- package/lib/common/ext-rpc-protocol.d.ts.map +1 -1
- package/lib/common/ext-rpc-protocol.js +13 -33
- package/lib/common/ext-rpc-protocol.js.map +1 -1
- package/lib/common/fury-extends/any.d.ts +22 -0
- package/lib/common/fury-extends/any.d.ts.map +1 -0
- package/lib/common/fury-extends/any.js +143 -0
- package/lib/common/fury-extends/any.js.map +1 -0
- package/lib/common/fury-extends/one-of.d.ts +14 -0
- package/lib/common/fury-extends/one-of.d.ts.map +1 -0
- package/lib/common/fury-extends/one-of.js +50 -0
- package/lib/common/fury-extends/one-of.js.map +1 -0
- package/lib/common/fury-extends/shared.d.ts +142 -0
- package/lib/common/fury-extends/shared.d.ts.map +1 -0
- package/lib/common/fury-extends/shared.js +17 -0
- package/lib/common/fury-extends/shared.js.map +1 -0
- package/lib/common/index.d.ts +2 -1
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +2 -1
- package/lib/common/index.js.map +1 -1
- package/lib/common/protocols/common-server.d.ts +3 -0
- package/lib/common/protocols/common-server.d.ts.map +1 -0
- package/lib/common/protocols/common-server.js +18 -0
- package/lib/common/protocols/common-server.js.map +1 -0
- package/lib/common/protocols/common.d.ts +24 -0
- package/lib/common/protocols/common.d.ts.map +1 -0
- package/lib/common/protocols/common.js +12 -0
- package/lib/common/protocols/common.js.map +1 -0
- package/lib/common/rpc/connection.d.ts +44 -0
- package/lib/common/rpc/connection.d.ts.map +1 -0
- package/lib/common/rpc/connection.js +256 -0
- package/lib/common/rpc/connection.js.map +1 -0
- package/lib/common/rpc/errors.d.ts +4 -0
- package/lib/common/rpc/errors.d.ts.map +1 -0
- package/lib/common/rpc/errors.js +10 -0
- package/lib/common/rpc/errors.js.map +1 -0
- package/lib/common/rpc/index.d.ts +3 -0
- package/lib/common/rpc/index.d.ts.map +1 -0
- package/lib/common/rpc/index.js +6 -0
- package/lib/common/rpc/index.js.map +1 -0
- package/lib/common/rpc/multiplexer.d.ts +28 -0
- package/lib/common/rpc/multiplexer.d.ts.map +1 -0
- package/lib/common/rpc/multiplexer.js +82 -0
- package/lib/common/rpc/multiplexer.js.map +1 -0
- package/lib/common/rpc/packet.d.ts +65 -0
- package/lib/common/rpc/packet.d.ts.map +1 -0
- package/lib/common/rpc/packet.js +82 -0
- package/lib/common/rpc/packet.js.map +1 -0
- package/lib/common/rpc/protocol-repository.d.ts +32 -0
- package/lib/common/rpc/protocol-repository.d.ts.map +1 -0
- package/lib/common/rpc/protocol-repository.js +118 -0
- package/lib/common/rpc/protocol-repository.js.map +1 -0
- package/lib/common/rpc/types.d.ts +13 -0
- package/lib/common/rpc/types.d.ts.map +1 -0
- package/lib/common/rpc/types.js +3 -0
- package/lib/common/rpc/types.js.map +1 -0
- package/lib/common/rpc/utils.d.ts +2 -0
- package/lib/common/rpc/utils.d.ts.map +1 -0
- package/lib/common/rpc/utils.js +10 -0
- package/lib/common/rpc/utils.js.map +1 -0
- package/lib/common/rpc-service/center.d.ts +12 -5
- package/lib/common/rpc-service/center.d.ts.map +1 -1
- package/lib/common/rpc-service/center.js +47 -42
- package/lib/common/rpc-service/center.js.map +1 -1
- package/lib/common/rpc-service/index.d.ts +6 -0
- package/lib/common/rpc-service/index.d.ts.map +1 -1
- package/lib/common/rpc-service/index.js +7 -0
- package/lib/common/rpc-service/index.js.map +1 -1
- package/lib/common/rpc-service/proxy/base.d.ts +32 -0
- package/lib/common/rpc-service/proxy/base.d.ts.map +1 -0
- package/lib/common/rpc-service/proxy/base.js +93 -0
- package/lib/common/rpc-service/proxy/base.js.map +1 -0
- package/lib/common/rpc-service/proxy/index.d.ts +5 -0
- package/lib/common/rpc-service/proxy/index.d.ts.map +1 -0
- package/lib/common/rpc-service/proxy/index.js +8 -0
- package/lib/common/rpc-service/proxy/index.js.map +1 -0
- package/lib/common/rpc-service/proxy/invoker.d.ts +14 -0
- package/lib/common/rpc-service/proxy/invoker.d.ts.map +1 -0
- package/lib/common/rpc-service/proxy/invoker.js +34 -0
- package/lib/common/rpc-service/proxy/invoker.js.map +1 -0
- package/lib/common/{proxy → rpc-service/proxy}/legacy.d.ts +3 -7
- package/lib/common/rpc-service/proxy/legacy.d.ts.map +1 -0
- package/lib/common/rpc-service/proxy/legacy.js +136 -0
- package/lib/common/rpc-service/proxy/legacy.js.map +1 -0
- package/lib/common/rpc-service/proxy/registry.d.ts +18 -0
- package/lib/common/rpc-service/proxy/registry.d.ts.map +1 -0
- package/lib/common/rpc-service/proxy/registry.js +46 -0
- package/lib/common/rpc-service/proxy/registry.js.map +1 -0
- package/lib/common/rpc-service/proxy/sumi.d.ts +9 -0
- package/lib/common/rpc-service/proxy/sumi.d.ts.map +1 -0
- package/lib/common/rpc-service/proxy/sumi.js +86 -0
- package/lib/common/rpc-service/proxy/sumi.js.map +1 -0
- package/lib/common/rpc-service/stub.d.ts +0 -1
- package/lib/common/rpc-service/stub.d.ts.map +1 -1
- package/lib/common/rpc-service/stub.js +3 -11
- package/lib/common/rpc-service/stub.js.map +1 -1
- package/lib/common/types.d.ts +1 -1
- package/lib/common/types.d.ts.map +1 -1
- package/lib/common/ws-channel.d.ts +97 -32
- package/lib/common/ws-channel.d.ts.map +1 -1
- package/lib/common/ws-channel.js +75 -51
- package/lib/common/ws-channel.js.map +1 -1
- package/lib/node/common-channel-handler.js +1 -1
- package/lib/node/common-channel-handler.js.map +1 -1
- package/package.json +5 -5
- package/src/browser/ws-channel-handler.ts +2 -6
- package/src/common/{connection → buffers}/buffers.ts +24 -3
- package/src/common/connection/drivers/base.ts +2 -6
- package/src/common/connection/drivers/frame-decoder.ts +170 -0
- package/src/common/connection/drivers/message-port.ts +42 -0
- package/src/common/connection/drivers/node-message-port.ts +3 -0
- package/src/common/connection/drivers/reconnecting-websocket.ts +4 -0
- package/src/common/connection/drivers/simple.ts +33 -0
- package/src/common/connection/drivers/socket.ts +11 -7
- package/src/common/connection/drivers/ws-websocket.ts +8 -0
- package/src/common/connection/types.ts +1 -1
- package/src/common/ext-rpc-protocol.ts +16 -51
- package/src/common/fury-extends/any.ts +144 -0
- package/src/common/fury-extends/one-of.ts +61 -0
- package/src/common/fury-extends/shared.ts +15 -0
- package/src/common/index.ts +2 -1
- package/src/common/protocols/common-server.ts +18 -0
- package/src/common/protocols/common.ts +9 -0
- package/src/common/rpc/connection.ts +345 -0
- package/src/common/rpc/errors.ts +5 -0
- package/src/common/rpc/index.ts +2 -0
- package/src/common/rpc/multiplexer.ts +105 -0
- package/src/common/rpc/packet.ts +104 -0
- package/src/common/rpc/protocol-repository.ts +180 -0
- package/src/common/rpc/types.ts +23 -0
- package/src/common/rpc/utils.ts +5 -0
- package/src/common/rpc-service/center.ts +59 -49
- package/src/common/rpc-service/index.ts +9 -0
- package/src/common/rpc-service/proxy/base.ts +126 -0
- package/src/common/rpc-service/proxy/index.ts +4 -0
- package/src/common/rpc-service/proxy/invoker.ts +45 -0
- package/src/common/rpc-service/proxy/legacy.ts +150 -0
- package/src/common/rpc-service/proxy/registry.ts +56 -0
- package/src/common/rpc-service/proxy/sumi.ts +81 -0
- package/src/common/rpc-service/stub.ts +4 -11
- package/src/common/types.ts +1 -1
- package/src/common/ws-channel.ts +100 -61
- package/src/node/common-channel-handler.ts +1 -1
- package/lib/common/connection/buffers.d.ts.map +0 -1
- package/lib/common/connection/buffers.js.map +0 -1
- package/lib/common/connection/drivers/empty.d.ts.map +0 -1
- package/lib/common/connection/drivers/empty.js +0 -21
- package/lib/common/connection/drivers/empty.js.map +0 -1
- package/lib/common/connection/drivers/stream-decoder.d.ts +0 -67
- package/lib/common/connection/drivers/stream-decoder.d.ts.map +0 -1
- package/lib/common/connection/drivers/stream-decoder.js +0 -171
- package/lib/common/connection/drivers/stream-decoder.js.map +0 -1
- package/lib/common/proxy/base.d.ts +0 -22
- package/lib/common/proxy/base.d.ts.map +0 -1
- package/lib/common/proxy/base.js +0 -47
- package/lib/common/proxy/base.js.map +0 -1
- package/lib/common/proxy/index.d.ts +0 -8
- package/lib/common/proxy/index.d.ts.map +0 -1
- package/lib/common/proxy/index.js +0 -12
- package/lib/common/proxy/index.js.map +0 -1
- package/lib/common/proxy/legacy.d.ts.map +0 -1
- package/lib/common/proxy/legacy.js +0 -183
- package/lib/common/proxy/legacy.js.map +0 -1
- package/src/common/connection/drivers/empty.ts +0 -19
- package/src/common/connection/drivers/stream-decoder.ts +0 -196
- package/src/common/proxy/base.ts +0 -67
- package/src/common/proxy/index.ts +0 -10
- package/src/common/proxy/legacy.ts +0 -200
package/src/common/ws-channel.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type net from 'net';
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import { Type } from '@furyjs/fury';
|
|
4
4
|
import type WebSocket from 'ws';
|
|
5
5
|
|
|
6
6
|
import { EventEmitter } from '@opensumi/events';
|
|
@@ -8,17 +8,11 @@ import { DisposableCollection } from '@opensumi/ide-core-common';
|
|
|
8
8
|
|
|
9
9
|
import { NetSocketConnection, WSWebSocketConnection } from './connection';
|
|
10
10
|
import { IConnectionShape } from './connection/types';
|
|
11
|
+
import { oneOf } from './fury-extends/one-of';
|
|
11
12
|
import { createWebSocketConnection } from './message';
|
|
13
|
+
import { SumiConnection, ISumiConnectionOptions } from './rpc/connection';
|
|
12
14
|
import { ILogger } from './types';
|
|
13
15
|
|
|
14
|
-
export interface IWebSocket {
|
|
15
|
-
send(content: string): void;
|
|
16
|
-
close(...args: any[]): void;
|
|
17
|
-
onMessage(cb: (data: any) => void): void;
|
|
18
|
-
onError(cb: (reason: any) => void): void;
|
|
19
|
-
onClose(cb: (code: number, reason: string) => void): void;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
16
|
/**
|
|
23
17
|
* `ping` and `pong` are used to detect whether the connection is alive.
|
|
24
18
|
*/
|
|
@@ -68,6 +62,12 @@ export interface DataMessage {
|
|
|
68
62
|
content: string;
|
|
69
63
|
}
|
|
70
64
|
|
|
65
|
+
export interface BinaryMessage {
|
|
66
|
+
kind: 'binary';
|
|
67
|
+
id: string;
|
|
68
|
+
binary: Uint8Array;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
71
|
export interface CloseMessage {
|
|
72
72
|
kind: 'close';
|
|
73
73
|
id: string;
|
|
@@ -75,7 +75,14 @@ export interface CloseMessage {
|
|
|
75
75
|
reason: string;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
export type ChannelMessage =
|
|
78
|
+
export type ChannelMessage =
|
|
79
|
+
| PingMessage
|
|
80
|
+
| PongMessage
|
|
81
|
+
| OpenMessage
|
|
82
|
+
| ServerReadyMessage
|
|
83
|
+
| DataMessage
|
|
84
|
+
| BinaryMessage
|
|
85
|
+
| CloseMessage;
|
|
79
86
|
|
|
80
87
|
export interface IWSChannelCreateOptions {
|
|
81
88
|
/**
|
|
@@ -86,12 +93,13 @@ export interface IWSChannelCreateOptions {
|
|
|
86
93
|
logger?: ILogger;
|
|
87
94
|
}
|
|
88
95
|
|
|
89
|
-
export class WSChannel
|
|
96
|
+
export class WSChannel {
|
|
90
97
|
protected emitter = new EventEmitter<{
|
|
91
98
|
message: [data: string];
|
|
92
99
|
open: [id: string];
|
|
93
100
|
reopen: [];
|
|
94
101
|
close: [code?: number, reason?: string];
|
|
102
|
+
binary: [data: Uint8Array];
|
|
95
103
|
}>();
|
|
96
104
|
|
|
97
105
|
public id: string;
|
|
@@ -107,7 +115,7 @@ export class WSChannel implements IWebSocket {
|
|
|
107
115
|
|
|
108
116
|
disposable.push(
|
|
109
117
|
connection.onMessage((data) => {
|
|
110
|
-
channel.
|
|
118
|
+
channel.dispatchChannelMessage(parse(data));
|
|
111
119
|
}),
|
|
112
120
|
);
|
|
113
121
|
disposable.push(channel);
|
|
@@ -142,16 +150,19 @@ export class WSChannel implements IWebSocket {
|
|
|
142
150
|
this.LOG_TAG = `[WSChannel] [id:${id}]`;
|
|
143
151
|
}
|
|
144
152
|
|
|
145
|
-
// server
|
|
146
153
|
onMessage(cb: (data: string) => any) {
|
|
147
154
|
return this.emitter.on('message', cb);
|
|
148
155
|
}
|
|
156
|
+
onBinary(cb: (data: Uint8Array) => any) {
|
|
157
|
+
return this.emitter.on('binary', cb);
|
|
158
|
+
}
|
|
149
159
|
onOpen(cb: (id: string) => void) {
|
|
150
160
|
return this.emitter.on('open', cb);
|
|
151
161
|
}
|
|
152
162
|
onReopen(cb: () => void) {
|
|
153
163
|
return this.emitter.on('reopen', cb);
|
|
154
164
|
}
|
|
165
|
+
|
|
155
166
|
serverReady() {
|
|
156
167
|
this.connection.send(
|
|
157
168
|
stringify({
|
|
@@ -161,15 +172,20 @@ export class WSChannel implements IWebSocket {
|
|
|
161
172
|
);
|
|
162
173
|
}
|
|
163
174
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
175
|
+
dispatchChannelMessage(msg: ChannelMessage) {
|
|
176
|
+
switch (msg.kind) {
|
|
177
|
+
case 'server-ready':
|
|
178
|
+
this.emitter.emit('open', msg.id);
|
|
179
|
+
break;
|
|
180
|
+
case 'data':
|
|
181
|
+
this.emitter.emit('message', msg.content);
|
|
182
|
+
break;
|
|
183
|
+
case 'binary':
|
|
184
|
+
this.emitter.emit('binary', msg.binary);
|
|
185
|
+
break;
|
|
169
186
|
}
|
|
170
187
|
}
|
|
171
188
|
|
|
172
|
-
// client
|
|
173
189
|
open(path: string, clientId: string) {
|
|
174
190
|
this.channelPath = path;
|
|
175
191
|
this.connection.send(
|
|
@@ -181,6 +197,7 @@ export class WSChannel implements IWebSocket {
|
|
|
181
197
|
}),
|
|
182
198
|
);
|
|
183
199
|
}
|
|
200
|
+
|
|
184
201
|
send(content: string) {
|
|
185
202
|
this.connection.send(
|
|
186
203
|
stringify({
|
|
@@ -190,8 +207,15 @@ export class WSChannel implements IWebSocket {
|
|
|
190
207
|
}),
|
|
191
208
|
);
|
|
192
209
|
}
|
|
193
|
-
|
|
194
|
-
|
|
210
|
+
|
|
211
|
+
sendBinary(data: Uint8Array) {
|
|
212
|
+
this.connection.send(
|
|
213
|
+
stringify({
|
|
214
|
+
kind: 'binary',
|
|
215
|
+
id: this.id,
|
|
216
|
+
binary: data,
|
|
217
|
+
}),
|
|
218
|
+
);
|
|
195
219
|
}
|
|
196
220
|
onError() {}
|
|
197
221
|
close(code?: number, reason?: string) {
|
|
@@ -203,69 +227,84 @@ export class WSChannel implements IWebSocket {
|
|
|
203
227
|
onClose(cb: (code: number, reason: string) => void) {
|
|
204
228
|
return this.emitter.on('close', cb);
|
|
205
229
|
}
|
|
230
|
+
onceClose(cb: (code: number, reason: string) => void) {
|
|
231
|
+
return this.emitter.once('close', cb);
|
|
232
|
+
}
|
|
206
233
|
createMessageConnection() {
|
|
207
234
|
return createWebSocketConnection(this);
|
|
208
235
|
}
|
|
209
|
-
dispose() {
|
|
210
|
-
this.emitter.dispose();
|
|
211
|
-
}
|
|
212
236
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
this.
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
});
|
|
237
|
+
createConnection() {
|
|
238
|
+
return {
|
|
239
|
+
onceClose: (cb) => this.onceClose(cb),
|
|
240
|
+
onMessage: (cb) => this.onBinary(cb),
|
|
241
|
+
send: (data) => {
|
|
242
|
+
this.sendBinary(data);
|
|
243
|
+
},
|
|
244
|
+
dispose() {},
|
|
245
|
+
};
|
|
223
246
|
}
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
export type MessageString = string & {
|
|
227
|
-
origin?: any;
|
|
228
|
-
};
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* 路径信息 ${pre}-${index}
|
|
232
|
-
*/
|
|
233
|
-
export class ChildConnectPath {
|
|
234
|
-
public pathPre = 'child_connect-';
|
|
235
247
|
|
|
236
|
-
|
|
237
|
-
|
|
248
|
+
createSumiConnection(options: ISumiConnectionOptions = {}) {
|
|
249
|
+
const conn = new SumiConnection(this.createConnection(), options);
|
|
250
|
+
return conn;
|
|
238
251
|
}
|
|
239
252
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
return {
|
|
244
|
-
pre: list[0],
|
|
245
|
-
index: list[1],
|
|
246
|
-
clientId: list[2],
|
|
247
|
-
};
|
|
253
|
+
dispose() {
|
|
254
|
+
this.emitter.dispose();
|
|
248
255
|
}
|
|
249
256
|
}
|
|
250
257
|
|
|
251
|
-
const
|
|
258
|
+
export const PingProtocol = Type.object('ping', {
|
|
259
|
+
clientId: Type.string(),
|
|
260
|
+
id: Type.string(),
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
export const PongProtocol = Type.object('pong', {
|
|
264
|
+
clientId: Type.string(),
|
|
265
|
+
id: Type.string(),
|
|
266
|
+
});
|
|
252
267
|
|
|
253
|
-
export const
|
|
254
|
-
kind: Type.string(),
|
|
268
|
+
export const OpenProtocol = Type.object('open', {
|
|
255
269
|
clientId: Type.string(),
|
|
256
270
|
id: Type.string(),
|
|
257
271
|
path: Type.string(),
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
export const ServerReadyProtocol = Type.object('server-ready', {
|
|
275
|
+
id: Type.string(),
|
|
276
|
+
});
|
|
277
|
+
|
|
278
|
+
export const DataProtocol = Type.object('data', {
|
|
279
|
+
id: Type.string(),
|
|
258
280
|
content: Type.string(),
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
export const BinaryProtocol = Type.object('binary', {
|
|
284
|
+
id: Type.string(),
|
|
285
|
+
binary: Type.binary(),
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
export const CloseProtocol = Type.object('close', {
|
|
289
|
+
id: Type.string(),
|
|
259
290
|
code: Type.uint32(),
|
|
260
291
|
reason: Type.string(),
|
|
261
292
|
});
|
|
262
293
|
|
|
263
|
-
const
|
|
294
|
+
const serializer = oneOf([
|
|
295
|
+
PingProtocol,
|
|
296
|
+
PongProtocol,
|
|
297
|
+
OpenProtocol,
|
|
298
|
+
ServerReadyProtocol,
|
|
299
|
+
DataProtocol,
|
|
300
|
+
BinaryProtocol,
|
|
301
|
+
CloseProtocol,
|
|
302
|
+
]);
|
|
264
303
|
|
|
265
304
|
export function stringify(obj: ChannelMessage): Uint8Array {
|
|
266
|
-
return
|
|
305
|
+
return serializer.serialize(obj);
|
|
267
306
|
}
|
|
268
307
|
|
|
269
308
|
export function parse(input: Uint8Array): ChannelMessage {
|
|
270
|
-
return
|
|
309
|
+
return serializer.deserialize(input) as any;
|
|
271
310
|
}
|
|
@@ -161,7 +161,7 @@ export class CommonChannelHandler extends WebSocketHandler {
|
|
|
161
161
|
const { id } = msgObj;
|
|
162
162
|
const channel = this.channelMap.get(id);
|
|
163
163
|
if (channel) {
|
|
164
|
-
channel.
|
|
164
|
+
channel.dispatchChannelMessage(msgObj);
|
|
165
165
|
} else {
|
|
166
166
|
this.logger.warn(`The channel(${id}) was not found`);
|
|
167
167
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buffers.d.ts","sourceRoot":"","sources":["../../../src/common/connection/buffers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,wBAAgB,IAAI,CAClB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,QAGnB;AAED,qBAAa,OAAO;IAClB,OAAO,eAAsB;IAC7B,SAAS,CAAC,IAAI,SAAK;IAEnB,IAAI,UAAU,WAEb;IAED,IAAI,CAAC,MAAM,EAAE,UAAU;IAKvB,OAAO,CAAC,MAAM,EAAE,UAAU;IAK1B,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAsClC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAkB/C,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,SAAI,EAAE,WAAW,SAAI,EAAE,SAAS,SAAY;IAIhF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE;IAiFhE,GAAG,CAAC,CAAC,EAAE,MAAM;IAKb,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKxB,MAAM,CAAC,MAAM,SAAI;IAIjB,OAAO;CAIR;AAED;;;;;;GAMG;AACH,qBAAa,MAAM;IAIL,SAAS,CAAC,OAAO,EAAE,OAAO;IAAS,MAAM;IAHrD,SAAS,CAAC,UAAU,SAAK;IACzB,SAAS,CAAC,WAAW,SAAK;gBAEJ,OAAO,EAAE,OAAO,EAAS,MAAM,SAAI;IAIzD,SAAS,CAAC,cAAc;IAYxB;;OAEG;IACH,IAAI,IAAI,WAEP;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,KAAK,WAER;IAED;;OAEG;IACH,IAAI,UAAU,WAEb;IAEA,QAAQ;IAiBT,IAAI,CAAC,CAAC,EAAE,MAAM;IAKd,MAAM,CAAC,CAAC,EAAE,MAAM;IAKhB,OAAO;IAKP,KAAK;CAKN"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buffers.js","sourceRoot":"","sources":["../../../src/common/connection/buffers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../../../src/common/connection/drivers/empty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,qBAAa,eAAgB,SAAQ,cAAc,CAAC,UAAU,CAAC;IAC7D,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAG5B,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,WAAW;IAKtD,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,WAAW;CAKvC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EmptyConnection = void 0;
|
|
4
|
-
const base_1 = require("./base");
|
|
5
|
-
class EmptyConnection extends base_1.BaseConnection {
|
|
6
|
-
send(data) {
|
|
7
|
-
// do nothing
|
|
8
|
-
}
|
|
9
|
-
onMessage(cb) {
|
|
10
|
-
return {
|
|
11
|
-
dispose: () => { },
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
onceClose(cb) {
|
|
15
|
-
return {
|
|
16
|
-
dispose: () => { },
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.EmptyConnection = EmptyConnection;
|
|
21
|
-
//# sourceMappingURL=empty.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"empty.js","sourceRoot":"","sources":["../../../../src/common/connection/drivers/empty.ts"],"names":[],"mappings":";;;AAEA,iCAAwC;AAExC,MAAa,eAAgB,SAAQ,qBAA0B;IAC7D,IAAI,CAAC,IAAgB;QACnB,aAAa;IACf,CAAC;IACD,SAAS,CAAC,EAA8B;QACtC,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;SAClB,CAAC;IACJ,CAAC;IACD,SAAS,CAAC,EAAc;QACtB,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;SAClB,CAAC;IACJ,CAAC;CACF;AAdD,0CAcC"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from '@opensumi/events';
|
|
2
|
-
import { Buffers } from '../buffers';
|
|
3
|
-
/**
|
|
4
|
-
* You can use `Buffer.from('Sumi')` to get this magic number
|
|
5
|
-
*/
|
|
6
|
-
export declare const kMagicNumber = 1400204649;
|
|
7
|
-
/**
|
|
8
|
-
* When we send data through net.Socket, the data is not guaranteed to be sent as a whole.
|
|
9
|
-
*
|
|
10
|
-
* So we need to add a header to the data, so that the receiver can know the length of the data,
|
|
11
|
-
* The header is 4 bytes, the first 4 bytes is a magic number, which is `Sumi` in little endian.
|
|
12
|
-
* use magic number can help us to detect the start of the packet in the stream.
|
|
13
|
-
*
|
|
14
|
-
* The next 4 bytes is a varUInt32, which means the length of the following data, and
|
|
15
|
-
* the following data is the content.
|
|
16
|
-
*/
|
|
17
|
-
export declare function createStreamPacket(content: Uint8Array): import("@furyjs/fury/dist/lib/platformBuffer").PlatformBuffer;
|
|
18
|
-
export declare class StreamPacketDecoder {
|
|
19
|
-
protected emitter: EventEmitter<{
|
|
20
|
-
data: [Uint8Array];
|
|
21
|
-
}>;
|
|
22
|
-
protected buffers: Buffers;
|
|
23
|
-
protected cursor: import("../buffers").Cursor;
|
|
24
|
-
protected reader: {
|
|
25
|
-
getCursor: () => number;
|
|
26
|
-
setCursor: (v: number) => number;
|
|
27
|
-
varInt32: () => number;
|
|
28
|
-
varInt64: () => bigint;
|
|
29
|
-
varUInt32: () => number;
|
|
30
|
-
varUInt64: () => bigint;
|
|
31
|
-
int8: () => number;
|
|
32
|
-
buffer: (len: number) => import("@furyjs/fury/dist/lib/platformBuffer").PlatformBuffer;
|
|
33
|
-
bufferRef: (len: number) => Uint8Array;
|
|
34
|
-
uint8: () => number;
|
|
35
|
-
reset: (ab: Uint8Array) => void;
|
|
36
|
-
stringUtf8At: (start: number, len: number) => string;
|
|
37
|
-
stringUtf8: (len: number) => string;
|
|
38
|
-
stringLatin1: (len: number) => string;
|
|
39
|
-
stringOfVarUInt32: () => string;
|
|
40
|
-
double: () => number;
|
|
41
|
-
float: () => number;
|
|
42
|
-
uint16: () => number;
|
|
43
|
-
int16: () => number;
|
|
44
|
-
uint64: () => bigint;
|
|
45
|
-
skip: (len: number) => void;
|
|
46
|
-
int64: () => bigint;
|
|
47
|
-
sliLong: () => bigint;
|
|
48
|
-
uint32: () => number;
|
|
49
|
-
int32: () => number;
|
|
50
|
-
};
|
|
51
|
-
protected state: number;
|
|
52
|
-
protected contentLength: number;
|
|
53
|
-
reset(): void;
|
|
54
|
-
push(chunk: Uint8Array): void;
|
|
55
|
-
protected readPacket(): boolean;
|
|
56
|
-
/**
|
|
57
|
-
* First we read the first 4 bytes, if it is not magic 4 bytes
|
|
58
|
-
* discard it and continue to read the next byte until we get magic 4 bytes
|
|
59
|
-
* Then read the next byte, this is a varUint32, which means the length of the following data
|
|
60
|
-
* Then read the following data, until we get the length of varUint32, then return this data and continue to read the next packet
|
|
61
|
-
*/
|
|
62
|
-
protected readHeader(): boolean;
|
|
63
|
-
protected readMagicNumber(): void;
|
|
64
|
-
onData(cb: (data: Uint8Array) => void): () => void;
|
|
65
|
-
dispose(): void;
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=stream-decoder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream-decoder.d.ts","sourceRoot":"","sources":["../../../../src/common/connection/drivers/stream-decoder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,YAAY,aAAa,CAAC;AAIvC;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,iEAMrD;AAED,qBAAa,mBAAmB;IAC9B,SAAS,CAAC,OAAO;cACT,CAAC,UAAU,CAAC;OACf;IAEL,SAAS,CAAC,OAAO,UAAiB;IAClC,SAAS,CAAC,MAAM,8BAAyB;IAEzC,SAAS,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;MAAoB;IAEpC,SAAS,CAAC,KAAK,SAAK;IACpB,SAAS,CAAC,aAAa,SAAK;IAE5B,KAAK;IAOL,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAS7B,SAAS,CAAC,UAAU,IAAI,OAAO;IA2B/B;;;;;OAKG;IACH,SAAS,CAAC,UAAU;IAmCpB,SAAS,CAAC,eAAe;IAwDzB,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI;IAIrC,OAAO;CAMR"}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StreamPacketDecoder = exports.createStreamPacket = exports.kMagicNumber = void 0;
|
|
4
|
-
const reader_1 = require("@furyjs/fury/dist/lib/reader");
|
|
5
|
-
const writer_1 = require("@furyjs/fury/dist/lib/writer");
|
|
6
|
-
const events_1 = require("@opensumi/events");
|
|
7
|
-
const buffers_1 = require("../buffers");
|
|
8
|
-
/**
|
|
9
|
-
* You can use `Buffer.from('Sumi')` to get this magic number
|
|
10
|
-
*/
|
|
11
|
-
exports.kMagicNumber = 0x53756d69;
|
|
12
|
-
const writer = (0, writer_1.BinaryWriter)({});
|
|
13
|
-
/**
|
|
14
|
-
* When we send data through net.Socket, the data is not guaranteed to be sent as a whole.
|
|
15
|
-
*
|
|
16
|
-
* So we need to add a header to the data, so that the receiver can know the length of the data,
|
|
17
|
-
* The header is 4 bytes, the first 4 bytes is a magic number, which is `Sumi` in little endian.
|
|
18
|
-
* use magic number can help us to detect the start of the packet in the stream.
|
|
19
|
-
*
|
|
20
|
-
* The next 4 bytes is a varUInt32, which means the length of the following data, and
|
|
21
|
-
* the following data is the content.
|
|
22
|
-
*/
|
|
23
|
-
function createStreamPacket(content) {
|
|
24
|
-
writer.reset();
|
|
25
|
-
writer.uint32(exports.kMagicNumber);
|
|
26
|
-
writer.varUInt32(content.byteLength);
|
|
27
|
-
writer.buffer(content);
|
|
28
|
-
return writer.dump();
|
|
29
|
-
}
|
|
30
|
-
exports.createStreamPacket = createStreamPacket;
|
|
31
|
-
class StreamPacketDecoder {
|
|
32
|
-
constructor() {
|
|
33
|
-
this.emitter = new events_1.EventEmitter();
|
|
34
|
-
this.buffers = new buffers_1.Buffers();
|
|
35
|
-
this.cursor = this.buffers.cursor();
|
|
36
|
-
this.reader = (0, reader_1.BinaryReader)({});
|
|
37
|
-
this.state = 0;
|
|
38
|
-
this.contentLength = 0;
|
|
39
|
-
}
|
|
40
|
-
reset() {
|
|
41
|
-
this.state = 0;
|
|
42
|
-
this.contentLength = 0;
|
|
43
|
-
this.cursor.reset();
|
|
44
|
-
}
|
|
45
|
-
push(chunk) {
|
|
46
|
-
this.buffers.push(chunk);
|
|
47
|
-
let done = false;
|
|
48
|
-
while (!done) {
|
|
49
|
-
done = this.readPacket();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
readPacket() {
|
|
53
|
-
const found = this.readHeader();
|
|
54
|
-
if (found) {
|
|
55
|
-
const start = this.cursor.offset;
|
|
56
|
-
const end = start + this.contentLength;
|
|
57
|
-
const binary = this.buffers.slice(start, end);
|
|
58
|
-
this.emitter.emit('data', binary);
|
|
59
|
-
if (this.buffers.byteLength > end) {
|
|
60
|
-
this.cursor.moveTo(end);
|
|
61
|
-
this.state = 0;
|
|
62
|
-
this.contentLength = 0;
|
|
63
|
-
// has more data, continue to parse
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
// delete used buffers
|
|
67
|
-
this.buffers.splice(0, end);
|
|
68
|
-
this.reset();
|
|
69
|
-
}
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* First we read the first 4 bytes, if it is not magic 4 bytes
|
|
74
|
-
* discard it and continue to read the next byte until we get magic 4 bytes
|
|
75
|
-
* Then read the next byte, this is a varUint32, which means the length of the following data
|
|
76
|
-
* Then read the following data, until we get the length of varUint32, then return this data and continue to read the next packet
|
|
77
|
-
*/
|
|
78
|
-
readHeader() {
|
|
79
|
-
if (this.buffers.byteLength === 0) {
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
if (this.state !== 4) {
|
|
83
|
-
this.readMagicNumber();
|
|
84
|
-
}
|
|
85
|
-
if (this.state !== 4) {
|
|
86
|
-
// Not enough data yet, wait for more data
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
if (this.cursor.offset + 4 > this.buffers.byteLength) {
|
|
90
|
-
// Not enough data yet, wait for more data
|
|
91
|
-
return false;
|
|
92
|
-
}
|
|
93
|
-
if (!this.contentLength) {
|
|
94
|
-
// read the content length
|
|
95
|
-
const buffers = this.buffers.slice(this.cursor.offset, this.cursor.offset + 4);
|
|
96
|
-
this.reader.reset(buffers);
|
|
97
|
-
this.contentLength = this.reader.varUInt32();
|
|
98
|
-
this.cursor.move(this.reader.getCursor());
|
|
99
|
-
}
|
|
100
|
-
if (this.cursor.offset + this.contentLength > this.buffers.byteLength) {
|
|
101
|
-
// Not enough data yet, wait for more data
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
return true;
|
|
105
|
-
}
|
|
106
|
-
readMagicNumber() {
|
|
107
|
-
const iter = this.cursor.iterator();
|
|
108
|
-
let result = iter.next();
|
|
109
|
-
while (!result.done) {
|
|
110
|
-
// Fury use little endian to store data
|
|
111
|
-
switch (result.value) {
|
|
112
|
-
case 0x69:
|
|
113
|
-
switch (this.state) {
|
|
114
|
-
case 0:
|
|
115
|
-
this.state = 1;
|
|
116
|
-
break;
|
|
117
|
-
default:
|
|
118
|
-
this.state = 0;
|
|
119
|
-
break;
|
|
120
|
-
}
|
|
121
|
-
break;
|
|
122
|
-
case 0x6d:
|
|
123
|
-
switch (this.state) {
|
|
124
|
-
case 1:
|
|
125
|
-
this.state = 2;
|
|
126
|
-
break;
|
|
127
|
-
default:
|
|
128
|
-
this.state = 0;
|
|
129
|
-
break;
|
|
130
|
-
}
|
|
131
|
-
break;
|
|
132
|
-
case 0x75:
|
|
133
|
-
switch (this.state) {
|
|
134
|
-
case 2:
|
|
135
|
-
this.state = 3;
|
|
136
|
-
break;
|
|
137
|
-
default:
|
|
138
|
-
this.state = 0;
|
|
139
|
-
break;
|
|
140
|
-
}
|
|
141
|
-
break;
|
|
142
|
-
case 0x53:
|
|
143
|
-
switch (this.state) {
|
|
144
|
-
case 3:
|
|
145
|
-
this.state = 4;
|
|
146
|
-
iter.return();
|
|
147
|
-
break;
|
|
148
|
-
default:
|
|
149
|
-
this.state = 0;
|
|
150
|
-
break;
|
|
151
|
-
}
|
|
152
|
-
break;
|
|
153
|
-
default:
|
|
154
|
-
this.state = 0;
|
|
155
|
-
break;
|
|
156
|
-
}
|
|
157
|
-
result = iter.next();
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
onData(cb) {
|
|
161
|
-
return this.emitter.on('data', cb);
|
|
162
|
-
}
|
|
163
|
-
dispose() {
|
|
164
|
-
this.reader = (0, reader_1.BinaryReader)({});
|
|
165
|
-
this.emitter.dispose();
|
|
166
|
-
this.buffers.dispose();
|
|
167
|
-
this.cursor.dispose();
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
exports.StreamPacketDecoder = StreamPacketDecoder;
|
|
171
|
-
//# sourceMappingURL=stream-decoder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream-decoder.js","sourceRoot":"","sources":["../../../../src/common/connection/drivers/stream-decoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Deferred } from '@opensumi/ide-core-common';
|
|
2
|
-
import { ILogger, IRPCServiceMap } from '../types';
|
|
3
|
-
import { ICapturedMessage } from '../utils';
|
|
4
|
-
interface IBaseConnection {
|
|
5
|
-
listen(): void;
|
|
6
|
-
}
|
|
7
|
-
export declare abstract class ProxyBase<T extends IBaseConnection> {
|
|
8
|
-
target?: IRPCServiceMap | undefined;
|
|
9
|
-
protected proxyService: any;
|
|
10
|
-
protected logger: ILogger;
|
|
11
|
-
protected connection: T;
|
|
12
|
-
protected connectionPromise: Deferred<void>;
|
|
13
|
-
protected abstract engine: 'legacy';
|
|
14
|
-
constructor(target?: IRPCServiceMap | undefined, logger?: ILogger);
|
|
15
|
-
protected capture(message: ICapturedMessage): void;
|
|
16
|
-
listen(connection: T): void;
|
|
17
|
-
listenService(service: IRPCServiceMap): void;
|
|
18
|
-
abstract getInvokeProxy(): any;
|
|
19
|
-
protected abstract bindOnRequest(service: IRPCServiceMap, cb: (service: IRPCServiceMap, prop: string) => void): void;
|
|
20
|
-
}
|
|
21
|
-
export {};
|
|
22
|
-
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/common/proxy/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAkC,MAAM,UAAU,CAAC;AAE5E,UAAU,eAAe;IACvB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,8BAAsB,SAAS,CAAC,CAAC,SAAS,eAAe;IAUpC,MAAM,CAAC;IAT1B,SAAS,CAAC,YAAY,EAAE,GAAG,CAAM;IAEjC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;IAExB,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAwB;IAEnE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAEjB,MAAM,CAAC,4BAAgB,EAAE,MAAM,CAAC,EAAE,OAAO;IAK5D,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAUlD,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI;IAWpB,aAAa,CAAC,OAAO,EAAE,cAAc;IAkB5C,QAAQ,CAAC,cAAc,IAAI,GAAG;IAE9B,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;CACrH"}
|
package/lib/common/proxy/base.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProxyBase = void 0;
|
|
4
|
-
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
5
|
-
const utils_1 = require("../utils");
|
|
6
|
-
class ProxyBase {
|
|
7
|
-
constructor(target, logger) {
|
|
8
|
-
this.target = target;
|
|
9
|
-
this.proxyService = {};
|
|
10
|
-
this.connectionPromise = new ide_core_common_1.Deferred();
|
|
11
|
-
this.logger = logger || console;
|
|
12
|
-
}
|
|
13
|
-
// capture messages for opensumi devtools
|
|
14
|
-
capture(message) {
|
|
15
|
-
const capturer = (0, utils_1.getCapturer)();
|
|
16
|
-
if ((0, ide_core_common_1.isDefined)(capturer)) {
|
|
17
|
-
capturer(Object.assign(Object.assign({}, message), { engine: this.engine }));
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
listen(connection) {
|
|
21
|
-
this.connection = connection;
|
|
22
|
-
if (this.target) {
|
|
23
|
-
this.listenService(this.target);
|
|
24
|
-
}
|
|
25
|
-
connection.listen();
|
|
26
|
-
this.connectionPromise.resolve();
|
|
27
|
-
}
|
|
28
|
-
listenService(service) {
|
|
29
|
-
if (this.connection) {
|
|
30
|
-
this.bindOnRequest(service, (service, prop) => {
|
|
31
|
-
this.proxyService[prop] = service[prop].bind(service);
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
if (!this.target) {
|
|
36
|
-
this.target = {};
|
|
37
|
-
}
|
|
38
|
-
const methods = (0, utils_1.getServiceMethods)(service);
|
|
39
|
-
for (const method of methods) {
|
|
40
|
-
// `getServiceMethods` ensure that method is a function
|
|
41
|
-
this.target[method] = service[method].bind(service);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.ProxyBase = ProxyBase;
|
|
47
|
-
//# sourceMappingURL=base.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/common/proxy/base.ts"],"names":[],"mappings":";;;AAAA,+DAAgE;AAGhE,oCAA4E;AAM5E,MAAsB,SAAS;IAU7B,YAAmB,MAAuB,EAAE,MAAgB;QAAzC,WAAM,GAAN,MAAM,CAAiB;QAThC,iBAAY,GAAQ,EAAE,CAAC;QAKvB,sBAAiB,GAAmB,IAAI,0BAAQ,EAAQ,CAAC;QAKjE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC;IAClC,CAAC;IAED,yCAAyC;IAC/B,OAAO,CAAC,OAAyB;QACzC,MAAM,QAAQ,GAAG,IAAA,mBAAW,GAAE,CAAC;QAC/B,IAAI,IAAA,2BAAS,EAAC,QAAQ,CAAC,EAAE;YACvB,QAAQ,iCACH,OAAO,KACV,MAAM,EAAE,IAAI,CAAC,MAAM,IACnB,CAAC;SACJ;IACH,CAAC;IAED,MAAM,CAAC,UAAa;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,UAAU,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAEM,aAAa,CAAC,OAAuB;QAC1C,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;gBAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,MAAM,GAAG,EAAS,CAAC;aACzB;YAED,MAAM,OAAO,GAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,uDAAuD;gBACtD,IAAI,CAAC,MAAc,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/D;SACF;IACH,CAAC;CAKF;AAzDD,8BAyDC"}
|