1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-21 15:04:11 -05:00

fix: don't panic when cache is not available (#24175)

Fixes #22144
This commit is contained in:
Luca Casonato 2024-06-13 02:29:02 +03:00 committed by Nathan Whitaker
parent 4af7fb8b81
commit d87bde0dc8
No known key found for this signature in database

6
ext/cache/lib.rs vendored
View file

@ -6,6 +6,7 @@ use std::rc::Rc;
use std::sync::Arc;
use async_trait::async_trait;
use deno_core::error::type_error;
use deno_core::error::AnyError;
use deno_core::op2;
use deno_core::serde::Deserialize;
@ -205,11 +206,12 @@ where
let mut state = state.borrow_mut();
if let Some(cache) = state.try_borrow::<CA>() {
Ok(cache.clone())
} else {
let create_cache = state.borrow::<CreateCache<CA>>().clone();
} else if let Some(create_cache) = state.try_borrow::<CreateCache<CA>>() {
let cache = create_cache.0();
state.put(cache);
Ok(state.borrow::<CA>().clone())
} else {
Err(type_error("CacheStorage is not available in this context."))
}
}