diff options
-rw-r--r-- | cli/js/40_jupyter.js | 4 | ||||
-rw-r--r-- | cli/ops/jupyter.rs | 2 | ||||
-rw-r--r-- | cli/tools/jupyter/jupyter_msg.rs | 8 | ||||
-rw-r--r-- | cli/tsc/dts/lib.deno.unstable.d.ts | 3 |
4 files changed, 15 insertions, 2 deletions
diff --git a/cli/js/40_jupyter.js b/cli/js/40_jupyter.js index ae257f1c1..10dbccf4c 100644 --- a/cli/js/40_jupyter.js +++ b/cli/js/40_jupyter.js @@ -9,8 +9,8 @@ function enableJupyter() { } = core.ensureFastOps(); globalThis.Deno.jupyter = { - async broadcast(msgType, content) { - await op_jupyter_broadcast(msgType, content); + async broadcast(msgType, content, { metadata = {} } = {}) { + await op_jupyter_broadcast(msgType, content, metadata); }, }; } diff --git a/cli/ops/jupyter.rs b/cli/ops/jupyter.rs index 765b062e5..12d19fab5 100644 --- a/cli/ops/jupyter.rs +++ b/cli/ops/jupyter.rs @@ -36,6 +36,7 @@ pub async fn op_jupyter_broadcast( state: Rc<RefCell<OpState>>, #[string] message_type: String, #[serde] content: serde_json::Value, + #[serde] metadata: serde_json::Value, ) -> Result<(), AnyError> { let (iopub_socket, last_execution_request) = { let s = state.borrow(); @@ -52,6 +53,7 @@ pub async fn op_jupyter_broadcast( last_request .new_message(&message_type) .with_content(content) + .with_metadata(metadata) .send(&mut *iopub_socket.lock().await) .await?; } diff --git a/cli/tools/jupyter/jupyter_msg.rs b/cli/tools/jupyter/jupyter_msg.rs index c28dd3b48..beb9f34e4 100644 --- a/cli/tools/jupyter/jupyter_msg.rs +++ b/cli/tools/jupyter/jupyter_msg.rs @@ -206,6 +206,14 @@ impl JupyterMessage { self } + pub(crate) fn with_metadata( + mut self, + metadata: serde_json::Value, + ) -> JupyterMessage { + self.metadata = metadata; + self + } + pub(crate) async fn send<S: zeromq::SocketSend>( &self, connection: &mut Connection<S>, diff --git a/cli/tsc/dts/lib.deno.unstable.d.ts b/cli/tsc/dts/lib.deno.unstable.d.ts index 9f9a4914b..11510d144 100644 --- a/cli/tsc/dts/lib.deno.unstable.d.ts +++ b/cli/tsc/dts/lib.deno.unstable.d.ts @@ -1978,6 +1978,9 @@ declare namespace Deno { export function broadcast( msgType: string, content: Record<string, unknown>, + extra?: { + metadata?: Record<string, unknown>; + }, ): Promise<void>; } } |