siesta-lite
Version:
Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers
48 lines (33 loc) • 1.28 kB
text/typescript
import {Channel, Envelop, Message} from "../../generic/channel/Types.js";
import {NodeJsIpcClienState, NodeJsIpcRpc} from "./NodeJsPageRpc.js";
import {ParentEndPoint} from "../channel/ipc/ParentEndPoint.js";
export class NodeJsPageParentEndPoint extends ParentEndPoint {
connectResolve : Function
connectReject : Function
doConnect (channel : Channel) : Promise<any> {
if (this.connectResolve) throw new Error("Already connecting")
return new Promise((resolve, reject) => {
return super.doConnect(channel).then(
() => {
this.connectResolve = resolve
this.connectReject = reject
}
)
})
}
doProcessRawChannelMessage (message : Message, envelop : Envelop) {
this.debug("Parent received message: " + message)
if (message === NodeJsIpcClienState.Ready) {
var resolve = this.connectResolve
this.connectResolve = null
this.connectReject = null
resolve()
}
}
doDispatchEnvelop (envelop : Envelop) {
const payload = envelop.payload
// if (payload.type === NodeJsIpcRpc.FunctionCall) {
//
// }
}
}