summaryrefslogtreecommitdiff
path: root/deno_typescript/ops.rs
diff options
context:
space:
mode:
Diffstat (limited to 'deno_typescript/ops.rs')
-rw-r--r--deno_typescript/ops.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/deno_typescript/ops.rs b/deno_typescript/ops.rs
index e45349591..d557b9b8c 100644
--- a/deno_typescript/ops.rs
+++ b/deno_typescript/ops.rs
@@ -112,6 +112,21 @@ pub fn resolve_module_names(
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
+struct FetchAssetArgs {
+ name: String,
+}
+
+pub fn fetch_asset(_s: &mut TSState, v: Value) -> Result<Value, ErrBox> {
+ let args: FetchAssetArgs = serde_json::from_value(v)?;
+ if let Some(source_code) = crate::get_asset(&args.name) {
+ Ok(json!(source_code))
+ } else {
+ panic!("op_fetch_asset bad asset {}", args.name)
+ }
+}
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "camelCase")]
struct Exit {
code: i32,
}