summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/js/40_jupyter.js4
-rw-r--r--cli/ops/jupyter.rs2
-rw-r--r--cli/tools/jupyter/jupyter_msg.rs8
-rw-r--r--cli/tsc/dts/lib.deno.unstable.d.ts3
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>;
}
}