@opensumi/ide-connection 2.27.3-rc-1714367598.0 → 2.27.3-rc-1715052394.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 +4 -0
- package/lib/browser/ws-channel-handler.d.ts.map +1 -1
- package/lib/browser/ws-channel-handler.js +48 -37
- package/lib/browser/ws-channel-handler.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 +13 -3
- package/lib/common/connection/drivers/reconnecting-websocket.js.map +1 -1
- package/lib/common/connection/drivers/stream.d.ts +1 -0
- package/lib/common/connection/drivers/stream.d.ts.map +1 -1
- package/lib/common/connection/drivers/stream.js +20 -10
- package/lib/common/connection/drivers/stream.js.map +1 -1
- package/lib/common/protocols/common.d.ts +54 -0
- package/lib/common/protocols/common.d.ts.map +1 -1
- package/lib/common/protocols/common.js +17 -1
- package/lib/common/protocols/common.js.map +1 -1
- package/lib/common/protocols/extensions/ext-host-documents.d.ts +6 -0
- package/lib/common/protocols/extensions/ext-host-documents.d.ts.map +1 -0
- package/lib/common/protocols/extensions/ext-host-documents.js +68 -0
- package/lib/common/protocols/extensions/ext-host-documents.js.map +1 -0
- package/lib/common/rpc/message-io.d.ts.map +1 -1
- package/lib/common/rpc/message-io.js +4 -1
- package/lib/common/rpc/message-io.js.map +1 -1
- package/lib/common/rpc/multiplexer.d.ts +12 -2
- package/lib/common/rpc/multiplexer.d.ts.map +1 -1
- package/lib/common/rpc/multiplexer.js +19 -1
- package/lib/common/rpc/multiplexer.js.map +1 -1
- package/lib/common/rpc-service/center.d.ts.map +1 -1
- package/lib/common/rpc-service/center.js +5 -6
- package/lib/common/rpc-service/center.js.map +1 -1
- package/lib/node/common-channel-handler.d.ts +6 -0
- package/lib/node/common-channel-handler.d.ts.map +1 -1
- package/lib/node/common-channel-handler.js +1 -1
- package/lib/node/common-channel-handler.js.map +1 -1
- package/lib/node/ws.d.ts.map +1 -1
- package/lib/node/ws.js +3 -2
- package/lib/node/ws.js.map +1 -1
- package/package.json +5 -5
- package/src/browser/ws-channel-handler.ts +59 -40
- package/src/common/connection/drivers/reconnecting-websocket.ts +14 -4
- package/src/common/connection/drivers/stream.ts +22 -11
- package/src/common/protocols/common.ts +19 -0
- package/src/common/protocols/extensions/ext-host-documents.ts +69 -0
- package/src/common/rpc/message-io.ts +6 -1
- package/src/common/rpc/multiplexer.ts +33 -2
- package/src/common/rpc-service/center.ts +5 -7
- package/src/node/common-channel-handler.ts +8 -2
- package/src/node/ws.ts +4 -2
|
@@ -13,6 +13,10 @@ export declare class WSChannelHandler {
|
|
|
13
13
|
clientId: string;
|
|
14
14
|
private heartbeatMessageTimer;
|
|
15
15
|
private reporterService;
|
|
16
|
+
/**
|
|
17
|
+
* 保证在连接建立后再执行后续操作
|
|
18
|
+
*/
|
|
19
|
+
private openingBarrier;
|
|
16
20
|
LOG_TAG: string;
|
|
17
21
|
constructor(connection: ReconnectingWebSocketConnection | NetSocketConnection, logger: any, clientId: string);
|
|
18
22
|
replaceLogger(logger: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-channel-handler.d.ts","sourceRoot":"","sources":["../../src/browser/ws-channel-handler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ws-channel-handler.d.ts","sourceRoot":"","sources":["../../src/browser/ws-channel-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,gBAAgB,EAAyB,MAAM,2BAA2B,CAAC;AAEvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AAEtG,OAAO,EAAE,SAAS,EAAsB,MAAM,sBAAsB,CAAC;AAErE;;GAEG;AACH,qBAAa,gBAAgB;IAeR,UAAU,EAAE,+BAA+B,GAAG,mBAAmB;IAdpF,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,oBAAoB,CAAuC;IACnE,OAAO,CAAC,MAAM,CAAW;IAClB,QAAQ,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,eAAe,CAAmB;IAE1C;;OAEG;IACH,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,EAAE,MAAM,CAAC;gBAEG,UAAU,EAAE,+BAA+B,GAAG,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM;IAMnH,aAAa,CAAC,MAAM,EAAE,GAAG;IAKzB,WAAW,CAAC,eAAe,EAAE,gBAAgB;IAG7C,OAAO,CAAC,gBAAgB;IAUX,WAAW;IAuDX,WAAW,CAAC,WAAW,EAAE,MAAM;IA8CrC,OAAO;CAKf"}
|
|
@@ -10,8 +10,12 @@ class WSChannelHandler {
|
|
|
10
10
|
constructor(connection, logger, clientId) {
|
|
11
11
|
this.connection = connection;
|
|
12
12
|
this.channelMap = new Map();
|
|
13
|
-
this.channelCloseEventMap = new
|
|
13
|
+
this.channelCloseEventMap = new ide_core_common_1.MultiMap();
|
|
14
14
|
this.logger = console;
|
|
15
|
+
/**
|
|
16
|
+
* 保证在连接建立后再执行后续操作
|
|
17
|
+
*/
|
|
18
|
+
this.openingBarrier = new ide_core_common_1.Barrier();
|
|
15
19
|
this.logger = logger || this.logger;
|
|
16
20
|
this.clientId = clientId;
|
|
17
21
|
this.LOG_TAG = `[WSChannelHandler] [client-id:${this.clientId}]`;
|
|
@@ -54,63 +58,70 @@ class WSChannelHandler {
|
|
|
54
58
|
}
|
|
55
59
|
});
|
|
56
60
|
const reopenExistsChannel = () => {
|
|
57
|
-
if (this.channelMap.size) {
|
|
61
|
+
if (this.channelMap.size > 0) {
|
|
58
62
|
this.channelMap.forEach((channel) => {
|
|
59
|
-
channel.onOpen(() => {
|
|
60
|
-
const closeInfo = this.channelCloseEventMap.get(channel.id);
|
|
61
|
-
this.reporterService &&
|
|
62
|
-
this.reporterService.point(ide_core_common_1.REPORT_NAME.CHANNEL_RECONNECT, ide_core_common_1.REPORT_NAME.CHANNEL_RECONNECT, closeInfo);
|
|
63
|
-
this.logger.log(this.LOG_TAG, `channel reconnect ${this.clientId}:${channel.channelPath}`);
|
|
64
|
-
});
|
|
65
63
|
channel.open(channel.channelPath, this.clientId);
|
|
66
64
|
// 针对前端需要重新设置下后台状态的情况
|
|
67
65
|
channel.fireReopen();
|
|
68
66
|
});
|
|
69
67
|
}
|
|
70
68
|
};
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
69
|
+
this.connection.onClose((code, reason) => {
|
|
70
|
+
this.channelMap.forEach((channel) => {
|
|
71
|
+
channel.close(code !== null && code !== void 0 ? code : 1000, reason !== null && reason !== void 0 ? reason : '');
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
if (this.connection.isOpen()) {
|
|
75
|
+
this.heartbeatMessage();
|
|
76
|
+
this.openingBarrier.open();
|
|
77
|
+
}
|
|
78
|
+
this.connection.onOpen(() => {
|
|
79
|
+
this.heartbeatMessage();
|
|
80
|
+
// 说明是重连
|
|
81
|
+
if (this.openingBarrier.isOpen()) {
|
|
75
82
|
reopenExistsChannel();
|
|
76
83
|
}
|
|
77
84
|
else {
|
|
78
|
-
this.
|
|
79
|
-
this.heartbeatMessage();
|
|
80
|
-
resolve();
|
|
81
|
-
reopenExistsChannel();
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
this.connection.onceClose((code, reason) => {
|
|
86
|
-
if (this.channelMap.size) {
|
|
87
|
-
this.channelMap.forEach((channel) => {
|
|
88
|
-
channel.close(code !== null && code !== void 0 ? code : 1000, reason !== null && reason !== void 0 ? reason : '');
|
|
89
|
-
});
|
|
85
|
+
this.openingBarrier.open();
|
|
90
86
|
}
|
|
91
87
|
});
|
|
88
|
+
await this.openingBarrier.wait();
|
|
92
89
|
}
|
|
93
90
|
async openChannel(channelPath) {
|
|
94
|
-
const channelId = `${this.clientId}:${channelPath}`;
|
|
95
91
|
const channel = new ws_channel_1.WSChannel(this.connection, {
|
|
96
|
-
id:
|
|
92
|
+
id: `${this.clientId}:${channelPath}`,
|
|
97
93
|
logger: this.logger,
|
|
98
94
|
});
|
|
99
95
|
this.channelMap.set(channel.id, channel);
|
|
100
|
-
|
|
101
|
-
channel.
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
channelPath,
|
|
107
|
-
closeEvent: { code, reason },
|
|
108
|
-
connectInfo: navigator.connection,
|
|
96
|
+
channel.onOpen(() => {
|
|
97
|
+
const closeInfo = this.channelCloseEventMap.get(channel.id);
|
|
98
|
+
if (closeInfo) {
|
|
99
|
+
closeInfo.forEach((info) => {
|
|
100
|
+
this.reporterService &&
|
|
101
|
+
this.reporterService.point(ide_core_common_1.REPORT_NAME.CHANNEL_RECONNECT, ide_core_common_1.REPORT_NAME.CHANNEL_RECONNECT, info);
|
|
109
102
|
});
|
|
110
|
-
this.
|
|
103
|
+
this.channelCloseEventMap.delete(channel.id);
|
|
104
|
+
this.logger.log(this.LOG_TAG, `channel reconnect ${this.clientId}:${channel.channelPath}`);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this.logger.log(this.LOG_TAG, `channel open ${this.clientId}:${channel.channelPath}`);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
channel.onClose((code, reason) => {
|
|
111
|
+
this.channelCloseEventMap.set(channel.id, {
|
|
112
|
+
channelPath,
|
|
113
|
+
closeEvent: { code, reason },
|
|
114
|
+
connectInfo: navigator.connection,
|
|
111
115
|
});
|
|
112
|
-
|
|
116
|
+
this.logger.log(this.LOG_TAG, 'channel close: ', `code: ${code}, reason: ${reason}`);
|
|
117
|
+
});
|
|
118
|
+
const deferred = new ide_core_common_1.Deferred();
|
|
119
|
+
const dispose = channel.onOpen(() => {
|
|
120
|
+
deferred.resolve();
|
|
121
|
+
dispose.dispose();
|
|
113
122
|
});
|
|
123
|
+
channel.open(channelPath, this.clientId);
|
|
124
|
+
await deferred.promise;
|
|
114
125
|
return channel;
|
|
115
126
|
}
|
|
116
127
|
dispose() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-channel-handler.js","sourceRoot":"","sources":["../../src/browser/ws-channel-handler.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"ws-channel-handler.js","sourceRoot":"","sources":["../../src/browser/ws-channel-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export declare class ReconnectingWebSocketConnection extends BaseConnection<Uint
|
|
|
9
9
|
onOpen(cb: () => void): IDisposable;
|
|
10
10
|
onMessage(cb: (data: Uint8Array) => void): IDisposable;
|
|
11
11
|
onceClose(cb: (code?: number, reason?: string) => void): IDisposable;
|
|
12
|
+
onClose(cb: (code?: number, reason?: string) => void): IDisposable;
|
|
12
13
|
onError(cb: (e: Error) => void): IDisposable;
|
|
13
14
|
dispose(): void;
|
|
14
15
|
static forURL(url: UrlProvider, protocols?: string | string[], options?: ReconnectingWebSocketOptions): ReconnectingWebSocketConnection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconnecting-websocket.d.ts","sourceRoot":"","sources":["../../../../src/common/connection/drivers/reconnecting-websocket.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,EAAE,EAAE,OAAO,IAAI,4BAA4B,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAIxC,qBAAa,+BAAgC,SAAQ,cAAc,CAAC,UAAU,CAAC;IACjE,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,qBAAqB;IAIjD,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI5B,MAAM,IAAI,OAAO;IAIjB,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,WAAW;IASnC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,WAAW;IAuBtD,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW;IAapE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,WAAW;IAa5C,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,4BAA4B;
|
|
1
|
+
{"version":3,"file":"reconnecting-websocket.d.ts","sourceRoot":"","sources":["../../../../src/common/connection/drivers/reconnecting-websocket.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,EAAE,EAAE,OAAO,IAAI,4BAA4B,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAIxC,qBAAa,+BAAgC,SAAQ,cAAc,CAAC,UAAU,CAAC;IACjE,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,qBAAqB;IAIjD,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI5B,MAAM,IAAI,OAAO;IAIjB,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,WAAW;IASnC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,WAAW;IAuBtD,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW;IAapE,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW;IAYlE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,WAAW;IAa5C,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,4BAA4B;CAKtG"}
|
|
@@ -50,9 +50,20 @@ class ReconnectingWebSocketConnection extends base_1.BaseConnection {
|
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
onceClose(cb) {
|
|
53
|
+
const disposable = this.onClose(wrapper);
|
|
54
|
+
return {
|
|
55
|
+
dispose: () => {
|
|
56
|
+
disposable.dispose();
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
function wrapper(code, reason) {
|
|
60
|
+
cb(code, reason);
|
|
61
|
+
disposable.dispose();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
onClose(cb) {
|
|
53
65
|
const handler = (e) => {
|
|
54
66
|
cb(e.code, e.reason);
|
|
55
|
-
this.socket.removeEventListener('close', handler);
|
|
56
67
|
};
|
|
57
68
|
this.socket.addEventListener('close', handler);
|
|
58
69
|
return {
|
|
@@ -78,8 +89,7 @@ class ReconnectingWebSocketConnection extends base_1.BaseConnection {
|
|
|
78
89
|
static forURL(url, protocols, options) {
|
|
79
90
|
const rawConnection = new reconnecting_websocket_1.default(url, protocols, options);
|
|
80
91
|
rawConnection.binaryType = 'arraybuffer';
|
|
81
|
-
|
|
82
|
-
return connection;
|
|
92
|
+
return new ReconnectingWebSocketConnection(rawConnection);
|
|
83
93
|
}
|
|
84
94
|
}
|
|
85
95
|
exports.ReconnectingWebSocketConnection = ReconnectingWebSocketConnection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconnecting-websocket.js","sourceRoot":"","sources":["../../../../src/common/connection/drivers/reconnecting-websocket.ts"],"names":[],"mappings":";;;;AAAA,4FAAqH;AAIrH,iCAAwC;AAIxC,MAAa,+BAAgC,SAAQ,qBAA0B;IAC7E,YAAoB,MAA6B;QAC/C,KAAK,EAAE,CAAC;QADU,WAAM,GAAN,MAAM,CAAuB;IAEjD,CAAC;IAED,IAAI,CAAC,IAAgB;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,EAAc;QACnB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,EAA8B;QACtC,MAAM,OAAO,GAAG,CAAC,CAAe,EAAE,EAAE;;YAClC,IAAI,MAA4B,CAAC;YACjC,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,EAAE;gBAC1B,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;aAC/B;iBAAM,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,EAAE;gBACxC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAClC;iBAAM,IAAI,CAAA,MAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,WAAW,0CAAE,IAAI,MAAK,QAAQ,EAAE;gBACjD,uDAAuD;gBACvD,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAClC;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,8DAA8D,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;aACjG;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;SACF,CAAC;IACJ,CAAC;IACD,SAAS,CAAC,EAA4C;QACpD,MAAM,
|
|
1
|
+
{"version":3,"file":"reconnecting-websocket.js","sourceRoot":"","sources":["../../../../src/common/connection/drivers/reconnecting-websocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export declare class StreamConnection extends BaseConnection<Uint8Array> {
|
|
|
11
11
|
send(data: Uint8Array): void;
|
|
12
12
|
onMessage(cb: (data: Uint8Array) => void): IDisposable;
|
|
13
13
|
onceClose(cb: (code?: number, reason?: string) => void): IDisposable;
|
|
14
|
+
onClose(cb: (code?: number, reason?: string) => void): IDisposable;
|
|
14
15
|
onError(cb: (err: Error) => void): IDisposable;
|
|
15
16
|
dispose(): void;
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../src/common/connection/drivers/stream.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEjD,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,UAAU,CAAC;IAG3C,QAAQ,EAAE,QAAQ;IAAS,QAAQ,EAAE,QAAQ;IAFhE,SAAS,CAAC,OAAO,+BAAsC;gBAEpC,QAAQ,EAAE,QAAQ,EAAS,QAAQ,EAAE,QAAQ;IAYhE,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAO5B,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,WAAW;IAItD,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW;
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../src/common/connection/drivers/stream.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEjD,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,UAAU,CAAC;IAG3C,QAAQ,EAAE,QAAQ;IAAS,QAAQ,EAAE,QAAQ;IAFhE,SAAS,CAAC,OAAO,+BAAsC;gBAEpC,QAAQ,EAAE,QAAQ,EAAS,QAAQ,EAAE,QAAQ;IAYhE,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAO5B,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,WAAW;IAItD,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW;IAcpE,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW;IAsBlE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,WAAW;IAc9C,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -28,24 +28,34 @@ class StreamConnection extends base_1.BaseConnection {
|
|
|
28
28
|
return this.decoder.onData(cb);
|
|
29
29
|
}
|
|
30
30
|
onceClose(cb) {
|
|
31
|
+
const disposable = this.onClose(wrapper);
|
|
32
|
+
return {
|
|
33
|
+
dispose: () => {
|
|
34
|
+
disposable.dispose();
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
function wrapper(code, reason) {
|
|
38
|
+
cb(code, reason);
|
|
39
|
+
disposable.dispose();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
onClose(cb) {
|
|
31
43
|
const wrapper = (hadError) => {
|
|
32
44
|
const code = hadError ? 1 : 0;
|
|
33
45
|
const reason = hadError ? 'had error' : '';
|
|
34
46
|
cb(code, reason);
|
|
35
|
-
dispose();
|
|
36
|
-
};
|
|
37
|
-
const dispose = () => {
|
|
38
|
-
this.readable.off('close', wrapper);
|
|
39
|
-
if (this.writable !== this.readable) {
|
|
40
|
-
this.writable.off('close', wrapper);
|
|
41
|
-
}
|
|
42
47
|
};
|
|
43
|
-
this.readable.
|
|
48
|
+
this.readable.on('close', wrapper);
|
|
44
49
|
if (this.writable !== this.readable) {
|
|
45
|
-
this.writable.
|
|
50
|
+
this.writable.on('close', wrapper);
|
|
46
51
|
}
|
|
47
52
|
return {
|
|
48
|
-
dispose
|
|
53
|
+
dispose: () => {
|
|
54
|
+
this.readable.off('close', wrapper);
|
|
55
|
+
if (this.writable !== this.readable) {
|
|
56
|
+
this.writable.off('close', wrapper);
|
|
57
|
+
}
|
|
58
|
+
},
|
|
49
59
|
};
|
|
50
60
|
}
|
|
51
61
|
onError(cb) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../../src/common/connection/drivers/stream.ts"],"names":[],"mappings":";;;AAEA,iCAAwC;AACxC,mDAA+D;AAI/D,MAAa,gBAAiB,SAAQ,qBAA0B;IAG9D,YAAmB,QAAkB,EAAS,QAAkB;QAC9D,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAU;QAAS,aAAQ,GAAR,QAAQ,CAAU;QAFtD,YAAO,GAAG,IAAI,4CAA4B,EAAE,CAAC;QAIrD,MAAM,MAAM,GAAG,CAAC,KAAiB,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAgB;QACnB,MAAM,MAAM,GAAG,4CAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE;YAC/B,qBAAqB;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,EAA8B;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,EAA4C;QACpD,MAAM,OAAO,GAAG,CAAC,QAAiB,EAAE,EAAE;YACpC,MAAM,IAAI,GAAW,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,MAAM,GAAW,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../../src/common/connection/drivers/stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,4 +21,58 @@ export declare const UriComponentsProto: {
|
|
|
21
21
|
} | undefined;
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
|
+
export declare const RangeProto: {
|
|
25
|
+
type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
|
|
26
|
+
options: {
|
|
27
|
+
tag: string;
|
|
28
|
+
props: {
|
|
29
|
+
startLineNumber: {
|
|
30
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
31
|
+
};
|
|
32
|
+
startColumn: {
|
|
33
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
34
|
+
};
|
|
35
|
+
endLineNumber: {
|
|
36
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
37
|
+
};
|
|
38
|
+
endColumn: {
|
|
39
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
40
|
+
};
|
|
41
|
+
} | undefined;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export declare const SelectionProto: {
|
|
45
|
+
type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
|
|
46
|
+
options: {
|
|
47
|
+
tag: string;
|
|
48
|
+
props: {
|
|
49
|
+
selectionStartLineNumber: {
|
|
50
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
51
|
+
};
|
|
52
|
+
selectionStartColumn: {
|
|
53
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
54
|
+
};
|
|
55
|
+
positionLineNumber: {
|
|
56
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
57
|
+
};
|
|
58
|
+
positionColumn: {
|
|
59
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
60
|
+
};
|
|
61
|
+
} | undefined;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
export declare const PositionProto: {
|
|
65
|
+
type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
|
|
66
|
+
options: {
|
|
67
|
+
tag: string;
|
|
68
|
+
props: {
|
|
69
|
+
lineNumber: {
|
|
70
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
71
|
+
};
|
|
72
|
+
column: {
|
|
73
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
74
|
+
};
|
|
75
|
+
} | undefined;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
24
78
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/common/protocols/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAM7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/common/protocols/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAM7B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;CAKrB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;CAKzB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;CAGxB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UriComponentsProto = void 0;
|
|
3
|
+
exports.PositionProto = exports.SelectionProto = exports.RangeProto = exports.UriComponentsProto = void 0;
|
|
4
4
|
const fury_1 = require("@furyjs/fury");
|
|
5
5
|
exports.UriComponentsProto = fury_1.Type.object('uri-components', {
|
|
6
6
|
scheme: fury_1.Type.string(),
|
|
@@ -9,4 +9,20 @@ exports.UriComponentsProto = fury_1.Type.object('uri-components', {
|
|
|
9
9
|
query: fury_1.Type.string(),
|
|
10
10
|
fragment: fury_1.Type.string(),
|
|
11
11
|
});
|
|
12
|
+
exports.RangeProto = fury_1.Type.object('range', {
|
|
13
|
+
startLineNumber: fury_1.Type.uint32(),
|
|
14
|
+
startColumn: fury_1.Type.uint32(),
|
|
15
|
+
endLineNumber: fury_1.Type.uint32(),
|
|
16
|
+
endColumn: fury_1.Type.uint32(),
|
|
17
|
+
});
|
|
18
|
+
exports.SelectionProto = fury_1.Type.object('selection', {
|
|
19
|
+
selectionStartLineNumber: fury_1.Type.uint32(),
|
|
20
|
+
selectionStartColumn: fury_1.Type.uint32(),
|
|
21
|
+
positionLineNumber: fury_1.Type.uint32(),
|
|
22
|
+
positionColumn: fury_1.Type.uint32(),
|
|
23
|
+
});
|
|
24
|
+
exports.PositionProto = fury_1.Type.object('position', {
|
|
25
|
+
lineNumber: fury_1.Type.uint32(),
|
|
26
|
+
column: fury_1.Type.uint32(),
|
|
27
|
+
});
|
|
12
28
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common/protocols/common.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAEvB,QAAA,kBAAkB,GAAG,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAC9D,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;IACxB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,WAAI,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,WAAI,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common/protocols/common.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAEvB,QAAA,kBAAkB,GAAG,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAC9D,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;IACxB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,WAAI,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,WAAI,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,WAAI,CAAC,MAAM,CAAC,OAAO,EAAE;IAC7C,eAAe,EAAE,WAAI,CAAC,MAAM,EAAE;IAC9B,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE;IAC1B,aAAa,EAAE,WAAI,CAAC,MAAM,EAAE;IAC5B,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,WAAI,CAAC,MAAM,CAAC,WAAW,EAAE;IACrD,wBAAwB,EAAE,WAAI,CAAC,MAAM,EAAE;IACvC,oBAAoB,EAAE,WAAI,CAAC,MAAM,EAAE;IACnC,kBAAkB,EAAE,WAAI,CAAC,MAAM,EAAE;IACjC,cAAc,EAAE,WAAI,CAAC,MAAM,EAAE;CAC9B,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,WAAI,CAAC,MAAM,CAAC,UAAU,EAAE;IACnD,UAAU,EAAE,WAAI,CAAC,MAAM,EAAE;IACzB,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ext-host-documents.d.ts","sourceRoot":"","sources":["../../../../src/common/protocols/extensions/ext-host-documents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,aA4DvC,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExtensionDocumentProtocol = void 0;
|
|
4
|
+
const fury_1 = require("@furyjs/fury");
|
|
5
|
+
const common_1 = require("../common");
|
|
6
|
+
/**
|
|
7
|
+
* {@link IExtensionHostDocService}
|
|
8
|
+
*/
|
|
9
|
+
exports.ExtensionDocumentProtocol = {
|
|
10
|
+
name: 'ExtHostDocuments',
|
|
11
|
+
methods: [
|
|
12
|
+
{
|
|
13
|
+
method: '$fireModelChangedEvent',
|
|
14
|
+
request: [
|
|
15
|
+
{
|
|
16
|
+
name: 'event',
|
|
17
|
+
type: fury_1.Type.object('model-changed-event', {
|
|
18
|
+
changes: fury_1.Type.array(fury_1.Type.object('model-changed-event-changes', {
|
|
19
|
+
range: common_1.RangeProto,
|
|
20
|
+
rangeLength: fury_1.Type.uint32(),
|
|
21
|
+
rangeOffset: fury_1.Type.uint32(),
|
|
22
|
+
text: fury_1.Type.string(),
|
|
23
|
+
})),
|
|
24
|
+
uri: fury_1.Type.string(),
|
|
25
|
+
versionId: fury_1.Type.uint32(),
|
|
26
|
+
eol: fury_1.Type.string(),
|
|
27
|
+
dirty: fury_1.Type.bool(),
|
|
28
|
+
isRedoing: fury_1.Type.bool(),
|
|
29
|
+
isUndoing: fury_1.Type.bool(),
|
|
30
|
+
}),
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
method: '$fireModelOpenedEvent',
|
|
36
|
+
request: [
|
|
37
|
+
{
|
|
38
|
+
name: 'event',
|
|
39
|
+
type: fury_1.Type.object('model-open-event', {
|
|
40
|
+
uri: fury_1.Type.string(),
|
|
41
|
+
lines: fury_1.Type.array(fury_1.Type.string()),
|
|
42
|
+
eol: fury_1.Type.string(),
|
|
43
|
+
versionId: fury_1.Type.uint32(),
|
|
44
|
+
languageId: fury_1.Type.string(),
|
|
45
|
+
dirty: fury_1.Type.bool(),
|
|
46
|
+
}),
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
method: '$provideTextDocumentContent',
|
|
52
|
+
request: [
|
|
53
|
+
{
|
|
54
|
+
name: 'path',
|
|
55
|
+
type: fury_1.Type.string(),
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'encoding',
|
|
59
|
+
type: fury_1.Type.string(),
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
response: {
|
|
63
|
+
type: fury_1.Type.string(),
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=ext-host-documents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ext-host-documents.js","sourceRoot":"","sources":["../../../../src/common/protocols/extensions/ext-host-documents.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAGpC,sCAAuC;AAEvC;;GAEG;AACU,QAAA,yBAAyB,GAAkB;IACtD,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE;QACP;YACE,MAAM,EAAE,wBAAwB;YAChC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;wBACvC,OAAO,EAAE,WAAI,CAAC,KAAK,CACjB,WAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE;4BACzC,KAAK,EAAE,mBAAU;4BACjB,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE;4BAC1B,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE;4BAC1B,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;yBACpB,CAAC,CACH;wBACD,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;wBAClB,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;wBACxB,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;wBAClB,KAAK,EAAE,WAAI,CAAC,IAAI,EAAE;wBAClB,SAAS,EAAE,WAAI,CAAC,IAAI,EAAE;wBACtB,SAAS,EAAE,WAAI,CAAC,IAAI,EAAE;qBACvB,CAAC;iBACH;aACF;SACF;QACD;YACE,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;wBACpC,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;wBAClB,KAAK,EAAE,WAAI,CAAC,KAAK,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC;wBAChC,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;wBAClB,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;wBACxB,UAAU,EAAE,WAAI,CAAC,MAAM,EAAE;wBACzB,KAAK,EAAE,WAAI,CAAC,IAAI,EAAE;qBACnB,CAAC;iBACH;aACF;SACF;QACD;YACE,MAAM,EAAE,6BAA6B;YACrC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;iBACpB;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;iBACpB;aACF;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;aACpB;SACF;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-io.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAOxE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAGhB,aAAa,EACb,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAIjB,oBAAY,aAAa;IACvB,OAAO,IAAA;IACP,YAAY,IAAA;IACZ,QAAQ,IAAA;IACR,MAAM,IAAA;CACP;AAED,oBAAY,MAAM;IAChB,EAAE,IAAA;IACF,GAAG,IAAA;CACJ;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;CAOf,CAAC;
|
|
1
|
+
{"version":3,"file":"message-io.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAOxE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAGhB,aAAa,EACb,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAIjB,oBAAY,aAAa;IACvB,OAAO,IAAA;IACP,YAAY,IAAA;IACZ,QAAQ,IAAA;IACR,MAAM,IAAA;CACP;AAED,oBAAY,MAAM;IAChB,EAAE,IAAA;IACF,GAAG,IAAA;CACJ;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;CAOf,CAAC;AA4DX,qBAAa,SAAS;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IAErB,OAAO,CAAC,aAAa,CAA6C;IAElE,OAAO,CAAC,aAAa,CAAwB;IAE7C,wBAAwB,EAAE,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACvE,yBAAyB,EAAE,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;;IAczE,GAAG,CAAC,IAAI,EAAE,MAAM;IAIhB,YAAY,CACV,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACzC;IASH,kBAAkB,CAChB,cAAc,EAAE,mBAAmB,EACnC,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACzC;IASH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAQjD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;IAcrF,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;IAchF,MAAM,CAAC,SAAS,EAAE,MAAM;IAUxB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG;IAcrF,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG;CAalF"}
|
|
@@ -35,7 +35,10 @@ class SumiProtocolSerializer {
|
|
|
35
35
|
argsTuple.push(element.type);
|
|
36
36
|
}
|
|
37
37
|
const requestProto = fury_1.Type.tuple(argsTuple);
|
|
38
|
-
|
|
38
|
+
let resultProto = fury_1.Type.any();
|
|
39
|
+
if (methodProtocol.response && methodProtocol.response.type) {
|
|
40
|
+
resultProto = methodProtocol.response.type;
|
|
41
|
+
}
|
|
39
42
|
this.request = this.fury.registerSerializer(requestProto);
|
|
40
43
|
this.result = this.fury.registerSerializer(resultProto);
|
|
41
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-io.js","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":";;;AAAA,uCAAuE;AACvE,mDAA+D;AAG/D,+DAAqE;AAErE,6CAAoD;AACpD,mDAAqD;AAYrD,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,uDAAO,CAAA;IACP,iEAAY,CAAA;IACZ,yDAAQ,CAAA;IACR,qDAAM,CAAA;AACR,CAAC,EALW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAKxB;AAED,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,+BAAE,CAAA;IACF,iCAAG,CAAA;AACL,CAAC,EAHW,MAAM,GAAN,cAAM,KAAN,cAAM,QAGjB;AAEY,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC,aAAa,EAAE;QAClC,UAAU,EAAE,WAAI,CAAC,IAAI,EAAE;KACxB,CAAC;IACF,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,cAAc,EAAE;QACpC,OAAO,EAAE,WAAI,CAAC,IAAI,EAAE;KACrB,CAAC;CACM,CAAC;AAEX,MAAM,sBAAsB;IAI1B,YAAY,cAAmC,EAAS,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QAChE,MAAM,SAAS,GAAG,EAAuB,CAAC;QAE1C,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE;YAC5C,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC9B;QAED,MAAM,YAAY,GAAG,WAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"message-io.js","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseConnection } from '../connection';
|
|
2
2
|
import { ISumiConnectionOptions, SumiConnection } from './connection';
|
|
3
|
+
import { TSumiProtocol } from './types';
|
|
3
4
|
export declare class ProxyIdentifier<T = any> {
|
|
4
5
|
static count: number;
|
|
5
6
|
readonly serviceId: string;
|
|
@@ -7,6 +8,12 @@ export declare class ProxyIdentifier<T = any> {
|
|
|
7
8
|
constructor(serviceId: string);
|
|
8
9
|
static for(serviceId: string): ProxyIdentifier<any>;
|
|
9
10
|
}
|
|
11
|
+
export interface ISumiMultiplexerConnectionOptions extends ISumiConnectionOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Known protocols that will be loaded automatically when a proxy is created.
|
|
14
|
+
*/
|
|
15
|
+
knownProtocols?: Record<string, TSumiProtocol>;
|
|
16
|
+
}
|
|
10
17
|
export declare const IRPCProtocol: unique symbol;
|
|
11
18
|
export interface IRPCProtocol {
|
|
12
19
|
getProxy<T>(proxyId: ProxyIdentifier<T>): T;
|
|
@@ -18,7 +25,7 @@ export interface IRPCProtocol {
|
|
|
18
25
|
*/
|
|
19
26
|
export declare class SumiConnectionMultiplexer extends SumiConnection implements IRPCProtocol {
|
|
20
27
|
protected socket: BaseConnection<Uint8Array>;
|
|
21
|
-
protected options:
|
|
28
|
+
protected options: ISumiMultiplexerConnectionOptions;
|
|
22
29
|
protected static SEP: string;
|
|
23
30
|
protected static SEP_LENGTH: number;
|
|
24
31
|
protected static getRPCName(serviceId: string, methodName: string): string;
|
|
@@ -26,11 +33,14 @@ export declare class SumiConnectionMultiplexer extends SumiConnection implements
|
|
|
26
33
|
protected static normalizeServiceId(serviceId: string): string;
|
|
27
34
|
protected readonly _locals: Map<string, any>;
|
|
28
35
|
protected readonly _proxies: Map<string, any>;
|
|
29
|
-
|
|
36
|
+
protected _knownProtocols: Record<string, TSumiProtocol>;
|
|
37
|
+
constructor(socket: BaseConnection<Uint8Array>, options?: ISumiMultiplexerConnectionOptions);
|
|
30
38
|
set<T>(identifier: ProxyIdentifier<T>, instance: any): any;
|
|
31
39
|
get<T>(identifier: ProxyIdentifier<T>): any;
|
|
40
|
+
protected loadProtocol(rpcId: string, protocol: TSumiProtocol): void;
|
|
32
41
|
getProxy<T>(proxyId: ProxyIdentifier<T>): any;
|
|
33
42
|
protected _createProxy(rpcId: string): any;
|
|
34
43
|
protected _doInvokeHandler(rpcName: string, args: any[]): Promise<any>;
|
|
44
|
+
getSocket(): BaseConnection<Uint8Array>;
|
|
35
45
|
}
|
|
36
46
|
//# sourceMappingURL=multiplexer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiplexer.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"multiplexer.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,eAAe,CAAC,CAAC,GAAG,GAAG;IAClC,OAAc,KAAK,SAAK;IAExB,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;gBACpB,SAAS,EAAE,MAAM;IAK7B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM;CAG7B;AAED,MAAM,WAAW,iCAAkC,SAAQ,sBAAsB;IAC/E;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,YAAY,eAAyB,CAAC;AACnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IACvD,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,cAAe,YAAW,YAAY;IAqBvE,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC;IAAE,SAAS,CAAC,OAAO,EAAE,iCAAiC;IApB9G,SAAS,CAAC,MAAM,CAAC,GAAG,SAAO;IAC3B,SAAS,CAAC,MAAM,CAAC,UAAU,SAAwC;IAEnE,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAIjE,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAKzE,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAIrD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9C,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAEnC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAAY,OAAO,GAAE,iCAAsC;IAa5G,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG;IAWpD,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IAI5C,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;IAMtD,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAe9C,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM;cAmBpB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAe5E,SAAS;CAGV"}
|