@mingzey/typedrpc 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.d.ts +8 -8
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +2 -2
- package/dist/api.js.map +1 -1
- package/dist/client.d.ts +18 -18
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +10 -10
- package/dist/client.js.map +1 -1
- package/dist/connecitons/basic.d.ts +9 -9
- package/dist/connecitons/basic.d.ts.map +1 -1
- package/dist/connecitons/basic.js +3 -3
- package/dist/connecitons/basic.js.map +1 -1
- package/dist/connecitons/http.d.ts +13 -13
- package/dist/connecitons/http.d.ts.map +1 -1
- package/dist/connecitons/http.js +10 -10
- package/dist/connecitons/http.js.map +1 -1
- package/dist/connecitons/socket.d.ts +7 -7
- package/dist/connecitons/socket.d.ts.map +1 -1
- package/dist/connecitons/socket.js +8 -8
- package/dist/connecitons/socket.js.map +1 -1
- package/dist/connecitons/socketio.d.ts +7 -7
- package/dist/connecitons/socketio.d.ts.map +1 -1
- package/dist/connecitons/socketio.js +8 -8
- package/dist/connecitons/socketio.js.map +1 -1
- package/dist/connection.d.ts +4 -4
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +4 -4
- package/dist/connection.js.map +1 -1
- package/dist/context.d.ts +10 -10
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +1 -1
- package/dist/context.js.map +1 -1
- package/dist/core.d.ts +16 -16
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +11 -11
- package/dist/core.js.map +1 -1
- package/dist/define.d.ts +8 -8
- package/dist/define.d.ts.map +1 -1
- package/dist/define.js +15 -15
- package/dist/define.js.map +1 -1
- package/dist/handler.d.ts +16 -16
- package/dist/handler.d.ts.map +1 -1
- package/dist/handler.js +18 -18
- package/dist/handler.js.map +1 -1
- package/dist/index.d.ts +14 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -13
- package/dist/index.js.map +1 -1
- package/dist/packet.d.ts +9 -9
- package/dist/packet.d.ts.map +1 -1
- package/dist/packet.js +5 -5
- package/dist/packet.js.map +1 -1
- package/dist/server.d.ts +18 -18
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +8 -8
- package/dist/server.js.map +1 -1
- package/dist/test/authorization.js +16 -16
- package/dist/test/authorization.js.map +1 -1
- package/dist/test/basic.js +6 -6
- package/dist/test/basic.js.map +1 -1
- package/dist/test/context.js +12 -12
- package/dist/test/context.js.map +1 -1
- package/dist/test/expressmix.d.ts.map +1 -1
- package/dist/test/expressmix.js +7 -7
- package/dist/test/expressmix.js.map +1 -1
- package/dist/test/socket.js +8 -8
- package/dist/test/socket.js.map +1 -1
- package/dist/test/socketio.d.ts +12 -0
- package/dist/test/socketio.d.ts.map +1 -0
- package/dist/test/socketio.js +77 -0
- package/dist/test/socketio.js.map +1 -0
- package/dist/test.js +3 -3
- package/dist/test.js.map +1 -1
- package/dist/utils.d.ts +9 -9
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +4 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IdMaker, TypedEmitter } from "../utils.js";
|
|
2
|
-
import {
|
|
3
|
-
class
|
|
2
|
+
import { TypedRPCConnection, TypedRPCConnectionProvider } from "./basic.js";
|
|
3
|
+
class TypedRPCConnectionSocketIO extends TypedRPCConnection {
|
|
4
4
|
socket;
|
|
5
5
|
msgEmitter = new TypedEmitter();
|
|
6
6
|
currentId = 1;
|
|
@@ -61,7 +61,7 @@ class TypeRPCConnectionSocketIO extends TypeRPCConnection {
|
|
|
61
61
|
return this.socket.isClosed();
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
class
|
|
64
|
+
class TypedRPCConnectionProviderSocketIO extends TypedRPCConnectionProvider {
|
|
65
65
|
io = null;
|
|
66
66
|
async listen(config) {
|
|
67
67
|
const httpModule = await import("http").catch(() => null);
|
|
@@ -80,7 +80,7 @@ class TypeRPCConnectionProviderSocketIO extends TypeRPCConnectionProvider {
|
|
|
80
80
|
},
|
|
81
81
|
});
|
|
82
82
|
io.on('connection', (socket) => {
|
|
83
|
-
const connection = new
|
|
83
|
+
const connection = new TypedRPCConnectionSocketIO({
|
|
84
84
|
id: socket.id,
|
|
85
85
|
send: (data) => {
|
|
86
86
|
socket.emit('message', data);
|
|
@@ -93,7 +93,7 @@ class TypeRPCConnectionProviderSocketIO extends TypeRPCConnectionProvider {
|
|
|
93
93
|
return socket.disconnected;
|
|
94
94
|
},
|
|
95
95
|
});
|
|
96
|
-
this.emitter.emit('connection', connection); // 告知
|
|
96
|
+
this.emitter.emit('connection', connection); // 告知TypedRPCHandler有新连接
|
|
97
97
|
socket.on('message', (data) => {
|
|
98
98
|
connection.msgEmitter.emit('receive', data);
|
|
99
99
|
});
|
|
@@ -132,7 +132,7 @@ class TypeRPCConnectionProviderSocketIO extends TypeRPCConnectionProvider {
|
|
|
132
132
|
}
|
|
133
133
|
return new Promise((resolve, reject) => {
|
|
134
134
|
const socket = SocketIOClientModule.io(`ws://${target}`);
|
|
135
|
-
const connection = new
|
|
135
|
+
const connection = new TypedRPCConnectionSocketIO({
|
|
136
136
|
id: socket.id || IdMaker.makeId(),
|
|
137
137
|
send: (data) => {
|
|
138
138
|
socket.emit('message', data);
|
|
@@ -145,7 +145,7 @@ class TypeRPCConnectionProviderSocketIO extends TypeRPCConnectionProvider {
|
|
|
145
145
|
return socket.disconnected;
|
|
146
146
|
},
|
|
147
147
|
});
|
|
148
|
-
this.emitter.emit('connection', connection); // 告知
|
|
148
|
+
this.emitter.emit('connection', connection); // 告知TypedRPCHandler有新连接
|
|
149
149
|
socket.on('connect', () => {
|
|
150
150
|
resolve(connection);
|
|
151
151
|
});
|
|
@@ -158,5 +158,5 @@ class TypeRPCConnectionProviderSocketIO extends TypeRPCConnectionProvider {
|
|
|
158
158
|
});
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
export {
|
|
161
|
+
export { TypedRPCConnectionSocketIO, TypedRPCConnectionProviderSocketIO, };
|
|
162
162
|
//# sourceMappingURL=socketio.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socketio.js","sourceRoot":"","sources":["../../src/connecitons/socketio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"socketio.js","sourceRoot":"","sources":["../../src/connecitons/socketio.ts"],"names":[],"mappings":"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"}
|
package/dist/connection.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const
|
|
3
|
-
declare const
|
|
4
|
-
export {
|
|
1
|
+
import { TypedRPCConnectionHTTP, TypedRPCConnectionProviderHTTP } from "./connecitons/http.js";
|
|
2
|
+
declare const TypedRPCConnectionDefault: typeof TypedRPCConnectionHTTP;
|
|
3
|
+
declare const TypedRPCConnectionProviderDefault: typeof TypedRPCConnectionProviderHTTP;
|
|
4
|
+
export { TypedRPCConnectionDefault, TypedRPCConnectionProviderDefault, };
|
|
5
5
|
//# sourceMappingURL=connection.d.ts.map
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAG/F,QAAA,MAAM,yBAAyB,+BAAyB,CAAC;AACzD,QAAA,MAAM,iCAAiC,uCAAiC,CAAC;AAEzE,OAAO,EACH,yBAAyB,EACzB,iCAAiC,GACpC,CAAA"}
|
package/dist/connection.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
export {
|
|
1
|
+
import { TypedRPCConnectionHTTP, TypedRPCConnectionProviderHTTP } from "./connecitons/http.js";
|
|
2
|
+
const TypedRPCConnectionDefault = TypedRPCConnectionHTTP;
|
|
3
|
+
const TypedRPCConnectionProviderDefault = TypedRPCConnectionProviderHTTP;
|
|
4
|
+
export { TypedRPCConnectionDefault, TypedRPCConnectionProviderDefault, };
|
|
5
5
|
//# sourceMappingURL=connection.js.map
|
package/dist/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAG/F,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AACzD,MAAM,iCAAiC,GAAG,8BAA8B,CAAC;AAEzE,OAAO,EACH,yBAAyB,EACzB,iCAAiC,GACpC,CAAA"}
|
package/dist/context.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
type
|
|
4
|
-
connection:
|
|
5
|
-
inbound?:
|
|
6
|
-
outbound?:
|
|
1
|
+
import type { TypedRPCConnection } from "./connecitons/basic.js";
|
|
2
|
+
import type { TypedRPCPacket } from "./packet.js";
|
|
3
|
+
type TypedRPCContext = {
|
|
4
|
+
connection: TypedRPCConnection;
|
|
5
|
+
inbound?: TypedRPCPacket;
|
|
6
|
+
outbound?: TypedRPCPacket;
|
|
7
7
|
};
|
|
8
|
-
export declare const
|
|
9
|
-
interface
|
|
10
|
-
[
|
|
8
|
+
export declare const TypedRPCContextSymbol: unique symbol;
|
|
9
|
+
interface TypedRPCContextAware {
|
|
10
|
+
[TypedRPCContextSymbol]: TypedRPCContext | null;
|
|
11
11
|
}
|
|
12
|
-
export type {
|
|
12
|
+
export type { TypedRPCContextAware, TypedRPCContext, };
|
|
13
13
|
//# sourceMappingURL=context.d.ts.map
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,KAAK,eAAe,GAAG;IACnB,UAAU,EAAC,kBAAkB,CAAC;IAC9B,OAAO,CAAC,EAAC,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAC,cAAc,CAAC;CAC5B,CAAA;AAED,eAAO,MAAM,qBAAqB,eAA4B,CAAC;AAC/D,UAAU,oBAAoB;IAC1B,CAAC,qBAAqB,CAAC,EAAC,eAAe,GAAG,IAAI,CAAC;CAClD;AAED,YAAY,EACR,oBAAoB,EACpB,eAAe,GAClB,CAAA"}
|
package/dist/context.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const
|
|
1
|
+
export const TypedRPCContextSymbol = Symbol("TypedRPCContext");
|
|
2
2
|
//# sourceMappingURL=context.js.map
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC"}
|
package/dist/core.d.ts
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
3
|
-
import { type
|
|
1
|
+
import type { TypedRPCConnection, TypedRPCConnectionProvider } from "./connecitons/basic.js";
|
|
2
|
+
import { TypedRPCHandler } from "./handler.js";
|
|
3
|
+
import { type TypedRPCRequestPacket, type TypedRPCResponsePacket } from "./packet.js";
|
|
4
4
|
import { TypedEmitter } from "./utils.js";
|
|
5
|
-
type
|
|
5
|
+
type TypedRPCCoreConfig = {
|
|
6
6
|
connection?: {
|
|
7
|
-
provider:
|
|
7
|
+
provider: TypedRPCConnectionProvider;
|
|
8
8
|
};
|
|
9
9
|
};
|
|
10
|
-
type
|
|
11
|
-
connection: (connection:
|
|
10
|
+
type TypedRPCCoreEvents = {
|
|
11
|
+
connection: (connection: TypedRPCConnection) => void;
|
|
12
12
|
};
|
|
13
|
-
declare class
|
|
14
|
-
emitter: TypedEmitter<
|
|
13
|
+
declare class TypedRPCCore {
|
|
14
|
+
emitter: TypedEmitter<TypedRPCCoreEvents>;
|
|
15
15
|
private config;
|
|
16
|
-
handler:
|
|
17
|
-
constructor(config:
|
|
16
|
+
handler: TypedRPCHandler;
|
|
17
|
+
constructor(config: TypedRPCCoreConfig);
|
|
18
18
|
private init;
|
|
19
19
|
get hook(): (serviceName: string, methodName: string, config: {
|
|
20
20
|
handler: (...args: any[]) => any;
|
|
21
21
|
bind?: any;
|
|
22
22
|
}) => void;
|
|
23
23
|
request(config: {
|
|
24
|
-
connection:
|
|
24
|
+
connection: TypedRPCConnection;
|
|
25
25
|
serviceName: string;
|
|
26
26
|
methodName: string;
|
|
27
27
|
args: any[];
|
|
28
28
|
}): Promise<{
|
|
29
|
-
request:
|
|
30
|
-
response:
|
|
29
|
+
request: TypedRPCRequestPacket;
|
|
30
|
+
response: TypedRPCResponsePacket;
|
|
31
31
|
}>;
|
|
32
32
|
listen(config: {
|
|
33
33
|
port: number;
|
|
34
34
|
hostname?: string;
|
|
35
35
|
}): Promise<boolean>;
|
|
36
36
|
close(): Promise<boolean>;
|
|
37
|
-
connect(target: string): Promise<
|
|
37
|
+
connect(target: string): Promise<TypedRPCConnection>;
|
|
38
38
|
}
|
|
39
|
-
export {
|
|
39
|
+
export { TypedRPCCore };
|
|
40
40
|
//# sourceMappingURL=core.d.ts.map
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAE5F,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAyB,KAAK,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAC5G,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,KAAK,kBAAkB,GAAG;IACtB,UAAU,CAAC,EAAC;QACR,QAAQ,EAAC,0BAA0B,CAAC;KACvC,CAAA;CACJ,CAAA;AAED,KAAK,kBAAkB,GAAG;IACtB,UAAU,EAAC,CAAC,UAAU,EAAC,kBAAkB,KAAG,IAAI,CAAC;CACpD,CAAA;AAED,cAAM,YAAY;IAEP,OAAO,mCAA0C;IACxD,OAAO,CAAC,MAAM,CAAoB;IAC3B,OAAO,EAAC,eAAe,CAAC;gBAEnB,MAAM,EAAC,kBAAkB;IAWrC,OAAO,CAAC,IAAI;IA4BZ,IAAI,IAAI;;;eAEP;IAEY,OAAO,CAAC,MAAM,EAAC;QACxB,UAAU,EAAC,kBAAkB,CAAC;QAC9B,WAAW,EAAC,MAAM,CAAC;QACnB,UAAU,EAAC,MAAM,CAAC;QAClB,IAAI,EAAC,GAAG,EAAE,CAAC;KACd,GAAE,OAAO,CAAC;QACP,OAAO,EAAC,qBAAqB,CAAC;QAC9B,QAAQ,EAAC,sBAAsB,CAAC;KACnC,CAAC;IAwBW,MAAM,CAAC,MAAM,EAAC;QACvB,IAAI,EAAC,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAC,MAAM,CAAC;KACpB,GAAE,OAAO,CAAC,OAAO,CAAC;IAQN,KAAK,IAAG,OAAO,CAAC,OAAO,CAAC;IAQxB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAC;CASnE;AAED,OAAO,EACH,YAAY,EACf,CAAA"}
|
package/dist/core.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { TypedRPCConnectionProviderDefault } from "./connection.js";
|
|
2
|
+
import { TypedRPCHandler } from "./handler.js";
|
|
3
|
+
import { TypedRPCPacketFactory } from "./packet.js";
|
|
4
4
|
import { TypedEmitter } from "./utils.js";
|
|
5
|
-
class
|
|
5
|
+
class TypedRPCCore {
|
|
6
6
|
emitter = new TypedEmitter();
|
|
7
7
|
config;
|
|
8
8
|
handler;
|
|
9
9
|
constructor(config) {
|
|
10
10
|
const defaultConfig = {
|
|
11
11
|
connection: {
|
|
12
|
-
provider: new
|
|
12
|
+
provider: new TypedRPCConnectionProviderDefault(),
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
this.config = { ...defaultConfig, ...config };
|
|
16
|
-
this.handler = new
|
|
16
|
+
this.handler = new TypedRPCHandler();
|
|
17
17
|
this.init();
|
|
18
18
|
}
|
|
19
19
|
init() {
|
|
@@ -28,7 +28,7 @@ class TypeRPCCore {
|
|
|
28
28
|
connection.emitter.on('request', (context) => {
|
|
29
29
|
try {
|
|
30
30
|
const requestPacket = JSON.parse(context.data);
|
|
31
|
-
if (!
|
|
31
|
+
if (!TypedRPCPacketFactory.isRequestPacket(requestPacket)) {
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
this.handler.handle(connection, requestPacket, (responsePacket) => {
|
|
@@ -48,18 +48,18 @@ class TypeRPCCore {
|
|
|
48
48
|
return this.handler.hook.bind(this.handler);
|
|
49
49
|
}
|
|
50
50
|
async request(config) {
|
|
51
|
-
const requestPacket =
|
|
51
|
+
const requestPacket = TypedRPCPacketFactory.createRequestPacket({
|
|
52
52
|
serviceName: config.serviceName,
|
|
53
53
|
methodName: config.methodName,
|
|
54
54
|
args: config.args,
|
|
55
55
|
});
|
|
56
56
|
const responsePacket = await this.handler.request(config.connection, requestPacket).catch((e) => {
|
|
57
|
-
return
|
|
57
|
+
return TypedRPCPacketFactory.createResponsePacket({
|
|
58
58
|
requestId: requestPacket.id,
|
|
59
59
|
error: e
|
|
60
60
|
});
|
|
61
61
|
});
|
|
62
|
-
if (!
|
|
62
|
+
if (!TypedRPCPacketFactory.isResponsePacket(responsePacket)) {
|
|
63
63
|
throw new Error(`Invalid response packet:\n${JSON.stringify(responsePacket)}`);
|
|
64
64
|
}
|
|
65
65
|
if (responsePacket.requestId != requestPacket.id) {
|
|
@@ -93,5 +93,5 @@ class TypeRPCCore {
|
|
|
93
93
|
return connection;
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
export {
|
|
96
|
+
export { TypedRPCCore };
|
|
97
97
|
//# sourceMappingURL=core.js.map
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAA2D,MAAM,aAAa,CAAA;AAC5G,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAYzC,MAAM,YAAY;IAEP,OAAO,GAAG,IAAI,YAAY,EAAsB,CAAC;IAChD,MAAM,CAAoB;IAC3B,OAAO,CAAiB;IAE/B,YAAY,MAAyB;QACjC,MAAM,aAAa,GAAsB;YACrC,UAAU,EAAC;gBACP,QAAQ,EAAC,IAAI,iCAAiC,EAAE;aACnD;SACJ,CAAA;QACD,IAAI,CAAC,MAAM,GAAG,EAAC,GAAG,aAAa,EAAC,GAAG,MAAM,EAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAEO,IAAI;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;QAClD,IAAG,QAAQ,EAAC;YACR,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAC,CAAC,UAAU,EAAE,EAAE;gBAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAC,UAAU,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAA;SACL;QACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAC,CAAC,UAAU,EAAE,EAAE;YACxC,WAAW;YACX,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAC,CAAC,OAAO,EAAE,EAAE;gBACxC,IAAG;oBACC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC/C,IAAG,CAAC,qBAAqB,CAAC,eAAe,CAAC,aAAa,CAAC,EAAC;wBACrD,OAAO;qBACV;oBACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAC,aAAa,EAAC,CAAC,cAAc,EAAE,EAAE;wBAC5D,IAAG,CAAC,cAAc,EAAC;4BACf,OAAO;yBACV;wBACD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,CAAC,CAAC,CAAC;iBACN;gBAAA,OAAM,CAAC,EAAC;oBACL,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACpB;YACL,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,MAKpB;QAIG,MAAM,aAAa,GAAG,qBAAqB,CAAC,mBAAmB,CAAC;YAC5D,WAAW,EAAC,MAAM,CAAC,WAAW;YAC9B,UAAU,EAAC,MAAM,CAAC,UAAU;YAC5B,IAAI,EAAC,MAAM,CAAC,IAAI;SACnB,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3F,OAAO,qBAAqB,CAAC,oBAAoB,CAAC;gBAC9C,SAAS,EAAC,aAAa,CAAC,EAAE;gBAC1B,KAAK,EAAC,CAAC;aACV,CAAC,CAAA;QACN,CAAC,CAAC,CAAC;QACH,IAAG,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAC;YACvD,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;SAClF;QACD,IAAG,cAAc,CAAC,SAAS,IAAI,aAAa,CAAC,EAAE,EAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;SACxI;QACD,OAAO;YACH,OAAO,EAAC,aAAa;YACrB,QAAQ,EAAC,cAAc;SAC1B,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,MAGnB;QACG,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;QAClD,IAAG,CAAC,QAAQ,EAAC;YACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SACpD;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;QAClD,IAAG,CAAC,QAAQ,EAAC;YACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SACpD;QACD,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,MAAc;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;QAClD,IAAG,CAAC,QAAQ,EAAC;YACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SACpD;QACD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO,UAAU,CAAC;IACtB,CAAC;CAEJ;AAED,OAAO,EACH,YAAY,EACf,CAAA"}
|
package/dist/define.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
type
|
|
2
|
-
declare class
|
|
3
|
-
static
|
|
4
|
-
static
|
|
5
|
-
static
|
|
6
|
-
constructor(config?:
|
|
1
|
+
type TypedRPCAPIDefineType = Record<string, Record<string, any>>;
|
|
2
|
+
declare class TypedRPCAPIDefine<T extends TypedRPCAPIDefineType> {
|
|
3
|
+
static TypedRPCService: symbol;
|
|
4
|
+
static TypedRPCMethod: symbol;
|
|
5
|
+
static TypedRPCMethodList: symbol;
|
|
6
|
+
constructor(config?: TypedRPCAPIDefineType);
|
|
7
7
|
static method(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
|
|
8
8
|
static isService(target: any): boolean;
|
|
9
9
|
static isMethod(method: any): boolean;
|
|
10
10
|
static getMethodList(service: any): string[];
|
|
11
11
|
}
|
|
12
|
-
export type {
|
|
13
|
-
export {
|
|
12
|
+
export type { TypedRPCAPIDefineType, };
|
|
13
|
+
export { TypedRPCAPIDefine, };
|
|
14
14
|
//# sourceMappingURL=define.d.ts.map
|
package/dist/define.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AACA,KAAK,
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AACA,KAAK,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;AAQhE,cAAM,iBAAiB,CAAC,CAAC,SAAS,qBAAqB;IAEnD,MAAM,CAAC,eAAe,SAA6B;IACnD,MAAM,CAAC,cAAc,SAA4B;IACjD,MAAM,CAAC,kBAAkB,SAAgC;gBAE7C,MAAM,CAAC,EAAC,qBAAqB;IAIzC,MAAM,CAAC,MAAM,aACe,GAAG,eAAc,MAAM,cAAa,kBAAkB;IAYlF,MAAM,CAAC,SAAS,CAAC,MAAM,EAAC,GAAG;IAI3B,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAC,GAAG;IAW1B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAC,GAAG,GAAE,MAAM,EAAE;CAM7C;AAGD,YAAY,EACR,qBAAqB,GACxB,CAAA;AAED,OAAO,EACH,iBAAiB,GACpB,CAAA"}
|
package/dist/define.js
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
class
|
|
2
|
-
static
|
|
3
|
-
static
|
|
4
|
-
static
|
|
1
|
+
class TypedRPCAPIDefine {
|
|
2
|
+
static TypedRPCService = Symbol('TypedRPCService');
|
|
3
|
+
static TypedRPCMethod = Symbol('TypedRPCMethod');
|
|
4
|
+
static TypedRPCMethodList = Symbol('TypedRPCMethodList');
|
|
5
5
|
constructor(config) {
|
|
6
6
|
}
|
|
7
7
|
static method() {
|
|
8
8
|
return function (target, propertyKey, descriptor) {
|
|
9
|
-
descriptor.value[
|
|
10
|
-
if (!target[
|
|
11
|
-
target[
|
|
9
|
+
descriptor.value[TypedRPCAPIDefine.TypedRPCMethod] = true;
|
|
10
|
+
if (!target[TypedRPCAPIDefine.TypedRPCService]) {
|
|
11
|
+
target[TypedRPCAPIDefine.TypedRPCService] = true;
|
|
12
12
|
}
|
|
13
|
-
if (!target[
|
|
14
|
-
target[
|
|
13
|
+
if (!target[TypedRPCAPIDefine.TypedRPCMethodList]) {
|
|
14
|
+
target[TypedRPCAPIDefine.TypedRPCMethodList] = new Set();
|
|
15
15
|
}
|
|
16
|
-
target[
|
|
16
|
+
target[TypedRPCAPIDefine.TypedRPCMethodList].add(propertyKey);
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
static isService(target) {
|
|
20
|
-
return target[
|
|
20
|
+
return target[TypedRPCAPIDefine.TypedRPCService] === true;
|
|
21
21
|
}
|
|
22
22
|
static isMethod(method) {
|
|
23
23
|
// 判断是否是方法
|
|
24
24
|
if (typeof method !== 'function') {
|
|
25
25
|
return false;
|
|
26
26
|
}
|
|
27
|
-
if (method[
|
|
27
|
+
if (method[TypedRPCAPIDefine.TypedRPCMethod] != true) {
|
|
28
28
|
return false;
|
|
29
29
|
}
|
|
30
30
|
return true;
|
|
31
31
|
}
|
|
32
32
|
static getMethodList(service) {
|
|
33
|
-
if (!
|
|
33
|
+
if (!TypedRPCAPIDefine.isService(service)) {
|
|
34
34
|
return [];
|
|
35
35
|
}
|
|
36
|
-
return Array.from(service[
|
|
36
|
+
return Array.from(service[TypedRPCAPIDefine.TypedRPCMethodList]);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
export {
|
|
39
|
+
export { TypedRPCAPIDefine, };
|
|
40
40
|
//# sourceMappingURL=define.js.map
|
package/dist/define.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AASA,MAAM,
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AASA,MAAM,iBAAiB;IAEnB,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACnD,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACjD,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEzD,YAAY,MAA6B;IAEzC,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAQ,UAAS,MAAU,EAAE,WAAkB,EAAE,UAA6B;YAC1E,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;YAC1D,IAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAC;gBAC1C,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;aACpD;YACD,IAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAC;gBAC7C,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,IAAI,GAAG,EAAU,CAAC;aACpE;YACD,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAClE,CAAC,CAAA;IACL,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAU;QACvB,OAAO,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,MAAU;QACtB,UAAU;QACV,IAAG,OAAO,MAAM,KAAK,UAAU,EAAC;YAC5B,OAAO,KAAK,CAAC;SAChB;QACD,IAAG,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,IAAI,EAAC;YAChD,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,OAAW;QAC5B,IAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC;YACrC,OAAO,EAAE,CAAC;SACb;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACrE,CAAC;;AAQL,OAAO,EACH,iBAAiB,GACpB,CAAA"}
|
package/dist/handler.d.ts
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { type
|
|
3
|
-
import { type
|
|
1
|
+
import type { TypedRPCConnection } from "./connecitons/basic.js";
|
|
2
|
+
import { type TypedRPCContext } from "./context.js";
|
|
3
|
+
import { type TypedRPCPacket, type TypedRPCRequestPacket, type TypedRPCResponsePacket } from "./packet.js";
|
|
4
4
|
import { TypedEmitter } from "./utils.js";
|
|
5
|
-
declare class
|
|
6
|
-
inbound(context:
|
|
7
|
-
outbound(context:
|
|
5
|
+
declare class TypedRPCHandlerMiddleware {
|
|
6
|
+
inbound(context: TypedRPCContext): Promise<TypedRPCContext>;
|
|
7
|
+
outbound(context: TypedRPCContext): Promise<TypedRPCContext>;
|
|
8
8
|
}
|
|
9
|
-
type
|
|
9
|
+
type TypedRPCHandlerEvents = {};
|
|
10
10
|
/**
|
|
11
|
-
* 处理所有
|
|
11
|
+
* 处理所有TypedRPC数据包,管理入站出站
|
|
12
12
|
*/
|
|
13
|
-
declare class
|
|
14
|
-
emitter: TypedEmitter<
|
|
13
|
+
declare class TypedRPCHandler {
|
|
14
|
+
emitter: TypedEmitter<TypedRPCHandlerEvents>;
|
|
15
15
|
private middlewares;
|
|
16
16
|
private hooks;
|
|
17
17
|
constructor();
|
|
18
|
-
use(middleware:
|
|
18
|
+
use(middleware: TypedRPCHandlerMiddleware): this;
|
|
19
19
|
private middlewareProcesser;
|
|
20
|
-
outbound(context:
|
|
21
|
-
inbound(context:
|
|
22
|
-
request(connection:
|
|
23
|
-
handle(connection:
|
|
20
|
+
outbound(context: TypedRPCContext): Promise<TypedRPCContext>;
|
|
21
|
+
inbound(context: TypedRPCContext): Promise<TypedRPCContext>;
|
|
22
|
+
request(connection: TypedRPCConnection, request: TypedRPCRequestPacket): Promise<TypedRPCPacket>;
|
|
23
|
+
handle(connection: TypedRPCConnection, request: TypedRPCRequestPacket, response: (packet: TypedRPCResponsePacket) => void): Promise<null | undefined>;
|
|
24
24
|
hook(serviceName: string, methodName: string, config: {
|
|
25
25
|
handler: (...args: any[]) => any;
|
|
26
26
|
bind?: any;
|
|
27
27
|
}): void;
|
|
28
28
|
}
|
|
29
|
-
export {
|
|
29
|
+
export { TypedRPCHandler, TypedRPCHandlerMiddleware };
|
|
30
30
|
//# sourceMappingURL=handler.d.ts.map
|
package/dist/handler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAyB,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQ1C,cAAM,yBAAyB;IACrB,OAAO,CAAC,OAAO,EAAC,eAAe,GAAE,OAAO,CAAC,eAAe,CAAC;IAGzD,QAAQ,CAAC,OAAO,EAAC,eAAe,GAAE,OAAO,CAAC,eAAe,CAAC;CAGnE;AAED,KAAK,qBAAqB,GAAG,EAE5B,CAAA;AACD;;GAEG;AACH,cAAM,eAAe;IAEV,OAAO,sCAA6C;IAE3D,OAAO,CAAC,WAAW,CAAkC;IAErD,OAAO,CAAC,KAAK,CAGJ;;IAwDF,GAAG,CAAC,UAAU,EAAC,yBAAyB;YAKjC,mBAAmB;IAqBpB,QAAQ,CAAC,OAAO,EAAC,eAAe,GAAE,OAAO,CAAC,eAAe,CAAC;IAO1D,OAAO,CAAC,OAAO,EAAC,eAAe,GAAE,OAAO,CAAC,eAAe,CAAC;IAOzD,OAAO,CAAC,UAAU,EAAC,kBAAkB,EAAC,OAAO,EAAC,qBAAqB,GAAE,OAAO,CAAC,cAAc,CAAC;IAiC5F,MAAM,CAAC,UAAU,EAAC,kBAAkB,EAAC,OAAO,EAAC,qBAAqB,EAAC,QAAQ,EAAC,CAAC,MAAM,EAAC,sBAAsB,KAAK,IAAI;IAiBhI,IAAI,CAAC,WAAW,EAAC,MAAM,EAAC,UAAU,EAAC,MAAM,EAAC,MAAM,EAAC;QAC7C,OAAO,EAAC,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,EAAC,GAAG,CAAC;KACb;CAWJ;AAED,OAAO,EACH,eAAe,EACf,yBAAyB,EAC5B,CAAA"}
|
package/dist/handler.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { TypedRPCContextSymbol } from "./context.js";
|
|
2
|
+
import { TypedRPCPacketFactory } from "./packet.js";
|
|
3
3
|
import { TypedEmitter } from "./utils.js";
|
|
4
|
-
// interface
|
|
5
|
-
// inbound?:(context:
|
|
6
|
-
// outbound?:(context:
|
|
4
|
+
// interface TypedRPCHandlerMiddleware{
|
|
5
|
+
// inbound?:(context:TypedRPCContext) => Promise<TypedRPCContext>;
|
|
6
|
+
// outbound?:(context:TypedRPCContext) => Promise<TypedRPCContext>;
|
|
7
7
|
// }
|
|
8
|
-
class
|
|
8
|
+
class TypedRPCHandlerMiddleware {
|
|
9
9
|
async inbound(context) {
|
|
10
10
|
return context;
|
|
11
11
|
}
|
|
@@ -14,9 +14,9 @@ class TypeRPCHandlerMiddleware {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* 处理所有
|
|
17
|
+
* 处理所有TypedRPC数据包,管理入站出站
|
|
18
18
|
*/
|
|
19
|
-
class
|
|
19
|
+
class TypedRPCHandler {
|
|
20
20
|
emitter = new TypedEmitter();
|
|
21
21
|
middlewares = [];
|
|
22
22
|
hooks = {};
|
|
@@ -25,7 +25,7 @@ class TypeRPCHandler {
|
|
|
25
25
|
inbound: async (context) => {
|
|
26
26
|
// Fallback 托底返回错误
|
|
27
27
|
if (context.inbound && !context.outbound) {
|
|
28
|
-
context.outbound =
|
|
28
|
+
context.outbound = TypedRPCPacketFactory.createResponsePacket({
|
|
29
29
|
requestId: context.inbound.id,
|
|
30
30
|
error: "service not available or not found",
|
|
31
31
|
});
|
|
@@ -39,7 +39,7 @@ class TypeRPCHandler {
|
|
|
39
39
|
this.use({
|
|
40
40
|
inbound: async (context) => {
|
|
41
41
|
if (!context.inbound
|
|
42
|
-
|| !
|
|
42
|
+
|| !TypedRPCPacketFactory.isRequestPacket(context.inbound)) {
|
|
43
43
|
return context;
|
|
44
44
|
}
|
|
45
45
|
// 如果已经有出站包,直接返回
|
|
@@ -55,13 +55,13 @@ class TypeRPCHandler {
|
|
|
55
55
|
}
|
|
56
56
|
const result = await hook.handler.call(new Proxy(hook.bind || {}, {
|
|
57
57
|
get(target, prop) {
|
|
58
|
-
if (prop ===
|
|
58
|
+
if (prop === TypedRPCContextSymbol) {
|
|
59
59
|
return context;
|
|
60
60
|
}
|
|
61
61
|
return Reflect.get(target, prop);
|
|
62
62
|
}
|
|
63
63
|
}), ...args);
|
|
64
|
-
const response =
|
|
64
|
+
const response = TypedRPCPacketFactory.createResponsePacket({
|
|
65
65
|
requestId: context.inbound.id,
|
|
66
66
|
result: result,
|
|
67
67
|
});
|
|
@@ -129,11 +129,11 @@ class TypeRPCHandler {
|
|
|
129
129
|
catch (e) {
|
|
130
130
|
throw new Error("Response is not a valid JSON string:" + res);
|
|
131
131
|
}
|
|
132
|
-
if (!
|
|
133
|
-
throw new Error("Response is not a
|
|
132
|
+
if (!TypedRPCPacketFactory.isPacket(responseObject)) {
|
|
133
|
+
throw new Error("Response is not a TypedRPCPacket");
|
|
134
134
|
}
|
|
135
|
-
if (!
|
|
136
|
-
throw new Error("Response is not a
|
|
135
|
+
if (!TypedRPCPacketFactory.isResponsePacket(responseObject)) {
|
|
136
|
+
throw new Error("Response is not a TypedRPCResponsePacket");
|
|
137
137
|
}
|
|
138
138
|
context.inbound = responseObject;
|
|
139
139
|
context = await this.inbound(context);
|
|
@@ -153,7 +153,7 @@ class TypeRPCHandler {
|
|
|
153
153
|
}
|
|
154
154
|
context = await this.outbound(context);
|
|
155
155
|
if (!context.outbound
|
|
156
|
-
|| !
|
|
156
|
+
|| !TypedRPCPacketFactory.isResponsePacket(context.outbound)) {
|
|
157
157
|
return null;
|
|
158
158
|
}
|
|
159
159
|
response(context.outbound);
|
|
@@ -168,5 +168,5 @@ class TypeRPCHandler {
|
|
|
168
168
|
};
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
|
-
export {
|
|
171
|
+
export { TypedRPCHandler, TypedRPCHandlerMiddleware };
|
|
172
172
|
//# sourceMappingURL=handler.js.map
|
package/dist/handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"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"}
|