summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/lib.deno_core.d.ts2
-rw-r--r--core/ops_builtin.rs17
2 files changed, 19 insertions, 0 deletions
diff --git a/core/lib.deno_core.d.ts b/core/lib.deno_core.d.ts
index efa138d77..6db01df61 100644
--- a/core/lib.deno_core.d.ts
+++ b/core/lib.deno_core.d.ts
@@ -63,6 +63,8 @@ declare namespace Deno {
* compiler. Takes the rid and a `Uint8Array`.
* - `op_wasm_streaming_abort`. Aborts the wasm compilation. Takes the rid
* and an exception. Invalidates the resource.
+ * - `op_wasm_streaming_set_url`. Sets a source URL for the wasm module.
+ * Takes the rid and a string.
* - To indicate the end of the resource, use `Deno.core.close()` with the
* rid.
*/
diff --git a/core/ops_builtin.rs b/core/ops_builtin.rs
index 392062960..bb04cddf4 100644
--- a/core/ops_builtin.rs
+++ b/core/ops_builtin.rs
@@ -26,6 +26,10 @@ pub(crate) fn init_builtins() -> Extension {
("op_resources", op_sync(op_resources)),
("op_wasm_streaming_feed", op_sync(op_wasm_streaming_feed)),
("op_wasm_streaming_abort", op_sync(op_wasm_streaming_abort)),
+ (
+ "op_wasm_streaming_set_url",
+ op_sync(op_wasm_streaming_set_url),
+ ),
])
.build()
}
@@ -137,3 +141,16 @@ pub fn op_wasm_streaming_abort(
Ok(())
}
+
+pub fn op_wasm_streaming_set_url(
+ state: &mut OpState,
+ rid: ResourceId,
+ url: String,
+) -> Result<(), AnyError> {
+ let wasm_streaming =
+ state.resource_table.get::<WasmStreamingResource>(rid)?;
+
+ wasm_streaming.0.borrow_mut().set_url(&url);
+
+ Ok(())
+}