blob: 98dac15ca803f4b566f9e6ea6fc47e73e10ad7ab [file] [log] [blame]
/**
* @license
* Copyright 2020 The Emscripten Authors
* SPDX-License-Identifier: MIT
*/
var asmFS = {
$FS: {
populate: function(path, mode) {
var pathCString = allocate(intArrayFromString(path), ALLOC_NORMAL);
mode = (mode !== undefined) ? mode : 511 /* 0777 */;
_emscripten_asmfs_populate(pathCString, mode);
_free(pathCString);
},
mkdir: function(path, mode) {
mode = (mode !== undefined) ? mode : 511 /* 0777 */;
var pathCString = allocate(intArrayFromString(path), ALLOC_NORMAL);
_emscripten_asmfs_mkdir(pathCString, mode);
_free(pathCString);
},
mkdirTree: function(path, mode) {
var dirs = path.split('/');
var d = '';
for (var i = 0; i < dirs.length; ++i) {
if (!dirs[i]) continue;
d += '/' + dirs[i];
FS.mkdir(d, mode);
}
},
setRemoteUrl: function(path, remoteUrl) {
var pathCString = allocate(intArrayFromString(path), ALLOC_NORMAL);
var remoteUrlCString = allocate(intArrayFromString(remoteUrl), ALLOC_NORMAL);
_emscripten_asmfs_set_remote_url(pathCString, remoteUrlCString);
_free(pathCString);
_free(remoteUrlCString);
},
setFileData: function(path, data) {
var dataInHeap = _malloc(data.length);
HEAPU8.set(data, dataInHeap);
var pathCString = allocate(intArrayFromString(path), ALLOC_NORMAL);
_emscripten_asmfs_set_file_data(pathCString, dataInHeap, data.length);
_free(pathCString);
}
}
};
mergeInto(LibraryManager.library, asmFS);