UNPKG

nope-js-node

Version:

NoPE Runtime for Nodejs. For Browser-Support please use nope-browser

37 lines (36 loc) 1.26 kB
"use strict"; /** * @author Martin Karkowski * @email m.karkowski@zema.de * @create date 2021-07-27 15:45:00 * @modify date 2021-07-27 15:45:00 * @desc [description] */ Object.defineProperty(exports, "__esModule", { value: true }); exports.repl = void 0; const repl_1 = require("repl"); const runNopeBackend_1 = require("./runNopeBackend"); /** * Starts an interactive console with the loaded dispatcher. */ async function repl(additionalArguments = []) { const loader = await (0, runNopeBackend_1.default)(additionalArguments, { // skipLoadingConfig: true }, true); const interactiveConsole = (0, repl_1.start)({}); // Assing the context interactiveConsole.context.dispatcher = loader.dispatcher; interactiveConsole.context.loader = loader; interactiveConsole.context.nope = require("../index.nodejs"); // Promise, that will be finished on exiting the interactive console. const promise = new Promise((resolve) => { interactiveConsole.once("exit", resolve); }); await promise; await loader.dispatcher.dispose(); } exports.repl = repl; // If requested As Main => Perform the Operation. if (require.main === module) { repl().catch(console.error); }