55 lines
1.3 KiB
TypeScript
55 lines
1.3 KiB
TypeScript
|
import { AddValueRequest, AddValueResponse, Logging } from "./out/index"
|
||
|
|
||
|
|
||
|
// Logging.verbose = false;
|
||
|
|
||
|
import * as Client from "./out/index_client"
|
||
|
import * as Server from "./out/index_server"
|
||
|
|
||
|
const client = new Client.ServiceProvider(msg=>{
|
||
|
session.onMessage(msg);
|
||
|
})
|
||
|
|
||
|
const server = new Server.ServiceProvider()
|
||
|
|
||
|
const session = server.getSession((msg) => {
|
||
|
client.onPacket(msg);
|
||
|
})
|
||
|
|
||
|
class TestService extends Server.TestService<undefined> {
|
||
|
async AddValuesSingleParam(request: AddValueRequest, ctx: undefined): Promise<AddValueResponse> {
|
||
|
return {
|
||
|
value: request.value1 + request.value2
|
||
|
}
|
||
|
}
|
||
|
async AddValuesMultipleParams(value1: number, value2: number, ctx: undefined): Promise<number> {
|
||
|
return value1 + value2;
|
||
|
}
|
||
|
|
||
|
OnEvent(param1: string, ctx: undefined): void {
|
||
|
console.log("Received notification", param1);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
server.addService(new TestService())
|
||
|
|
||
|
const test = new Client.TestService(client);
|
||
|
|
||
|
async function run() {
|
||
|
console.log("Testing AddValuesSingleParam")
|
||
|
console.log(await test.AddValuesSingleParam({
|
||
|
value1: 1,
|
||
|
value2: 2
|
||
|
}));
|
||
|
|
||
|
console.log("Testing AddValuesMultipleParams")
|
||
|
console.log(await test.AddValuesMultipleParams(1,2));
|
||
|
|
||
|
console.log("Testing Notification")
|
||
|
test.OnEvent("Hi, this is an event");
|
||
|
}
|
||
|
|
||
|
run();
|
||
|
|