@lls/offline 24.27.0-d7760203 → 24.27.0-d955cd89
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.
- package/lib/assets/offline-worker.js +13 -1
- package/lib/index.js +9 -2
- package/package.json +2 -2
|
@@ -1000,6 +1000,13 @@ var loadBook2 = async ({ id: bookId, forceRefresh }) => {
|
|
|
1000
1000
|
asJson: true
|
|
1001
1001
|
});
|
|
1002
1002
|
loadBook(json);
|
|
1003
|
+
} else {
|
|
1004
|
+
try {
|
|
1005
|
+
const { createdAt } = await readZipEntry({ bookId, entryName: "manifest.json", asJson: true });
|
|
1006
|
+
console.debug("zipversion", createdAt);
|
|
1007
|
+
} catch (e) {
|
|
1008
|
+
console.debug("failed to read manifest.json", e);
|
|
1009
|
+
}
|
|
1003
1010
|
}
|
|
1004
1011
|
return true;
|
|
1005
1012
|
} catch (e) {
|
|
@@ -1116,13 +1123,18 @@ var loadPreload2 = async () => {
|
|
|
1116
1123
|
console.error("failed to load preload", e);
|
|
1117
1124
|
}
|
|
1118
1125
|
};
|
|
1126
|
+
var reset = async () => {
|
|
1127
|
+
await (await navigator.storage.getDirectory()).remove({ recursive: true });
|
|
1128
|
+
console.info("opfs cleared");
|
|
1129
|
+
};
|
|
1119
1130
|
var mainHandle = makeSyncHandler(self, {
|
|
1120
1131
|
initChannel,
|
|
1121
1132
|
loadPreload: loadPreload2,
|
|
1122
1133
|
readZipEntry,
|
|
1123
1134
|
loadBooks,
|
|
1124
1135
|
loadBook: loadBook2,
|
|
1125
|
-
configure
|
|
1136
|
+
configure,
|
|
1137
|
+
reset
|
|
1126
1138
|
});
|
|
1127
1139
|
var { handler, ...sender } = makeSyncWorker(self, ["nativeWriteFile", "nativeReadFile", "nativeListZips"]);
|
|
1128
1140
|
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-
|
|
3
|
+
"version": "24.27.0-d955cd89",
|
|
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-
|
|
55
|
+
"@lls/vitescripts": "24.27.0-d955cd89"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"fflate": "0.8.2"
|