1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-28 16:20:57 -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 GitHub
parent a7531361ef
commit 6e2d8c969c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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."))
}
}