diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-04-14 16:22:33 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-14 16:22:33 -0400 |
commit | 136dce67cec749dce5989ea29e88359ef79a0045 (patch) | |
tree | 38e96bbbf22dc06cdba418a35467b215f1335549 /cli/cache/caches.rs | |
parent | a4111442191fff300132259752e6d2d5613d1871 (diff) |
refactor: break up `ProcState` (#18707)
1. Breaks up functionality within `ProcState` into several other structs
to break out the responsibilities (`ProcState` is only a data struct
now).
2. Moves towards being able to inject dependencies more easily and have
functionality only require what it needs.
3. Exposes `Arc<T>` around the "service structs" instead of it being
embedded within them. The idea behind embedding them was to reduce the
verbosity of needing to pass around `Arc<...>`, but I don't think it was
exactly working and as we move more of these structs to be more
injectable I don't think the extra verbosity will be a big deal.
Diffstat (limited to 'cli/cache/caches.rs')
-rw-r--r-- | cli/cache/caches.rs | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/cli/cache/caches.rs b/cli/cache/caches.rs index da6912f2a..0b60d0bec 100644 --- a/cli/cache/caches.rs +++ b/cli/cache/caches.rs @@ -1,7 +1,6 @@ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. use std::path::PathBuf; -use std::sync::Arc; use once_cell::sync::OnceCell; @@ -13,18 +12,18 @@ use super::node::NODE_ANALYSIS_CACHE_DB; use super::parsed_source::PARSED_SOURCE_CACHE_DB; use super::DenoDir; -#[derive(Clone, Default)] +#[derive(Default)] pub struct Caches { - fmt_incremental_cache_db: Arc<OnceCell<CacheDB>>, - lint_incremental_cache_db: Arc<OnceCell<CacheDB>>, - dep_analysis_db: Arc<OnceCell<CacheDB>>, - node_analysis_db: Arc<OnceCell<CacheDB>>, - type_checking_cache_db: Arc<OnceCell<CacheDB>>, + fmt_incremental_cache_db: OnceCell<CacheDB>, + lint_incremental_cache_db: OnceCell<CacheDB>, + dep_analysis_db: OnceCell<CacheDB>, + node_analysis_db: OnceCell<CacheDB>, + type_checking_cache_db: OnceCell<CacheDB>, } impl Caches { fn make_db( - cell: &Arc<OnceCell<CacheDB>>, + cell: &OnceCell<CacheDB>, config: &'static CacheDBConfiguration, path: PathBuf, ) -> CacheDB { |