diff options
author | Leo Kettmeir <crowlkats@toaxl.com> | 2022-02-07 17:05:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-07 17:05:49 +0100 |
commit | 4799aaac15285833341d1e0471a2559bd325982f (patch) | |
tree | ac0913664e2623aff672054940a2adce67812740 /cli/tools/repl/channel.rs | |
parent | bf22f114a6e049744866ebaba48faec2cb86549b (diff) |
refactor: factor out CDP message types (#13551)
Diffstat (limited to 'cli/tools/repl/channel.rs')
-rw-r--r-- | cli/tools/repl/channel.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/cli/tools/repl/channel.rs b/cli/tools/repl/channel.rs index 7cc802905..4f2086fb5 100644 --- a/cli/tools/repl/channel.rs +++ b/cli/tools/repl/channel.rs @@ -2,6 +2,7 @@ use deno_core::anyhow::anyhow; use deno_core::error::AnyError; +use deno_core::serde_json; use deno_core::serde_json::Value; use std::cell::RefCell; use tokio::sync::mpsc::channel; @@ -55,17 +56,19 @@ pub struct RustylineSyncMessageSender { } impl RustylineSyncMessageSender { - pub fn post_message( + pub fn post_message<T: serde::Serialize>( &self, method: &str, - params: Option<Value>, + params: Option<T>, ) -> Result<Value, AnyError> { if let Err(err) = self .message_tx .blocking_send(RustylineSyncMessage::PostMessage { method: method.to_string(), - params, + params: params + .map(|params| serde_json::to_value(params)) + .transpose()?, }) { Err(anyhow!("{}", err)) |