Skip to content

Commit d195b54

Browse files
committed
fix: cache arrayBuffer
1 parent 91aace8 commit d195b54

File tree

5 files changed

+500
-448
lines changed

5 files changed

+500
-448
lines changed

.node-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v18.14.0
1+
v18.19.0

package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,19 @@
4444
"lru_map": "^0.4.1"
4545
},
4646
"devDependencies": {
47-
"@types/mocha": "^10.0.1",
48-
"@types/node": "^18.13.0",
47+
"@types/mocha": "^10.0.6",
48+
"@types/node": "^20.10.6",
4949
"cross-env": "^7.0.3",
50-
"lint-staged": "^13.1.1",
50+
"lint-staged": "^15.2.0",
5151
"mocha": "^10.2.0",
5252
"node-stdlib-browser": "^1.2.0",
53-
"prettier": "^2.8.4",
54-
"ts-node": "^10.9.1",
53+
"prettier": "^3.1.1",
54+
"tiny-compressor": "^1.0.1",
55+
"ts-node": "^10.9.2",
5556
"ts-node-test-register": "^10.0.0",
56-
"typescript": "^4.9.5",
57-
"vite": "^4.1.1",
58-
"vite-plugin-node-stdlib-browser": "^0.1.1",
59-
"tiny-compressor": "^1.0.0"
57+
"typescript": "^5.3.3",
58+
"vite": "^5.0.11",
59+
"vite-plugin-node-stdlib-browser": "^0.2.1"
6060
},
6161
"email": "azuciao@gmail.com",
6262
"prettier": {

vite.config.mjs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import * as path from "node:path";
21
import nodePolyfills from 'vite-plugin-node-stdlib-browser'
3-
const __dirname = path.dirname(new URL(import.meta.url).pathname);
42
export default {
53
plugins: [nodePolyfills()]
64
};

web/kuromoji.patch.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,12 @@ class Deferred {
2323
BrowserDictionaryLoader.prototype.loadArrayBuffer = async function (url, callback) {
2424
const stroage = await kvsEnvStorage({
2525
name: "kuromoji",
26-
version: 1
26+
version: 2,
27+
upgrade({ kvs, oldVersion, newVersion }) {
28+
if (oldVersion === 1) {
29+
kvs.clear();
30+
}
31+
}
2732
});
2833
// https://github.com/takuyaa/kuromoji.js/issues/37
2934
const fixedURL = url.replace("https:/", "https://");
@@ -51,10 +56,12 @@ BrowserDictionaryLoader.prototype.loadArrayBuffer = async function (url, callbac
5156
return callback(response.statusText, null);
5257
}
5358
const arraybuffer = await response.arrayBuffer();
59+
// decomparess gzipped dictionary
5460
const typedArray = await Compressor.decompress(new Uint8Array(arraybuffer), "gzip");
55-
return stroage.set(fixedURL, typedArray).then(() => {
56-
deferred.resolve(typedArray);
57-
callback(null, typedArray);
61+
const decompressedArrayBuffer = typedArray.buffer;
62+
return stroage.set(fixedURL, decompressedArrayBuffer).then(() => {
63+
deferred.resolve(decompressedArrayBuffer);
64+
callback(null, decompressedArrayBuffer);
5865
});
5966
})
6067
.catch(function (exception) {

0 commit comments

Comments
 (0)