@usirin/spellcaster
Version:
Remote execution of spells defined in spellbooks
64 lines (63 loc) • 2.16 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__, {
serve: ()=>serve,
createSpellbookServer: ()=>createSpellbookServer
});
const forge_namespaceObject = require("@usirin/forge");
const external_transport_cjs_namespaceObject = require("./transport.cjs");
function serve(spellbook, transport) {
return transport.incoming.pipeThrough((0, external_transport_cjs_namespaceObject.createSpellbookStream)(spellbook)).pipeTo(transport.outgoing);
}
const createSpellbookServer = (0, forge_namespaceObject.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;
}
};
});
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
});