clean up RPC structure
This commit is contained in:
+43
-4
@@ -1,6 +1,8 @@
|
||||
import { RPCServer } from '../src/Backend'
|
||||
import { SubscriptionResponse, ErrorResponse, SuccessResponse } from '../src/Responses'
|
||||
import { SubscriptionResponse, ErrorResponse, SuccessResponse } from '../src/Types'
|
||||
import { HookRPC } from '../src/Types'
|
||||
import * as uuidv4 from "uuid/v4"
|
||||
import { makeSubResponse } from '../src/Utils'
|
||||
|
||||
let subcallback
|
||||
|
||||
@@ -14,19 +16,56 @@ new RPCServer(20000, [{
|
||||
name: 'simpleSubscribe',
|
||||
hook: async(callback) => {
|
||||
subcallback = callback
|
||||
return new SubscriptionResponse(""+Math.random())
|
||||
return makeSubResponse()
|
||||
}
|
||||
},{
|
||||
name: 'subscribe',
|
||||
hook: async (callback):Promise<any> => {
|
||||
subcallback = callback
|
||||
return new SubscriptionResponse(""+Math.random())
|
||||
return makeSubResponse()
|
||||
},
|
||||
onClose: (res:SubscriptionResponse, rpc:HookRPC) => {
|
||||
console.log("Specific close handler for", rpc.name, res)
|
||||
subcallback = null
|
||||
},
|
||||
onCallback: (...args) => { console.log.apply(console, args) }
|
||||
onCallback: (...args:any) => { console.log.apply(console, args) }
|
||||
},
|
||||
function add(...args:number[]):number {return args.reduce((a,b)=>a+b, 0)},
|
||||
function triggerCallback(...messages:any[]):number {return subcallback.apply({}, messages)},
|
||||
]
|
||||
}])
|
||||
|
||||
new RPCServer<{ topic: string}>(20001, [{
|
||||
name: "HelloWorldRPCGroup",
|
||||
exportRPCs: () => [
|
||||
{
|
||||
name: 'echo',
|
||||
call: async (s:string) => s,
|
||||
},{
|
||||
name: 'simpleSubscribe',
|
||||
hook: async(callback) => {
|
||||
subcallback = callback
|
||||
return {
|
||||
result: "Success",
|
||||
uuid: uuidv4(),
|
||||
topic: ""
|
||||
}
|
||||
}
|
||||
},{
|
||||
name: 'subscribe',
|
||||
hook: async (callback) => {
|
||||
subcallback = callback
|
||||
return {
|
||||
result: "Success",
|
||||
uuid: uuidv4(),
|
||||
topic: ""
|
||||
}
|
||||
},
|
||||
onClose: (res, rpc) => {
|
||||
console.log("Specific close handler for", rpc.name, res)
|
||||
subcallback = null
|
||||
},
|
||||
onCallback: (...args:any) => { console.log.apply(console, args) }
|
||||
},
|
||||
function add(...args:number[]):number {return args.reduce((a,b)=>a+b, 0)},
|
||||
function triggerCallback(...messages:any[]):number {return subcallback.apply({}, messages)},
|
||||
|
||||
Reference in New Issue
Block a user