summaryrefslogtreecommitdiff
path: root/cli/ops/compiler.rs
blob: 618851daa8ebb0de93f510d795ce2bb24fcf0ebf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.

use std::sync::Arc;
use std::sync::Mutex;

pub fn init(
  rt: &mut deno_core::JsRuntime,
  response: Arc<Mutex<Option<String>>>,
) {
  let custom_assets = std::collections::HashMap::new();
  // TODO(ry) use None.
  // TODO(bartlomieju): is this op even required?
  rt.register_op(
    "op_fetch_asset",
    crate::op_fetch_asset::op_fetch_asset(custom_assets),
  );

  super::reg_json_sync(
    rt,
    "op_compiler_respond",
    move |_state, args, _bufs| {
      let mut response_slot = response.lock().unwrap();
      let replaced_value = response_slot.replace(args.to_string());
      assert!(
        replaced_value.is_none(),
        "op_compiler_respond found unexpected existing compiler output",
      );
      Ok(json!({}))
    },
  );
}