Skip to content

Commit ea69f2c

Browse files
committed
Use async/await for LZ4.loadPackage
1 parent a51e7ef commit ea69f2c

4 files changed

Lines changed: 14 additions & 17 deletions

File tree

src/lib/liblz4.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
#if LZ4
88
addToLibrary({
9-
$LZ4__deps: ['$FS', '$preloadPlugins', '$getUniqueRunDependency', '$addRunDependency', '$removeRunDependency'],
9+
$LZ4__deps: ['$FS', '$preloadPlugins'],
1010
$LZ4: {
1111
DIR_MODE: {{{ cDefs.S_IFDIR | 0o777 }}},
1212
FILE_MODE: {{{ cDefs.S_IFREG | 0o777 }}},
@@ -20,7 +20,7 @@ addToLibrary({
2020
})();
2121
LZ4.CHUNK_SIZE = LZ4.codec.CHUNK_SIZE;
2222
},
23-
loadPackage(pack, preloadPlugin) {
23+
async loadPackage(pack, preloadPlugin) {
2424
LZ4.init();
2525
var compressedData = pack['compressedData'] || LZ4.codec.compressPackage(pack['data']);
2626
assert(compressedData['cachedIndexes'].length === compressedData['cachedChunks'].length);
@@ -52,14 +52,11 @@ addToLibrary({
5252
var fullname = file.filename;
5353
for (var plugin of preloadPlugins) {
5454
if (plugin['canHandle'](fullname)) {
55-
var dep = getUniqueRunDependency('fp ' + fullname);
56-
addRunDependency(dep);
57-
var finish = () => removeRunDependency(dep);
5855
var byteArray = FS.readFile(fullname);
5956
#if ASSERTIONS
6057
assert(plugin['handle'].constructor.name === 'AsyncFunction', 'Filesystem plugin handlers must be async functions (See #24914)')
6158
#endif
62-
plugin['handle'](byteArray, fullname).then(finish).catch(finish);
59+
await plugin['handle'](byteArray, fullname);
6360
break;
6461
}
6562
}

test/codesize/test_codesize_file_preload.expected.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ Module["expectedDataFileDownloads"]++;
138138
if (!fetched) {
139139
fetched = await fetchPromise;
140140
}
141-
processPackageData(fetched);
141+
await processPackageData(fetched);
142142
}
143143
if (Module["calledRun"]) {
144144
runWithFS(Module);

test/codesize/test_codesize_file_preload.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
2-
"a.out.js": 22224,
3-
"a.out.js.gz": 9207,
2+
"a.out.js": 22228,
3+
"a.out.js.gz": 9212,
44
"a.out.nodebug.wasm": 1666,
55
"a.out.nodebug.wasm.gz": 945,
6-
"total": 23890,
7-
"total_gz": 10152,
6+
"total": 23894,
7+
"total_gz": 10157,
88
"sent": [
99
"a (fd_write)"
1010
],

tools/file_packager.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -993,7 +993,7 @@ def generate_preload_js(data_target, data_files, metadata):
993993
async function preloadFallback(error) {
994994
console.error(error);
995995
console.error('falling back to default preload behavior');
996-
processPackageData(await fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE));
996+
await processPackageData(await fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE));
997997
}
998998
999999
try {
@@ -1002,14 +1002,14 @@ def generate_preload_js(data_target, data_files, metadata):
10021002
var useCached = !!pkgMetadata;
10031003
Module['preloadResults'][PACKAGE_NAME] = {fromCache: useCached};
10041004
if (useCached) {
1005-
processPackageData(await fetchCachedPackage(db, PACKAGE_PATH + PACKAGE_NAME, pkgMetadata));
1005+
await processPackageData(await fetchCachedPackage(db, PACKAGE_PATH + PACKAGE_NAME, pkgMetadata));
10061006
} else {
10071007
var packageData = await fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE);
10081008
try {
1009-
processPackageData(await cacheRemotePackage(db, PACKAGE_PATH + PACKAGE_NAME, packageData, {uuid:PACKAGE_UUID}))
1009+
await processPackageData(await cacheRemotePackage(db, PACKAGE_PATH + PACKAGE_NAME, packageData, {uuid:PACKAGE_UUID}))
10101010
} catch (error) {
10111011
console.error(error);
1012-
processPackageData(packageData);
1012+
await processPackageData(packageData);
10131013
}
10141014
}
10151015
} catch(e) {
@@ -1037,7 +1037,7 @@ def generate_preload_js(data_target, data_files, metadata):
10371037
if (!fetched) {
10381038
fetched = await fetchPromise;
10391039
}
1040-
processPackageData(fetched);\n'''
1040+
await processPackageData(fetched);\n'''
10411041

10421042
ret += '''
10431043
async function runWithFS(Module) {\n'''
@@ -1077,7 +1077,7 @@ def generate_preload_js(data_target, data_files, metadata):
10771077
throw new Error(`${response.status}: ${response.url}`);
10781078
}
10791079
var json = await response.json();
1080-
await loadPackage(json);
1080+
loadPackage(json);
10811081
}
10821082
10831083
if (Module['calledRun']) {

0 commit comments

Comments
 (0)