summaryrefslogtreecommitdiff
path: root/cli/tools/repl/session.rs
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2023-04-27 22:36:49 +0100
committerGitHub <noreply@github.com>2023-04-27 23:36:49 +0200
commit504482dadd4d8cd9e4105d56ed86802906767f39 (patch)
treeacacb80e50ccfae578822dda63a3ec9e61108d60 /cli/tools/repl/session.rs
parent6cd62ea5e969de258b1d308daf5bec91e73e79d3 (diff)
fix(repl): print unhandled rejections and event errors (#18878)
Fixes #8858. Fixes #8869. ``` $ target/debug/deno Deno 1.32.5 exit using ctrl+d, ctrl+c, or close() REPL is running with all permissions allowed. To specify permissions, run `deno repl` with allow flags. > Promise.reject(new Error("bar")); Promise { <rejected> Error: bar at <anonymous>:2:16 } Uncaught (in promise) Error: bar at <anonymous>:2:16 > reportError(new Error("baz")); undefined Uncaught Error: baz at <anonymous>:2:13 >
Diffstat (limited to 'cli/tools/repl/session.rs')
-rw-r--r--cli/tools/repl/session.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/cli/tools/repl/session.rs b/cli/tools/repl/session.rs
index b2645097c..6f8db6fcd 100644
--- a/cli/tools/repl/session.rs
+++ b/cli/tools/repl/session.rs
@@ -1,5 +1,7 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
+use std::cell::RefCell;
+use std::rc::Rc;
use std::sync::Arc;
use crate::args::CliOptions;
@@ -128,12 +130,9 @@ pub struct ReplSession {
session: LocalInspectorSession,
pub context_id: u64,
pub language_server: ReplLanguageServer,
+ pub notifications: Rc<RefCell<UnboundedReceiver<Value>>>,
has_initialized_node_runtime: bool,
referrer: ModuleSpecifier,
- // FIXME(bartlomieju): this field should be used to listen
- // for "exceptionThrown" notifications
- #[allow(dead_code)]
- notification_rx: UnboundedReceiver<Value>,
}
impl ReplSession {
@@ -193,7 +192,7 @@ impl ReplSession {
language_server,
has_initialized_node_runtime: false,
referrer,
- notification_rx,
+ notifications: Rc::new(RefCell::new(notification_rx)),
};
// inject prelude