@zh-keyboard/pinyin 1.1.1 → 1.1.2
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/LICENSE +190 -190
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +203 -293
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +196 -285
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
2
|
//#region data/rime-api.js
|
|
4
3
|
async function createRimeModule(moduleArg = {}) {
|
|
5
4
|
var moduleRtn;
|
|
@@ -9,13 +8,10 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
9
8
|
if (!Module["expectedDataFileDownloads"]) Module["expectedDataFileDownloads"] = 0;
|
|
10
9
|
Module["expectedDataFileDownloads"]++;
|
|
11
10
|
(() => {
|
|
12
|
-
|
|
13
|
-
var isWasmWorker = typeof ENVIRONMENT_IS_WASM_WORKER != "undefined" && ENVIRONMENT_IS_WASM_WORKER;
|
|
14
|
-
if (isPthread || isWasmWorker) return;
|
|
11
|
+
if (typeof ENVIRONMENT_IS_PTHREAD != "undefined" && ENVIRONMENT_IS_PTHREAD || typeof ENVIRONMENT_IS_WASM_WORKER != "undefined" && ENVIRONMENT_IS_WASM_WORKER) return;
|
|
15
12
|
async function loadPackage(metadata) {
|
|
16
|
-
|
|
17
|
-
if (typeof
|
|
18
|
-
else if (typeof process === "undefined" && typeof location !== "undefined") PACKAGE_PATH = encodeURIComponent(location.pathname.substring(0, location.pathname.lastIndexOf("/")) + "/");
|
|
13
|
+
if (typeof window === "object") window["encodeURIComponent"](window.location.pathname.substring(0, window.location.pathname.lastIndexOf("/")) + "/");
|
|
14
|
+
else if (typeof process === "undefined" && typeof location !== "undefined") encodeURIComponent(location.pathname.substring(0, location.pathname.lastIndexOf("/")) + "/");
|
|
19
15
|
var PACKAGE_NAME = "/home/zzx/work/librime/wasm/dist/rime-api.data";
|
|
20
16
|
var REMOTE_PACKAGE_BASE = "rime-api.data";
|
|
21
17
|
var REMOTE_PACKAGE_NAME = Module["locateFile"] ? Module["locateFile"](REMOTE_PACKAGE_BASE, "") : REMOTE_PACKAGE_BASE;
|
|
@@ -62,31 +58,31 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
62
58
|
var fetchPromise;
|
|
63
59
|
var fetched = Module["getPreloadedPackage"] && Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE);
|
|
64
60
|
if (!fetched) fetchPromise = fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE);
|
|
65
|
-
async function runWithFS(Module
|
|
61
|
+
async function runWithFS(Module) {
|
|
66
62
|
function assert(check, msg) {
|
|
67
63
|
if (!check) throw new Error(msg);
|
|
68
64
|
}
|
|
69
|
-
Module
|
|
70
|
-
Module
|
|
65
|
+
Module["FS_createPath"]("/", "rime", true, true);
|
|
66
|
+
Module["FS_createPath"]("/rime", "opencc", true, true);
|
|
71
67
|
for (var file of metadata["files"]) {
|
|
72
68
|
var name = file["filename"];
|
|
73
|
-
Module
|
|
69
|
+
Module["addRunDependency"](`fp ${name}`);
|
|
74
70
|
}
|
|
75
71
|
async function processPackageData(arrayBuffer) {
|
|
76
72
|
assert(arrayBuffer, "Loading data file failed.");
|
|
77
73
|
assert(arrayBuffer.constructor.name === ArrayBuffer.name, "bad input to processPackageData " + arrayBuffer.constructor.name);
|
|
78
74
|
var byteArray = new Uint8Array(arrayBuffer);
|
|
79
|
-
for (var file
|
|
80
|
-
var name
|
|
81
|
-
var data = byteArray.subarray(file
|
|
82
|
-
Module
|
|
83
|
-
Module
|
|
75
|
+
for (var file of metadata["files"]) {
|
|
76
|
+
var name = file["filename"];
|
|
77
|
+
var data = byteArray.subarray(file["start"], file["end"]);
|
|
78
|
+
Module["FS_createDataFile"](name, null, data, true, true, true);
|
|
79
|
+
Module["removeRunDependency"](`fp ${name}`);
|
|
84
80
|
}
|
|
85
|
-
Module
|
|
81
|
+
Module["removeRunDependency"]("datafile_/home/zzx/work/librime/wasm/dist/rime-api.data");
|
|
86
82
|
}
|
|
87
|
-
Module
|
|
88
|
-
if (!Module
|
|
89
|
-
Module
|
|
83
|
+
Module["addRunDependency"]("datafile_/home/zzx/work/librime/wasm/dist/rime-api.data");
|
|
84
|
+
if (!Module["preloadResults"]) Module["preloadResults"] = {};
|
|
85
|
+
Module["preloadResults"][PACKAGE_NAME] = { fromCache: false };
|
|
90
86
|
if (!fetched) fetched = await fetchPromise;
|
|
91
87
|
processPackageData(fetched);
|
|
92
88
|
}
|
|
@@ -132,12 +128,11 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
132
128
|
remote_package_size: 1027747
|
|
133
129
|
});
|
|
134
130
|
})();
|
|
135
|
-
var arguments_ = [];
|
|
136
131
|
var thisProgram = "./this.program";
|
|
137
132
|
var quit_ = (status, toThrow) => {
|
|
138
133
|
throw toThrow;
|
|
139
134
|
};
|
|
140
|
-
var _scriptName =
|
|
135
|
+
var _scriptName = require("url").pathToFileURL(__filename).href;
|
|
141
136
|
var scriptDirectory = "";
|
|
142
137
|
function locateFile(path) {
|
|
143
138
|
if (Module["locateFile"]) return Module["locateFile"](path, scriptDirectory);
|
|
@@ -159,22 +154,20 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
159
154
|
var wasmBinary;
|
|
160
155
|
var ABORT = false;
|
|
161
156
|
var EXITSTATUS;
|
|
162
|
-
var readyPromiseResolve, readyPromiseReject;
|
|
163
|
-
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
|
|
164
|
-
var HEAP64, HEAPU64;
|
|
157
|
+
var readyPromiseResolve, readyPromiseReject, HEAP8, HEAPU8, HEAP16, HEAP32, HEAPU32, HEAP64;
|
|
165
158
|
var runtimeInitialized = false;
|
|
166
159
|
function updateMemoryViews() {
|
|
167
160
|
var b = wasmMemory.buffer;
|
|
168
161
|
HEAP8 = new Int8Array(b);
|
|
169
162
|
HEAP16 = new Int16Array(b);
|
|
170
163
|
HEAPU8 = new Uint8Array(b);
|
|
171
|
-
|
|
164
|
+
new Uint16Array(b);
|
|
172
165
|
HEAP32 = new Int32Array(b);
|
|
173
166
|
HEAPU32 = new Uint32Array(b);
|
|
174
|
-
|
|
175
|
-
|
|
167
|
+
new Float32Array(b);
|
|
168
|
+
new Float64Array(b);
|
|
176
169
|
HEAP64 = new BigInt64Array(b);
|
|
177
|
-
|
|
170
|
+
new BigUint64Array(b);
|
|
178
171
|
}
|
|
179
172
|
function preRun() {
|
|
180
173
|
if (Module["preRun"]) {
|
|
@@ -211,7 +204,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
211
204
|
var wasmBinaryFile;
|
|
212
205
|
function findWasmBinary() {
|
|
213
206
|
if (Module["locateFile"]) return locateFile("rime-api.wasm");
|
|
214
|
-
return new URL("rime-api.wasm",
|
|
207
|
+
return new URL("rime-api.wasm", require("url").pathToFileURL(__filename).href).href;
|
|
215
208
|
}
|
|
216
209
|
function getBinarySync(file) {
|
|
217
210
|
if (file == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);
|
|
@@ -228,8 +221,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
228
221
|
async function instantiateArrayBuffer(binaryFile, imports) {
|
|
229
222
|
try {
|
|
230
223
|
var binary = await getWasmBinary(binaryFile);
|
|
231
|
-
|
|
232
|
-
return instance;
|
|
224
|
+
return await WebAssembly.instantiate(binary, imports);
|
|
233
225
|
} catch (reason) {
|
|
234
226
|
err(`failed to asynchronously prepare wasm: ${reason}`);
|
|
235
227
|
abort(reason);
|
|
@@ -238,8 +230,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
238
230
|
async function instantiateAsync(binary, binaryFile, imports) {
|
|
239
231
|
if (!binary) try {
|
|
240
232
|
var response = fetch(binaryFile, { credentials: "same-origin" });
|
|
241
|
-
|
|
242
|
-
return instantiationResult;
|
|
233
|
+
return await WebAssembly.instantiateStreaming(response, imports);
|
|
243
234
|
} catch (reason) {
|
|
244
235
|
err(`wasm streaming compile failed: ${reason}`);
|
|
245
236
|
err("falling back to ArrayBuffer instantiation");
|
|
@@ -247,19 +238,18 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
247
238
|
return instantiateArrayBuffer(binaryFile, imports);
|
|
248
239
|
}
|
|
249
240
|
function getWasmImports() {
|
|
250
|
-
|
|
251
|
-
return imports;
|
|
241
|
+
return { a: wasmImports };
|
|
252
242
|
}
|
|
253
243
|
async function createWasm() {
|
|
254
|
-
function receiveInstance(instance, module
|
|
244
|
+
function receiveInstance(instance, module) {
|
|
255
245
|
wasmExports = instance.exports;
|
|
256
246
|
wasmExports = applySignatureConversions(wasmExports);
|
|
257
247
|
assignWasmExports(wasmExports);
|
|
258
248
|
updateMemoryViews();
|
|
259
249
|
return wasmExports;
|
|
260
250
|
}
|
|
261
|
-
function receiveInstantiationResult(result
|
|
262
|
-
return receiveInstance(result
|
|
251
|
+
function receiveInstantiationResult(result) {
|
|
252
|
+
return receiveInstance(result["instance"]);
|
|
263
253
|
}
|
|
264
254
|
var info = getWasmImports();
|
|
265
255
|
if (Module["instantiateWasm"]) return new Promise((resolve, reject) => {
|
|
@@ -268,9 +258,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
268
258
|
});
|
|
269
259
|
});
|
|
270
260
|
wasmBinaryFile ??= findWasmBinary();
|
|
271
|
-
|
|
272
|
-
var exports$1 = receiveInstantiationResult(result);
|
|
273
|
-
return exports$1;
|
|
261
|
+
return receiveInstantiationResult(await instantiateAsync(wasmBinary, wasmBinaryFile, info));
|
|
274
262
|
}
|
|
275
263
|
class ExitStatus {
|
|
276
264
|
name = "ExitStatus";
|
|
@@ -290,8 +278,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
290
278
|
var PATH = {
|
|
291
279
|
isAbs: (path) => path.charAt(0) === "/",
|
|
292
280
|
splitPath: (filename) => {
|
|
293
|
-
|
|
294
|
-
return splitPathRe.exec(filename).slice(1);
|
|
281
|
+
return /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(filename).slice(1);
|
|
295
282
|
},
|
|
296
283
|
normalizeArray: (parts, allowAboveRoot) => {
|
|
297
284
|
var up = 0;
|
|
@@ -669,8 +656,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
669
656
|
expandFileStorage(node, newCapacity) {
|
|
670
657
|
var prevCapacity = node.contents ? node.contents.length : 0;
|
|
671
658
|
if (prevCapacity >= newCapacity) return;
|
|
672
|
-
|
|
673
|
-
newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);
|
|
659
|
+
newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < 1024 * 1024 ? 2 : 1.125) >>> 0);
|
|
674
660
|
if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);
|
|
675
661
|
var oldContents = node.contents;
|
|
676
662
|
node.contents = new Uint8Array(newCapacity);
|
|
@@ -747,8 +733,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
747
733
|
parent.ctime = parent.mtime = Date.now();
|
|
748
734
|
},
|
|
749
735
|
rmdir(parent, name) {
|
|
750
|
-
var
|
|
751
|
-
for (var i in node.contents) throw new FS.ErrnoError(55);
|
|
736
|
+
for (var i in FS.lookupNode(parent, name).contents) throw new FS.ErrnoError(55);
|
|
752
737
|
delete parent.contents[name];
|
|
753
738
|
parent.ctime = parent.mtime = Date.now();
|
|
754
739
|
},
|
|
@@ -842,15 +827,14 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
842
827
|
}
|
|
843
828
|
};
|
|
844
829
|
var FS_modeStringToFlags = (str) => {
|
|
845
|
-
var
|
|
830
|
+
var flags = {
|
|
846
831
|
r: 0,
|
|
847
832
|
"r+": 2,
|
|
848
833
|
w: 577,
|
|
849
834
|
"w+": 578,
|
|
850
835
|
a: 1089,
|
|
851
836
|
"a+": 1090
|
|
852
|
-
};
|
|
853
|
-
var flags = flagModes[str];
|
|
837
|
+
}[str];
|
|
854
838
|
if (typeof flags == "undefined") throw new Error(`Unknown file open mode: ${str}`);
|
|
855
839
|
return flags;
|
|
856
840
|
};
|
|
@@ -912,10 +896,10 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
912
896
|
return mnt;
|
|
913
897
|
},
|
|
914
898
|
syncfs: (mount, populate, callback) => {
|
|
915
|
-
IDBFS.getLocalSet(mount, (err
|
|
916
|
-
if (err
|
|
917
|
-
IDBFS.getRemoteSet(mount, (err
|
|
918
|
-
if (err
|
|
899
|
+
IDBFS.getLocalSet(mount, (err, local) => {
|
|
900
|
+
if (err) return callback(err);
|
|
901
|
+
IDBFS.getRemoteSet(mount, (err, remote) => {
|
|
902
|
+
if (err) return callback(err);
|
|
919
903
|
var src = populate ? remote : local;
|
|
920
904
|
var dst = populate ? local : remote;
|
|
921
905
|
IDBFS.reconcile(src, dst, callback);
|
|
@@ -937,11 +921,11 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
937
921
|
}
|
|
938
922
|
if (!req) return callback("Unable to connect to IndexedDB");
|
|
939
923
|
req.onupgradeneeded = (e) => {
|
|
940
|
-
var db
|
|
924
|
+
var db = e.target.result;
|
|
941
925
|
var transaction = e.target.transaction;
|
|
942
926
|
var fileStore;
|
|
943
|
-
if (db
|
|
944
|
-
else fileStore = db
|
|
927
|
+
if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
|
|
928
|
+
else fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
|
|
945
929
|
if (!fileStore.indexNames.contains("timestamp")) fileStore.createIndex("timestamp", "timestamp", { unique: false });
|
|
946
930
|
};
|
|
947
931
|
req.onsuccess = () => {
|
|
@@ -981,16 +965,15 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
981
965
|
},
|
|
982
966
|
getRemoteSet: (mount, callback) => {
|
|
983
967
|
var entries = {};
|
|
984
|
-
IDBFS.getDB(mount.mountpoint, (err
|
|
985
|
-
if (err
|
|
968
|
+
IDBFS.getDB(mount.mountpoint, (err, db) => {
|
|
969
|
+
if (err) return callback(err);
|
|
986
970
|
try {
|
|
987
971
|
var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly");
|
|
988
972
|
transaction.onerror = (e) => {
|
|
989
973
|
callback(e.target.error);
|
|
990
974
|
e.preventDefault();
|
|
991
975
|
};
|
|
992
|
-
var
|
|
993
|
-
var index = store.index("timestamp");
|
|
976
|
+
var index = transaction.objectStore(IDBFS.DB_STORE_NAME).index("timestamp");
|
|
994
977
|
index.openKeyCursor().onsuccess = (event) => {
|
|
995
978
|
var cursor = event.target.result;
|
|
996
979
|
if (!cursor) return callback(null, {
|
|
@@ -1009,8 +992,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1009
992
|
loadLocalEntry: (path, callback) => {
|
|
1010
993
|
var stat, node;
|
|
1011
994
|
try {
|
|
1012
|
-
|
|
1013
|
-
node = lookup.node;
|
|
995
|
+
node = FS.lookupPath(path).node;
|
|
1014
996
|
stat = FS.stat(path);
|
|
1015
997
|
} catch (e) {
|
|
1016
998
|
return callback(e);
|
|
@@ -1026,13 +1008,13 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1026
1008
|
mode: stat.mode,
|
|
1027
1009
|
contents: node.contents
|
|
1028
1010
|
});
|
|
1029
|
-
} else return callback(new Error("node type not supported"));
|
|
1011
|
+
} else return callback(/* @__PURE__ */ new Error("node type not supported"));
|
|
1030
1012
|
},
|
|
1031
1013
|
storeLocalEntry: (path, entry, callback) => {
|
|
1032
1014
|
try {
|
|
1033
1015
|
if (FS.isDir(entry["mode"])) FS.mkdirTree(path, entry["mode"]);
|
|
1034
1016
|
else if (FS.isFile(entry["mode"])) FS.writeFile(path, entry["contents"], { canOwn: true });
|
|
1035
|
-
else return callback(new Error("node type not supported"));
|
|
1017
|
+
else return callback(/* @__PURE__ */ new Error("node type not supported"));
|
|
1036
1018
|
FS.chmod(path, entry["mode"]);
|
|
1037
1019
|
FS.utime(path, entry["timestamp"], entry["timestamp"]);
|
|
1038
1020
|
} catch (e) {
|
|
@@ -1096,29 +1078,28 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1096
1078
|
}
|
|
1097
1079
|
if (!total) return callback(null);
|
|
1098
1080
|
var errored = false;
|
|
1099
|
-
var
|
|
1100
|
-
var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite");
|
|
1081
|
+
var transaction = (src.type === "remote" ? src.db : dst.db).transaction([IDBFS.DB_STORE_NAME], "readwrite");
|
|
1101
1082
|
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
|
|
1102
|
-
function done(err
|
|
1103
|
-
if (err
|
|
1083
|
+
function done(err) {
|
|
1084
|
+
if (err && !errored) {
|
|
1104
1085
|
errored = true;
|
|
1105
|
-
return callback(err
|
|
1086
|
+
return callback(err);
|
|
1106
1087
|
}
|
|
1107
1088
|
}
|
|
1108
|
-
transaction.onerror = transaction.onabort = (e
|
|
1109
|
-
done(e
|
|
1110
|
-
e
|
|
1089
|
+
transaction.onerror = transaction.onabort = (e) => {
|
|
1090
|
+
done(e.target.error);
|
|
1091
|
+
e.preventDefault();
|
|
1111
1092
|
};
|
|
1112
|
-
transaction.oncomplete = (e
|
|
1093
|
+
transaction.oncomplete = (e) => {
|
|
1113
1094
|
if (!errored) callback(null);
|
|
1114
1095
|
};
|
|
1115
|
-
for (const path
|
|
1116
|
-
if (err
|
|
1117
|
-
IDBFS.storeLocalEntry(path
|
|
1096
|
+
for (const path of create.sort()) if (dst.type === "local") IDBFS.loadRemoteEntry(store, path, (err, entry) => {
|
|
1097
|
+
if (err) return done(err);
|
|
1098
|
+
IDBFS.storeLocalEntry(path, entry, done);
|
|
1118
1099
|
});
|
|
1119
|
-
else IDBFS.loadLocalEntry(path
|
|
1120
|
-
if (err
|
|
1121
|
-
IDBFS.storeRemoteEntry(store, path
|
|
1100
|
+
else IDBFS.loadLocalEntry(path, (err, entry) => {
|
|
1101
|
+
if (err) return done(err);
|
|
1102
|
+
IDBFS.storeRemoteEntry(store, path, entry, done);
|
|
1122
1103
|
});
|
|
1123
1104
|
for (var path of remove.sort().reverse()) if (dst.type === "local") IDBFS.removeLocalEntry(path, done);
|
|
1124
1105
|
else IDBFS.removeRemoteEntry(store, path, done);
|
|
@@ -1404,7 +1385,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1404
1385
|
mayCreate(dir, name) {
|
|
1405
1386
|
if (!FS.isDir(dir.mode)) return 54;
|
|
1406
1387
|
try {
|
|
1407
|
-
|
|
1388
|
+
FS.lookupNode(dir, name);
|
|
1408
1389
|
return 20;
|
|
1409
1390
|
} catch (e) {}
|
|
1410
1391
|
return FS.nodePermissions(dir, "wx");
|
|
@@ -1433,8 +1414,8 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1433
1414
|
}
|
|
1434
1415
|
return FS.nodePermissions(node, mode);
|
|
1435
1416
|
},
|
|
1436
|
-
checkOpExists(op, err
|
|
1437
|
-
if (!op) throw new FS.ErrnoError(err
|
|
1417
|
+
checkOpExists(op, err) {
|
|
1418
|
+
if (!op) throw new FS.ErrnoError(err);
|
|
1438
1419
|
return op;
|
|
1439
1420
|
},
|
|
1440
1421
|
MAX_OPEN_FDS: 4096,
|
|
@@ -1472,8 +1453,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1472
1453
|
},
|
|
1473
1454
|
chrdev_stream_ops: {
|
|
1474
1455
|
open(stream) {
|
|
1475
|
-
|
|
1476
|
-
stream.stream_ops = device.stream_ops;
|
|
1456
|
+
stream.stream_ops = FS.getDevice(stream.node.rdev).stream_ops;
|
|
1477
1457
|
stream.stream_ops.open?.(stream);
|
|
1478
1458
|
},
|
|
1479
1459
|
llseek() {
|
|
@@ -1570,8 +1550,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1570
1550
|
return parent.node_ops.lookup(parent, name);
|
|
1571
1551
|
},
|
|
1572
1552
|
mknod(path, mode, dev) {
|
|
1573
|
-
var
|
|
1574
|
-
var parent = lookup.node;
|
|
1553
|
+
var parent = FS.lookupPath(path, { parent: true }).node;
|
|
1575
1554
|
var name = PATH.basename(path);
|
|
1576
1555
|
if (!name) throw new FS.ErrnoError(28);
|
|
1577
1556
|
if (name === "." || name === "..") throw new FS.ErrnoError(20);
|
|
@@ -1636,8 +1615,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1636
1615
|
},
|
|
1637
1616
|
symlink(oldpath, newpath) {
|
|
1638
1617
|
if (!PATH_FS.resolve(oldpath)) throw new FS.ErrnoError(44);
|
|
1639
|
-
var
|
|
1640
|
-
var parent = lookup.node;
|
|
1618
|
+
var parent = FS.lookupPath(newpath, { parent: true }).node;
|
|
1641
1619
|
if (!parent) throw new FS.ErrnoError(44);
|
|
1642
1620
|
var newname = PATH.basename(newpath);
|
|
1643
1621
|
var errCode = FS.mayCreate(parent, newname);
|
|
@@ -1650,9 +1628,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1650
1628
|
var new_dirname = PATH.dirname(new_path);
|
|
1651
1629
|
var old_name = PATH.basename(old_path);
|
|
1652
1630
|
var new_name = PATH.basename(new_path);
|
|
1653
|
-
var lookup, old_dir, new_dir;
|
|
1654
|
-
lookup = FS.lookupPath(old_path, { parent: true });
|
|
1655
|
-
old_dir = lookup.node;
|
|
1631
|
+
var lookup = FS.lookupPath(old_path, { parent: true }), old_dir = lookup.node, new_dir;
|
|
1656
1632
|
lookup = FS.lookupPath(new_path, { parent: true });
|
|
1657
1633
|
new_dir = lookup.node;
|
|
1658
1634
|
if (!old_dir || !new_dir) throw new FS.ErrnoError(44);
|
|
@@ -1689,8 +1665,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1689
1665
|
}
|
|
1690
1666
|
},
|
|
1691
1667
|
rmdir(path) {
|
|
1692
|
-
var
|
|
1693
|
-
var parent = lookup.node;
|
|
1668
|
+
var parent = FS.lookupPath(path, { parent: true }).node;
|
|
1694
1669
|
var name = PATH.basename(path);
|
|
1695
1670
|
var node = FS.lookupNode(parent, name);
|
|
1696
1671
|
var errCode = FS.mayDelete(parent, name, true);
|
|
@@ -1701,14 +1676,11 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1701
1676
|
FS.destroyNode(node);
|
|
1702
1677
|
},
|
|
1703
1678
|
readdir(path) {
|
|
1704
|
-
var
|
|
1705
|
-
|
|
1706
|
-
var readdir = FS.checkOpExists(node.node_ops.readdir, 54);
|
|
1707
|
-
return readdir(node);
|
|
1679
|
+
var node = FS.lookupPath(path, { follow: true }).node;
|
|
1680
|
+
return FS.checkOpExists(node.node_ops.readdir, 54)(node);
|
|
1708
1681
|
},
|
|
1709
1682
|
unlink(path) {
|
|
1710
|
-
var
|
|
1711
|
-
var parent = lookup.node;
|
|
1683
|
+
var parent = FS.lookupPath(path, { parent: true }).node;
|
|
1712
1684
|
if (!parent) throw new FS.ErrnoError(44);
|
|
1713
1685
|
var name = PATH.basename(path);
|
|
1714
1686
|
var node = FS.lookupNode(parent, name);
|
|
@@ -1720,17 +1692,14 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1720
1692
|
FS.destroyNode(node);
|
|
1721
1693
|
},
|
|
1722
1694
|
readlink(path) {
|
|
1723
|
-
var
|
|
1724
|
-
var link = lookup.node;
|
|
1695
|
+
var link = FS.lookupPath(path).node;
|
|
1725
1696
|
if (!link) throw new FS.ErrnoError(44);
|
|
1726
1697
|
if (!link.node_ops.readlink) throw new FS.ErrnoError(28);
|
|
1727
1698
|
return link.node_ops.readlink(link);
|
|
1728
1699
|
},
|
|
1729
1700
|
stat(path, dontFollow) {
|
|
1730
|
-
var
|
|
1731
|
-
|
|
1732
|
-
var getattr = FS.checkOpExists(node.node_ops.getattr, 63);
|
|
1733
|
-
return getattr(node);
|
|
1701
|
+
var node = FS.lookupPath(path, { follow: !dontFollow }).node;
|
|
1702
|
+
return FS.checkOpExists(node.node_ops.getattr, 63)(node);
|
|
1734
1703
|
},
|
|
1735
1704
|
fstat(fd) {
|
|
1736
1705
|
var stream = FS.getStreamChecked(fd);
|
|
@@ -1753,10 +1722,8 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1753
1722
|
},
|
|
1754
1723
|
chmod(path, mode, dontFollow) {
|
|
1755
1724
|
var node;
|
|
1756
|
-
if (typeof path == "string") {
|
|
1757
|
-
|
|
1758
|
-
node = lookup.node;
|
|
1759
|
-
} else node = path;
|
|
1725
|
+
if (typeof path == "string") node = FS.lookupPath(path, { follow: !dontFollow }).node;
|
|
1726
|
+
else node = path;
|
|
1760
1727
|
FS.doChmod(null, node, mode, dontFollow);
|
|
1761
1728
|
},
|
|
1762
1729
|
lchmod(path, mode) {
|
|
@@ -1774,10 +1741,8 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1774
1741
|
},
|
|
1775
1742
|
chown(path, uid, gid, dontFollow) {
|
|
1776
1743
|
var node;
|
|
1777
|
-
if (typeof path == "string") {
|
|
1778
|
-
|
|
1779
|
-
node = lookup.node;
|
|
1780
|
-
} else node = path;
|
|
1744
|
+
if (typeof path == "string") node = FS.lookupPath(path, { follow: !dontFollow }).node;
|
|
1745
|
+
else node = path;
|
|
1781
1746
|
FS.doChown(null, node, dontFollow);
|
|
1782
1747
|
},
|
|
1783
1748
|
lchown(path, uid, gid) {
|
|
@@ -1800,10 +1765,8 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1800
1765
|
truncate(path, len) {
|
|
1801
1766
|
if (len < 0) throw new FS.ErrnoError(28);
|
|
1802
1767
|
var node;
|
|
1803
|
-
if (typeof path == "string") {
|
|
1804
|
-
|
|
1805
|
-
node = lookup.node;
|
|
1806
|
-
} else node = path;
|
|
1768
|
+
if (typeof path == "string") node = FS.lookupPath(path, { follow: true }).node;
|
|
1769
|
+
else node = path;
|
|
1807
1770
|
FS.doTruncate(null, node, len);
|
|
1808
1771
|
},
|
|
1809
1772
|
ftruncate(fd, len) {
|
|
@@ -1812,10 +1775,8 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1812
1775
|
FS.doTruncate(stream, stream.node, len);
|
|
1813
1776
|
},
|
|
1814
1777
|
utime(path, atime, mtime) {
|
|
1815
|
-
var
|
|
1816
|
-
|
|
1817
|
-
var setattr = FS.checkOpExists(node.node_ops.setattr, 63);
|
|
1818
|
-
setattr(node, {
|
|
1778
|
+
var node = FS.lookupPath(path, { follow: true }).node;
|
|
1779
|
+
FS.checkOpExists(node.node_ops.setattr, 63)(node, {
|
|
1819
1780
|
atime,
|
|
1820
1781
|
mtime
|
|
1821
1782
|
});
|
|
@@ -1938,8 +1899,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
1938
1899
|
opts.encoding = opts.encoding || "binary";
|
|
1939
1900
|
if (opts.encoding !== "utf8" && opts.encoding !== "binary") abort(`Invalid encoding type "${opts.encoding}"`);
|
|
1940
1901
|
var stream = FS.open(path, opts.flags);
|
|
1941
|
-
var
|
|
1942
|
-
var length = stat.size;
|
|
1902
|
+
var length = FS.stat(path).size;
|
|
1943
1903
|
var buf = new Uint8Array(length);
|
|
1944
1904
|
FS.read(stream, buf, 0, length, 0);
|
|
1945
1905
|
if (opts.encoding === "utf8") buf = UTF8ArrayToString(buf);
|
|
@@ -2027,9 +1987,9 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2027
1987
|
else FS.symlink("/dev/tty", "/dev/stdout");
|
|
2028
1988
|
if (error) FS.createDevice("/dev", "stderr", null, error);
|
|
2029
1989
|
else FS.symlink("/dev/tty1", "/dev/stderr");
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
1990
|
+
FS.open("/dev/stdin", 0);
|
|
1991
|
+
FS.open("/dev/stdout", 1);
|
|
1992
|
+
FS.open("/dev/stderr", 1);
|
|
2033
1993
|
},
|
|
2034
1994
|
staticInit() {
|
|
2035
1995
|
FS.nameTable = new Array(4096);
|
|
@@ -2188,7 +2148,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2188
2148
|
lengthKnown = false;
|
|
2189
2149
|
chunks = [];
|
|
2190
2150
|
get(idx) {
|
|
2191
|
-
if (idx > this.length - 1 || idx < 0) return
|
|
2151
|
+
if (idx > this.length - 1 || idx < 0) return;
|
|
2192
2152
|
var chunkOffset = idx % this.chunkSize;
|
|
2193
2153
|
var chunkNum = idx / this.chunkSize | 0;
|
|
2194
2154
|
return this.getter(chunkNum)[chunkOffset];
|
|
@@ -2210,24 +2170,24 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2210
2170
|
var doXHR = (from, to) => {
|
|
2211
2171
|
if (from > to) abort("invalid range (" + from + ", " + to + ") or no bytes requested!");
|
|
2212
2172
|
if (to > datalength - 1) abort("only " + datalength + " bytes available! programmer error!");
|
|
2213
|
-
var xhr
|
|
2214
|
-
xhr
|
|
2215
|
-
if (datalength !== chunkSize) xhr
|
|
2216
|
-
xhr
|
|
2217
|
-
if (xhr
|
|
2218
|
-
xhr
|
|
2219
|
-
if (!(xhr
|
|
2220
|
-
if (xhr
|
|
2221
|
-
return intArrayFromString(xhr
|
|
2173
|
+
var xhr = new XMLHttpRequest();
|
|
2174
|
+
xhr.open("GET", url, false);
|
|
2175
|
+
if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
|
|
2176
|
+
xhr.responseType = "arraybuffer";
|
|
2177
|
+
if (xhr.overrideMimeType) xhr.overrideMimeType("text/plain; charset=x-user-defined");
|
|
2178
|
+
xhr.send(null);
|
|
2179
|
+
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort("Couldn't load " + url + ". Status: " + xhr.status);
|
|
2180
|
+
if (xhr.response !== void 0) return new Uint8Array(xhr.response || []);
|
|
2181
|
+
return intArrayFromString(xhr.responseText || "", true);
|
|
2222
2182
|
};
|
|
2223
|
-
var lazyArray
|
|
2224
|
-
lazyArray
|
|
2183
|
+
var lazyArray = this;
|
|
2184
|
+
lazyArray.setDataGetter((chunkNum) => {
|
|
2225
2185
|
var start = chunkNum * chunkSize;
|
|
2226
2186
|
var end = (chunkNum + 1) * chunkSize - 1;
|
|
2227
2187
|
end = Math.min(end, datalength - 1);
|
|
2228
|
-
if (typeof lazyArray
|
|
2229
|
-
if (typeof lazyArray
|
|
2230
|
-
return lazyArray
|
|
2188
|
+
if (typeof lazyArray.chunks[chunkNum] == "undefined") lazyArray.chunks[chunkNum] = doXHR(start, end);
|
|
2189
|
+
if (typeof lazyArray.chunks[chunkNum] == "undefined") abort("doXHR failed!");
|
|
2190
|
+
return lazyArray.chunks[chunkNum];
|
|
2231
2191
|
});
|
|
2232
2192
|
if (usesGzip || !datalength) {
|
|
2233
2193
|
chunkSize = datalength = 1;
|
|
@@ -2250,10 +2210,9 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2250
2210
|
}
|
|
2251
2211
|
if (globalThis.XMLHttpRequest) {
|
|
2252
2212
|
if (!ENVIRONMENT_IS_WORKER) abort("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");
|
|
2253
|
-
var lazyArray = new LazyUint8Array();
|
|
2254
2213
|
var properties = {
|
|
2255
2214
|
isDevice: false,
|
|
2256
|
-
contents:
|
|
2215
|
+
contents: new LazyUint8Array()
|
|
2257
2216
|
};
|
|
2258
2217
|
} else var properties = {
|
|
2259
2218
|
isDevice: false,
|
|
@@ -2310,10 +2269,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2310
2269
|
if (PATH.isAbs(path)) return path;
|
|
2311
2270
|
var dir;
|
|
2312
2271
|
if (dirfd === -100) dir = FS.cwd();
|
|
2313
|
-
else
|
|
2314
|
-
var dirstream = SYSCALLS.getStreamFromFD(dirfd);
|
|
2315
|
-
dir = dirstream.path;
|
|
2316
|
-
}
|
|
2272
|
+
else dir = SYSCALLS.getStreamFromFD(dirfd).path;
|
|
2317
2273
|
if (path.length == 0) {
|
|
2318
2274
|
if (!allowEmpty) throw new FS.ErrnoError(44);
|
|
2319
2275
|
return dir;
|
|
@@ -2361,13 +2317,11 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2361
2317
|
FS.msync(stream, buffer, offset, len, flags);
|
|
2362
2318
|
},
|
|
2363
2319
|
getStreamFromFD(fd) {
|
|
2364
|
-
|
|
2365
|
-
return stream;
|
|
2320
|
+
return FS.getStreamChecked(fd);
|
|
2366
2321
|
},
|
|
2367
2322
|
varargs: void 0,
|
|
2368
2323
|
getStr(ptr) {
|
|
2369
|
-
|
|
2370
|
-
return ret;
|
|
2324
|
+
return UTF8ToString(ptr);
|
|
2371
2325
|
}
|
|
2372
2326
|
};
|
|
2373
2327
|
var INT53_MAX = 9007199254740992;
|
|
@@ -2390,8 +2344,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2390
2344
|
path = SYSCALLS.getStr(path);
|
|
2391
2345
|
path = SYSCALLS.calculateAt(dirfd, path);
|
|
2392
2346
|
if (amode & -8) return -28;
|
|
2393
|
-
var
|
|
2394
|
-
var node = lookup.node;
|
|
2347
|
+
var node = FS.lookupPath(path, { follow: true }).node;
|
|
2395
2348
|
if (!node) return -44;
|
|
2396
2349
|
var perms = "";
|
|
2397
2350
|
if (amode & 4) perms += "r";
|
|
@@ -2425,28 +2378,23 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2425
2378
|
try {
|
|
2426
2379
|
var stream = SYSCALLS.getStreamFromFD(fd);
|
|
2427
2380
|
switch (cmd) {
|
|
2428
|
-
case 0:
|
|
2381
|
+
case 0:
|
|
2429
2382
|
var arg = syscallGetVarargI();
|
|
2430
2383
|
if (arg < 0) return -28;
|
|
2431
2384
|
while (FS.streams[arg]) arg++;
|
|
2432
|
-
|
|
2433
|
-
newStream = FS.dupStream(stream, arg);
|
|
2434
|
-
return newStream.fd;
|
|
2435
|
-
}
|
|
2385
|
+
return FS.dupStream(stream, arg).fd;
|
|
2436
2386
|
case 1:
|
|
2437
2387
|
case 2: return 0;
|
|
2438
2388
|
case 3: return stream.flags;
|
|
2439
|
-
case 4:
|
|
2389
|
+
case 4:
|
|
2440
2390
|
var arg = syscallGetVarargI();
|
|
2441
2391
|
stream.flags |= arg;
|
|
2442
2392
|
return 0;
|
|
2443
|
-
|
|
2444
|
-
case 12: {
|
|
2393
|
+
case 12:
|
|
2445
2394
|
var arg = syscallGetVarargP();
|
|
2446
2395
|
var offset = 0;
|
|
2447
2396
|
HEAP16[arg + offset >>> 1 >>> 0] = 2;
|
|
2448
2397
|
return 0;
|
|
2449
|
-
}
|
|
2450
2398
|
case 13:
|
|
2451
2399
|
case 14: return 0;
|
|
2452
2400
|
}
|
|
@@ -2458,7 +2406,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2458
2406
|
}
|
|
2459
2407
|
function ___syscall_fdatasync(fd) {
|
|
2460
2408
|
try {
|
|
2461
|
-
|
|
2409
|
+
SYSCALLS.getStreamFromFD(fd);
|
|
2462
2410
|
return 0;
|
|
2463
2411
|
} catch (e) {
|
|
2464
2412
|
if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
|
|
@@ -2520,8 +2468,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2520
2468
|
id = stream.node.id;
|
|
2521
2469
|
type = 4;
|
|
2522
2470
|
} else if (name === "..") {
|
|
2523
|
-
|
|
2524
|
-
id = lookup.node.id;
|
|
2471
|
+
id = FS.lookupPath(stream.path, { parent: true }).node.id;
|
|
2525
2472
|
type = 4;
|
|
2526
2473
|
} else {
|
|
2527
2474
|
var child;
|
|
@@ -2554,11 +2501,10 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2554
2501
|
try {
|
|
2555
2502
|
var stream = SYSCALLS.getStreamFromFD(fd);
|
|
2556
2503
|
switch (op) {
|
|
2557
|
-
case 21509:
|
|
2504
|
+
case 21509:
|
|
2558
2505
|
if (!stream.tty) return -59;
|
|
2559
2506
|
return 0;
|
|
2560
|
-
|
|
2561
|
-
case 21505: {
|
|
2507
|
+
case 21505:
|
|
2562
2508
|
if (!stream.tty) return -59;
|
|
2563
2509
|
if (stream.tty.ops.ioctl_tcgets) {
|
|
2564
2510
|
var termios = stream.tty.ops.ioctl_tcgets(stream);
|
|
@@ -2571,16 +2517,14 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2571
2517
|
return 0;
|
|
2572
2518
|
}
|
|
2573
2519
|
return 0;
|
|
2574
|
-
}
|
|
2575
2520
|
case 21510:
|
|
2576
2521
|
case 21511:
|
|
2577
|
-
case 21512:
|
|
2522
|
+
case 21512:
|
|
2578
2523
|
if (!stream.tty) return -59;
|
|
2579
2524
|
return 0;
|
|
2580
|
-
}
|
|
2581
2525
|
case 21506:
|
|
2582
2526
|
case 21507:
|
|
2583
|
-
case 21508:
|
|
2527
|
+
case 21508:
|
|
2584
2528
|
if (!stream.tty) return -59;
|
|
2585
2529
|
if (stream.tty.ops.ioctl_tcsets) {
|
|
2586
2530
|
var argp = syscallGetVarargP();
|
|
@@ -2599,23 +2543,19 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2599
2543
|
});
|
|
2600
2544
|
}
|
|
2601
2545
|
return 0;
|
|
2602
|
-
|
|
2603
|
-
case 21519: {
|
|
2546
|
+
case 21519:
|
|
2604
2547
|
if (!stream.tty) return -59;
|
|
2605
2548
|
var argp = syscallGetVarargP();
|
|
2606
2549
|
HEAP32[argp >>> 2 >>> 0] = 0;
|
|
2607
2550
|
return 0;
|
|
2608
|
-
|
|
2609
|
-
case 21520: {
|
|
2551
|
+
case 21520:
|
|
2610
2552
|
if (!stream.tty) return -59;
|
|
2611
2553
|
return -28;
|
|
2612
|
-
}
|
|
2613
2554
|
case 21537:
|
|
2614
|
-
case 21531:
|
|
2555
|
+
case 21531:
|
|
2615
2556
|
var argp = syscallGetVarargP();
|
|
2616
2557
|
return FS.ioctl(stream, op, argp);
|
|
2617
|
-
|
|
2618
|
-
case 21523: {
|
|
2558
|
+
case 21523:
|
|
2619
2559
|
if (!stream.tty) return -59;
|
|
2620
2560
|
if (stream.tty.ops.ioctl_tiocgwinsz) {
|
|
2621
2561
|
var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty);
|
|
@@ -2624,15 +2564,12 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2624
2564
|
HEAP16[argp + 2 >>> 1 >>> 0] = winsize[1];
|
|
2625
2565
|
}
|
|
2626
2566
|
return 0;
|
|
2627
|
-
|
|
2628
|
-
case 21524: {
|
|
2567
|
+
case 21524:
|
|
2629
2568
|
if (!stream.tty) return -59;
|
|
2630
2569
|
return 0;
|
|
2631
|
-
|
|
2632
|
-
case 21515: {
|
|
2570
|
+
case 21515:
|
|
2633
2571
|
if (!stream.tty) return -59;
|
|
2634
2572
|
return 0;
|
|
2635
|
-
}
|
|
2636
2573
|
default: return -28;
|
|
2637
2574
|
}
|
|
2638
2575
|
} catch (e) {
|
|
@@ -2811,15 +2748,12 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2811
2748
|
334
|
|
2812
2749
|
];
|
|
2813
2750
|
var ydayFromDate = (date) => {
|
|
2814
|
-
|
|
2815
|
-
var monthDaysCumulative = leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE;
|
|
2816
|
-
var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;
|
|
2817
|
-
return yday;
|
|
2751
|
+
return (isLeapYear(date.getFullYear()) ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE)[date.getMonth()] + date.getDate() - 1;
|
|
2818
2752
|
};
|
|
2819
2753
|
function __localtime_js(time, tmPtr) {
|
|
2820
2754
|
time = bigintToI53Checked(time);
|
|
2821
2755
|
tmPtr >>>= 0;
|
|
2822
|
-
var date = new Date(time * 1e3);
|
|
2756
|
+
var date = /* @__PURE__ */ new Date(time * 1e3);
|
|
2823
2757
|
HEAP32[tmPtr >>> 2 >>> 0] = date.getSeconds();
|
|
2824
2758
|
HEAP32[tmPtr + 4 >>> 2 >>> 0] = date.getMinutes();
|
|
2825
2759
|
HEAP32[tmPtr + 8 >>> 2 >>> 0] = date.getHours();
|
|
@@ -2908,12 +2842,11 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2908
2842
|
delete timers[which];
|
|
2909
2843
|
}
|
|
2910
2844
|
if (!timeout_ms) return 0;
|
|
2911
|
-
var id = setTimeout(() => {
|
|
2912
|
-
delete timers[which];
|
|
2913
|
-
callUserCallback(() => __emscripten_timeout(which, _emscripten_get_now()));
|
|
2914
|
-
}, timeout_ms);
|
|
2915
2845
|
timers[which] = {
|
|
2916
|
-
id
|
|
2846
|
+
id: setTimeout(() => {
|
|
2847
|
+
delete timers[which];
|
|
2848
|
+
callUserCallback(() => __emscripten_timeout(which, _emscripten_get_now()));
|
|
2849
|
+
}, timeout_ms),
|
|
2917
2850
|
timeout_ms
|
|
2918
2851
|
};
|
|
2919
2852
|
return 0;
|
|
@@ -2923,7 +2856,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2923
2856
|
daylight >>>= 0;
|
|
2924
2857
|
std_name >>>= 0;
|
|
2925
2858
|
dst_name >>>= 0;
|
|
2926
|
-
var currentYear = new Date().getFullYear();
|
|
2859
|
+
var currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
2927
2860
|
var winter = new Date(currentYear, 0, 1);
|
|
2928
2861
|
var summer = new Date(currentYear, 6, 1);
|
|
2929
2862
|
var winterOffset = winter.getTimezoneOffset();
|
|
@@ -2934,9 +2867,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2934
2867
|
var extractZone = (timezoneOffset) => {
|
|
2935
2868
|
var sign = timezoneOffset >= 0 ? "-" : "+";
|
|
2936
2869
|
var absOffset = Math.abs(timezoneOffset);
|
|
2937
|
-
|
|
2938
|
-
var minutes = String(absOffset % 60).padStart(2, "0");
|
|
2939
|
-
return `UTC${sign}${hours}${minutes}`;
|
|
2870
|
+
return `UTC${sign}${String(Math.floor(absOffset / 60)).padStart(2, "0")}${String(absOffset % 60).padStart(2, "0")}`;
|
|
2940
2871
|
};
|
|
2941
2872
|
var winterName = extractZone(winterOffset);
|
|
2942
2873
|
var summerName = extractZone(summerOffset);
|
|
@@ -2965,8 +2896,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2965
2896
|
}
|
|
2966
2897
|
var getHeapMax = () => 4294901760;
|
|
2967
2898
|
var growMemory = (size) => {
|
|
2968
|
-
var
|
|
2969
|
-
var pages = (size - oldHeapSize + 65535) / 65536 | 0;
|
|
2899
|
+
var pages = (size - wasmMemory.buffer.byteLength + 65535) / 65536 | 0;
|
|
2970
2900
|
try {
|
|
2971
2901
|
wasmMemory.grow(pages);
|
|
2972
2902
|
updateMemoryViews();
|
|
@@ -2981,9 +2911,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2981
2911
|
for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
|
|
2982
2912
|
var overGrownHeapSize = oldSize * (1 + .2 / cutDown);
|
|
2983
2913
|
overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
|
|
2984
|
-
|
|
2985
|
-
var replacement = growMemory(newSize);
|
|
2986
|
-
if (replacement) return true;
|
|
2914
|
+
if (growMemory(Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536)))) return true;
|
|
2987
2915
|
}
|
|
2988
2916
|
return false;
|
|
2989
2917
|
}
|
|
@@ -2991,14 +2919,13 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
2991
2919
|
var getExecutableName = () => thisProgram || "./this.program";
|
|
2992
2920
|
var getEnvStrings = () => {
|
|
2993
2921
|
if (!getEnvStrings.strings) {
|
|
2994
|
-
var lang = (globalThis.navigator?.language ?? "C").replace("-", "_") + ".UTF-8";
|
|
2995
2922
|
var env = {
|
|
2996
2923
|
USER: "web_user",
|
|
2997
2924
|
LOGNAME: "web_user",
|
|
2998
2925
|
PATH: "/",
|
|
2999
2926
|
PWD: "/",
|
|
3000
2927
|
HOME: "/home/web_user",
|
|
3001
|
-
LANG:
|
|
2928
|
+
LANG: (globalThis.navigator?.language ?? "C").replace("-", "_") + ".UTF-8",
|
|
3002
2929
|
_: getExecutableName()
|
|
3003
2930
|
};
|
|
3004
2931
|
for (var x in ENV) if (ENV[x] === void 0) delete env[x];
|
|
@@ -3048,10 +2975,8 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
3048
2975
|
var rightsBase = 0;
|
|
3049
2976
|
var rightsInheriting = 0;
|
|
3050
2977
|
var flags = 0;
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4;
|
|
3054
|
-
}
|
|
2978
|
+
var stream = SYSCALLS.getStreamFromFD(fd);
|
|
2979
|
+
var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4;
|
|
3055
2980
|
HEAP8[pbuf >>> 0] = type;
|
|
3056
2981
|
HEAP16[pbuf + 2 >>> 1 >>> 0] = flags;
|
|
3057
2982
|
HEAP64[pbuf + 8 >>> 3 >>> 0] = BigInt(rightsBase);
|
|
@@ -3083,8 +3008,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
3083
3008
|
pnum >>>= 0;
|
|
3084
3009
|
try {
|
|
3085
3010
|
if (isNaN(offset)) return 61;
|
|
3086
|
-
var
|
|
3087
|
-
var num = doReadv(stream, iov, iovcnt, offset);
|
|
3011
|
+
var num = doReadv(SYSCALLS.getStreamFromFD(fd), iov, iovcnt, offset);
|
|
3088
3012
|
HEAPU32[pnum >>> 2 >>> 0] = num;
|
|
3089
3013
|
return 0;
|
|
3090
3014
|
} catch (e) {
|
|
@@ -3097,8 +3021,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
3097
3021
|
iovcnt >>>= 0;
|
|
3098
3022
|
pnum >>>= 0;
|
|
3099
3023
|
try {
|
|
3100
|
-
var
|
|
3101
|
-
var num = doReadv(stream, iov, iovcnt);
|
|
3024
|
+
var num = doReadv(SYSCALLS.getStreamFromFD(fd), iov, iovcnt);
|
|
3102
3025
|
HEAPU32[pnum >>> 2 >>> 0] = num;
|
|
3103
3026
|
return 0;
|
|
3104
3027
|
} catch (e) {
|
|
@@ -3140,8 +3063,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
3140
3063
|
iovcnt >>>= 0;
|
|
3141
3064
|
pnum >>>= 0;
|
|
3142
3065
|
try {
|
|
3143
|
-
var
|
|
3144
|
-
var num = doWritev(stream, iov, iovcnt);
|
|
3066
|
+
var num = doWritev(SYSCALLS.getStreamFromFD(fd), iov, iovcnt);
|
|
3145
3067
|
HEAPU32[pnum >>> 2 >>> 0] = num;
|
|
3146
3068
|
return 0;
|
|
3147
3069
|
} catch (e) {
|
|
@@ -3161,8 +3083,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
3161
3083
|
}
|
|
3162
3084
|
}
|
|
3163
3085
|
var getCFunc = (ident) => {
|
|
3164
|
-
|
|
3165
|
-
return func;
|
|
3086
|
+
return Module["_" + ident];
|
|
3166
3087
|
};
|
|
3167
3088
|
var writeArrayToMemory = (array, buffer) => {
|
|
3168
3089
|
HEAP8.set(array, buffer >>> 0);
|
|
@@ -3179,21 +3100,21 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
3179
3100
|
var ccall = (ident, returnType, argTypes, args, opts) => {
|
|
3180
3101
|
var toC = {
|
|
3181
3102
|
string: (str) => {
|
|
3182
|
-
var ret
|
|
3183
|
-
if (str !== null && str !== void 0 && str !== 0) ret
|
|
3184
|
-
return ret
|
|
3103
|
+
var ret = 0;
|
|
3104
|
+
if (str !== null && str !== void 0 && str !== 0) ret = stringToUTF8OnStack(str);
|
|
3105
|
+
return ret;
|
|
3185
3106
|
},
|
|
3186
3107
|
array: (arr) => {
|
|
3187
|
-
var ret
|
|
3188
|
-
writeArrayToMemory(arr, ret
|
|
3189
|
-
return ret
|
|
3108
|
+
var ret = stackAlloc(arr.length);
|
|
3109
|
+
writeArrayToMemory(arr, ret);
|
|
3110
|
+
return ret;
|
|
3190
3111
|
}
|
|
3191
3112
|
};
|
|
3192
|
-
function convertReturnValue(ret
|
|
3193
|
-
if (returnType === "string") return UTF8ToString(ret
|
|
3194
|
-
if (returnType === "pointer") return ret
|
|
3195
|
-
if (returnType === "boolean") return Boolean(ret
|
|
3196
|
-
return ret
|
|
3113
|
+
function convertReturnValue(ret) {
|
|
3114
|
+
if (returnType === "string") return UTF8ToString(ret);
|
|
3115
|
+
if (returnType === "pointer") return ret >>> 0;
|
|
3116
|
+
if (returnType === "boolean") return Boolean(ret);
|
|
3117
|
+
return ret;
|
|
3197
3118
|
}
|
|
3198
3119
|
var func = getCFunc(ident);
|
|
3199
3120
|
var cArgs = [];
|
|
@@ -3206,9 +3127,9 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
3206
3127
|
} else cArgs[i] = args[i];
|
|
3207
3128
|
}
|
|
3208
3129
|
var ret = func(...cArgs);
|
|
3209
|
-
function onDone(ret
|
|
3130
|
+
function onDone(ret) {
|
|
3210
3131
|
if (stack !== 0) stackRestore(stack);
|
|
3211
|
-
return convertReturnValue(ret
|
|
3132
|
+
return convertReturnValue(ret);
|
|
3212
3133
|
}
|
|
3213
3134
|
ret = onDone(ret);
|
|
3214
3135
|
return ret;
|
|
@@ -3220,18 +3141,16 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
3220
3141
|
FS.createPreloadedFile = FS_createPreloadedFile;
|
|
3221
3142
|
FS.preloadFile = FS_preloadFile;
|
|
3222
3143
|
FS.staticInit();
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
if (Module["preInit"])
|
|
3232
|
-
|
|
3233
|
-
while (Module["preInit"].length > 0) Module["preInit"].shift()();
|
|
3234
|
-
}
|
|
3144
|
+
if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
|
|
3145
|
+
if (Module["preloadPlugins"]) preloadPlugins = Module["preloadPlugins"];
|
|
3146
|
+
if (Module["print"]) out = Module["print"];
|
|
3147
|
+
if (Module["printErr"]) err = Module["printErr"];
|
|
3148
|
+
if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
|
|
3149
|
+
if (Module["arguments"]) Module["arguments"];
|
|
3150
|
+
if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
|
|
3151
|
+
if (Module["preInit"]) {
|
|
3152
|
+
if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]];
|
|
3153
|
+
while (Module["preInit"].length > 0) Module["preInit"].shift()();
|
|
3235
3154
|
}
|
|
3236
3155
|
Module["addRunDependency"] = addRunDependency;
|
|
3237
3156
|
Module["removeRunDependency"] = removeRunDependency;
|
|
@@ -3243,26 +3162,26 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
3243
3162
|
Module["FS"] = FS;
|
|
3244
3163
|
Module["FS_createDataFile"] = FS_createDataFile;
|
|
3245
3164
|
Module["FS_createLazyFile"] = FS_createLazyFile;
|
|
3246
|
-
var
|
|
3247
|
-
function assignWasmExports(wasmExports
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
_emscripten_builtin_memalign = wasmExports
|
|
3259
|
-
__emscripten_timeout = wasmExports
|
|
3260
|
-
___trap = wasmExports
|
|
3261
|
-
__emscripten_stack_restore = wasmExports
|
|
3262
|
-
__emscripten_stack_alloc = wasmExports
|
|
3263
|
-
_emscripten_stack_get_current = wasmExports
|
|
3264
|
-
|
|
3265
|
-
|
|
3165
|
+
var _emscripten_builtin_memalign, __emscripten_timeout, ___trap, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, wasmMemory;
|
|
3166
|
+
function assignWasmExports(wasmExports) {
|
|
3167
|
+
Module["_free"] = wasmExports["R"];
|
|
3168
|
+
Module["_malloc"] = wasmExports["S"];
|
|
3169
|
+
Module["_rime_wasm_init"] = wasmExports["T"];
|
|
3170
|
+
Module["_rime_wasm_process_input"] = wasmExports["U"];
|
|
3171
|
+
Module["_rime_wasm_pick_candidate"] = wasmExports["V"];
|
|
3172
|
+
Module["_rime_wasm_flip_page"] = wasmExports["W"];
|
|
3173
|
+
Module["_rime_wasm_clear_input"] = wasmExports["X"];
|
|
3174
|
+
Module["_rime_wasm_set_option"] = wasmExports["Y"];
|
|
3175
|
+
Module["_rime_wasm_get_version"] = wasmExports["Z"];
|
|
3176
|
+
Module["_rime_wasm_destroy"] = wasmExports["_"];
|
|
3177
|
+
_emscripten_builtin_memalign = wasmExports["$"];
|
|
3178
|
+
__emscripten_timeout = wasmExports["aa"];
|
|
3179
|
+
___trap = wasmExports["ba"];
|
|
3180
|
+
__emscripten_stack_restore = wasmExports["ca"];
|
|
3181
|
+
__emscripten_stack_alloc = wasmExports["da"];
|
|
3182
|
+
_emscripten_stack_get_current = wasmExports["ea"];
|
|
3183
|
+
wasmMemory = wasmExports["P"];
|
|
3184
|
+
wasmExports["__indirect_function_table"];
|
|
3266
3185
|
}
|
|
3267
3186
|
var wasmImports = {
|
|
3268
3187
|
r: ___syscall_chmod,
|
|
@@ -3307,16 +3226,16 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
3307
3226
|
m: _proc_exit,
|
|
3308
3227
|
p: _random_get
|
|
3309
3228
|
};
|
|
3310
|
-
function applySignatureConversions(wasmExports
|
|
3311
|
-
wasmExports
|
|
3229
|
+
function applySignatureConversions(wasmExports) {
|
|
3230
|
+
wasmExports = Object.assign({}, wasmExports);
|
|
3312
3231
|
var makeWrapper_pp = (f) => (a0) => f(a0) >>> 0;
|
|
3313
3232
|
var makeWrapper_ppp = (f) => (a0, a1) => f(a0, a1) >>> 0;
|
|
3314
3233
|
var makeWrapper_p = (f) => () => f() >>> 0;
|
|
3315
|
-
wasmExports
|
|
3316
|
-
wasmExports
|
|
3317
|
-
wasmExports
|
|
3318
|
-
wasmExports
|
|
3319
|
-
return wasmExports
|
|
3234
|
+
wasmExports["S"] = makeWrapper_pp(wasmExports["S"]);
|
|
3235
|
+
wasmExports["$"] = makeWrapper_ppp(wasmExports["$"]);
|
|
3236
|
+
wasmExports["da"] = makeWrapper_pp(wasmExports["da"]);
|
|
3237
|
+
wasmExports["ea"] = makeWrapper_p(wasmExports["ea"]);
|
|
3238
|
+
return wasmExports;
|
|
3320
3239
|
}
|
|
3321
3240
|
function run() {
|
|
3322
3241
|
if (runDependencies > 0) {
|
|
@@ -3344,8 +3263,7 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
3344
3263
|
}, 1);
|
|
3345
3264
|
} else doRun();
|
|
3346
3265
|
}
|
|
3347
|
-
var wasmExports;
|
|
3348
|
-
wasmExports = await createWasm();
|
|
3266
|
+
var wasmExports = await createWasm();
|
|
3349
3267
|
run();
|
|
3350
3268
|
if (runtimeInitialized) moduleRtn = Module;
|
|
3351
3269
|
else moduleRtn = new Promise((resolve, reject) => {
|
|
@@ -3354,13 +3272,11 @@ async function createRimeModule(moduleArg = {}) {
|
|
|
3354
3272
|
});
|
|
3355
3273
|
return moduleRtn;
|
|
3356
3274
|
}
|
|
3357
|
-
var rime_api_default = createRimeModule;
|
|
3358
|
-
|
|
3359
3275
|
//#endregion
|
|
3360
3276
|
//#region src/rime.ts
|
|
3361
|
-
function syncfs(module
|
|
3277
|
+
function syncfs(module, populate) {
|
|
3362
3278
|
return new Promise((resolve, reject) => {
|
|
3363
|
-
module
|
|
3279
|
+
module.FS.syncfs(populate, (err) => {
|
|
3364
3280
|
if (err) reject(err);
|
|
3365
3281
|
else resolve();
|
|
3366
3282
|
});
|
|
@@ -3368,7 +3284,7 @@ function syncfs(module$1, populate) {
|
|
|
3368
3284
|
}
|
|
3369
3285
|
async function createRimeEngine(options = {}) {
|
|
3370
3286
|
const wasmDir = options.wasmDir ?? ".";
|
|
3371
|
-
const Module = await
|
|
3287
|
+
const Module = await createRimeModule({ locateFile(file) {
|
|
3372
3288
|
return `${wasmDir}/${file}`;
|
|
3373
3289
|
} });
|
|
3374
3290
|
try {
|
|
@@ -3405,7 +3321,7 @@ async function createRimeEngine(options = {}) {
|
|
|
3405
3321
|
const json = Module.ccall(fn, "string", argTypes, args);
|
|
3406
3322
|
return JSON.parse(json);
|
|
3407
3323
|
}
|
|
3408
|
-
|
|
3324
|
+
return {
|
|
3409
3325
|
processInput(keys) {
|
|
3410
3326
|
return callJson("rime_wasm_process_input", ["string"], [keys]);
|
|
3411
3327
|
},
|
|
@@ -3436,9 +3352,7 @@ async function createRimeEngine(options = {}) {
|
|
|
3436
3352
|
syncfs(Module, false).catch(() => {});
|
|
3437
3353
|
}
|
|
3438
3354
|
};
|
|
3439
|
-
return engine;
|
|
3440
3355
|
}
|
|
3441
|
-
|
|
3442
3356
|
//#endregion
|
|
3443
3357
|
//#region src/index.ts
|
|
3444
3358
|
/**
|
|
@@ -3484,23 +3398,19 @@ var RimePinyinEngine = class {
|
|
|
3484
3398
|
return state;
|
|
3485
3399
|
}
|
|
3486
3400
|
async pickCandidate(index) {
|
|
3487
|
-
|
|
3488
|
-
return engine.pickCandidate(index);
|
|
3401
|
+
return (await this.getEngine()).pickCandidate(index);
|
|
3489
3402
|
}
|
|
3490
3403
|
async clearInput() {
|
|
3491
|
-
|
|
3492
|
-
return engine.clearInput();
|
|
3404
|
+
return (await this.getEngine()).clearInput();
|
|
3493
3405
|
}
|
|
3494
3406
|
async setSimplified(simplified) {
|
|
3495
|
-
|
|
3496
|
-
return engine.setOption("zh_simp", simplified);
|
|
3407
|
+
return (await this.getEngine()).setOption("zh_simp", simplified);
|
|
3497
3408
|
}
|
|
3498
3409
|
async destroy() {
|
|
3499
|
-
|
|
3500
|
-
return engine.destroy();
|
|
3410
|
+
return (await this.getEngine()).destroy();
|
|
3501
3411
|
}
|
|
3502
3412
|
};
|
|
3503
|
-
|
|
3504
3413
|
//#endregion
|
|
3505
|
-
exports.RimePinyinEngine = RimePinyinEngine
|
|
3414
|
+
exports.RimePinyinEngine = RimePinyinEngine;
|
|
3415
|
+
|
|
3506
3416
|
//# sourceMappingURL=index.js.map
|