ChemPal Documentation - v1.6.0
    Preparing search index...

    Function clearAllCaches

    • Clears every cache-bearing store in one transaction: search results, history, both supplier caches, stats, and excluded products. Backs the "clear cache" action in settings.

      Returns Promise<void>

      Resolves once all stores are empty.

      await clearAllCaches();
      
      export async function clearAllCaches(): Promise<void> {
      try {
      const db = await getDB();
      const tx = db.transaction(
      [
      IDB_STORE.SEARCH_RESULTS,
      IDB_STORE.SEARCH_HISTORY,
      IDB_STORE.SUPPLIER_QUERY_CACHE,
      IDB_STORE.SUPPLIER_PRODUCT_DATA_CACHE,
      IDB_STORE.SUPPLIER_STATS,
      IDB_STORE.EXCLUDED_PRODUCTS,
      ],
      'readwrite',
      );
      await Promise.all([
      tx.objectStore(IDB_STORE.SEARCH_RESULTS).clear(),
      tx.objectStore(IDB_STORE.SEARCH_HISTORY).clear(),
      tx.objectStore(IDB_STORE.SUPPLIER_QUERY_CACHE).clear(),
      tx.objectStore(IDB_STORE.SUPPLIER_PRODUCT_DATA_CACHE).clear(),
      tx.objectStore(IDB_STORE.SUPPLIER_STATS).clear(),
      tx.objectStore(IDB_STORE.EXCLUDED_PRODUCTS).clear(),
      tx.done,
      ]);
      emitSearchResultsCleared();
      } catch (error) {
      logger.error('Failed to clear all IndexedDB caches', { error });
      }
      }