From 6e2d8c969c9abab2e83ff6ad2345184470337c19 Mon Sep 17 00:00:00 2001 From: Luca Casonato Date: Thu, 13 Jun 2024 02:29:02 +0300 Subject: [PATCH] fix: don't panic when cache is not available (#24175) Fixes #22144 --- ext/cache/lib.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ext/cache/lib.rs b/ext/cache/lib.rs index cee5b7e56a..e399b08e07 100644 --- a/ext/cache/lib.rs +++ b/ext/cache/lib.rs @@ -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::() { Ok(cache.clone()) - } else { - let create_cache = state.borrow::>().clone(); + } else if let Some(create_cache) = state.try_borrow::>() { let cache = create_cache.0(); state.put(cache); Ok(state.borrow::().clone()) + } else { + Err(type_error("CacheStorage is not available in this context.")) } }