diff options
author | Bert Belder <bertbelder@gmail.com> | 2020-09-06 02:34:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-06 02:34:02 +0200 |
commit | c821e8f2f1fb8ad5e9eb00854277cafc8c80b2f5 (patch) | |
tree | c429a3c2707a4047fb512443a8468b7e15e5730d /core/modules.rs | |
parent | 849431eb1d112d1f79f4a327830dc1a5bf22dd47 (diff) |
Move JSON ops to deno_core (#7336)
Diffstat (limited to 'core/modules.rs')
-rw-r--r-- | core/modules.rs | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/core/modules.rs b/core/modules.rs index 516440bc0..817e1f25e 100644 --- a/core/modules.rs +++ b/core/modules.rs @@ -8,6 +8,7 @@ use futures::future::FutureExt; use futures::stream::FuturesUnordered; use futures::stream::Stream; use futures::stream::TryStreamExt; +use serde_json::Value; use std::collections::HashMap; use std::collections::HashSet; use std::fmt; @@ -481,7 +482,7 @@ impl Deps { } } - pub fn to_json(&self) -> serde_json::Value { + pub fn to_json(&self) -> Value { let children; if let Some(deps) = &self.deps { children = deps.iter().map(|c| c.to_json()).collect(); @@ -521,6 +522,7 @@ mod tests { use super::*; use crate::es_isolate::EsIsolate; use crate::js_check; + use crate::BasicState; use crate::StartupData; use futures::future::FutureExt; use std::error::Error; @@ -535,15 +537,14 @@ mod tests { // removed in the future. use crate::core_isolate::tests::run_in_task; + #[derive(Default)] struct MockLoader { pub loads: Arc<Mutex<Vec<String>>>, } impl MockLoader { - fn new() -> Self { - Self { - loads: Arc::new(Mutex::new(Vec::new())), - } + fn new() -> Rc<Self> { + Default::default() } } @@ -699,7 +700,8 @@ mod tests { fn test_recursive_load() { let loader = MockLoader::new(); let loads = loader.loads.clone(); - let mut isolate = EsIsolate::new(Rc::new(loader), StartupData::None, false); + let mut isolate = + EsIsolate::new(loader, BasicState::new(), StartupData::None, false); let spec = ModuleSpecifier::resolve_url("file:///a.js").unwrap(); let a_id_fut = isolate.load_module(&spec, None); let a_id = futures::executor::block_on(a_id_fut).expect("Failed to load"); @@ -761,7 +763,8 @@ mod tests { fn test_circular_load() { let loader = MockLoader::new(); let loads = loader.loads.clone(); - let mut isolate = EsIsolate::new(Rc::new(loader), StartupData::None, false); + let mut isolate = + EsIsolate::new(loader, BasicState::new(), StartupData::None, false); let fut = async move { let spec = ModuleSpecifier::resolve_url("file:///circular1.js").unwrap(); @@ -834,7 +837,8 @@ mod tests { fn test_redirect_load() { let loader = MockLoader::new(); let loads = loader.loads.clone(); - let mut isolate = EsIsolate::new(Rc::new(loader), StartupData::None, false); + let mut isolate = + EsIsolate::new(loader, BasicState::new(), StartupData::None, false); let fut = async move { let spec = ModuleSpecifier::resolve_url("file:///redirect1.js").unwrap(); @@ -899,7 +903,7 @@ mod tests { let loader = MockLoader::new(); let loads = loader.loads.clone(); let mut isolate = - EsIsolate::new(Rc::new(loader), StartupData::None, false); + EsIsolate::new(loader, BasicState::new(), StartupData::None, false); let spec = ModuleSpecifier::resolve_url("file:///main.js").unwrap(); let mut recursive_load = isolate.load_module(&spec, None).boxed_local(); @@ -945,7 +949,7 @@ mod tests { run_in_task(|mut cx| { let loader = MockLoader::new(); let mut isolate = - EsIsolate::new(Rc::new(loader), StartupData::None, false); + EsIsolate::new(loader, BasicState::new(), StartupData::None, false); let spec = ModuleSpecifier::resolve_url("file:///bad_import.js").unwrap(); let mut load_fut = isolate.load_module(&spec, None).boxed_local(); let result = load_fut.poll_unpin(&mut cx); @@ -973,7 +977,8 @@ mod tests { fn recursive_load_main_with_code() { let loader = MockLoader::new(); let loads = loader.loads.clone(); - let mut isolate = EsIsolate::new(Rc::new(loader), StartupData::None, false); + let mut isolate = + EsIsolate::new(loader, BasicState::new(), StartupData::None, false); // In default resolution code should be empty. // Instead we explicitly pass in our own code. // The behavior should be very similar to /a.js. |