| /** |
| * @license |
| * Copyright 2019 The Emscripten Authors |
| * SPDX-License-Identifier: MIT |
| */ |
| |
| read_ = (filename, binary) => { |
| #if SUPPORT_BASE64_EMBEDDING |
| var ret = tryParseAsDataURI(filename); |
| if (ret) { |
| return binary ? ret : ret.toString(); |
| } |
| #endif |
| // We need to re-wrap `file://` strings to URLs. Normalizing isn't |
| // necessary in that case, the path should already be absolute. |
| filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename); |
| return fs.readFileSync(filename, binary ? undefined : 'utf8'); |
| }; |
| |
| readBinary = (filename) => { |
| var ret = read_(filename, true); |
| if (!ret.buffer) { |
| ret = new Uint8Array(ret); |
| } |
| #if ASSERTIONS |
| assert(ret.buffer); |
| #endif |
| return ret; |
| }; |
| |
| readAsync = (filename, onload, onerror) => { |
| #if SUPPORT_BASE64_EMBEDDING |
| var ret = tryParseAsDataURI(filename); |
| if (ret) { |
| onload(ret); |
| } |
| #endif |
| // See the comment in the `read_` function. |
| filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename); |
| fs.readFile(filename, function(err, data) { |
| if (err) onerror(err); |
| else onload(data.buffer); |
| }); |
| }; |