@lls/offline 24.27.0-d7760203 → 24.27.0-f263b216

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1116,13 +1116,18 @@ var loadPreload2 = async () => {
1116
1116
  console.error("failed to load preload", e);
1117
1117
  }
1118
1118
  };
1119
+ var reset = async () => {
1120
+ await (await navigator.storage.getDirectory()).remove({ recursive: true });
1121
+ console.info("opfs cleared");
1122
+ };
1119
1123
  var mainHandle = makeSyncHandler(self, {
1120
1124
  initChannel,
1121
1125
  loadPreload: loadPreload2,
1122
1126
  readZipEntry,
1123
1127
  loadBooks,
1124
1128
  loadBook: loadBook2,
1125
- configure
1129
+ configure,
1130
+ reset
1126
1131
  });
1127
1132
  var { handler, ...sender } = makeSyncWorker(self, ["nativeWriteFile", "nativeReadFile", "nativeListZips"]);
1128
1133
  self.onmessage = combineHandlers(mainHandle, handler);
package/lib/index.js CHANGED
@@ -82,13 +82,14 @@ var combineHandlers = (...handlers) => {
82
82
  console.error("no handlers matched", methodName);
83
83
  };
84
84
  };
85
+ var clearCache = async (mode) => caches.delete(`LLS_OFFLINE_${mode}`);
85
86
 
86
87
  // src/hooks/useOfflineWorker.ts
87
88
  import { useCallback, useEffect, useState } from "react";
88
89
  var offlineWorker = new Worker("/src/worker/offline-worker.js", { type: "module" });
89
90
  var { handler, ...offlineWorkerSync } = makeSyncWorker(
90
91
  offlineWorker,
91
- ["initChannel", "readZipEntry", "configure", "loadPreload", "loadBooks", "loadBook"],
92
+ ["initChannel", "readZipEntry", "configure", "loadPreload", "loadBooks", "loadBook", "reset"],
92
93
  "app:offlineWorker"
93
94
  );
94
95
  var fetchWorkerPromise = new Promise(
@@ -195,9 +196,15 @@ var useOfflineWorker_default = ({
195
196
  },
196
197
  []
197
198
  );
199
+ const reset = useCallback(async () => {
200
+ await offlineWorkerSync.reset();
201
+ await clearCache(confEnv || "development");
202
+ console.debug("reset: keys:", await caches.keys());
203
+ }, [confEnv]);
198
204
  return {
199
205
  ready,
200
- loadBook
206
+ loadBook,
207
+ reset
201
208
  };
202
209
  };
203
210
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lls/offline",
3
- "version": "24.27.0-d7760203",
3
+ "version": "24.27.0-f263b216",
4
4
  "description": "offline",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib/index.js",
@@ -52,7 +52,7 @@
52
52
  "vite": "7.0.7",
53
53
  "vite-tsconfig-paths": "5.1.4",
54
54
  "zod": "3.25.50",
55
- "@lls/vitescripts": "24.27.0-d7760203"
55
+ "@lls/vitescripts": "24.27.0-f263b216"
56
56
  },
57
57
  "dependencies": {
58
58
  "fflate": "0.8.2"