UNPKG

@usirin/spellcaster

Version:

Remote execution of spells defined in spellbooks

29 lines (28 loc) 991 B
import * as __WEBPACK_EXTERNAL_MODULE__usirin_forge_181b4736__ from "@usirin/forge"; import * as __WEBPACK_EXTERNAL_MODULE__transport_js_83a5c232__ from "./transport.js"; function serve(spellbook, transport) { return transport.incoming.pipeThrough((0, __WEBPACK_EXTERNAL_MODULE__transport_js_83a5c232__.createSpellbookStream)(spellbook)).pipeTo(transport.outgoing); } const createSpellbookServer = (0, __WEBPACK_EXTERNAL_MODULE__usirin_forge_181b4736__.factory)("server", (spellbook, options)=>{ let running = false; return { start () { if (running) return; running = true; serve(spellbook, options.transport); }, stop () { running = false; }, isRunning () { return running; }, getSpellbook () { return spellbook; }, getTransport () { return options.transport; } }; }); export { createSpellbookServer, serve };