@usirin/spellcaster
Version:
Remote execution of spells defined in spellbooks
37 lines (36 loc) • 1.33 kB
JavaScript
import * as __WEBPACK_EXTERNAL_MODULE__transport_js_4e75716a__ from "../transport.js";
function createServerWebSocketTransport(ws) {
return __WEBPACK_EXTERNAL_MODULE__transport_js_4e75716a__.createServerTransport({
incoming: new ReadableStream({
start (controller) {
ws.addEventListener("message", (event)=>{
const message = JSON.parse(event.data.toString());
controller.enqueue(message);
});
}
}),
outgoing: new WritableStream({
write (response) {
ws.send(JSON.stringify(response));
}
})
});
}
function createClientWebSocketTransport(ws) {
return __WEBPACK_EXTERNAL_MODULE__transport_js_4e75716a__.createClientTransport({
incoming: new ReadableStream({
start (controller) {
ws.addEventListener("message", (event)=>{
const message = JSON.parse(event.data.toString());
controller.enqueue(message);
});
}
}),
outgoing: new WritableStream({
write (request) {
ws.send(JSON.stringify(request));
}
})
});
}
export { createClientWebSocketTransport, createServerWebSocketTransport };