@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
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
export type {
|
|
14
|
-
export {
|
|
1
|
+
import { TypedRPCClient } from './client.js';
|
|
2
|
+
import { TypedRPCServer } from './server.js';
|
|
3
|
+
import { TypedRPCAPIDefine } from './define.js';
|
|
4
|
+
import { TypedRPCConnectionDefault, TypedRPCConnectionProviderDefault } from './connection.js';
|
|
5
|
+
import { TypedRPCHandlerMiddleware } from './handler.js';
|
|
6
|
+
import { TypedRPCPacketFactory } from './packet.js';
|
|
7
|
+
import { TypedRPCContextSymbol, type TypedRPCContext, type TypedRPCContextAware } from './context.js';
|
|
8
|
+
import { TypedRPCConnection, TypedRPCConnectionProvider } from './connecitons/basic.js';
|
|
9
|
+
import { TypedRPCConnectionHTTP, TypedRPCConnectionProviderHTTP } from './connecitons/http.js';
|
|
10
|
+
import { TypedRPCConnectionProviderSocket, TypedRPCConnectionSocket } from './connecitons/socket.js';
|
|
11
|
+
import { TypedRPCConnectionSocketIO } from './connecitons/socketio.js';
|
|
12
|
+
import { TypedRPCConnectionProviderSocketIO } from './connecitons/socketio.js';
|
|
13
|
+
export type { TypedRPCContext, TypedRPCContextAware, };
|
|
14
|
+
export { TypedRPCClient, TypedRPCServer, TypedRPCAPIDefine, TypedRPCConnection, TypedRPCConnectionProvider, TypedRPCConnectionDefault, TypedRPCConnectionProviderDefault, TypedRPCConnectionHTTP, TypedRPCConnectionProviderHTTP, TypedRPCConnectionSocket, TypedRPCConnectionProviderSocket, TypedRPCConnectionSocketIO, TypedRPCConnectionProviderSocketIO, TypedRPCHandlerMiddleware, TypedRPCPacketFactory, TypedRPCContextSymbol, };
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAC;AAE/E,YAAY,EACR,eAAe,EACf,oBAAoB,GACvB,CAAA;AAED,OAAO,EACH,cAAc,EACd,cAAc,EACd,iBAAiB,EAEjB,kBAAkB,EAClB,0BAA0B,EAE1B,yBAAyB,EACzB,iCAAiC,EACjC,sBAAsB,EACtB,8BAA8B,EAC9B,wBAAwB,EACxB,gCAAgC,EAChC,0BAA0B,EAC1B,kCAAkC,EAGlC,yBAAyB,EACzB,qBAAqB,EAErB,qBAAqB,GACxB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
export {
|
|
1
|
+
import { TypedRPCClient } from './client.js';
|
|
2
|
+
import { TypedRPCServer } from './server.js';
|
|
3
|
+
import { TypedRPCAPIDefine } from './define.js';
|
|
4
|
+
import { TypedRPCConnectionDefault, TypedRPCConnectionProviderDefault } from './connection.js';
|
|
5
|
+
import { TypedRPCHandlerMiddleware } from './handler.js';
|
|
6
|
+
import { TypedRPCPacketFactory } from './packet.js';
|
|
7
|
+
import { TypedRPCContextSymbol } from './context.js';
|
|
8
|
+
import { TypedRPCConnection, TypedRPCConnectionProvider } from './connecitons/basic.js';
|
|
9
|
+
import { TypedRPCConnectionHTTP, TypedRPCConnectionProviderHTTP } from './connecitons/http.js';
|
|
10
|
+
import { TypedRPCConnectionProviderSocket, TypedRPCConnectionSocket } from './connecitons/socket.js';
|
|
11
|
+
import { TypedRPCConnectionSocketIO } from './connecitons/socketio.js';
|
|
12
|
+
import { TypedRPCConnectionProviderSocketIO } from './connecitons/socketio.js';
|
|
13
|
+
export { TypedRPCClient, TypedRPCServer, TypedRPCAPIDefine, TypedRPCConnection, TypedRPCConnectionProvider, TypedRPCConnectionDefault, TypedRPCConnectionProviderDefault, TypedRPCConnectionHTTP, TypedRPCConnectionProviderHTTP, TypedRPCConnectionSocket, TypedRPCConnectionProviderSocket, TypedRPCConnectionSocketIO, TypedRPCConnectionProviderSocketIO, TypedRPCHandlerMiddleware, TypedRPCPacketFactory, TypedRPCContextSymbol, };
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAmD,MAAM,cAAc,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAC;AAO/E,OAAO,EACH,cAAc,EACd,cAAc,EACd,iBAAiB,EAEjB,kBAAkB,EAClB,0BAA0B,EAE1B,yBAAyB,EACzB,iCAAiC,EACjC,sBAAsB,EACtB,8BAA8B,EAC9B,wBAAwB,EACxB,gCAAgC,EAChC,0BAA0B,EAC1B,kCAAkC,EAGlC,yBAAyB,EACzB,qBAAqB,EAErB,qBAAqB,GACxB,CAAA"}
|
package/dist/packet.d.ts
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
export interface
|
|
1
|
+
export interface TypedRPCPacket {
|
|
2
2
|
id: string;
|
|
3
3
|
type: string;
|
|
4
4
|
meta?: {
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
};
|
|
7
7
|
}
|
|
8
|
-
export interface
|
|
8
|
+
export interface TypedRPCRequestPacket extends TypedRPCPacket {
|
|
9
9
|
type: 'request';
|
|
10
10
|
serviceName: string;
|
|
11
11
|
methodName: string;
|
|
12
12
|
args: any[];
|
|
13
13
|
}
|
|
14
|
-
export interface
|
|
14
|
+
export interface TypedRPCResponsePacket extends TypedRPCPacket {
|
|
15
15
|
type: 'response';
|
|
16
16
|
requestId: string;
|
|
17
17
|
result?: any;
|
|
18
18
|
error?: any;
|
|
19
19
|
}
|
|
20
|
-
export declare class
|
|
20
|
+
export declare class TypedRPCPacketFactory {
|
|
21
21
|
static createID(): string;
|
|
22
22
|
static createRequestPacket(data: {
|
|
23
23
|
serviceName: string;
|
|
24
24
|
methodName: string;
|
|
25
25
|
args: any[];
|
|
26
|
-
}):
|
|
26
|
+
}): TypedRPCRequestPacket;
|
|
27
27
|
static createResponsePacket(data: {
|
|
28
28
|
requestId: string;
|
|
29
29
|
result?: any;
|
|
30
30
|
error?: any;
|
|
31
|
-
}):
|
|
32
|
-
static isPacket(data: any): data is
|
|
33
|
-
static isRequestPacket(data: any): data is
|
|
34
|
-
static isResponsePacket(data: any): data is
|
|
31
|
+
}): TypedRPCResponsePacket;
|
|
32
|
+
static isPacket(data: any): data is TypedRPCPacket;
|
|
33
|
+
static isRequestPacket(data: any): data is TypedRPCRequestPacket;
|
|
34
|
+
static isResponsePacket(data: any): data is TypedRPCResponsePacket;
|
|
35
35
|
}
|
|
36
36
|
//# sourceMappingURL=packet.d.ts.map
|
package/dist/packet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packet.d.ts","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"packet.d.ts","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAC,MAAM,CAAC;IACV,IAAI,EAAC,MAAM,CAAC;IACZ,IAAI,CAAC,EAAC;QAAC,CAAC,GAAG,EAAC,MAAM,GAAE,GAAG,CAAA;KAAC,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IACzD,IAAI,EAAC,SAAS,CAAC;IACf,WAAW,EAAC,MAAM,CAAC;IACnB,UAAU,EAAC,MAAM,CAAC;IAClB,IAAI,EAAC,GAAG,EAAE,CAAC;CACd;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC1D,IAAI,EAAC,UAAU,CAAC;IAChB,SAAS,EAAC,MAAM,CAAC;IACjB,MAAM,CAAC,EAAC,GAAG,CAAC;IACZ,KAAK,CAAC,EAAC,GAAG,CAAC;CACd;AAID,qBAAa,qBAAqB;IAE9B,MAAM,CAAC,QAAQ,IAAG,MAAM;IAIxB,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAC;QAC5B,WAAW,EAAC,MAAM,CAAC;QACnB,UAAU,EAAC,MAAM,CAAC;QAClB,IAAI,EAAC,GAAG,EAAE,CAAA;KACb,GAAE,qBAAqB;IAUxB,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAC;QAC7B,SAAS,EAAC,MAAM,CAAC;QACjB,MAAM,CAAC,EAAC,GAAG,CAAC;QACZ,KAAK,CAAC,EAAC,GAAG,CAAC;KACd,GAAE,sBAAsB;IAUzB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAC,GAAG,GAAE,IAAI,IAAI,cAAc;IAIhD,MAAM,CAAC,eAAe,CAAC,IAAI,EAAC,GAAG,GAAE,IAAI,IAAI,qBAAqB;IAO9D,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAC,GAAG,GAAE,IAAI,IAAI,sBAAsB;CAMnE"}
|
package/dist/packet.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { IdMaker } from "./utils.js";
|
|
2
|
-
export class
|
|
2
|
+
export class TypedRPCPacketFactory {
|
|
3
3
|
static createID() {
|
|
4
4
|
return IdMaker.makeId();
|
|
5
5
|
}
|
|
6
6
|
static createRequestPacket(data) {
|
|
7
7
|
return {
|
|
8
|
-
id:
|
|
8
|
+
id: TypedRPCPacketFactory.createID(),
|
|
9
9
|
type: 'request',
|
|
10
10
|
serviceName: data.serviceName,
|
|
11
11
|
methodName: data.methodName,
|
|
@@ -14,7 +14,7 @@ export class TypeRPCPacketFactory {
|
|
|
14
14
|
}
|
|
15
15
|
static createResponsePacket(data) {
|
|
16
16
|
return {
|
|
17
|
-
id:
|
|
17
|
+
id: TypedRPCPacketFactory.createID(),
|
|
18
18
|
type: 'response',
|
|
19
19
|
requestId: data.requestId,
|
|
20
20
|
result: data.result,
|
|
@@ -25,13 +25,13 @@ export class TypeRPCPacketFactory {
|
|
|
25
25
|
return data && typeof data === 'object' && 'id' in data && 'type' in data;
|
|
26
26
|
}
|
|
27
27
|
static isRequestPacket(data) {
|
|
28
|
-
if (!
|
|
28
|
+
if (!TypedRPCPacketFactory.isPacket(data)) {
|
|
29
29
|
return false;
|
|
30
30
|
}
|
|
31
31
|
return data.type === 'request';
|
|
32
32
|
}
|
|
33
33
|
static isResponsePacket(data) {
|
|
34
|
-
if (!
|
|
34
|
+
if (!TypedRPCPacketFactory.isPacket(data)) {
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
37
37
|
return data.type === 'response';
|
package/dist/packet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packet.js","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAwBrC,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"packet.js","sourceRoot":"","sources":["../src/packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAwBrC,MAAM,OAAO,qBAAqB;IAE9B,MAAM,CAAC,QAAQ;QACX,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,IAI1B;QACG,OAAO;YACH,EAAE,EAAC,qBAAqB,CAAC,QAAQ,EAAE;YACnC,IAAI,EAAC,SAAS;YACd,WAAW,EAAC,IAAI,CAAC,WAAW;YAC5B,UAAU,EAAC,IAAI,CAAC,UAAU;YAC1B,IAAI,EAAC,IAAI,CAAC,IAAI;SACjB,CAAA;IACL,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,IAI3B;QACG,OAAO;YACH,EAAE,EAAC,qBAAqB,CAAC,QAAQ,EAAE;YACnC,IAAI,EAAC,UAAU;YACf,SAAS,EAAC,IAAI,CAAC,SAAS;YACxB,MAAM,EAAC,IAAI,CAAC,MAAM;YAClB,KAAK,EAAC,IAAI,CAAC,KAAK;SACnB,CAAA;IACL,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAQ;QACpB,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC;IAC9E,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAQ;QAC3B,IAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC;YACrC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,IAAQ;QAC5B,IAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC;YACrC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;IACpC,CAAC;CACJ"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { TypedEmitter, type
|
|
5
|
-
type
|
|
1
|
+
import type { TypedRPCConnection, TypedRPCConnectionProvider } from "./connecitons/basic.js";
|
|
2
|
+
import { TypedRPCCore } from "./core.js";
|
|
3
|
+
import { TypedRPCAPIDefine } from "./define.js";
|
|
4
|
+
import { TypedEmitter, type TypedRPCDefineMethodBody, type TypedRPCDefineMethodName, type TypedRPCDefineServiceInstance, type TypedRPCDefineServiceName, type TypedRPCDefineToTypedRPCAPI } from "./utils.js";
|
|
5
|
+
type TypedRPCServerConfig<T extends TypedRPCAPIDefine<any>, R extends TypedRPCAPIDefine<any>> = {
|
|
6
6
|
local?: T;
|
|
7
7
|
remote?: R;
|
|
8
8
|
connection?: {
|
|
9
|
-
provider:
|
|
9
|
+
provider: TypedRPCConnectionProvider;
|
|
10
10
|
};
|
|
11
11
|
};
|
|
12
|
-
type
|
|
13
|
-
connection: (connection:
|
|
12
|
+
type TypedRPCServerEvents = {
|
|
13
|
+
connection: (connection: TypedRPCConnection) => void;
|
|
14
14
|
};
|
|
15
|
-
declare class
|
|
16
|
-
emitter: TypedEmitter<
|
|
15
|
+
declare class TypedRPCServer<T extends TypedRPCAPIDefine<any>, R extends TypedRPCAPIDefine<any>> {
|
|
16
|
+
emitter: TypedEmitter<TypedRPCServerEvents>;
|
|
17
17
|
private config;
|
|
18
|
-
core:
|
|
19
|
-
constructor(config?:
|
|
20
|
-
hook<S extends
|
|
21
|
-
handler:
|
|
18
|
+
core: TypedRPCCore;
|
|
19
|
+
constructor(config?: TypedRPCServerConfig<T, R>);
|
|
20
|
+
hook<S extends TypedRPCDefineServiceName<T>, M extends TypedRPCDefineMethodName<T, S>>(serviceName: S, methodName: M, config: {
|
|
21
|
+
handler: TypedRPCDefineMethodBody<T, S, M>;
|
|
22
22
|
bind?: any;
|
|
23
23
|
}): void;
|
|
24
|
-
hookService<S extends
|
|
25
|
-
get use(): (middleware: import("./handler.js").
|
|
24
|
+
hookService<S extends TypedRPCDefineServiceName<T>>(serviceName: S, instance: TypedRPCDefineServiceInstance<T, S>): void;
|
|
25
|
+
get use(): (middleware: import("./handler.js").TypedRPCHandlerMiddleware) => import("./handler.js").TypedRPCHandler;
|
|
26
26
|
get listen(): (config: {
|
|
27
27
|
port: number;
|
|
28
28
|
hostname?: string;
|
|
29
29
|
}) => Promise<boolean>;
|
|
30
30
|
get close(): () => Promise<boolean>;
|
|
31
|
-
getAPI(connection:
|
|
31
|
+
getAPI(connection: TypedRPCConnection): TypedRPCDefineToTypedRPCAPI<R>;
|
|
32
32
|
}
|
|
33
|
-
export {
|
|
33
|
+
export { TypedRPCServer, };
|
|
34
34
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,KAAK,wBAAwB,EAAE,KAAK,wBAAwB,EAAE,KAAK,6BAA6B,EAAE,KAAK,yBAAyB,EAAE,KAAK,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9M,KAAK,oBAAoB,CAAC,CAAC,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAAC,CAAC,SAAS,iBAAiB,CAAC,GAAG,CAAC,IAAI;IAC3F,KAAK,CAAC,EAAC,CAAC,CAAC;IACT,MAAM,CAAC,EAAC,CAAC,CAAC;IACV,UAAU,CAAC,EAAC;QACR,QAAQ,EAAC,0BAA0B,CAAC;KACvC,CAAA;CACJ,CAAA;AAED,KAAK,oBAAoB,GAAG;IACxB,UAAU,EAAC,CAAC,UAAU,EAAC,kBAAkB,KAAG,IAAI,CAAC;CACpD,CAAA;AAED,cAAM,cAAc,CAAC,CAAC,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAAC,CAAC,SAAS,iBAAiB,CAAC,GAAG,CAAC;IAE3E,OAAO,qCAA4C;IAC1D,OAAO,CAAC,MAAM,CAA2B;IAClC,IAAI,EAAC,YAAY,CAAC;gBAEb,MAAM,CAAC,EAAC,oBAAoB,CAAC,CAAC,EAAC,CAAC,CAAC;IAW7C,IAAI,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,WAAW,EAAC,CAAC,EAAC,UAAU,EAAC,CAAC,EAAC,MAAM,EAAC;QACnH,OAAO,EAAC,wBAAwB,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,EAAC,GAAG,CAAC;KACb;IAID,WAAW,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAC,CAAC,EAAC,QAAQ,EAAC,6BAA6B,CAAC,CAAC,EAAC,CAAC,CAAC;IAU7G,IAAI,GAAG,6GAEN;IAED,IAAI,MAAM;;;2BAET;IAED,IAAI,KAAK,2BAER;IAED,MAAM,CAAC,UAAU,EAAC,kBAAkB,GAAE,2BAA2B,CAAC,CAAC,CAAC;CAYvE;AAED,OAAO,EACH,cAAc,GACjB,CAAA"}
|
package/dist/server.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { TypedRPCAPI } from "./api.js";
|
|
2
|
+
import { TypedRPCCore } from "./core.js";
|
|
3
|
+
import { TypedRPCAPIDefine } from "./define.js";
|
|
4
4
|
import { TypedEmitter } from "./utils.js";
|
|
5
|
-
class
|
|
5
|
+
class TypedRPCServer {
|
|
6
6
|
emitter = new TypedEmitter();
|
|
7
7
|
config;
|
|
8
8
|
core;
|
|
9
9
|
constructor(config) {
|
|
10
10
|
const defaultConfig = {};
|
|
11
11
|
this.config = { ...defaultConfig, ...config };
|
|
12
|
-
this.core = new
|
|
12
|
+
this.core = new TypedRPCCore(this.config);
|
|
13
13
|
this.core.emitter.on('connection', (connection) => {
|
|
14
14
|
this.emitter.emit('connection', connection);
|
|
15
15
|
});
|
|
@@ -18,7 +18,7 @@ class TypeRPCServer {
|
|
|
18
18
|
return this.core.hook(serviceName, methodName, config);
|
|
19
19
|
}
|
|
20
20
|
hookService(serviceName, instance) {
|
|
21
|
-
const methodList =
|
|
21
|
+
const methodList = TypedRPCAPIDefine.getMethodList(instance);
|
|
22
22
|
for (let methodName of methodList) {
|
|
23
23
|
this.hook(serviceName, methodName, {
|
|
24
24
|
handler: instance[methodName],
|
|
@@ -36,7 +36,7 @@ class TypeRPCServer {
|
|
|
36
36
|
return this.core.close.bind(this.core);
|
|
37
37
|
}
|
|
38
38
|
getAPI(connection) {
|
|
39
|
-
const api = new
|
|
39
|
+
const api = new TypedRPCAPI();
|
|
40
40
|
return api.interface(async (context) => {
|
|
41
41
|
return await this.core.request({
|
|
42
42
|
connection,
|
|
@@ -47,5 +47,5 @@ class TypeRPCServer {
|
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
export {
|
|
50
|
+
export { TypedRPCServer, };
|
|
51
51
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAsK,MAAM,YAAY,CAAC;AAc9M,MAAM,cAAc;IAET,OAAO,GAAG,IAAI,YAAY,EAAwB,CAAC;IAClD,MAAM,CAA2B;IAClC,IAAI,CAAc;IAEzB,YAAY,MAAiC;QACzC,MAAM,aAAa,GAA6B,EAE/C,CAAA;QACD,IAAI,CAAC,MAAM,GAAG,EAAC,GAAG,aAAa,EAAC,GAAG,MAAM,EAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAC,CAAC,UAAU,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAC,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAA;IACN,CAAC;IAED,IAAI,CAAiF,WAAa,EAAC,UAAY,EAAC,MAG/G;QACG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAC,UAAU,EAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,WAAW,CAAyC,WAAa,EAAC,QAA2C;QACzG,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7D,KAAI,IAAI,UAAU,IAAI,UAAU,EAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAC,UAA2C,EAAC;gBAC9D,OAAO,EAAC,QAAQ,CAAC,UAAU,CAAC;gBAC5B,IAAI,EAAC,QAAQ;aAChB,CAAC,CAAA;SACL;IACL,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,UAA6B;QAChC,MAAM,GAAG,GAAG,IAAI,WAAW,EAAK,CAAC;QACjC,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACnC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC3B,UAAU;gBACV,WAAW,EAAC,OAAO,CAAC,WAAW;gBAC/B,UAAU,EAAC,OAAO,CAAC,UAAU;gBAC7B,IAAI,EAAC,OAAO,CAAC,IAAI;aACpB,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CAEJ;AAED,OAAO,EACH,cAAc,GACjB,CAAA"}
|
|
@@ -4,20 +4,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
7
|
+
import { TypedRPCClient } from "../index.js";
|
|
8
|
+
import { TypedRPCAPIDefine } from "../index.js";
|
|
9
|
+
import { TypedRPCHandlerMiddleware } from "../index.js";
|
|
10
|
+
import { TypedRPCPacketFactory } from "../index.js";
|
|
11
|
+
import { TypedRPCServer } from "../index.js";
|
|
12
12
|
import { TestCase } from "./TestCase.js";
|
|
13
|
-
const ServerAPIDefine = new
|
|
13
|
+
const ServerAPIDefine = new TypedRPCAPIDefine();
|
|
14
14
|
class MathService {
|
|
15
15
|
add(a, b) {
|
|
16
16
|
return a + b;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
__decorate([
|
|
20
|
-
|
|
20
|
+
TypedRPCAPIDefine.method()
|
|
21
21
|
], MathService.prototype, "add", null);
|
|
22
22
|
class AuthService {
|
|
23
23
|
authUsers = new Map();
|
|
@@ -34,9 +34,9 @@ class AuthService {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
__decorate([
|
|
37
|
-
|
|
37
|
+
TypedRPCAPIDefine.method()
|
|
38
38
|
], AuthService.prototype, "login", null);
|
|
39
|
-
class AuthMiddleware extends
|
|
39
|
+
class AuthMiddleware extends TypedRPCHandlerMiddleware {
|
|
40
40
|
auth;
|
|
41
41
|
username;
|
|
42
42
|
token;
|
|
@@ -49,10 +49,10 @@ class AuthMiddleware extends TypeRPCHandlerMiddleware {
|
|
|
49
49
|
*/
|
|
50
50
|
async inbound(context) {
|
|
51
51
|
if (context.inbound) {
|
|
52
|
-
if (
|
|
52
|
+
if (TypedRPCPacketFactory.isRequestPacket(context.inbound)) {
|
|
53
53
|
const protectService = ['math'];
|
|
54
54
|
if (protectService.includes(context.inbound.serviceName)) {
|
|
55
|
-
const unauthorizedPacket =
|
|
55
|
+
const unauthorizedPacket = TypedRPCPacketFactory.createResponsePacket({
|
|
56
56
|
requestId: context.inbound.id,
|
|
57
57
|
error: "unauthorized",
|
|
58
58
|
});
|
|
@@ -70,8 +70,8 @@ class AuthMiddleware extends TypeRPCHandlerMiddleware {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
// 如果入站的是响应包,判断出站是否是登录包
|
|
73
|
-
if (
|
|
74
|
-
&&
|
|
73
|
+
if (TypedRPCPacketFactory.isResponsePacket(context.inbound)
|
|
74
|
+
&& TypedRPCPacketFactory.isRequestPacket(context.outbound)
|
|
75
75
|
&& context.outbound.serviceName == 'auth'
|
|
76
76
|
&& context.outbound.methodName == 'login') {
|
|
77
77
|
const username = context.outbound.args?.[0];
|
|
@@ -84,7 +84,7 @@ class AuthMiddleware extends TypeRPCHandlerMiddleware {
|
|
|
84
84
|
}
|
|
85
85
|
async outbound(context) {
|
|
86
86
|
if (context.outbound) {
|
|
87
|
-
if (
|
|
87
|
+
if (TypedRPCPacketFactory.isRequestPacket(context.outbound)) {
|
|
88
88
|
// 如果有token,附带token
|
|
89
89
|
if (this.token) {
|
|
90
90
|
context.outbound.meta = {
|
|
@@ -100,7 +100,7 @@ class AuthMiddleware extends TypeRPCHandlerMiddleware {
|
|
|
100
100
|
class ServerApp {
|
|
101
101
|
math = new MathService();
|
|
102
102
|
auth = new AuthService();
|
|
103
|
-
server = new
|
|
103
|
+
server = new TypedRPCServer({
|
|
104
104
|
local: ServerAPIDefine,
|
|
105
105
|
});
|
|
106
106
|
constructor() {
|
|
@@ -124,7 +124,7 @@ class TestAuthorization extends TestCase {
|
|
|
124
124
|
}
|
|
125
125
|
async run() {
|
|
126
126
|
await serverApp.start();
|
|
127
|
-
const client = new
|
|
127
|
+
const client = new TypedRPCClient({
|
|
128
128
|
remote: ServerAPIDefine,
|
|
129
129
|
});
|
|
130
130
|
client.use(new AuthMiddleware());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../src/test/authorization.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../src/test/authorization.ts"],"names":[],"mappings":"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"}
|
package/dist/test/basic.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { TypedRPCClient } from "../index.js";
|
|
2
|
+
import { TypedRPCAPIDefine } from "../index.js";
|
|
3
|
+
import { TypedRPCServer } from "../index.js";
|
|
4
4
|
import { TestCase } from "./TestCase.js";
|
|
5
|
-
const serverAPIDefine = new
|
|
6
|
-
const server = new
|
|
5
|
+
const serverAPIDefine = new TypedRPCAPIDefine();
|
|
6
|
+
const server = new TypedRPCServer({
|
|
7
7
|
local: serverAPIDefine,
|
|
8
8
|
});
|
|
9
9
|
server.hook('math', 'add', {
|
|
10
10
|
handler: (a, b) => a + b,
|
|
11
11
|
});
|
|
12
|
-
const client = new
|
|
12
|
+
const client = new TypedRPCClient({
|
|
13
13
|
remote: serverAPIDefine,
|
|
14
14
|
});
|
|
15
15
|
export default class TestBasic extends TestCase {
|
package/dist/test/basic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../src/test/basic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../src/test/basic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,eAAe,GAAG,IAAI,iBAAiB,EAIzC,CAAC;AAEL,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;IAC9B,KAAK,EAAC,eAAe;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAC,KAAK,EAAC;IACrB,OAAO,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAA,CAAC,GAAC,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;IAC9B,MAAM,EAAC,eAAe;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,QAAQ;IAC3C,IAAI;QACA,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,KAAK,CAAC,GAAG;QACL,MAAM,MAAM,CAAC,MAAM,CAAC;YAChB,IAAI,EAAC,IAAI;SACZ,CAAC,CAAA;QACF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAC5C,IAAG,MAAM,IAAI,CAAC,EAAC;YACX,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACJ"}
|
package/dist/test/context.js
CHANGED
|
@@ -4,21 +4,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
7
|
+
import { TypedRPCClient } from "../index.js";
|
|
8
|
+
import { TypedRPCContextSymbol } from "../index.js";
|
|
9
|
+
import { TypedRPCAPIDefine } from "../index.js";
|
|
10
|
+
import { TypedRPCServer } from "../index.js";
|
|
11
11
|
import { TestCase } from "./TestCase.js";
|
|
12
|
-
const serverAPIDefine = new
|
|
13
|
-
const server = new
|
|
12
|
+
const serverAPIDefine = new TypedRPCAPIDefine();
|
|
13
|
+
const server = new TypedRPCServer({
|
|
14
14
|
local: serverAPIDefine,
|
|
15
15
|
});
|
|
16
16
|
class MathService {
|
|
17
|
-
/** 通过
|
|
18
|
-
[
|
|
19
|
-
/** 使用hookService时,必须声明为
|
|
17
|
+
/** 通过 TypedRPCContextAware 接口,将上下文注入到服务中,允许在方法内访问RPC调用时的上下文 */
|
|
18
|
+
[TypedRPCContextSymbol] = null;
|
|
19
|
+
/** 使用hookService时,必须声明为TypedRPC方法,否则不予注册为hook,避免外部非法调用方法*/
|
|
20
20
|
add(a, b) {
|
|
21
|
-
const context = this[
|
|
21
|
+
const context = this[TypedRPCContextSymbol];
|
|
22
22
|
if (!context) {
|
|
23
23
|
throw new Error('context is null');
|
|
24
24
|
}
|
|
@@ -26,10 +26,10 @@ class MathService {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
__decorate([
|
|
29
|
-
|
|
29
|
+
TypedRPCAPIDefine.method()
|
|
30
30
|
], MathService.prototype, "add", null);
|
|
31
31
|
server.hookService('math', new MathService());
|
|
32
|
-
const client = new
|
|
32
|
+
const client = new TypedRPCClient({
|
|
33
33
|
remote: serverAPIDefine,
|
|
34
34
|
});
|
|
35
35
|
export default class TestBasic extends TestCase {
|
package/dist/test/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/test/context.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/test/context.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAmD,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAMzC,MAAM,eAAe,GAAG,IAAI,iBAAiB,EAEzC,CAAC;AAEL,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;IAC9B,KAAK,EAAC,eAAe;CACxB,CAAC,CAAC;AAEH,MAAM,WAAW;IAEb,+DAA+D;IAC/D,CAAC,qBAAqB,CAAC,GAA2B,IAAI,CAAC;IAEvD,2DAA2D;IAE3D,GAAG,CAAC,CAAS,EAAE,CAAS;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAE,CAAC;QAC7C,IAAG,CAAC,OAAO,EAAC;YACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACtC;QACD,OAAO,CAAC,GAAC,CAAC,CAAC;IACf,CAAC;CACJ;AAPG;IADC,iBAAiB,CAAC,MAAM,EAAE;sCAO1B;AAGL,MAAM,CAAC,WAAW,CAAC,MAAM,EAAC,IAAI,WAAW,EAAE,CAAC,CAAC;AAE7C,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;IAC9B,MAAM,EAAC,eAAe;CACzB,CAAC,CAAC;AAKH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,QAAQ;IAC3C,IAAI;QACA,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,KAAK,CAAC,GAAG;QACL,MAAM,MAAM,CAAC,MAAM,CAAC;YAChB,IAAI,EAAC,IAAI;SACZ,CAAC,CAAA;QACF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAC5C,IAAG,MAAM,IAAI,CAAC,EAAC;YACX,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressmix.d.ts","sourceRoot":"","sources":["../../src/test/expressmix.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"expressmix.d.ts","sourceRoot":"","sources":["../../src/test/expressmix.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AA+CzC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,QAAQ;IAChD,IAAI,IAAI,MAAM;IAGR,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;IAsBhB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAIxC"}
|
package/dist/test/expressmix.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TypedRPCAPIDefine, TypedRPCClient, TypedRPCConnectionProviderHTTP, TypedRPCServer } from "../index.js";
|
|
2
2
|
import http from 'http';
|
|
3
3
|
import express from 'express';
|
|
4
4
|
import { TestCase } from "./TestCase.js";
|
|
5
|
-
const ServerAPIDefine = new
|
|
5
|
+
const ServerAPIDefine = new TypedRPCAPIDefine();
|
|
6
6
|
const httpServer = http.createServer();
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
* 你也可以自定义实现
|
|
8
|
+
* TypedRPCConnectionProviderHTTP 是 TypedRPCConnectionProvider 的默认实现
|
|
9
|
+
* 你也可以自定义实现 TypedRPCConnectionProvider 与 TypedRPCConnection 来支持其他协议
|
|
10
10
|
* 例如基于IPC协议的连接、基于Websocket协议的连接、基于udp协议的连接
|
|
11
11
|
* */
|
|
12
|
-
const provider = new
|
|
12
|
+
const provider = new TypedRPCConnectionProviderHTTP({
|
|
13
13
|
server: httpServer,
|
|
14
14
|
});
|
|
15
|
-
const server = new
|
|
15
|
+
const server = new TypedRPCServer({
|
|
16
16
|
local: ServerAPIDefine,
|
|
17
17
|
connection: {
|
|
18
18
|
provider: provider,
|
|
@@ -30,7 +30,7 @@ app.use("/test", (req, res) => {
|
|
|
30
30
|
* provider会将无法识别的请求转发到express中间件
|
|
31
31
|
*/
|
|
32
32
|
provider.use(app);
|
|
33
|
-
const client = new
|
|
33
|
+
const client = new TypedRPCClient({
|
|
34
34
|
remote: ServerAPIDefine,
|
|
35
35
|
});
|
|
36
36
|
export default class TextExpressMix extends TestCase {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressmix.js","sourceRoot":"","sources":["../../src/test/expressmix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"expressmix.js","sourceRoot":"","sources":["../../src/test/expressmix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,8BAA8B,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,eAAe,GAAG,IAAI,iBAAiB,EAIzC,CAAC;AAEL,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;AACvC;;;;KAIK;AAGL,MAAM,QAAQ,GAAG,IAAI,8BAA8B,CAAC;IAChD,MAAM,EAAC,UAAU;CACpB,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;IAC9B,KAAK,EAAC,eAAe;IACrB,UAAU,EAAC;QACP,QAAQ,EAAC,QAAQ;KACpB;CACJ,CAAC,CAAA;AACF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAC,KAAK,EAAC;IACrB,OAAO,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAA,CAAC,GAAC,CAAC;CACrB,CAAC,CAAA;AAGF,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAC,CAAC,GAAG,EAAC,GAAG,EAAE,EAAE;IACxB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAA;AACF;;;GAGG;AACH,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAIjB,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;IAC9B,MAAM,EAAC,eAAe;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,QAAQ;IAChD,IAAI;QACA,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,KAAK,CAAC,GAAG;QACL,MAAM,MAAM,CAAC,MAAM,CAAC;YAChB,IAAI,EAAC,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAC,GAAG,CAAC,CAAC,CAAC;QAEtD,QAAQ;QACR,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAClE,IAAG,MAAM,KAAK,CAAC,EAAC;YACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACrD;QAED,YAAY;QACZ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAG,IAAI,KAAK,aAAa,EAAC;YACtB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACrE;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CAEJ"}
|
package/dist/test/socket.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { TestCase } from "./TestCase.js";
|
|
2
|
-
import {
|
|
3
|
-
const ServerAPIDefine = new
|
|
4
|
-
const ClientAPIDefine = new
|
|
5
|
-
const server = new
|
|
2
|
+
import { TypedRPCAPIDefine, TypedRPCClient, TypedRPCConnectionProviderSocket, TypedRPCServer } from "../index.js";
|
|
3
|
+
const ServerAPIDefine = new TypedRPCAPIDefine;
|
|
4
|
+
const ClientAPIDefine = new TypedRPCAPIDefine;
|
|
5
|
+
const server = new TypedRPCServer({
|
|
6
6
|
local: ServerAPIDefine,
|
|
7
7
|
remote: ClientAPIDefine,
|
|
8
8
|
connection: {
|
|
9
|
-
provider: new
|
|
9
|
+
provider: new TypedRPCConnectionProviderSocket(),
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
server.hook('math', 'add', {
|
|
@@ -14,11 +14,11 @@ server.hook('math', 'add', {
|
|
|
14
14
|
return a + b;
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
|
-
const client = new
|
|
17
|
+
const client = new TypedRPCClient({
|
|
18
18
|
local: ClientAPIDefine,
|
|
19
19
|
remote: ServerAPIDefine,
|
|
20
20
|
connection: {
|
|
21
|
-
provider: new
|
|
21
|
+
provider: new TypedRPCConnectionProviderSocket(),
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
client.hook('status', 'time', {
|
|
@@ -28,7 +28,7 @@ client.hook('status', 'time', {
|
|
|
28
28
|
});
|
|
29
29
|
class TestSocket extends TestCase {
|
|
30
30
|
name() {
|
|
31
|
-
return '
|
|
31
|
+
return 'Socket';
|
|
32
32
|
}
|
|
33
33
|
async run() {
|
|
34
34
|
let requestToServer;
|