@usirin/spellcaster
Version:
Remote execution of spells defined in spellbooks
88 lines (87 loc) • 3.05 kB
JavaScript
;
var __webpack_require__ = {};
(()=>{
__webpack_require__.d = function(exports1, definition) {
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
enumerable: true,
get: definition[key]
});
};
})();
(()=>{
__webpack_require__.o = function(obj, prop) {
return Object.prototype.hasOwnProperty.call(obj, prop);
};
})();
(()=>{
__webpack_require__.r = function(exports1) {
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
value: 'Module'
});
Object.defineProperty(exports1, '__esModule', {
value: true
});
};
})();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
createEmitterPair: ()=>createEmitterPair,
createServerTransport: ()=>createServerTransport,
createClientTransport: ()=>createClientTransport
});
const external_node_events_namespaceObject = require("node:events");
const external_transport_cjs_namespaceObject = require("../transport.cjs");
function createEmitterPair() {
const client = new external_node_events_namespaceObject.EventEmitter();
const server = new external_node_events_namespaceObject.EventEmitter();
client.on("request", (data)=>{
server.emit("request", data);
});
server.on("response", (data)=>{
client.emit("response", data);
});
return [
client,
server
];
}
function createServerTransport(emitter) {
return external_transport_cjs_namespaceObject.createServerTransport({
incoming: new ReadableStream({
start (controller) {
emitter.on("request", (data)=>{
const message = JSON.parse(data.toString());
controller.enqueue(message);
});
}
}),
outgoing: new WritableStream({
write (response) {
emitter.emit("response", JSON.stringify(response));
}
})
});
}
function createClientTransport(emitter) {
return external_transport_cjs_namespaceObject.createClientTransport({
incoming: new ReadableStream({
start (controller) {
emitter.on("response", (data)=>{
const message = JSON.parse(data.toString());
controller.enqueue(message);
});
}
}),
outgoing: new WritableStream({
write (request) {
emitter.emit("request", JSON.stringify(request));
}
})
});
}
var __webpack_export_target__ = exports;
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
value: true
});