@opensumi/ide-connection 2.15.8 → 2.15.10-next-1649927933.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 +6 -1
- package/lib/browser/ws-channel-handler.d.ts.map +1 -1
- package/lib/browser/ws-channel-handler.js +13 -3
- package/lib/browser/ws-channel-handler.js.map +1 -1
- package/lib/common/message.d.ts +2 -2
- package/lib/common/message.d.ts.map +1 -1
- package/lib/common/message.js.map +1 -1
- package/lib/common/proxy.d.ts +1 -42
- package/lib/common/proxy.d.ts.map +1 -1
- package/lib/common/proxy.js +2 -204
- package/lib/common/proxy.js.map +1 -1
- package/lib/index.d.ts +5 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -1
- package/lib/index.js.map +1 -1
- package/lib/{common/connect.d.ts → node/center/index.d.ts} +24 -21
- package/lib/node/center/index.d.ts.map +1 -0
- package/lib/{common/connect.js → node/center/index.js} +87 -80
- package/lib/node/center/index.js.map +1 -0
- package/lib/node/center/proxy.d.ts +43 -0
- package/lib/node/center/proxy.d.ts.map +1 -0
- package/lib/node/center/proxy.js +207 -0
- package/lib/node/center/proxy.js.map +1 -0
- package/lib/node/common-channel-handler.d.ts +1 -1
- package/lib/node/common-channel-handler.d.ts.map +1 -1
- package/lib/node/common-channel-handler.js +4 -4
- package/lib/node/common-channel-handler.js.map +1 -1
- package/lib/node/index.d.ts +1 -3
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +1 -5
- package/lib/node/index.js.map +1 -1
- package/package.json +4 -4
- package/lib/browser/connect.d.ts +0 -2
- package/lib/browser/connect.d.ts.map +0 -1
- package/lib/browser/connect.js +0 -9
- package/lib/browser/connect.js.map +0 -1
- package/lib/browser/index.d.ts +0 -3
- package/lib/browser/index.d.ts.map +0 -1
- package/lib/browser/index.js +0 -6
- package/lib/browser/index.js.map +0 -1
- package/lib/common/connect.d.ts.map +0 -1
- package/lib/common/connect.js.map +0 -1
- package/lib/common/index.d.ts +0 -7
- package/lib/common/index.d.ts.map +0 -1
- package/lib/common/index.js +0 -10
- package/lib/common/index.js.map +0 -1
- package/lib/node/connect.d.ts +0 -4
- package/lib/node/connect.d.ts.map +0 -1
- package/lib/node/connect.js +0 -9
- package/lib/node/connect.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IReporterService } from '@opensumi/ide-core-common';
|
|
2
1
|
import { WSChannel } from '../common/ws-channel';
|
|
2
|
+
import { IReporterService } from '@opensumi/ide-core-common';
|
|
3
3
|
export declare class WSChannelHandler {
|
|
4
4
|
wsPath: string;
|
|
5
5
|
protocols?: string[] | undefined;
|
|
@@ -19,4 +19,9 @@ export declare class WSChannelHandler {
|
|
|
19
19
|
openChannel(channelPath: string): Promise<WSChannel>;
|
|
20
20
|
dispose(): void;
|
|
21
21
|
}
|
|
22
|
+
export declare class WSChanneHandler extends WSChannelHandler {
|
|
23
|
+
wsPath: string;
|
|
24
|
+
protocols?: string[] | undefined;
|
|
25
|
+
constructor(wsPath: string, logger: any, protocols?: string[] | undefined, clientId?: string);
|
|
26
|
+
}
|
|
22
27
|
//# sourceMappingURL=ws-channel-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-channel-handler.d.ts","sourceRoot":"","sources":["../../src/browser/ws-channel-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ws-channel-handler.d.ts","sourceRoot":"","sources":["../../src/browser/ws-channel-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AAIhE,OAAO,EAAE,gBAAgB,EAAe,MAAM,2BAA2B,CAAC;AAU1E,qBAAa,gBAAgB;IAQR,MAAM,EAAE,MAAM;IAAsB,SAAS,CAAC;IAP1D,UAAU,EAAE,SAAS,CAAC;IAC7B,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,MAAM,CAAW;IAClB,QAAQ,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,eAAe,CAAmB;gBAEvB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAS,SAAS,CAAC,sBAAU,EAAE,QAAQ,CAAC,EAAE,MAAM;IAM9F,aAAa,CAAC,MAAM,EAAE,GAAG;IAKzB,WAAW,CAAC,eAAe,EAAE,gBAAgB;IAG7C,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,gBAAgB;IAcX,WAAW;IA2CxB,OAAO,CAAC,cAAc,CAMpB;IACW,WAAW,CAAC,WAAW,EAAE,MAAM;IAgBrC,OAAO;CAKf;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;IAChC,MAAM,EAAE,MAAM;IAAsB,SAAS,CAAC;gBAA9C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAS,SAAS,CAAC,sBAAU,EAAE,QAAQ,CAAC,EAAE,MAAM;CAI/F"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WSChannelHandler = void 0;
|
|
3
|
+
exports.WSChanneHandler = exports.WSChannelHandler = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const ws_channel_1 = require("../common/ws-channel");
|
|
5
6
|
const shortid_1 = tslib_1.__importDefault(require("shortid"));
|
|
6
|
-
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
7
7
|
const utils_1 = require("../common/utils");
|
|
8
|
-
const
|
|
8
|
+
const warning_1 = require("@opensumi/ide-components/lib/utils/warning");
|
|
9
|
+
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
9
10
|
let ReconnectingWebSocket = require('reconnecting-websocket');
|
|
10
11
|
if (ReconnectingWebSocket.default) {
|
|
11
12
|
/* istanbul ignore next */
|
|
@@ -119,4 +120,13 @@ class WSChannelHandler {
|
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
122
|
exports.WSChannelHandler = WSChannelHandler;
|
|
123
|
+
class WSChanneHandler extends WSChannelHandler {
|
|
124
|
+
constructor(wsPath, logger, protocols, clientId) {
|
|
125
|
+
super(wsPath, logger, protocols, clientId);
|
|
126
|
+
this.wsPath = wsPath;
|
|
127
|
+
this.protocols = protocols;
|
|
128
|
+
(0, warning_1.warning)(false, '[Deprecated warning]: WSChanneHandler was a wrong typo, please use WSChannelHandler');
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
exports.WSChanneHandler = WSChanneHandler;
|
|
122
132
|
//# sourceMappingURL=ws-channel-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-channel-handler.js","sourceRoot":"","sources":["../../src/browser/ws-channel-handler.ts"],"names":[],"mappings":";;;;AAAA,8DAA8B;
|
|
1
|
+
{"version":3,"file":"ws-channel-handler.js","sourceRoot":"","sources":["../../src/browser/ws-channel-handler.ts"],"names":[],"mappings":"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"}
|
package/lib/common/message.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AbstractMessageReader, AbstractMessageWriter } from '@opensumi/vscode-jsonrpc/lib/common/api';
|
|
2
|
-
import { Disposable } from '@opensumi/vscode-jsonrpc/lib/common/disposable';
|
|
3
|
-
import { MessageReader, DataCallback } from '@opensumi/vscode-jsonrpc/lib/common/messageReader';
|
|
4
2
|
import { MessageWriter } from '@opensumi/vscode-jsonrpc/lib/common/messageWriter';
|
|
3
|
+
import { MessageReader, DataCallback } from '@opensumi/vscode-jsonrpc/lib/common/messageReader';
|
|
4
|
+
import { Disposable } from '@opensumi/vscode-jsonrpc/lib/common/disposable';
|
|
5
5
|
export declare class WebSocketMessageReader extends AbstractMessageReader implements MessageReader {
|
|
6
6
|
protected readonly socket: any;
|
|
7
7
|
protected state: 'initial' | 'listening' | 'closed';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/common/message.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/common/message.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAE5E,qBAAa,sBAAuB,SAAQ,qBAAsB,YAAW,aAAa;IAK5E,SAAS,CAAC,QAAQ,CAAC,MAAM;IAJrC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAa;IAChE,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IAC7C,SAAS,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,CAAM;gBAEzB,MAAM,KAAA;IAiB9B,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,UAAU;IAoBjD,SAAS,CAAC,WAAW,CAAC,OAAO,KAAA;CAQ9B;AAED,qBAAa,sBAAuB,SAAQ,qBAAsB,YAAW,aAAa;IAC5E,SAAS,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,KAAA;IAIrC,KAAK,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlB,GAAG,IAAI,IAAI;CACnB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,GAAG,8EAEpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/common/message.ts"],"names":[],"mappings":";;;AAAA,iEAIiD;
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/common/message.ts"],"names":[],"mappings":"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"}
|
package/lib/common/proxy.d.ts
CHANGED
|
@@ -1,43 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare abstract class RPCService<T = any> {
|
|
3
|
-
rpcClient?: T[];
|
|
4
|
-
rpcRegistered?: boolean;
|
|
5
|
-
register?(): () => Promise<T>;
|
|
6
|
-
get client(): T | undefined;
|
|
7
|
-
}
|
|
8
|
-
export declare const NOTREGISTERMETHOD = "$$NOTREGISTERMETHOD";
|
|
9
|
-
export declare class ProxyClient {
|
|
10
|
-
proxy: any;
|
|
11
|
-
reservedWords: string[];
|
|
12
|
-
constructor(proxy: any, reservedWords?: string[]);
|
|
13
|
-
getClient(): {};
|
|
14
|
-
}
|
|
15
|
-
export declare class RPCProxy {
|
|
16
|
-
target?: RPCService<any> | undefined;
|
|
17
|
-
private connectionPromise;
|
|
18
|
-
private connectionPromiseResolve;
|
|
19
|
-
private connection;
|
|
20
|
-
private proxyService;
|
|
21
|
-
private logger;
|
|
22
|
-
constructor(target?: RPCService<any> | undefined, logger?: any);
|
|
23
|
-
listenService(service: any): void;
|
|
24
|
-
listen(connection: MessageConnection): void;
|
|
25
|
-
createProxy(): any;
|
|
26
|
-
get(target: any, p: PropertyKey): (...args: any[]) => Promise<unknown>;
|
|
27
|
-
private getServiceMethod;
|
|
28
|
-
private bindOnRequest;
|
|
29
|
-
private waitForConnection;
|
|
30
|
-
/**
|
|
31
|
-
* 对于纯数组参数的情况,收到请求/通知后做展开操作
|
|
32
|
-
* 因为在通信层会为每个 rpc 调用添加一个 CancellationToken 参数
|
|
33
|
-
* 如果参数本身是数组, 在方法中如果使用 spread 运算符获取参数(...args),则会出现 [...args, MutableToken] 这种情况
|
|
34
|
-
* 所以发送请求时将这类参数统一再用数组包了一层,形如 [[...args]], 参考 {@link RPCProxy.get get} 方法
|
|
35
|
-
* 此时接收到的数组类参数固定长度为 2,且最后一项一定是 MutableToken
|
|
36
|
-
* @param args
|
|
37
|
-
* @returns args
|
|
38
|
-
*/
|
|
39
|
-
private serializeArguments;
|
|
40
|
-
private onRequest;
|
|
41
|
-
private onNotification;
|
|
42
|
-
}
|
|
1
|
+
export * from '../node/center/proxy';
|
|
43
2
|
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/common/proxy.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/common/proxy.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
package/lib/common/proxy.js
CHANGED
|
@@ -1,207 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
get client() {
|
|
6
|
-
return this.rpcClient ? this.rpcClient[0] : undefined;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
exports.RPCService = RPCService;
|
|
10
|
-
exports.NOTREGISTERMETHOD = '$$NOTREGISTERMETHOD';
|
|
11
|
-
class ProxyClient {
|
|
12
|
-
constructor(proxy, reservedWords = ['then']) {
|
|
13
|
-
this.proxy = proxy;
|
|
14
|
-
this.reservedWords = reservedWords;
|
|
15
|
-
}
|
|
16
|
-
getClient() {
|
|
17
|
-
return new Proxy({}, {
|
|
18
|
-
get: (target, prop) => {
|
|
19
|
-
if (this.reservedWords.includes(prop) || typeof prop === 'symbol') {
|
|
20
|
-
return Promise.resolve();
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
return this.proxy[prop];
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.ProxyClient = ProxyClient;
|
|
30
|
-
class RPCProxy {
|
|
31
|
-
constructor(target, logger) {
|
|
32
|
-
this.target = target;
|
|
33
|
-
this.proxyService = {};
|
|
34
|
-
this.waitForConnection();
|
|
35
|
-
this.logger = logger || console;
|
|
36
|
-
}
|
|
37
|
-
listenService(service) {
|
|
38
|
-
if (this.connection) {
|
|
39
|
-
const proxyService = this.proxyService;
|
|
40
|
-
this.bindOnRequest(service, (service, prop) => {
|
|
41
|
-
proxyService[prop] = service[prop].bind(service);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
const target = this.target || {};
|
|
46
|
-
const methods = this.getServiceMethod(service);
|
|
47
|
-
methods.forEach((method) => {
|
|
48
|
-
target[method] = service[method].bind(service);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
listen(connection) {
|
|
53
|
-
this.connection = connection;
|
|
54
|
-
if (this.target) {
|
|
55
|
-
this.listenService(this.target);
|
|
56
|
-
}
|
|
57
|
-
this.connectionPromiseResolve(connection);
|
|
58
|
-
connection.listen();
|
|
59
|
-
}
|
|
60
|
-
createProxy() {
|
|
61
|
-
const proxy = new Proxy(this, this);
|
|
62
|
-
const proxyClient = new ProxyClient(proxy);
|
|
63
|
-
return proxyClient.getClient();
|
|
64
|
-
}
|
|
65
|
-
get(target, p) {
|
|
66
|
-
const prop = p.toString();
|
|
67
|
-
return (...args) => this.connectionPromise.then((connection) => {
|
|
68
|
-
connection = this.connection || connection;
|
|
69
|
-
return new Promise((resolve, reject) => {
|
|
70
|
-
try {
|
|
71
|
-
let isSingleArray = false;
|
|
72
|
-
if (args.length === 1 && Array.isArray(args[0])) {
|
|
73
|
-
isSingleArray = true;
|
|
74
|
-
}
|
|
75
|
-
// 调用方法为 on 开头时,作为单项通知
|
|
76
|
-
if (prop.startsWith('on')) {
|
|
77
|
-
if (isSingleArray) {
|
|
78
|
-
connection.sendNotification(prop, [...args]);
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
connection.sendNotification(prop, ...args);
|
|
82
|
-
}
|
|
83
|
-
resolve(null);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
let requestResult;
|
|
87
|
-
if (isSingleArray) {
|
|
88
|
-
requestResult = connection.sendRequest(prop, [...args]);
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
requestResult = connection.sendRequest(prop, ...args);
|
|
92
|
-
}
|
|
93
|
-
requestResult
|
|
94
|
-
.catch((err) => {
|
|
95
|
-
reject(err);
|
|
96
|
-
})
|
|
97
|
-
.then((result) => {
|
|
98
|
-
if (result.error) {
|
|
99
|
-
const error = new Error(result.data.message);
|
|
100
|
-
if (result.data.stack) {
|
|
101
|
-
error.stack = result.data.stack;
|
|
102
|
-
}
|
|
103
|
-
reject(error);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
resolve(result.data);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
catch (e) { }
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
getServiceMethod(service) {
|
|
116
|
-
let props = [];
|
|
117
|
-
if (/^\s*class/.test(service.constructor.toString())) {
|
|
118
|
-
let obj = service;
|
|
119
|
-
do {
|
|
120
|
-
props = props.concat(Object.getOwnPropertyNames(obj));
|
|
121
|
-
} while ((obj = Object.getPrototypeOf(obj)));
|
|
122
|
-
props = props.sort().filter((e, i, arr) => e !== arr[i + 1] && typeof service[e] === 'function');
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
for (const prop in service) {
|
|
126
|
-
if (service[prop] && typeof service[prop] === 'function') {
|
|
127
|
-
props.push(prop);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return props;
|
|
132
|
-
}
|
|
133
|
-
bindOnRequest(service, cb) {
|
|
134
|
-
if (this.connection) {
|
|
135
|
-
const connection = this.connection;
|
|
136
|
-
const methods = this.getServiceMethod(service);
|
|
137
|
-
methods.forEach((method) => {
|
|
138
|
-
if (method.startsWith('on')) {
|
|
139
|
-
connection.onNotification(method, (...args) => this.onNotification(method, ...args));
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
connection.onRequest(method, (...args) => this.onRequest(method, ...args));
|
|
143
|
-
}
|
|
144
|
-
if (cb) {
|
|
145
|
-
cb(service, method);
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
connection.onRequest((method) => {
|
|
149
|
-
if (!this.proxyService[method]) {
|
|
150
|
-
return {
|
|
151
|
-
error: false,
|
|
152
|
-
data: exports.NOTREGISTERMETHOD,
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
waitForConnection() {
|
|
159
|
-
this.connectionPromise = new Promise((resolve) => {
|
|
160
|
-
this.connectionPromiseResolve = resolve;
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* 对于纯数组参数的情况,收到请求/通知后做展开操作
|
|
165
|
-
* 因为在通信层会为每个 rpc 调用添加一个 CancellationToken 参数
|
|
166
|
-
* 如果参数本身是数组, 在方法中如果使用 spread 运算符获取参数(...args),则会出现 [...args, MutableToken] 这种情况
|
|
167
|
-
* 所以发送请求时将这类参数统一再用数组包了一层,形如 [[...args]], 参考 {@link RPCProxy.get get} 方法
|
|
168
|
-
* 此时接收到的数组类参数固定长度为 2,且最后一项一定是 MutableToken
|
|
169
|
-
* @param args
|
|
170
|
-
* @returns args
|
|
171
|
-
*/
|
|
172
|
-
serializeArguments(args) {
|
|
173
|
-
const maybeCancellationToken = args[args.length - 1];
|
|
174
|
-
if (args.length === 2 && Array.isArray(args[0]) && maybeCancellationToken.hasOwnProperty('_isCancelled')) {
|
|
175
|
-
return [...args[0], maybeCancellationToken];
|
|
176
|
-
}
|
|
177
|
-
return args;
|
|
178
|
-
}
|
|
179
|
-
async onRequest(prop, ...args) {
|
|
180
|
-
try {
|
|
181
|
-
const result = await this.proxyService[prop](...this.serializeArguments(args));
|
|
182
|
-
return {
|
|
183
|
-
error: false,
|
|
184
|
-
data: result,
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
catch (e) {
|
|
188
|
-
return {
|
|
189
|
-
error: true,
|
|
190
|
-
data: {
|
|
191
|
-
message: e.message,
|
|
192
|
-
stack: e.stack,
|
|
193
|
-
},
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
onNotification(prop, ...args) {
|
|
198
|
-
try {
|
|
199
|
-
this.proxyService[prop](...this.serializeArguments(args));
|
|
200
|
-
}
|
|
201
|
-
catch (e) {
|
|
202
|
-
this.logger.warn('notification', e);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
exports.RPCProxy = RPCProxy;
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("../node/center/proxy"), exports);
|
|
207
5
|
//# sourceMappingURL=proxy.js.map
|
package/lib/common/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/common/proxy.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/common/proxy.ts"],"names":[],"mappings":";;;AAAA,+DAAqC"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AAEvB,cAAc,gBAAgB,CAAC;AAE/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./
|
|
4
|
+
tslib_1.__exportStar(require("./node"), exports);
|
|
5
|
+
// export * from './browser/stub-client';
|
|
6
|
+
tslib_1.__exportStar(require("./common/proxy"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./common/ws-channel"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./browser/ws-channel-handler"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./common/rpcProtocol"), exports);
|
|
5
10
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,yCAAyC;AACzC,yDAA+B;AAE/B,8DAAoC;AACpC,uEAA6C;AAC7C,+DAAqC"}
|
|
@@ -1,31 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { SocketMessageReader, SocketMessageWriter, MessageConnection } from '@opensumi/vscode-jsonrpc/lib/node/main';
|
|
3
|
+
export { SocketMessageReader, SocketMessageWriter };
|
|
2
4
|
import { RPCProxy } from './proxy';
|
|
5
|
+
import net from 'net';
|
|
3
6
|
export declare type RPCServiceMethod = (...args: any[]) => any;
|
|
4
7
|
export declare type ServiceProxy = any;
|
|
5
8
|
export declare enum ServiceType {
|
|
6
9
|
Service = 0,
|
|
7
10
|
Stub = 1
|
|
8
11
|
}
|
|
9
|
-
export declare class RPCServiceStub {
|
|
10
|
-
private serviceName;
|
|
11
|
-
private center;
|
|
12
|
-
private type;
|
|
13
|
-
constructor(serviceName: string, center: any, type: ServiceType);
|
|
14
|
-
ready(): Promise<any>;
|
|
15
|
-
getNotificationName(name: string): string;
|
|
16
|
-
getRequestName(name: string): string;
|
|
17
|
-
on(name: string, method: RPCServiceMethod): void;
|
|
18
|
-
getServiceMethod(service: any): string[];
|
|
19
|
-
onRequestService(service: any): void;
|
|
20
|
-
onRequest(name: string, method: RPCServiceMethod): void;
|
|
21
|
-
broadcast(name: string, ...args: any[]): any;
|
|
22
|
-
getMethodName(name: string): string;
|
|
23
|
-
getProxy: <T>() => RPCServiceStub & T;
|
|
24
|
-
}
|
|
25
12
|
export declare function initRPCService<T = void>(center: RPCServiceCenter): {
|
|
26
13
|
createRPCService: (name: string, service?: any) => RPCServiceStub & T;
|
|
27
14
|
getRPCService: (name: string) => RPCServiceStub & T;
|
|
28
15
|
};
|
|
16
|
+
export declare function createRPCService<T = void>(name: string, center: RPCServiceCenter): any;
|
|
17
|
+
export declare function getRPCService<T = void>(name: string, center: RPCServiceCenter): any;
|
|
29
18
|
interface Ibench {
|
|
30
19
|
registerService: (service: string) => void;
|
|
31
20
|
}
|
|
@@ -34,8 +23,6 @@ export interface RPCMessageConnection extends MessageConnection {
|
|
|
34
23
|
writer?: any;
|
|
35
24
|
reader?: any;
|
|
36
25
|
}
|
|
37
|
-
export declare function createRPCService<T = void>(name: string, center: RPCServiceCenter): any;
|
|
38
|
-
export declare function getRPCService<T = void>(name: string, center: RPCServiceCenter): any;
|
|
39
26
|
export declare class RPCServiceCenter {
|
|
40
27
|
private bench?;
|
|
41
28
|
uid: string;
|
|
@@ -56,5 +43,21 @@ export declare class RPCServiceCenter {
|
|
|
56
43
|
onRequest(name: any, method: RPCServiceMethod): void;
|
|
57
44
|
broadcast(name: any, ...args: any[]): Promise<any>;
|
|
58
45
|
}
|
|
59
|
-
export {
|
|
60
|
-
|
|
46
|
+
export declare class RPCServiceStub {
|
|
47
|
+
private serviceName;
|
|
48
|
+
private center;
|
|
49
|
+
private type;
|
|
50
|
+
constructor(serviceName: string, center: any, type: ServiceType);
|
|
51
|
+
ready(): Promise<any>;
|
|
52
|
+
getNotificationName(name: string): string;
|
|
53
|
+
getRequestName(name: string): string;
|
|
54
|
+
on(name: string, method: RPCServiceMethod): void;
|
|
55
|
+
getServiceMethod(service: any): string[];
|
|
56
|
+
onRequestService(service: any): void;
|
|
57
|
+
onRequest(name: string, method: RPCServiceMethod): void;
|
|
58
|
+
broadcast(name: string, ...args: any[]): any;
|
|
59
|
+
getMethodName(name: string): string;
|
|
60
|
+
getProxy: <T>() => RPCServiceStub & T;
|
|
61
|
+
}
|
|
62
|
+
export declare function createSocketConnection(socket: net.Socket): MessageConnection;
|
|
63
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/center/index.ts"],"names":[],"mappings":"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"}
|