| // Copyright 2019 The Fuchsia Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| import * as li_internal from 'li_internal'; | |
| (function (global) { | |
| function evalScriptAwaitsPromise() { | |
| let eval_result = li_internal.getAndEvalCmd(repl_init.repl); | |
| let error_in_script = eval_result[0]; | |
| if (!error_in_script) { | |
| let script_result = eval_result[1]; | |
| let f = function (output) { | |
| li_internal.showOutput(repl_init.repl, output); | |
| li_internal.showPrompt(repl_init.repl); | |
| }; | |
| if (script_result instanceof Promise) { | |
| script_result.then(f).catch(f); | |
| } | |
| else { | |
| f(script_result); | |
| } | |
| } | |
| else {//there was an error and it has been printed out by the getAndEvalCmd function | |
| li_internal.showPrompt(repl_init.repl); | |
| }; | |
| } | |
| global['repl_eval'] = { | |
| evalScriptAwaitsPromise, | |
| }; | |
| })(globalThis); |